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
-
-
-
-
-
-
- Fundraising Apps Suite for Aragon Organizations
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+# Marketplace [](https://travis-ci.org/1Hive/marketplace-app) [](https://coveralls.io/github/1Hive/marketplace-app?branch=master) [](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
-
-
+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": [
- {
-