From 561bd9a13c19e78f050b3a25067844d62b465d2f Mon Sep 17 00:00:00 2001 From: Julian Molina Date: Tue, 15 Jan 2019 13:56:20 +0100 Subject: [PATCH 1/3] Legal wording --- CODE_OF_CONDUCT.md | 2 +- CONTRIBUTING.md | 34 +++++++++++++++++----------------- LICENSE | 31 ++++++++++++++----------------- 3 files changed, 32 insertions(+), 35 deletions(-) diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md index c71b685b4..4b37b0e16 100644 --- a/CODE_OF_CONDUCT.md +++ b/CODE_OF_CONDUCT.md @@ -34,7 +34,7 @@ This Code of Conduct applies both within project spaces and in public spaces whe ## Enforcement -Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the project team at feedback at advancedalgos dot org. The project team will review and investigate all complaints, and will respond in a way that it deems appropriate to the circumstances. The project team is obligated to maintain confidentiality with regard to the reporter of an incident. Further details of specific enforcement policies may be posted separately. +Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the project team using the online form in the contacts page of the superalgos.org website. The project team will review and investigate all complaints, and will respond in a way that it deems appropriate to the circumstances. The project team is obligated to maintain confidentiality with regard to the reporter of an incident. Further details of specific enforcement policies may be posted separately. Project maintainers who do not follow or enforce the Code of Conduct in good faith may face temporary or permanent repercussions as determined by other members of the project's leadership. diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 311653120..c67e8d115 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -2,44 +2,44 @@ We are thrilled you are interested in contributing to this repository. Your help may be essential to the project's success and we want you in! -Advanced Algos LTD is a startup, currently at a very early stage. Although this repository is not open source software yet, we do welcome contributions from the community. +Superalgos is a collective project, currently at a very early stage. Although this repository is not open source software yet, we do welcome contributions from the community. -Contributions are deemed _voluntary work_. There might be incentives in place for certain kinds of contributions. Contact us for more information in this regards. +Contributions are deemed _voluntary work_. There might be incentives in place for certain kinds of contributions. Contact us for more information in this regard. In any case, contributors agree to provide an express grant of patent rights for their contributions. Submitting Pull Requests to this repository represents an express agreement with the terms of our Balanced Contributor Intellectual Property Agreement. This agreement is a direct implementation of GitHub's [Balanced Employee Intellectual Property Agreement 1.0.1](https://github.com/github/balanced-employee-ip-agreement/blob/master/Balanced_Employee_IP_Agreement.md). # Balanced Contributor Intellectual Property Agreement 1.0.1 -This BALANCED CONTRIBUTOR INTELLECTUAL PROPERTY AGREEMENT is between person or team submitting Pull Requests to this repository and Advanced Algos LTD ("Company"). +This BALANCED CONTRIBUTOR INTELLECTUAL PROPERTY AGREEMENT is between person or team submitting Pull Requests to this repository and Superalgos.org ("Project"). -**What is this?** This is the Company's Intellectual Property Agreement ("Agreement"). If you've worked in the technology space before, there's a good chance that you've run across one or more of these in the past. This document is the official, entire and exclusive agreement on what intellectual property ("IP") is yours, and what belongs to the Company. +**What is this?** This is the Project's Intellectual Property Agreement ("Agreement"). If you've worked in the technology space before, there's a good chance that you've run across one or more of these in the past. This document is the official, entire and exclusive agreement on what intellectual property ("IP") is yours, and what belongs to the Project. -**Why is this?** The Company needs to be clear on what IP it owns and has rights to. Its customers, contributors, and investors depend on the Company having the legal rights to the products and services it is providing so that the Company can continue operating and doing business. +**Why is this?** The Project needs to be clear on what IP it owns and has rights to. Its customers, contributors, and investors depend on the Project having the legal rights to the products and services it is providing so that the Project can continue operating and doing business. -The Company also believes that it's important to be clear on what it doesn't own. The Company doesn't want you looking over your shoulder every time you work on something personal or worrying that the Company will someday seize your open source non-lethal mousetrap simulation software. In other words, the Company isn't interested in appropriating your personal projects. +The Project also believes that it's important to be clear on what it doesn't own. The Project doesn't want you looking over your shoulder every time you work on something personal or worrying that the Project will someday seize your open source non-lethal mousetrap simulation software. In other words, the Project isn't interested in appropriating your personal projects. -**Read this.** Please read this document and be sure you understand it before you submit any Pull Requests. Due to legal risk and corporate obligations, the Company cannot, by and large, negotiate its terms. If you feel you have a particular circumstance that keeps you from signing, please let the Company's legal department ("Legal") know. And, of course, you're always free and encouraged to get your own legal counsel to explain anything you're not clear on. +**Read this.** Please read this document and be sure you understand it before you submit any Pull Requests. Due to legal risk and corporate obligations, the Project cannot, by and large, negotiate its terms. If you feel you have a particular circumstance that keeps you from signing, please let the Project's legal department ("Legal") know. And, of course, you're always free and encouraged to get your own legal counsel to explain anything you're not clear on. Cool? Then, by submitting your first Pull Request, and as a condition of your contribution, you agree to the following: -1. **What the Company owns.** The Company owns any IP ("Company IP") that you create, or help create _as its contributor_, but only if it meets one or more of these additional conditions: The IP was (i) related to an existing or prospective Company product or service at the time you developed, invented, or created it, (ii) developed for use by the Company, or (iii) developed or promoted with existing Company IP or with the Company's endorsement. You hereby grant and assign, and will grant and assign, to the Company all rights and interests in all Company IP. +1. **What the Project owns.** The Project owns any IP ("Project IP") that you create, or help create _as its contributor_, but only if it meets one or more of these additional conditions: The IP was (i) related to an existing or prospective Project product or service at the time you developed, invented, or created it, (ii) developed for use by the Project, or (iii) developed or promoted with existing Project IP or with the Project's endorsement. You hereby grant and assign, and will grant and assign, to the Project all rights and interests in all Project IP. - "Company IP" includes concepts, designs, developments, discoveries, ideas, improvements, inventions, trade secrets, trademarks, and works of authorship. + "Project IP" includes concepts, designs, developments, discoveries, ideas, improvements, inventions, trade secrets, trademarks, and works of authorship. -2. **What the Company doesn't own.** If you create IP that doesn't fit into one of the categories listed above, the Company doesn't own it. In other words, the Company doesn't own concepts, designs, developments, discoveries, ideas, improvements, inventions, trade secrets, trademarks, or works of authorship that you develop, invent, or create that do not meet any of the conditions in Section 1. +2. **What the Project doesn't own.** If you create IP that doesn't fit into one of the categories listed above, the Project doesn't own it. In other words, the Project doesn't own concepts, designs, developments, discoveries, ideas, improvements, inventions, trade secrets, trademarks, or works of authorship that you develop, invent, or create that do not meet any of the conditions in Section 1. -3. **Contribution of your IP to Company projects.** If you include your own IP – such as IP you created prior to working for the Company – into a Company product or service, it's still yours, of course, but you grant the Company a non-exclusive, irrevocable, fully paid-up, royalty-free, perpetual, sublicensable, transferable, worldwide license to use it without restriction in any way or implementation, in modified form, or as is, by itself, or incorporated into another product or service ("License"). If you include your name in any project over which the Company would have rights under this Agreement, such as in a copyright notice or a comment in code or documentation, then the License covers the rights associated with that use of your name as well. +3. **Contribution of your IP to Project projects.** If you include your own IP – such as IP you created prior to working for the Project – into a Project product or service, it's still yours, of course, but you grant the Project a non-exclusive, irrevocable, fully paid-up, royalty-free, perpetual, sublicensable, transferable, worldwide license to use it without restriction in any way or implementation, in modified form, or as is, by itself, or incorporated into another product or service ("License"). If you include your name in any project over which the Project would have rights under this Agreement, such as in a copyright notice or a comment in code or documentation, then the License covers the rights associated with that use of your name as well. -4. **Your contributions to non-Company projects.** The Company recognizes that you may be engaged in work that requires you to submit IP to entities other than the Company, such as open source projects used by the Company. Please make sure that Legal is aware of what you're working on so that Legal can help with any licensing issues. If any project asks you to sign a contribution agreement, you should check with Legal before doing so. These agreements may be legally binding on the Company and so should be run through Legal first. +4. **Your contributions to non-Project projects.** The Project recognizes that you may be engaged in work that requires you to submit IP to entities other than the Project, such as open source projects used by the Project. Please make sure that Legal is aware of what you're working on so that Legal can help with any licensing issues. If any project asks you to sign a contribution agreement, you should check with Legal before doing so. These agreements may be legally binding on the Project and so should be run through Legal first. -5. **Voluntary Works** All Company IP that you are involved with or create as part of your work for the Company is voluntary work which does not require compensation. There might be incentives in place for certain kinds of contributions. Feel free to contact the Company to learn more. +5. **Voluntary Works** All Project IP that you are involved with or create as part of your work for the Project is voluntary work which does not require compensation. There might be incentives in place for certain kinds of contributions. Feel free to contact the Project to learn more. 6. **No conflicts.** You agree that you don't have any outstanding agreements or obligations that conflict with those in this Agreement, and that you won't enter into conflicting agreements in the future. -7. **IP protection.** The Company might someday need to show the work that went into the development of IP that it uses or has used, or to make government filings to establish that it owns the IP or has rights over it. To help in those situations, you agree not to destroy any records you maintain relating to the development of any Company IP or IP under License (together, "All IP"), and, if the Company asks, to provide those records to the Company. You agree to help the Company secure and defend its rights in All IP. For your help the Company will compensate you at a reasonable rate. If the Company is unable to secure your help, you authorize the Company to act on your behalf (as your agent and attorney-in-fact) in securing all rights related to All IP. +7. **IP protection.** The Project might someday need to show the work that went into the development of IP that it uses or has used, or to make government filings to establish that it owns the IP or has rights over it. To help in those situations, you agree not to destroy any records you maintain relating to the development of any Project IP or IP under License (together, "All IP"), and, if the Project asks, to provide those records to the Project. You agree to help the Project secure and defend its rights in All IP. For your help the Project will compensate you at a reasonable rate. If the Project is unable to secure your help, you authorize the Project to act on your behalf (as your agent and attorney-in-fact) in securing all rights related to All IP. -8. **Confidentiality.** As an contributor or contractor of the Company, you will have access to sensitive confidential information that is important to the Company's business. You are responsible for keeping this information confidential, including after you end your work for the Company. +8. **Confidentiality.** As an contributor or contractor of the Project, you will have access to sensitive confidential information that is important to the Project's business. You are responsible for keeping this information confidential, including after you end your work for the Project. - "Confidential Information" includes non-public technical details about our products or services, financial information, business strategies and forecasts, customer data, or any other information, data or know-how that is valuable to the Company because it is not publicly known. + "Confidential Information" includes non-public technical details about our products or services, financial information, business strategies and forecasts, customer data, or any other information, data or know-how that is valuable to the Project because it is not publicly known. - The Company's Confidential Information is sensitive and we expect that you'll treat it as such. You agree to only use the Company's Confidential Information for the purpose of performing your contribution and for the benefit of the Company. You will do your best to keep Confidential Information secret. If you are not sure if something is Confidential Information, you should assume that it is, until you can confirm otherwise. \ No newline at end of file + The Project's Confidential Information is sensitive and we expect that you'll treat it as such. You agree to only use the Project's Confidential Information for the purpose of performing your contribution and for the benefit of the Project. You will do your best to keep Confidential Information secret. If you are not sure if something is Confidential Information, you should assume that it is, until you can confirm otherwise. \ No newline at end of file diff --git a/LICENSE b/LICENSE index c049df9cb..2fe09f449 100644 --- a/LICENSE +++ b/LICENSE @@ -1,23 +1,22 @@ COPYRIGHT NOTICE -© Copyright 2018 Advanced Algos LTD. +© Copyright 2018 Superalgos.org LICENSE NOTICE -Advanced Algos LTD. is a startup, currently at a very early stage. Because certain aspects of -the business are still not clearly defined, we have chosen to --temporarily-- grant a -restrictive license for the use of this repository, until those business aspects are clarified -and a proper open source license can be granted. +Superalgos is a collaborative project currently at a very early stage. Because certain aspects of +the project are still not clearly defined, we have chosen to --temporarily-- grant a restrictive +license for the use of this repository, until those aspects are clarified and a proper open source +license can be granted. -Advanced Algos LTD. is publishing the code of this software for several reasons. However, -it shall not be considered free software yet. Advanced Algos LTD. is a for-profit company -in the crypto space and this module is still proprietary software. +Superalgos.org is publishing the code of this software for several reasons. However, it shall not be considered free software yet. Superalgos is a collaborative project in the crypto space and this +software is still proprietary software. -The reasons for opening up the code of this module at this stage are the following: +The reasons for opening up the code of this software at this stage are the following: - * We believe that transparency is paramount to achieving our goals, so we want everyone - to be able to understand what this module does and how. Opening up the code of this module + * We believe that transparency is paramount to achieving our goals, so we want everyone to + be able to understand what this software does and how. Opening up the code of this software allows anyone to take a close look. * We welcome contributions from the community. Contributions are regarded as voluntary work. @@ -27,16 +26,14 @@ The reasons for opening up the code of this module at this stage are the followi LICENSE WORDING -Advanced Algos LTD. grants a limited license for the following uses: +Superalgos.org grants a limited license for the following uses: 1. CODE REVIEW AND AUDITS. You are granted permission to clone this repository to analyze, review or audit the code. -2. COLLABORATING WITH ADVANCED ALGOS LTD. You are granted permission to fork this repository +2. COLLABORATING WITH Superalgos.org. You are granted permission to fork this repository with the sole purpose of correcting bugs and developing functionality in agreement with - Advanced Algos LTD. By contributing to this repository you explicitely agree to the terms + Superalgos.org. By contributing to this repository you explicitely agree to the terms detailed in CONTRIBUTING.MD. -PLEASE SEE CONTRIBUTING.MD FOR MORE DETAILS ON THE IMPLICATIONS SURROUNDING YOUR CONTRIBUTIONS TO THIS REPOSITORY. - - +PLEASE SEE CONTRIBUTING.MD FOR MORE DETAILS ON THE IMPLICATIONS SURROUNDING YOUR CONTRIBUTIONS TO THIS REPOSITORY. \ No newline at end of file From b4f2cf1bf57834449bc41ff4bca5138d35e67bc9 Mon Sep 17 00:00:00 2001 From: pmmax Date: Tue, 12 Feb 2019 16:32:14 -0300 Subject: [PATCH 2/3] Added a method to quickly switch the testnet --- .../AlgoTokenV1Tests.cs | 4 ++-- .../AlgoFeesTests.cs | 6 +++--- .../AlgoMinerTests.cs | 4 ++-- .../AlgoPoolTests.cs | 6 +++--- .../EthNetwork.cs | 2 ++ 5 files changed, 12 insertions(+), 10 deletions(-) diff --git a/labs/algo-erc20-token/test/AdvancedAlgos.AlgoToken.AlgoErc20Token.IntegrationTests/AlgoTokenV1Tests.cs b/labs/algo-erc20-token/test/AdvancedAlgos.AlgoToken.AlgoErc20Token.IntegrationTests/AlgoTokenV1Tests.cs index f19264bde..78e097536 100644 --- a/labs/algo-erc20-token/test/AdvancedAlgos.AlgoToken.AlgoErc20Token.IntegrationTests/AlgoTokenV1Tests.cs +++ b/labs/algo-erc20-token/test/AdvancedAlgos.AlgoToken.AlgoErc20Token.IntegrationTests/AlgoTokenV1Tests.cs @@ -17,7 +17,7 @@ namespace AdvancedAlgos.AlgoToken.AlgoErc20Token.IntegrationTests [Fact] public async Task DeployContractAndTransferTokensTest() { - EthNetwork.UseGanacheTestNet(); + EthNetwork.UseDefaultTestNet(); var account1 = new Account(EthNetwork.Instance.PrefundedPrivateKey); var account2 = EthAccountFactory.Create(); @@ -39,7 +39,7 @@ namespace AdvancedAlgos.AlgoToken.AlgoErc20Token.IntegrationTests [Fact] public async Task PausableFeatureTest() { - EthNetwork.UseGanacheTestNet(); + EthNetwork.UseDefaultTestNet(); var account1 = new Account(EthNetwork.Instance.PrefundedPrivateKey); var account2 = EthAccountFactory.Create(); diff --git a/labs/algo-token-distribution/test/AdvancedAlgos.AlgoToken.AlgoTokenDistribution.IntegrationTests/AlgoFeesTests.cs b/labs/algo-token-distribution/test/AdvancedAlgos.AlgoToken.AlgoTokenDistribution.IntegrationTests/AlgoFeesTests.cs index 56bbafc40..ad3bf61b1 100644 --- a/labs/algo-token-distribution/test/AdvancedAlgos.AlgoToken.AlgoTokenDistribution.IntegrationTests/AlgoFeesTests.cs +++ b/labs/algo-token-distribution/test/AdvancedAlgos.AlgoToken.AlgoTokenDistribution.IntegrationTests/AlgoFeesTests.cs @@ -17,7 +17,7 @@ namespace AdvancedAlgos.AlgoToken.AlgoTokenDistribution.IntegrationTests [Fact] public async Task MinerRegistrationTest() { - EthNetwork.UseGanacheTestNet(); + EthNetwork.UseDefaultTestNet(); var prefundedAccount = new Account(EthNetwork.Instance.PrefundedPrivateKey); @@ -101,7 +101,7 @@ namespace AdvancedAlgos.AlgoToken.AlgoTokenDistribution.IntegrationTests [Fact] public async Task MineTest() { - EthNetwork.UseGanacheTestNet(); + EthNetwork.UseDefaultTestNet(); var prefundedAccount = new Account(EthNetwork.Instance.PrefundedPrivateKey); @@ -181,7 +181,7 @@ namespace AdvancedAlgos.AlgoToken.AlgoTokenDistribution.IntegrationTests [Fact] public async Task TerminateTest() { - EthNetwork.UseGanacheTestNet(); + EthNetwork.UseDefaultTestNet(); var prefundedAccount = new Account(EthNetwork.Instance.PrefundedPrivateKey); diff --git a/labs/algo-token-distribution/test/AdvancedAlgos.AlgoToken.AlgoTokenDistribution.IntegrationTests/AlgoMinerTests.cs b/labs/algo-token-distribution/test/AdvancedAlgos.AlgoToken.AlgoTokenDistribution.IntegrationTests/AlgoMinerTests.cs index 0fa0aa1c0..afd0384f2 100644 --- a/labs/algo-token-distribution/test/AdvancedAlgos.AlgoToken.AlgoTokenDistribution.IntegrationTests/AlgoMinerTests.cs +++ b/labs/algo-token-distribution/test/AdvancedAlgos.AlgoToken.AlgoTokenDistribution.IntegrationTests/AlgoMinerTests.cs @@ -16,7 +16,7 @@ namespace AdvancedAlgos.AlgoToken.AlgoTokenDistribution.IntegrationTests [Fact] public async Task PoolBasedMinerBasicWorkfloWTest() { - EthNetwork.UseGanacheTestNet(); + EthNetwork.UseDefaultTestNet(); var prefundedAccount = new Account(EthNetwork.Instance.PrefundedPrivateKey); @@ -115,7 +115,7 @@ namespace AdvancedAlgos.AlgoToken.AlgoTokenDistribution.IntegrationTests [Fact] public async Task TerminateTest() { - EthNetwork.UseGanacheTestNet(); + EthNetwork.UseDefaultTestNet(); var prefundedAccount = new Account(EthNetwork.Instance.PrefundedPrivateKey); diff --git a/labs/algo-token-distribution/test/AdvancedAlgos.AlgoToken.AlgoTokenDistribution.IntegrationTests/AlgoPoolTests.cs b/labs/algo-token-distribution/test/AdvancedAlgos.AlgoToken.AlgoTokenDistribution.IntegrationTests/AlgoPoolTests.cs index 0f6f67e98..5268bcc4c 100644 --- a/labs/algo-token-distribution/test/AdvancedAlgos.AlgoToken.AlgoTokenDistribution.IntegrationTests/AlgoPoolTests.cs +++ b/labs/algo-token-distribution/test/AdvancedAlgos.AlgoToken.AlgoTokenDistribution.IntegrationTests/AlgoPoolTests.cs @@ -17,7 +17,7 @@ namespace AdvancedAlgos.AlgoToken.AlgoTokenDistribution.IntegrationTests [Fact] public async Task MinerPoolTransferToMinerTest() { - EthNetwork.UseGanacheTestNet(); + EthNetwork.UseDefaultTestNet(); var prefundedAccount = new Account(EthNetwork.Instance.PrefundedPrivateKey); @@ -72,7 +72,7 @@ namespace AdvancedAlgos.AlgoToken.AlgoTokenDistribution.IntegrationTests [Fact] public async Task ReferralPoolTransferToMinerTest() { - EthNetwork.UseGanacheTestNet(); + EthNetwork.UseDefaultTestNet(); var prefundedAccount = new Account(EthNetwork.Instance.PrefundedPrivateKey); @@ -127,7 +127,7 @@ namespace AdvancedAlgos.AlgoToken.AlgoTokenDistribution.IntegrationTests [Fact] public async Task TerminateTest() { - EthNetwork.UseGanacheTestNet(); + EthNetwork.UseDefaultTestNet(); var prefundedAccount = new Account(EthNetwork.Instance.PrefundedPrivateKey); diff --git a/labs/framework/src/AdvancedAlgos.AlgoToken.Framework.Ethereum.IntegrationTest/EthNetwork.cs b/labs/framework/src/AdvancedAlgos.AlgoToken.Framework.Ethereum.IntegrationTest/EthNetwork.cs index 8f1675e54..908600832 100644 --- a/labs/framework/src/AdvancedAlgos.AlgoToken.Framework.Ethereum.IntegrationTest/EthNetwork.cs +++ b/labs/framework/src/AdvancedAlgos.AlgoToken.Framework.Ethereum.IntegrationTest/EthNetwork.cs @@ -26,6 +26,8 @@ namespace AdvancedAlgos.AlgoToken.Framework.Ethereum.IntegrationTest public IGasPriceProvider GasPriceProvider { get; private set; } public BigInteger TxBaseFeeWei => GasPriceProvider.GetGasPrice() * TRANSACTION_BASE_FEE; + public static void UseDefaultTestNet() => UseGethTestNet(); + public static void UseGanacheTestNet() { Instance = new EthNetwork From b1b99b9f76b7e566c512e421161dd68c3c50ec08 Mon Sep 17 00:00:00 2001 From: pmmax Date: Tue, 12 Feb 2019 18:30:36 -0300 Subject: [PATCH 3/3] Fixed issue #14. Added missing modifiers to state variables and constants --- .../SmartContracts/src/AlgoFees.sol | 12 +- .../SmartContracts/src/AlgoMiner.sol | 2 +- .../SmartContracts/src/AlgoPool.sol | 2 +- .../src/bin/AlgoFees-sol-output.json | 2981 +++++++-------- .../SmartContracts/src/bin/AlgoFees.bin | 2 +- .../SmartContracts/src/bin/AlgoFees.json | 2 +- .../src/bin/AlgoMiner-sol-output.json | 3277 +++++++++-------- .../SmartContracts/src/bin/AlgoMiner.abi | 2 +- .../SmartContracts/src/bin/AlgoMiner.bin | 2 +- .../SmartContracts/src/bin/AlgoMiner.json | 26 +- .../src/bin/AlgoPool-sol-output.json | 224 +- .../SmartContracts/src/bin/AlgoPool.bin | 2 +- .../SmartContracts/src/bin/AlgoPool.json | 2 +- .../EthNetwork.cs | 2 +- 14 files changed, 3324 insertions(+), 3214 deletions(-) diff --git a/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/AlgoFees.sol b/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/AlgoFees.sol index 2850b2e05..26773a58a 100644 --- a/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/AlgoFees.sol +++ b/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/AlgoFees.sol @@ -11,12 +11,12 @@ import "./AlgoCoreTeamRole.sol"; contract AlgoFees is ERC20TokenHolder, AlgoSystemRole, AlgoCoreTeamRole { using SafeERC20 for IERC20; - uint256 constant CAT_0_VALUE_PROPORTION = 1; - uint256 constant CAT_1_VALUE_PROPORTION = 10; - uint256 constant CAT_2_VALUE_PROPORTION = 20; - uint256 constant CAT_3_VALUE_PROPORTION = 30; - uint256 constant CAT_4_VALUE_PROPORTION = 40; - uint256 constant CAT_5_VALUE_PROPORTION = 50; + uint256 private constant CAT_0_VALUE_PROPORTION = 1; + uint256 private constant CAT_1_VALUE_PROPORTION = 10; + uint256 private constant CAT_2_VALUE_PROPORTION = 20; + uint256 private constant CAT_3_VALUE_PROPORTION = 30; + uint256 private constant CAT_4_VALUE_PROPORTION = 40; + uint256 private constant CAT_5_VALUE_PROPORTION = 50; address[] private _miners; mapping(address => uint256) private _minersByAddress; diff --git a/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/AlgoMiner.sol b/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/AlgoMiner.sol index c41b5b855..3a70d76f9 100644 --- a/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/AlgoMiner.sol +++ b/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/AlgoMiner.sol @@ -13,7 +13,7 @@ import "./AlgoSupervisorRole.sol"; contract AlgoMiner is AlgoCommon, ERC20TokenHolder, AlgoSystemRole, AlgoCoreTeamRole, AlgoSupervisorRole, IAlgoMiner { using SafeERC20 for IERC20; - uint256 public constant DAYS_PER_YEAR = 365; + uint256 private constant DAYS_PER_YEAR = 365; enum MinerType { PoolBased, diff --git a/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/AlgoPool.sol b/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/AlgoPool.sol index 8b4ffcc9c..523febd74 100644 --- a/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/AlgoPool.sol +++ b/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/AlgoPool.sol @@ -17,7 +17,7 @@ contract AlgoPool is AlgoCommon, ERC20TokenHolder, AlgoCoreTeamRole { } PoolType private _poolType; - mapping(address => bool) _fundedMiners; + mapping(address => bool) private _fundedMiners; constructor(PoolType poolType, address tokenAddress) ERC20TokenHolder(tokenAddress) diff --git a/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/bin/AlgoFees-sol-output.json b/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/bin/AlgoFees-sol-output.json index f2f99092c..324b8aec5 100644 --- a/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/bin/AlgoFees-sol-output.json +++ b/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/bin/AlgoFees-sol-output.json @@ -259,9 +259,9 @@ "evm": { "bytecode": { "linkReferences": {}, - "object": "60806040523480156200001157600080fd5b50604051602080620010d083398101604052516000805433600160a060020a0319918216811760a060020a60ff02191690925560018054909116600160a060020a0384161790556200006c90640100000000620000c7810204565b6200008033640100000000620000e5810204565b50600480546001810182556000919091527f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b018054600160a060020a031916905562000193565b620000e260028264010000000062000e066200010082021704565b50565b620000e260038264010000000062000e066200010082021704565b600160a060020a03811615156200011657600080fd5b6200012b82826401000000006200015b810204565b156200013657600080fd5b600160a060020a0316600090815260209190915260409020805460ff19166001179055565b6000600160a060020a03821615156200017357600080fd5b50600160a060020a03166000908152602091909152604090205460ff1690565b610f2d80620001a36000396000f3006080604052600436106100a05763ffffffff60e060020a6000350416630c08bf8881146100a55780632e6b6849146100bc578063341ccfcb146100dd57806334cdcf26146100fe5780633d19ab1314610133578063608d3d3d1461016757806374be75921461018857806381f909f3146101a957806399f4b251146101ca578063bb52c137146101df578063d43acc7914610206578063e9d618591461021b575b600080fd5b3480156100b157600080fd5b506100ba610230565b005b3480156100c857600080fd5b506100ba600160a060020a036004351661024e565b3480156100e957600080fd5b506100ba600160a060020a036004351661026e565b34801561010a57600080fd5b5061011f600160a060020a0360043516610457565b604080519115158252519081900360200190f35b34801561013f57600080fd5b5061014b600435610470565b60408051600160a060020a039092168252519081900360200190f35b34801561017357600080fd5b5061011f600160a060020a036004351661049f565b34801561019457600080fd5b506100ba600160a060020a03600435166104b2565b3480156101b557600080fd5b506100ba600160a060020a03600435166104cf565b3480156101d657600080fd5b506100ba610686565b3480156101eb57600080fd5b506101f4610bd1565b60408051918252519081900360200190f35b34801561021257600080fd5b506100ba610bdc565b34801561022757600080fd5b506100ba610be5565b6102393361049f565b151561024457600080fd5b61024c610bee565b565b6102573361049f565b151561026257600080fd5b61026b81610cb5565b50565b60008054819074010000000000000000000000000000000000000000900460ff161561029957600080fd5b6102a23361049f565b15156102ad57600080fd5b6004546103e8116102bd57600080fd5b600160a060020a038316600090815260056020526040902054156102e057600080fd5b82915081600160a060020a0316631777fb4b6040518163ffffffff1660e060020a028152600401602060405180830381600087803b15801561032157600080fd5b505af1158015610335573d6000803e3d6000fd5b505050506040513d602081101561034b57600080fd5b5051151561035857600080fd5b81600160a060020a03166380258e476040518163ffffffff1660e060020a028152600401602060405180830381600087803b15801561039657600080fd5b505af11580156103aa573d6000803e3d6000fd5b505050506040513d60208110156103c057600080fd5b50519050600060ff8216108015906103dc575060058160ff1611155b15156103e757600080fd5b505060048054600160a060020a039092166000818152600560205260408120849055600184018355919091527f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b909101805473ffffffffffffffffffffffffffffffffffffffff19169091179055565b600061046a60028363ffffffff610cc616565b92915050565b600060048260010181548110151561048457fe5b600091825260209091200154600160a060020a031692915050565b600061046a60038363ffffffff610cc616565b6104bb33610457565b15156104c657600080fd5b61026b81610cfd565b60005474010000000000000000000000000000000000000000900460ff16156104f757600080fd5b6105003361049f565b151561050b57600080fd5b60045460011061051a57600080fd5b600454600214156105865760048054600190811061053457fe5b6000918252602090912001805473ffffffffffffffffffffffffffffffffffffffff191690556001610567600482610ea0565b50600160a060020a03811660009081526005602052604081205561026b565b600454600160a060020a03821660009081526005602052604090205414610620576004805460001981019081106105b957fe5b6000918252602080832090910154600160a060020a03848116845260059092526040909220546004805492909316929181106105f157fe5b9060005260206000200160006101000a815481600160a060020a030219169083600160a060020a031602179055505b60048054600019810190811061063257fe5b6000918252602090912001805473ffffffffffffffffffffffffffffffffffffffff19169055600480549061066b906000198301610ea0565b50600160a060020a0316600090815260056020526040812055565b6000610690610ec4565b60008060008061069e610ec4565b60005474010000000000000000000000000000000000000000900460ff16156106c657600080fd5b6106cf33610457565b15156106da57600080fd5b6004546001106106e957600080fd5b600154604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051600160a060020a03909216916370a08231916024808201926020929091908290030181600087803b15801561074f57600080fd5b505af1158015610763573d6000803e3d6000fd5b505050506040513d602081101561077957600080fd5b505196506000871161078a57600080fd5b600194505b6004548510156109395760048054869081106107a757fe5b9060005260206000200160009054906101000a9004600160a060020a0316935083600160a060020a03166319a74ab36040518163ffffffff1660e060020a028152600401602060405180830381600087803b15801561080557600080fd5b505af1158015610819573d6000803e3d6000fd5b505050506040513d602081101561082f57600080fd5b5051151561083c5761092e565b83600160a060020a03166380258e476040518163ffffffff1660e060020a028152600401602060405180830381600087803b15801561087a57600080fd5b505af115801561088e573d6000803e3d6000fd5b505050506040513d60208110156108a457600080fd5b5051925060ff831615156108c6578560005b602002018051600101905261092e565b8260ff16600114156108da578560016108b6565b8260ff16600214156108ee578560026108b6565b8260ff1660031415610902578560036108b6565b8260ff1660041415610916578560046108b6565b8260ff166005141561092e5760a08601805160010190525b60019094019361078f565b60a086015160808701516060880151604089015160208a01518a51600a90910201601490910201601e909102016028909102016032909102019150818781151561097f57fe5b04815281600a880281151561099057fe5b04602082015281601488028115156109a457fe5b04604082015281601e88028115156109b857fe5b04606082015281602888028115156109cc57fe5b04608082015281603288028115156109e057fe5b0460a0820152600194505b600454851015610bc8576004805486908110610a0357fe5b9060005260206000200160009054906101000a9004600160a060020a0316935083600160a060020a03166319a74ab36040518163ffffffff1660e060020a028152600401602060405180830381600087803b158015610a6157600080fd5b505af1158015610a75573d6000803e3d6000fd5b505050506040513d6020811015610a8b57600080fd5b50511515610a9857610bbd565b83600160a060020a03166380258e476040518163ffffffff1660e060020a028152600401602060405180830381600087803b158015610ad657600080fd5b505af1158015610aea573d6000803e3d6000fd5b505050506040513d6020811015610b0057600080fd5b5051604080517f302c11ca0000000000000000000000000000000000000000000000000000000081529051919450610bbd91600160a060020a0387169163302c11ca9160048083019260209291908290030181600087803b158015610b6457600080fd5b505af1158015610b78573d6000803e3d6000fd5b505050506040513d6020811015610b8e57600080fd5b50518260ff861660068110610b9f57fe5b6020020151600154600160a060020a0316919063ffffffff610d0e16565b6001909401936109eb565b50505050505050565b600454600019015b90565b61024c33610dad565b61024c33610dbe565b600154604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051600092600160a060020a0316916370a0823191602480830192602092919082900301818787803b158015610c5357600080fd5b505af1158015610c67573d6000803e3d6000fd5b505050506040513d6020811015610c7d57600080fd5b505190506000811115610cad57600054600154610cad91600160a060020a0391821691168363ffffffff610d0e16565b61026b610dcf565b61026b60038263ffffffff610e0616565b6000600160a060020a0382161515610cdd57600080fd5b50600160a060020a03166000908152602091909152604090205460ff1690565b61026b60028263ffffffff610e0616565b82600160a060020a031663a9059cbb83836040518363ffffffff1660e060020a0281526004018083600160a060020a0316600160a060020a0316815260200182815260200192505050602060405180830381600087803b158015610d7157600080fd5b505af1158015610d85573d6000803e3d6000fd5b505050506040513d6020811015610d9b57600080fd5b50511515610da857600080fd5b505050565b61026b60038263ffffffff610e5416565b61026b60028263ffffffff610e5416565b6000805474ff0000000000000000000000000000000000000000191674010000000000000000000000000000000000000000179055565b600160a060020a0381161515610e1b57600080fd5b610e258282610cc6565b15610e2f57600080fd5b600160a060020a0316600090815260209190915260409020805460ff19166001179055565b600160a060020a0381161515610e6957600080fd5b610e738282610cc6565b1515610e7e57600080fd5b600160a060020a0316600090815260209190915260409020805460ff19169055565b815481835581811115610da857600083815260209020610da8918101908301610ee3565b60c0604051908101604052806006906020820280388339509192915050565b610bd991905b80821115610efd5760008155600101610ee9565b50905600a165627a7a72305820c97e98efb9f61c8f769238044b274ddcf265ed47d4444eab2134a813ff57783b0029", - "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH3 0x11 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x40 MLOAD PUSH1 0x20 DUP1 PUSH3 0x10D0 DUP4 CODECOPY DUP2 ADD PUSH1 0x40 MSTORE MLOAD PUSH1 0x0 DUP1 SLOAD CALLER PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB NOT SWAP2 DUP3 AND DUP2 OR PUSH1 0xA0 PUSH1 0x2 EXP PUSH1 0xFF MUL NOT AND SWAP1 SWAP3 SSTORE PUSH1 0x1 DUP1 SLOAD SWAP1 SWAP2 AND PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB DUP5 AND OR SWAP1 SSTORE PUSH3 0x6C SWAP1 PUSH5 0x100000000 PUSH3 0xC7 DUP2 MUL DIV JUMP JUMPDEST PUSH3 0x80 CALLER PUSH5 0x100000000 PUSH3 0xE5 DUP2 MUL DIV JUMP JUMPDEST POP PUSH1 0x4 DUP1 SLOAD PUSH1 0x1 DUP2 ADD DUP3 SSTORE PUSH1 0x0 SWAP2 SWAP1 SWAP2 MSTORE PUSH32 0x8A35ACFBC15FF81A39AE7D344FD709F28E8600B4AA8C65C6B64BFE7FE36BD19B ADD DUP1 SLOAD PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB NOT AND SWAP1 SSTORE PUSH3 0x193 JUMP JUMPDEST PUSH3 0xE2 PUSH1 0x2 DUP3 PUSH5 0x100000000 PUSH3 0xE06 PUSH3 0x100 DUP3 MUL OR DIV JUMP JUMPDEST POP JUMP JUMPDEST PUSH3 0xE2 PUSH1 0x3 DUP3 PUSH5 0x100000000 PUSH3 0xE06 PUSH3 0x100 DUP3 MUL OR DIV JUMP JUMPDEST PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB DUP2 AND ISZERO ISZERO PUSH3 0x116 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH3 0x12B DUP3 DUP3 PUSH5 0x100000000 PUSH3 0x15B DUP2 MUL DIV JUMP JUMPDEST ISZERO PUSH3 0x136 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0x1 OR SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB DUP3 AND ISZERO ISZERO PUSH3 0x173 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND SWAP1 JUMP JUMPDEST PUSH2 0xF2D DUP1 PUSH3 0x1A3 PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN STOP PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0xA0 JUMPI PUSH4 0xFFFFFFFF PUSH1 0xE0 PUSH1 0x2 EXP PUSH1 0x0 CALLDATALOAD DIV AND PUSH4 0xC08BF88 DUP2 EQ PUSH2 0xA5 JUMPI DUP1 PUSH4 0x2E6B6849 EQ PUSH2 0xBC JUMPI DUP1 PUSH4 0x341CCFCB EQ PUSH2 0xDD JUMPI DUP1 PUSH4 0x34CDCF26 EQ PUSH2 0xFE JUMPI DUP1 PUSH4 0x3D19AB13 EQ PUSH2 0x133 JUMPI DUP1 PUSH4 0x608D3D3D EQ PUSH2 0x167 JUMPI DUP1 PUSH4 0x74BE7592 EQ PUSH2 0x188 JUMPI DUP1 PUSH4 0x81F909F3 EQ PUSH2 0x1A9 JUMPI DUP1 PUSH4 0x99F4B251 EQ PUSH2 0x1CA JUMPI DUP1 PUSH4 0xBB52C137 EQ PUSH2 0x1DF JUMPI DUP1 PUSH4 0xD43ACC79 EQ PUSH2 0x206 JUMPI DUP1 PUSH4 0xE9D61859 EQ PUSH2 0x21B JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xB1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xBA PUSH2 0x230 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xC8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xBA PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB PUSH1 0x4 CALLDATALOAD AND PUSH2 0x24E JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xE9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xBA PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB PUSH1 0x4 CALLDATALOAD AND PUSH2 0x26E JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x10A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x11F PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB PUSH1 0x4 CALLDATALOAD AND PUSH2 0x457 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD SWAP2 ISZERO ISZERO DUP3 MSTORE MLOAD SWAP1 DUP2 SWAP1 SUB PUSH1 0x20 ADD SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x13F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x14B PUSH1 0x4 CALLDATALOAD PUSH2 0x470 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB SWAP1 SWAP3 AND DUP3 MSTORE MLOAD SWAP1 DUP2 SWAP1 SUB PUSH1 0x20 ADD SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x173 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x11F PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB PUSH1 0x4 CALLDATALOAD AND PUSH2 0x49F JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x194 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xBA PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB PUSH1 0x4 CALLDATALOAD AND PUSH2 0x4B2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1B5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xBA PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB PUSH1 0x4 CALLDATALOAD AND PUSH2 0x4CF JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1D6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xBA PUSH2 0x686 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1EB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1F4 PUSH2 0xBD1 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD SWAP2 DUP3 MSTORE MLOAD SWAP1 DUP2 SWAP1 SUB PUSH1 0x20 ADD SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x212 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xBA PUSH2 0xBDC JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x227 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xBA PUSH2 0xBE5 JUMP JUMPDEST PUSH2 0x239 CALLER PUSH2 0x49F JUMP JUMPDEST ISZERO ISZERO PUSH2 0x244 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x24C PUSH2 0xBEE JUMP JUMPDEST JUMP JUMPDEST PUSH2 0x257 CALLER PUSH2 0x49F JUMP JUMPDEST ISZERO ISZERO PUSH2 0x262 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x26B DUP2 PUSH2 0xCB5 JUMP JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD DUP2 SWAP1 PUSH21 0x10000000000000000000000000000000000000000 SWAP1 DIV PUSH1 0xFF AND ISZERO PUSH2 0x299 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2A2 CALLER PUSH2 0x49F JUMP JUMPDEST ISZERO ISZERO PUSH2 0x2AD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x4 SLOAD PUSH2 0x3E8 GT PUSH2 0x2BD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB DUP4 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x5 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD ISZERO PUSH2 0x2E0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 SWAP2 POP DUP2 PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB AND PUSH4 0x1777FB4B PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 PUSH1 0x2 EXP MUL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x321 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x335 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x20 DUP2 LT ISZERO PUSH2 0x34B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP MLOAD ISZERO ISZERO PUSH2 0x358 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB AND PUSH4 0x80258E47 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 PUSH1 0x2 EXP MUL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x396 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x3AA JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x20 DUP2 LT ISZERO PUSH2 0x3C0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP MLOAD SWAP1 POP PUSH1 0x0 PUSH1 0xFF DUP3 AND LT DUP1 ISZERO SWAP1 PUSH2 0x3DC JUMPI POP PUSH1 0x5 DUP2 PUSH1 0xFF AND GT ISZERO JUMPDEST ISZERO ISZERO PUSH2 0x3E7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP POP PUSH1 0x4 DUP1 SLOAD PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB SWAP1 SWAP3 AND PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x5 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 DUP5 SWAP1 SSTORE PUSH1 0x1 DUP5 ADD DUP4 SSTORE SWAP2 SWAP1 SWAP2 MSTORE PUSH32 0x8A35ACFBC15FF81A39AE7D344FD709F28E8600B4AA8C65C6B64BFE7FE36BD19B SWAP1 SWAP2 ADD DUP1 SLOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND SWAP1 SWAP2 OR SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x0 PUSH2 0x46A PUSH1 0x2 DUP4 PUSH4 0xFFFFFFFF PUSH2 0xCC6 AND JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x4 DUP3 PUSH1 0x1 ADD DUP2 SLOAD DUP2 LT ISZERO ISZERO PUSH2 0x484 JUMPI INVALID JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 SWAP1 SWAP2 KECCAK256 ADD SLOAD PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB AND SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x46A PUSH1 0x3 DUP4 PUSH4 0xFFFFFFFF PUSH2 0xCC6 AND JUMP JUMPDEST PUSH2 0x4BB CALLER PUSH2 0x457 JUMP JUMPDEST ISZERO ISZERO PUSH2 0x4C6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x26B DUP2 PUSH2 0xCFD JUMP JUMPDEST PUSH1 0x0 SLOAD PUSH21 0x10000000000000000000000000000000000000000 SWAP1 DIV PUSH1 0xFF AND ISZERO PUSH2 0x4F7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x500 CALLER PUSH2 0x49F JUMP JUMPDEST ISZERO ISZERO PUSH2 0x50B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x4 SLOAD PUSH1 0x1 LT PUSH2 0x51A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x4 SLOAD PUSH1 0x2 EQ ISZERO PUSH2 0x586 JUMPI PUSH1 0x4 DUP1 SLOAD PUSH1 0x1 SWAP1 DUP2 LT PUSH2 0x534 JUMPI INVALID JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 SWAP1 SWAP2 KECCAK256 ADD DUP1 SLOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND SWAP1 SSTORE PUSH1 0x1 PUSH2 0x567 PUSH1 0x4 DUP3 PUSH2 0xEA0 JUMP JUMPDEST POP PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB DUP2 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x5 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 SSTORE PUSH2 0x26B JUMP JUMPDEST PUSH1 0x4 SLOAD PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB DUP3 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x5 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD EQ PUSH2 0x620 JUMPI PUSH1 0x4 DUP1 SLOAD PUSH1 0x0 NOT DUP2 ADD SWAP1 DUP2 LT PUSH2 0x5B9 JUMPI INVALID JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 DUP1 DUP4 KECCAK256 SWAP1 SWAP2 ADD SLOAD PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB DUP5 DUP2 AND DUP5 MSTORE PUSH1 0x5 SWAP1 SWAP3 MSTORE PUSH1 0x40 SWAP1 SWAP3 KECCAK256 SLOAD PUSH1 0x4 DUP1 SLOAD SWAP3 SWAP1 SWAP4 AND SWAP3 SWAP2 DUP2 LT PUSH2 0x5F1 JUMPI INVALID JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB MUL NOT AND SWAP1 DUP4 PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB AND MUL OR SWAP1 SSTORE POP JUMPDEST PUSH1 0x4 DUP1 SLOAD PUSH1 0x0 NOT DUP2 ADD SWAP1 DUP2 LT PUSH2 0x632 JUMPI INVALID JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 SWAP1 SWAP2 KECCAK256 ADD DUP1 SLOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND SWAP1 SSTORE PUSH1 0x4 DUP1 SLOAD SWAP1 PUSH2 0x66B SWAP1 PUSH1 0x0 NOT DUP4 ADD PUSH2 0xEA0 JUMP JUMPDEST POP PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x5 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 SSTORE JUMP JUMPDEST PUSH1 0x0 PUSH2 0x690 PUSH2 0xEC4 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH2 0x69E PUSH2 0xEC4 JUMP JUMPDEST PUSH1 0x0 SLOAD PUSH21 0x10000000000000000000000000000000000000000 SWAP1 DIV PUSH1 0xFF AND ISZERO PUSH2 0x6C6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x6CF CALLER PUSH2 0x457 JUMP JUMPDEST ISZERO ISZERO PUSH2 0x6DA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x4 SLOAD PUSH1 0x1 LT PUSH2 0x6E9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x1 SLOAD PUSH1 0x40 DUP1 MLOAD PUSH32 0x70A0823100000000000000000000000000000000000000000000000000000000 DUP2 MSTORE ADDRESS PUSH1 0x4 DUP3 ADD MSTORE SWAP1 MLOAD PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB SWAP1 SWAP3 AND SWAP2 PUSH4 0x70A08231 SWAP2 PUSH1 0x24 DUP1 DUP3 ADD SWAP3 PUSH1 0x20 SWAP3 SWAP1 SWAP2 SWAP1 DUP3 SWAP1 SUB ADD DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x74F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x763 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x20 DUP2 LT ISZERO PUSH2 0x779 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP MLOAD SWAP7 POP PUSH1 0x0 DUP8 GT PUSH2 0x78A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x1 SWAP5 POP JUMPDEST PUSH1 0x4 SLOAD DUP6 LT ISZERO PUSH2 0x939 JUMPI PUSH1 0x4 DUP1 SLOAD DUP7 SWAP1 DUP2 LT PUSH2 0x7A7 JUMPI INVALID JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB AND SWAP4 POP DUP4 PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB AND PUSH4 0x19A74AB3 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 PUSH1 0x2 EXP MUL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x805 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x819 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x20 DUP2 LT ISZERO PUSH2 0x82F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP MLOAD ISZERO ISZERO PUSH2 0x83C JUMPI PUSH2 0x92E JUMP JUMPDEST DUP4 PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB AND PUSH4 0x80258E47 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 PUSH1 0x2 EXP MUL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x87A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x88E JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x20 DUP2 LT ISZERO PUSH2 0x8A4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP MLOAD SWAP3 POP PUSH1 0xFF DUP4 AND ISZERO ISZERO PUSH2 0x8C6 JUMPI DUP6 PUSH1 0x0 JUMPDEST PUSH1 0x20 MUL ADD DUP1 MLOAD PUSH1 0x1 ADD SWAP1 MSTORE PUSH2 0x92E JUMP JUMPDEST DUP3 PUSH1 0xFF AND PUSH1 0x1 EQ ISZERO PUSH2 0x8DA JUMPI DUP6 PUSH1 0x1 PUSH2 0x8B6 JUMP JUMPDEST DUP3 PUSH1 0xFF AND PUSH1 0x2 EQ ISZERO PUSH2 0x8EE JUMPI DUP6 PUSH1 0x2 PUSH2 0x8B6 JUMP JUMPDEST DUP3 PUSH1 0xFF AND PUSH1 0x3 EQ ISZERO PUSH2 0x902 JUMPI DUP6 PUSH1 0x3 PUSH2 0x8B6 JUMP JUMPDEST DUP3 PUSH1 0xFF AND PUSH1 0x4 EQ ISZERO PUSH2 0x916 JUMPI DUP6 PUSH1 0x4 PUSH2 0x8B6 JUMP JUMPDEST DUP3 PUSH1 0xFF AND PUSH1 0x5 EQ ISZERO PUSH2 0x92E JUMPI PUSH1 0xA0 DUP7 ADD DUP1 MLOAD PUSH1 0x1 ADD SWAP1 MSTORE JUMPDEST PUSH1 0x1 SWAP1 SWAP5 ADD SWAP4 PUSH2 0x78F JUMP JUMPDEST PUSH1 0xA0 DUP7 ADD MLOAD PUSH1 0x80 DUP8 ADD MLOAD PUSH1 0x60 DUP9 ADD MLOAD PUSH1 0x40 DUP10 ADD MLOAD PUSH1 0x20 DUP11 ADD MLOAD DUP11 MLOAD PUSH1 0xA SWAP1 SWAP2 MUL ADD PUSH1 0x14 SWAP1 SWAP2 MUL ADD PUSH1 0x1E SWAP1 SWAP2 MUL ADD PUSH1 0x28 SWAP1 SWAP2 MUL ADD PUSH1 0x32 SWAP1 SWAP2 MUL ADD SWAP2 POP DUP2 DUP8 DUP2 ISZERO ISZERO PUSH2 0x97F JUMPI INVALID JUMPDEST DIV DUP2 MSTORE DUP2 PUSH1 0xA DUP9 MUL DUP2 ISZERO ISZERO PUSH2 0x990 JUMPI INVALID JUMPDEST DIV PUSH1 0x20 DUP3 ADD MSTORE DUP2 PUSH1 0x14 DUP9 MUL DUP2 ISZERO ISZERO PUSH2 0x9A4 JUMPI INVALID JUMPDEST DIV PUSH1 0x40 DUP3 ADD MSTORE DUP2 PUSH1 0x1E DUP9 MUL DUP2 ISZERO ISZERO PUSH2 0x9B8 JUMPI INVALID JUMPDEST DIV PUSH1 0x60 DUP3 ADD MSTORE DUP2 PUSH1 0x28 DUP9 MUL DUP2 ISZERO ISZERO PUSH2 0x9CC JUMPI INVALID JUMPDEST DIV PUSH1 0x80 DUP3 ADD MSTORE DUP2 PUSH1 0x32 DUP9 MUL DUP2 ISZERO ISZERO PUSH2 0x9E0 JUMPI INVALID JUMPDEST DIV PUSH1 0xA0 DUP3 ADD MSTORE PUSH1 0x1 SWAP5 POP JUMPDEST PUSH1 0x4 SLOAD DUP6 LT ISZERO PUSH2 0xBC8 JUMPI PUSH1 0x4 DUP1 SLOAD DUP7 SWAP1 DUP2 LT PUSH2 0xA03 JUMPI INVALID JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB AND SWAP4 POP DUP4 PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB AND PUSH4 0x19A74AB3 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 PUSH1 0x2 EXP MUL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0xA61 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0xA75 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x20 DUP2 LT ISZERO PUSH2 0xA8B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP MLOAD ISZERO ISZERO PUSH2 0xA98 JUMPI PUSH2 0xBBD JUMP JUMPDEST DUP4 PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB AND PUSH4 0x80258E47 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 PUSH1 0x2 EXP MUL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0xAD6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0xAEA JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x20 DUP2 LT ISZERO PUSH2 0xB00 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP MLOAD PUSH1 0x40 DUP1 MLOAD PUSH32 0x302C11CA00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE SWAP1 MLOAD SWAP2 SWAP5 POP PUSH2 0xBBD SWAP2 PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB DUP8 AND SWAP2 PUSH4 0x302C11CA SWAP2 PUSH1 0x4 DUP1 DUP4 ADD SWAP3 PUSH1 0x20 SWAP3 SWAP2 SWAP1 DUP3 SWAP1 SUB ADD DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0xB64 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0xB78 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x20 DUP2 LT ISZERO PUSH2 0xB8E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP MLOAD DUP3 PUSH1 0xFF DUP7 AND PUSH1 0x6 DUP2 LT PUSH2 0xB9F JUMPI INVALID JUMPDEST PUSH1 0x20 MUL ADD MLOAD PUSH1 0x1 SLOAD PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB AND SWAP2 SWAP1 PUSH4 0xFFFFFFFF PUSH2 0xD0E AND JUMP JUMPDEST PUSH1 0x1 SWAP1 SWAP5 ADD SWAP4 PUSH2 0x9EB JUMP JUMPDEST POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x4 SLOAD PUSH1 0x0 NOT ADD JUMPDEST SWAP1 JUMP JUMPDEST PUSH2 0x24C CALLER PUSH2 0xDAD JUMP JUMPDEST PUSH2 0x24C CALLER PUSH2 0xDBE JUMP JUMPDEST PUSH1 0x1 SLOAD PUSH1 0x40 DUP1 MLOAD PUSH32 0x70A0823100000000000000000000000000000000000000000000000000000000 DUP2 MSTORE ADDRESS PUSH1 0x4 DUP3 ADD MSTORE SWAP1 MLOAD PUSH1 0x0 SWAP3 PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB AND SWAP2 PUSH4 0x70A08231 SWAP2 PUSH1 0x24 DUP1 DUP4 ADD SWAP3 PUSH1 0x20 SWAP3 SWAP2 SWAP1 DUP3 SWAP1 SUB ADD DUP2 DUP8 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0xC53 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0xC67 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x20 DUP2 LT ISZERO PUSH2 0xC7D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP MLOAD SWAP1 POP PUSH1 0x0 DUP2 GT ISZERO PUSH2 0xCAD JUMPI PUSH1 0x0 SLOAD PUSH1 0x1 SLOAD PUSH2 0xCAD SWAP2 PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB SWAP2 DUP3 AND SWAP2 AND DUP4 PUSH4 0xFFFFFFFF PUSH2 0xD0E AND JUMP JUMPDEST PUSH2 0x26B PUSH2 0xDCF JUMP JUMPDEST PUSH2 0x26B PUSH1 0x3 DUP3 PUSH4 0xFFFFFFFF PUSH2 0xE06 AND JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB DUP3 AND ISZERO ISZERO PUSH2 0xCDD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND SWAP1 JUMP JUMPDEST PUSH2 0x26B PUSH1 0x2 DUP3 PUSH4 0xFFFFFFFF PUSH2 0xE06 AND JUMP JUMPDEST DUP3 PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB AND PUSH4 0xA9059CBB DUP4 DUP4 PUSH1 0x40 MLOAD DUP4 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 PUSH1 0x2 EXP MUL DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP4 PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB AND PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB AND DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP3 POP POP POP PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0xD71 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0xD85 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x20 DUP2 LT ISZERO PUSH2 0xD9B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP MLOAD ISZERO ISZERO PUSH2 0xDA8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP POP POP JUMP JUMPDEST PUSH2 0x26B PUSH1 0x3 DUP3 PUSH4 0xFFFFFFFF PUSH2 0xE54 AND JUMP JUMPDEST PUSH2 0x26B PUSH1 0x2 DUP3 PUSH4 0xFFFFFFFF PUSH2 0xE54 AND JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD PUSH21 0xFF0000000000000000000000000000000000000000 NOT AND PUSH21 0x10000000000000000000000000000000000000000 OR SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB DUP2 AND ISZERO ISZERO PUSH2 0xE1B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xE25 DUP3 DUP3 PUSH2 0xCC6 JUMP JUMPDEST ISZERO PUSH2 0xE2F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0x1 OR SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB DUP2 AND ISZERO ISZERO PUSH2 0xE69 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xE73 DUP3 DUP3 PUSH2 0xCC6 JUMP JUMPDEST ISZERO ISZERO PUSH2 0xE7E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND SWAP1 SSTORE JUMP JUMPDEST DUP2 SLOAD DUP2 DUP4 SSTORE DUP2 DUP2 GT ISZERO PUSH2 0xDA8 JUMPI PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x20 SWAP1 KECCAK256 PUSH2 0xDA8 SWAP2 DUP2 ADD SWAP1 DUP4 ADD PUSH2 0xEE3 JUMP JUMPDEST PUSH1 0xC0 PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x6 SWAP1 PUSH1 0x20 DUP3 MUL DUP1 CODESIZE DUP4 CODECOPY POP SWAP2 SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0xBD9 SWAP2 SWAP1 JUMPDEST DUP1 DUP3 GT ISZERO PUSH2 0xEFD JUMPI PUSH1 0x0 DUP2 SSTORE PUSH1 0x1 ADD PUSH2 0xEE9 JUMP JUMPDEST POP SWAP1 JUMP STOP LOG1 PUSH6 0x627A7A723058 KECCAK256 0xc9 PUSH31 0x98EFB9F61C8F769238044B274DDCF265ED47D4444EAB2134A813FF57783B00 0x29 ", - "sourceMap": "556:4724:1:-;;;1070:235;8:9:-1;5:2;;;30:1;27;20:12;5:2;1070:235:1;;;;;;;;;;;;;156:8:5;:21;;167:10;-1:-1:-1;;;;;;156:21:5;;;;;-1:-1:-1;;;;;;188:19:5;;;;-1:-1:-1;636:29:3;;;;;-1:-1:-1;;;;;636:29:3;;;;;364:22:2;;:10;;;;:22;:::i;:::-;368:24:0;381:10;368:12;;;;:24;:::i;:::-;-1:-1:-1;1225:7:1;27:10:-1;;39:1;23:18;;45:23;;1246:1:1;1225:24;;;;;;;;-1:-1:-1;;;;;;1225:24:1;;;556:4724;;800:92:2;857:27;:14;876:7;857:18;;;;;;:27;:::i;:::-;800:92;:::o;824:96:0:-;883:29;:16;904:7;883:20;;;;;;:29;:::i;244:167:6:-;-1:-1:-1;;;;;316:21:6;;;;308:30;;;;;;353:18;357:4;363:7;353:3;;;;:18;:::i;:::-;352:19;344:28;;;;;;-1:-1:-1;;;;;379:20:6;:11;:20;;;;;;;;;;;:27;;-1:-1:-1;;379:27:6;402:4;379:27;;;244:167::o;725:166::-;809:4;-1:-1:-1;;;;;831:21:6;;;;823:30;;;;;;-1:-1:-1;;;;;;866:20:6;:11;:20;;;;;;;;;;;;;;;725:166::o;556:4724:1:-;;;;;;;" + "object": "60806040523480156200001157600080fd5b50604051602080620010d083398101604052516000805433600160a060020a0319918216811760a060020a60ff02191690925560018054909116600160a060020a0384161790556200006c90640100000000620000c7810204565b6200008033640100000000620000e5810204565b50600480546001810182556000919091527f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b018054600160a060020a031916905562000193565b620000e260028264010000000062000e066200010082021704565b50565b620000e260038264010000000062000e066200010082021704565b600160a060020a03811615156200011657600080fd5b6200012b82826401000000006200015b810204565b156200013657600080fd5b600160a060020a0316600090815260209190915260409020805460ff19166001179055565b6000600160a060020a03821615156200017357600080fd5b50600160a060020a03166000908152602091909152604090205460ff1690565b610f2d80620001a36000396000f3006080604052600436106100a05763ffffffff60e060020a6000350416630c08bf8881146100a55780632e6b6849146100bc578063341ccfcb146100dd57806334cdcf26146100fe5780633d19ab1314610133578063608d3d3d1461016757806374be75921461018857806381f909f3146101a957806399f4b251146101ca578063bb52c137146101df578063d43acc7914610206578063e9d618591461021b575b600080fd5b3480156100b157600080fd5b506100ba610230565b005b3480156100c857600080fd5b506100ba600160a060020a036004351661024e565b3480156100e957600080fd5b506100ba600160a060020a036004351661026e565b34801561010a57600080fd5b5061011f600160a060020a0360043516610457565b604080519115158252519081900360200190f35b34801561013f57600080fd5b5061014b600435610470565b60408051600160a060020a039092168252519081900360200190f35b34801561017357600080fd5b5061011f600160a060020a036004351661049f565b34801561019457600080fd5b506100ba600160a060020a03600435166104b2565b3480156101b557600080fd5b506100ba600160a060020a03600435166104cf565b3480156101d657600080fd5b506100ba610686565b3480156101eb57600080fd5b506101f4610bd1565b60408051918252519081900360200190f35b34801561021257600080fd5b506100ba610bdc565b34801561022757600080fd5b506100ba610be5565b6102393361049f565b151561024457600080fd5b61024c610bee565b565b6102573361049f565b151561026257600080fd5b61026b81610cb5565b50565b60008054819074010000000000000000000000000000000000000000900460ff161561029957600080fd5b6102a23361049f565b15156102ad57600080fd5b6004546103e8116102bd57600080fd5b600160a060020a038316600090815260056020526040902054156102e057600080fd5b82915081600160a060020a0316631777fb4b6040518163ffffffff1660e060020a028152600401602060405180830381600087803b15801561032157600080fd5b505af1158015610335573d6000803e3d6000fd5b505050506040513d602081101561034b57600080fd5b5051151561035857600080fd5b81600160a060020a03166380258e476040518163ffffffff1660e060020a028152600401602060405180830381600087803b15801561039657600080fd5b505af11580156103aa573d6000803e3d6000fd5b505050506040513d60208110156103c057600080fd5b50519050600060ff8216108015906103dc575060058160ff1611155b15156103e757600080fd5b505060048054600160a060020a039092166000818152600560205260408120849055600184018355919091527f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b909101805473ffffffffffffffffffffffffffffffffffffffff19169091179055565b600061046a60028363ffffffff610cc616565b92915050565b600060048260010181548110151561048457fe5b600091825260209091200154600160a060020a031692915050565b600061046a60038363ffffffff610cc616565b6104bb33610457565b15156104c657600080fd5b61026b81610cfd565b60005474010000000000000000000000000000000000000000900460ff16156104f757600080fd5b6105003361049f565b151561050b57600080fd5b60045460011061051a57600080fd5b600454600214156105865760048054600190811061053457fe5b6000918252602090912001805473ffffffffffffffffffffffffffffffffffffffff191690556001610567600482610ea0565b50600160a060020a03811660009081526005602052604081205561026b565b600454600160a060020a03821660009081526005602052604090205414610620576004805460001981019081106105b957fe5b6000918252602080832090910154600160a060020a03848116845260059092526040909220546004805492909316929181106105f157fe5b9060005260206000200160006101000a815481600160a060020a030219169083600160a060020a031602179055505b60048054600019810190811061063257fe5b6000918252602090912001805473ffffffffffffffffffffffffffffffffffffffff19169055600480549061066b906000198301610ea0565b50600160a060020a0316600090815260056020526040812055565b6000610690610ec4565b60008060008061069e610ec4565b60005474010000000000000000000000000000000000000000900460ff16156106c657600080fd5b6106cf33610457565b15156106da57600080fd5b6004546001106106e957600080fd5b600154604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051600160a060020a03909216916370a08231916024808201926020929091908290030181600087803b15801561074f57600080fd5b505af1158015610763573d6000803e3d6000fd5b505050506040513d602081101561077957600080fd5b505196506000871161078a57600080fd5b600194505b6004548510156109395760048054869081106107a757fe5b9060005260206000200160009054906101000a9004600160a060020a0316935083600160a060020a03166319a74ab36040518163ffffffff1660e060020a028152600401602060405180830381600087803b15801561080557600080fd5b505af1158015610819573d6000803e3d6000fd5b505050506040513d602081101561082f57600080fd5b5051151561083c5761092e565b83600160a060020a03166380258e476040518163ffffffff1660e060020a028152600401602060405180830381600087803b15801561087a57600080fd5b505af115801561088e573d6000803e3d6000fd5b505050506040513d60208110156108a457600080fd5b5051925060ff831615156108c6578560005b602002018051600101905261092e565b8260ff16600114156108da578560016108b6565b8260ff16600214156108ee578560026108b6565b8260ff1660031415610902578560036108b6565b8260ff1660041415610916578560046108b6565b8260ff166005141561092e5760a08601805160010190525b60019094019361078f565b60a086015160808701516060880151604089015160208a01518a51600a90910201601490910201601e909102016028909102016032909102019150818781151561097f57fe5b04815281600a880281151561099057fe5b04602082015281601488028115156109a457fe5b04604082015281601e88028115156109b857fe5b04606082015281602888028115156109cc57fe5b04608082015281603288028115156109e057fe5b0460a0820152600194505b600454851015610bc8576004805486908110610a0357fe5b9060005260206000200160009054906101000a9004600160a060020a0316935083600160a060020a03166319a74ab36040518163ffffffff1660e060020a028152600401602060405180830381600087803b158015610a6157600080fd5b505af1158015610a75573d6000803e3d6000fd5b505050506040513d6020811015610a8b57600080fd5b50511515610a9857610bbd565b83600160a060020a03166380258e476040518163ffffffff1660e060020a028152600401602060405180830381600087803b158015610ad657600080fd5b505af1158015610aea573d6000803e3d6000fd5b505050506040513d6020811015610b0057600080fd5b5051604080517f302c11ca0000000000000000000000000000000000000000000000000000000081529051919450610bbd91600160a060020a0387169163302c11ca9160048083019260209291908290030181600087803b158015610b6457600080fd5b505af1158015610b78573d6000803e3d6000fd5b505050506040513d6020811015610b8e57600080fd5b50518260ff861660068110610b9f57fe5b6020020151600154600160a060020a0316919063ffffffff610d0e16565b6001909401936109eb565b50505050505050565b600454600019015b90565b61024c33610dad565b61024c33610dbe565b600154604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051600092600160a060020a0316916370a0823191602480830192602092919082900301818787803b158015610c5357600080fd5b505af1158015610c67573d6000803e3d6000fd5b505050506040513d6020811015610c7d57600080fd5b505190506000811115610cad57600054600154610cad91600160a060020a0391821691168363ffffffff610d0e16565b61026b610dcf565b61026b60038263ffffffff610e0616565b6000600160a060020a0382161515610cdd57600080fd5b50600160a060020a03166000908152602091909152604090205460ff1690565b61026b60028263ffffffff610e0616565b82600160a060020a031663a9059cbb83836040518363ffffffff1660e060020a0281526004018083600160a060020a0316600160a060020a0316815260200182815260200192505050602060405180830381600087803b158015610d7157600080fd5b505af1158015610d85573d6000803e3d6000fd5b505050506040513d6020811015610d9b57600080fd5b50511515610da857600080fd5b505050565b61026b60038263ffffffff610e5416565b61026b60028263ffffffff610e5416565b6000805474ff0000000000000000000000000000000000000000191674010000000000000000000000000000000000000000179055565b600160a060020a0381161515610e1b57600080fd5b610e258282610cc6565b15610e2f57600080fd5b600160a060020a0316600090815260209190915260409020805460ff19166001179055565b600160a060020a0381161515610e6957600080fd5b610e738282610cc6565b1515610e7e57600080fd5b600160a060020a0316600090815260209190915260409020805460ff19169055565b815481835581811115610da857600083815260209020610da8918101908301610ee3565b60c0604051908101604052806006906020820280388339509192915050565b610bd991905b80821115610efd5760008155600101610ee9565b50905600a165627a7a7230582095e26f90cc3199aca464eb563533fc93a77d60dc52f6506d09a60413c4ab2d960029", + "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH3 0x11 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x40 MLOAD PUSH1 0x20 DUP1 PUSH3 0x10D0 DUP4 CODECOPY DUP2 ADD PUSH1 0x40 MSTORE MLOAD PUSH1 0x0 DUP1 SLOAD CALLER PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB NOT SWAP2 DUP3 AND DUP2 OR PUSH1 0xA0 PUSH1 0x2 EXP PUSH1 0xFF MUL NOT AND SWAP1 SWAP3 SSTORE PUSH1 0x1 DUP1 SLOAD SWAP1 SWAP2 AND PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB DUP5 AND OR SWAP1 SSTORE PUSH3 0x6C SWAP1 PUSH5 0x100000000 PUSH3 0xC7 DUP2 MUL DIV JUMP JUMPDEST PUSH3 0x80 CALLER PUSH5 0x100000000 PUSH3 0xE5 DUP2 MUL DIV JUMP JUMPDEST POP PUSH1 0x4 DUP1 SLOAD PUSH1 0x1 DUP2 ADD DUP3 SSTORE PUSH1 0x0 SWAP2 SWAP1 SWAP2 MSTORE PUSH32 0x8A35ACFBC15FF81A39AE7D344FD709F28E8600B4AA8C65C6B64BFE7FE36BD19B ADD DUP1 SLOAD PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB NOT AND SWAP1 SSTORE PUSH3 0x193 JUMP JUMPDEST PUSH3 0xE2 PUSH1 0x2 DUP3 PUSH5 0x100000000 PUSH3 0xE06 PUSH3 0x100 DUP3 MUL OR DIV JUMP JUMPDEST POP JUMP JUMPDEST PUSH3 0xE2 PUSH1 0x3 DUP3 PUSH5 0x100000000 PUSH3 0xE06 PUSH3 0x100 DUP3 MUL OR DIV JUMP JUMPDEST PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB DUP2 AND ISZERO ISZERO PUSH3 0x116 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH3 0x12B DUP3 DUP3 PUSH5 0x100000000 PUSH3 0x15B DUP2 MUL DIV JUMP JUMPDEST ISZERO PUSH3 0x136 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0x1 OR SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB DUP3 AND ISZERO ISZERO PUSH3 0x173 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND SWAP1 JUMP JUMPDEST PUSH2 0xF2D DUP1 PUSH3 0x1A3 PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN STOP PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0xA0 JUMPI PUSH4 0xFFFFFFFF PUSH1 0xE0 PUSH1 0x2 EXP PUSH1 0x0 CALLDATALOAD DIV AND PUSH4 0xC08BF88 DUP2 EQ PUSH2 0xA5 JUMPI DUP1 PUSH4 0x2E6B6849 EQ PUSH2 0xBC JUMPI DUP1 PUSH4 0x341CCFCB EQ PUSH2 0xDD JUMPI DUP1 PUSH4 0x34CDCF26 EQ PUSH2 0xFE JUMPI DUP1 PUSH4 0x3D19AB13 EQ PUSH2 0x133 JUMPI DUP1 PUSH4 0x608D3D3D EQ PUSH2 0x167 JUMPI DUP1 PUSH4 0x74BE7592 EQ PUSH2 0x188 JUMPI DUP1 PUSH4 0x81F909F3 EQ PUSH2 0x1A9 JUMPI DUP1 PUSH4 0x99F4B251 EQ PUSH2 0x1CA JUMPI DUP1 PUSH4 0xBB52C137 EQ PUSH2 0x1DF JUMPI DUP1 PUSH4 0xD43ACC79 EQ PUSH2 0x206 JUMPI DUP1 PUSH4 0xE9D61859 EQ PUSH2 0x21B JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xB1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xBA PUSH2 0x230 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xC8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xBA PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB PUSH1 0x4 CALLDATALOAD AND PUSH2 0x24E JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xE9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xBA PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB PUSH1 0x4 CALLDATALOAD AND PUSH2 0x26E JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x10A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x11F PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB PUSH1 0x4 CALLDATALOAD AND PUSH2 0x457 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD SWAP2 ISZERO ISZERO DUP3 MSTORE MLOAD SWAP1 DUP2 SWAP1 SUB PUSH1 0x20 ADD SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x13F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x14B PUSH1 0x4 CALLDATALOAD PUSH2 0x470 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB SWAP1 SWAP3 AND DUP3 MSTORE MLOAD SWAP1 DUP2 SWAP1 SUB PUSH1 0x20 ADD SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x173 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x11F PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB PUSH1 0x4 CALLDATALOAD AND PUSH2 0x49F JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x194 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xBA PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB PUSH1 0x4 CALLDATALOAD AND PUSH2 0x4B2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1B5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xBA PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB PUSH1 0x4 CALLDATALOAD AND PUSH2 0x4CF JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1D6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xBA PUSH2 0x686 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1EB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1F4 PUSH2 0xBD1 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD SWAP2 DUP3 MSTORE MLOAD SWAP1 DUP2 SWAP1 SUB PUSH1 0x20 ADD SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x212 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xBA PUSH2 0xBDC JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x227 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xBA PUSH2 0xBE5 JUMP JUMPDEST PUSH2 0x239 CALLER PUSH2 0x49F JUMP JUMPDEST ISZERO ISZERO PUSH2 0x244 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x24C PUSH2 0xBEE JUMP JUMPDEST JUMP JUMPDEST PUSH2 0x257 CALLER PUSH2 0x49F JUMP JUMPDEST ISZERO ISZERO PUSH2 0x262 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x26B DUP2 PUSH2 0xCB5 JUMP JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD DUP2 SWAP1 PUSH21 0x10000000000000000000000000000000000000000 SWAP1 DIV PUSH1 0xFF AND ISZERO PUSH2 0x299 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2A2 CALLER PUSH2 0x49F JUMP JUMPDEST ISZERO ISZERO PUSH2 0x2AD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x4 SLOAD PUSH2 0x3E8 GT PUSH2 0x2BD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB DUP4 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x5 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD ISZERO PUSH2 0x2E0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 SWAP2 POP DUP2 PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB AND PUSH4 0x1777FB4B PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 PUSH1 0x2 EXP MUL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x321 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x335 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x20 DUP2 LT ISZERO PUSH2 0x34B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP MLOAD ISZERO ISZERO PUSH2 0x358 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB AND PUSH4 0x80258E47 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 PUSH1 0x2 EXP MUL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x396 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x3AA JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x20 DUP2 LT ISZERO PUSH2 0x3C0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP MLOAD SWAP1 POP PUSH1 0x0 PUSH1 0xFF DUP3 AND LT DUP1 ISZERO SWAP1 PUSH2 0x3DC JUMPI POP PUSH1 0x5 DUP2 PUSH1 0xFF AND GT ISZERO JUMPDEST ISZERO ISZERO PUSH2 0x3E7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP POP PUSH1 0x4 DUP1 SLOAD PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB SWAP1 SWAP3 AND PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x5 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 DUP5 SWAP1 SSTORE PUSH1 0x1 DUP5 ADD DUP4 SSTORE SWAP2 SWAP1 SWAP2 MSTORE PUSH32 0x8A35ACFBC15FF81A39AE7D344FD709F28E8600B4AA8C65C6B64BFE7FE36BD19B SWAP1 SWAP2 ADD DUP1 SLOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND SWAP1 SWAP2 OR SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x0 PUSH2 0x46A PUSH1 0x2 DUP4 PUSH4 0xFFFFFFFF PUSH2 0xCC6 AND JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x4 DUP3 PUSH1 0x1 ADD DUP2 SLOAD DUP2 LT ISZERO ISZERO PUSH2 0x484 JUMPI INVALID JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 SWAP1 SWAP2 KECCAK256 ADD SLOAD PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB AND SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x46A PUSH1 0x3 DUP4 PUSH4 0xFFFFFFFF PUSH2 0xCC6 AND JUMP JUMPDEST PUSH2 0x4BB CALLER PUSH2 0x457 JUMP JUMPDEST ISZERO ISZERO PUSH2 0x4C6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x26B DUP2 PUSH2 0xCFD JUMP JUMPDEST PUSH1 0x0 SLOAD PUSH21 0x10000000000000000000000000000000000000000 SWAP1 DIV PUSH1 0xFF AND ISZERO PUSH2 0x4F7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x500 CALLER PUSH2 0x49F JUMP JUMPDEST ISZERO ISZERO PUSH2 0x50B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x4 SLOAD PUSH1 0x1 LT PUSH2 0x51A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x4 SLOAD PUSH1 0x2 EQ ISZERO PUSH2 0x586 JUMPI PUSH1 0x4 DUP1 SLOAD PUSH1 0x1 SWAP1 DUP2 LT PUSH2 0x534 JUMPI INVALID JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 SWAP1 SWAP2 KECCAK256 ADD DUP1 SLOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND SWAP1 SSTORE PUSH1 0x1 PUSH2 0x567 PUSH1 0x4 DUP3 PUSH2 0xEA0 JUMP JUMPDEST POP PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB DUP2 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x5 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 SSTORE PUSH2 0x26B JUMP JUMPDEST PUSH1 0x4 SLOAD PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB DUP3 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x5 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD EQ PUSH2 0x620 JUMPI PUSH1 0x4 DUP1 SLOAD PUSH1 0x0 NOT DUP2 ADD SWAP1 DUP2 LT PUSH2 0x5B9 JUMPI INVALID JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 DUP1 DUP4 KECCAK256 SWAP1 SWAP2 ADD SLOAD PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB DUP5 DUP2 AND DUP5 MSTORE PUSH1 0x5 SWAP1 SWAP3 MSTORE PUSH1 0x40 SWAP1 SWAP3 KECCAK256 SLOAD PUSH1 0x4 DUP1 SLOAD SWAP3 SWAP1 SWAP4 AND SWAP3 SWAP2 DUP2 LT PUSH2 0x5F1 JUMPI INVALID JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB MUL NOT AND SWAP1 DUP4 PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB AND MUL OR SWAP1 SSTORE POP JUMPDEST PUSH1 0x4 DUP1 SLOAD PUSH1 0x0 NOT DUP2 ADD SWAP1 DUP2 LT PUSH2 0x632 JUMPI INVALID JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 SWAP1 SWAP2 KECCAK256 ADD DUP1 SLOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND SWAP1 SSTORE PUSH1 0x4 DUP1 SLOAD SWAP1 PUSH2 0x66B SWAP1 PUSH1 0x0 NOT DUP4 ADD PUSH2 0xEA0 JUMP JUMPDEST POP PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x5 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 SSTORE JUMP JUMPDEST PUSH1 0x0 PUSH2 0x690 PUSH2 0xEC4 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH2 0x69E PUSH2 0xEC4 JUMP JUMPDEST PUSH1 0x0 SLOAD PUSH21 0x10000000000000000000000000000000000000000 SWAP1 DIV PUSH1 0xFF AND ISZERO PUSH2 0x6C6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x6CF CALLER PUSH2 0x457 JUMP JUMPDEST ISZERO ISZERO PUSH2 0x6DA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x4 SLOAD PUSH1 0x1 LT PUSH2 0x6E9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x1 SLOAD PUSH1 0x40 DUP1 MLOAD PUSH32 0x70A0823100000000000000000000000000000000000000000000000000000000 DUP2 MSTORE ADDRESS PUSH1 0x4 DUP3 ADD MSTORE SWAP1 MLOAD PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB SWAP1 SWAP3 AND SWAP2 PUSH4 0x70A08231 SWAP2 PUSH1 0x24 DUP1 DUP3 ADD SWAP3 PUSH1 0x20 SWAP3 SWAP1 SWAP2 SWAP1 DUP3 SWAP1 SUB ADD DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x74F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x763 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x20 DUP2 LT ISZERO PUSH2 0x779 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP MLOAD SWAP7 POP PUSH1 0x0 DUP8 GT PUSH2 0x78A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x1 SWAP5 POP JUMPDEST PUSH1 0x4 SLOAD DUP6 LT ISZERO PUSH2 0x939 JUMPI PUSH1 0x4 DUP1 SLOAD DUP7 SWAP1 DUP2 LT PUSH2 0x7A7 JUMPI INVALID JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB AND SWAP4 POP DUP4 PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB AND PUSH4 0x19A74AB3 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 PUSH1 0x2 EXP MUL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x805 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x819 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x20 DUP2 LT ISZERO PUSH2 0x82F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP MLOAD ISZERO ISZERO PUSH2 0x83C JUMPI PUSH2 0x92E JUMP JUMPDEST DUP4 PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB AND PUSH4 0x80258E47 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 PUSH1 0x2 EXP MUL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x87A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x88E JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x20 DUP2 LT ISZERO PUSH2 0x8A4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP MLOAD SWAP3 POP PUSH1 0xFF DUP4 AND ISZERO ISZERO PUSH2 0x8C6 JUMPI DUP6 PUSH1 0x0 JUMPDEST PUSH1 0x20 MUL ADD DUP1 MLOAD PUSH1 0x1 ADD SWAP1 MSTORE PUSH2 0x92E JUMP JUMPDEST DUP3 PUSH1 0xFF AND PUSH1 0x1 EQ ISZERO PUSH2 0x8DA JUMPI DUP6 PUSH1 0x1 PUSH2 0x8B6 JUMP JUMPDEST DUP3 PUSH1 0xFF AND PUSH1 0x2 EQ ISZERO PUSH2 0x8EE JUMPI DUP6 PUSH1 0x2 PUSH2 0x8B6 JUMP JUMPDEST DUP3 PUSH1 0xFF AND PUSH1 0x3 EQ ISZERO PUSH2 0x902 JUMPI DUP6 PUSH1 0x3 PUSH2 0x8B6 JUMP JUMPDEST DUP3 PUSH1 0xFF AND PUSH1 0x4 EQ ISZERO PUSH2 0x916 JUMPI DUP6 PUSH1 0x4 PUSH2 0x8B6 JUMP JUMPDEST DUP3 PUSH1 0xFF AND PUSH1 0x5 EQ ISZERO PUSH2 0x92E JUMPI PUSH1 0xA0 DUP7 ADD DUP1 MLOAD PUSH1 0x1 ADD SWAP1 MSTORE JUMPDEST PUSH1 0x1 SWAP1 SWAP5 ADD SWAP4 PUSH2 0x78F JUMP JUMPDEST PUSH1 0xA0 DUP7 ADD MLOAD PUSH1 0x80 DUP8 ADD MLOAD PUSH1 0x60 DUP9 ADD MLOAD PUSH1 0x40 DUP10 ADD MLOAD PUSH1 0x20 DUP11 ADD MLOAD DUP11 MLOAD PUSH1 0xA SWAP1 SWAP2 MUL ADD PUSH1 0x14 SWAP1 SWAP2 MUL ADD PUSH1 0x1E SWAP1 SWAP2 MUL ADD PUSH1 0x28 SWAP1 SWAP2 MUL ADD PUSH1 0x32 SWAP1 SWAP2 MUL ADD SWAP2 POP DUP2 DUP8 DUP2 ISZERO ISZERO PUSH2 0x97F JUMPI INVALID JUMPDEST DIV DUP2 MSTORE DUP2 PUSH1 0xA DUP9 MUL DUP2 ISZERO ISZERO PUSH2 0x990 JUMPI INVALID JUMPDEST DIV PUSH1 0x20 DUP3 ADD MSTORE DUP2 PUSH1 0x14 DUP9 MUL DUP2 ISZERO ISZERO PUSH2 0x9A4 JUMPI INVALID JUMPDEST DIV PUSH1 0x40 DUP3 ADD MSTORE DUP2 PUSH1 0x1E DUP9 MUL DUP2 ISZERO ISZERO PUSH2 0x9B8 JUMPI INVALID JUMPDEST DIV PUSH1 0x60 DUP3 ADD MSTORE DUP2 PUSH1 0x28 DUP9 MUL DUP2 ISZERO ISZERO PUSH2 0x9CC JUMPI INVALID JUMPDEST DIV PUSH1 0x80 DUP3 ADD MSTORE DUP2 PUSH1 0x32 DUP9 MUL DUP2 ISZERO ISZERO PUSH2 0x9E0 JUMPI INVALID JUMPDEST DIV PUSH1 0xA0 DUP3 ADD MSTORE PUSH1 0x1 SWAP5 POP JUMPDEST PUSH1 0x4 SLOAD DUP6 LT ISZERO PUSH2 0xBC8 JUMPI PUSH1 0x4 DUP1 SLOAD DUP7 SWAP1 DUP2 LT PUSH2 0xA03 JUMPI INVALID JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB AND SWAP4 POP DUP4 PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB AND PUSH4 0x19A74AB3 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 PUSH1 0x2 EXP MUL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0xA61 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0xA75 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x20 DUP2 LT ISZERO PUSH2 0xA8B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP MLOAD ISZERO ISZERO PUSH2 0xA98 JUMPI PUSH2 0xBBD JUMP JUMPDEST DUP4 PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB AND PUSH4 0x80258E47 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 PUSH1 0x2 EXP MUL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0xAD6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0xAEA JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x20 DUP2 LT ISZERO PUSH2 0xB00 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP MLOAD PUSH1 0x40 DUP1 MLOAD PUSH32 0x302C11CA00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE SWAP1 MLOAD SWAP2 SWAP5 POP PUSH2 0xBBD SWAP2 PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB DUP8 AND SWAP2 PUSH4 0x302C11CA SWAP2 PUSH1 0x4 DUP1 DUP4 ADD SWAP3 PUSH1 0x20 SWAP3 SWAP2 SWAP1 DUP3 SWAP1 SUB ADD DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0xB64 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0xB78 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x20 DUP2 LT ISZERO PUSH2 0xB8E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP MLOAD DUP3 PUSH1 0xFF DUP7 AND PUSH1 0x6 DUP2 LT PUSH2 0xB9F JUMPI INVALID JUMPDEST PUSH1 0x20 MUL ADD MLOAD PUSH1 0x1 SLOAD PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB AND SWAP2 SWAP1 PUSH4 0xFFFFFFFF PUSH2 0xD0E AND JUMP JUMPDEST PUSH1 0x1 SWAP1 SWAP5 ADD SWAP4 PUSH2 0x9EB JUMP JUMPDEST POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x4 SLOAD PUSH1 0x0 NOT ADD JUMPDEST SWAP1 JUMP JUMPDEST PUSH2 0x24C CALLER PUSH2 0xDAD JUMP JUMPDEST PUSH2 0x24C CALLER PUSH2 0xDBE JUMP JUMPDEST PUSH1 0x1 SLOAD PUSH1 0x40 DUP1 MLOAD PUSH32 0x70A0823100000000000000000000000000000000000000000000000000000000 DUP2 MSTORE ADDRESS PUSH1 0x4 DUP3 ADD MSTORE SWAP1 MLOAD PUSH1 0x0 SWAP3 PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB AND SWAP2 PUSH4 0x70A08231 SWAP2 PUSH1 0x24 DUP1 DUP4 ADD SWAP3 PUSH1 0x20 SWAP3 SWAP2 SWAP1 DUP3 SWAP1 SUB ADD DUP2 DUP8 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0xC53 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0xC67 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x20 DUP2 LT ISZERO PUSH2 0xC7D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP MLOAD SWAP1 POP PUSH1 0x0 DUP2 GT ISZERO PUSH2 0xCAD JUMPI PUSH1 0x0 SLOAD PUSH1 0x1 SLOAD PUSH2 0xCAD SWAP2 PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB SWAP2 DUP3 AND SWAP2 AND DUP4 PUSH4 0xFFFFFFFF PUSH2 0xD0E AND JUMP JUMPDEST PUSH2 0x26B PUSH2 0xDCF JUMP JUMPDEST PUSH2 0x26B PUSH1 0x3 DUP3 PUSH4 0xFFFFFFFF PUSH2 0xE06 AND JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB DUP3 AND ISZERO ISZERO PUSH2 0xCDD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND SWAP1 JUMP JUMPDEST PUSH2 0x26B PUSH1 0x2 DUP3 PUSH4 0xFFFFFFFF PUSH2 0xE06 AND JUMP JUMPDEST DUP3 PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB AND PUSH4 0xA9059CBB DUP4 DUP4 PUSH1 0x40 MLOAD DUP4 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 PUSH1 0x2 EXP MUL DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP4 PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB AND PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB AND DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP3 POP POP POP PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0xD71 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0xD85 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x20 DUP2 LT ISZERO PUSH2 0xD9B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP MLOAD ISZERO ISZERO PUSH2 0xDA8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP POP POP JUMP JUMPDEST PUSH2 0x26B PUSH1 0x3 DUP3 PUSH4 0xFFFFFFFF PUSH2 0xE54 AND JUMP JUMPDEST PUSH2 0x26B PUSH1 0x2 DUP3 PUSH4 0xFFFFFFFF PUSH2 0xE54 AND JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD PUSH21 0xFF0000000000000000000000000000000000000000 NOT AND PUSH21 0x10000000000000000000000000000000000000000 OR SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB DUP2 AND ISZERO ISZERO PUSH2 0xE1B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xE25 DUP3 DUP3 PUSH2 0xCC6 JUMP JUMPDEST ISZERO PUSH2 0xE2F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0x1 OR SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB DUP2 AND ISZERO ISZERO PUSH2 0xE69 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xE73 DUP3 DUP3 PUSH2 0xCC6 JUMP JUMPDEST ISZERO ISZERO PUSH2 0xE7E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND SWAP1 SSTORE JUMP JUMPDEST DUP2 SLOAD DUP2 DUP4 SSTORE DUP2 DUP2 GT ISZERO PUSH2 0xDA8 JUMPI PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x20 SWAP1 KECCAK256 PUSH2 0xDA8 SWAP2 DUP2 ADD SWAP1 DUP4 ADD PUSH2 0xEE3 JUMP JUMPDEST PUSH1 0xC0 PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x6 SWAP1 PUSH1 0x20 DUP3 MUL DUP1 CODESIZE DUP4 CODECOPY POP SWAP2 SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0xBD9 SWAP2 SWAP1 JUMPDEST DUP1 DUP3 GT ISZERO PUSH2 0xEFD JUMPI PUSH1 0x0 DUP2 SSTORE PUSH1 0x1 ADD PUSH2 0xEE9 JUMP JUMPDEST POP SWAP1 JUMP STOP LOG1 PUSH6 0x627A7A723058 KECCAK256 SWAP6 0xe2 PUSH16 0x90CC3199ACA464EB563533FC93A77D60 0xdc MSTORE 0xf6 POP PUSH14 0x9A60413C4AB2D96002900000000 ", + "sourceMap": "556:4772:1:-;;;1118:235;8:9:-1;5:2;;;30:1;27;20:12;5:2;1118:235:1;;;;;;;;;;;;;156:8:5;:21;;167:10;-1:-1:-1;;;;;;156:21:5;;;;;-1:-1:-1;;;;;;188:19:5;;;;-1:-1:-1;636:29:3;;;;;-1:-1:-1;;;;;636:29:3;;;;;364:22:2;;:10;;;;:22;:::i;:::-;368:24:0;381:10;368:12;;;;:24;:::i;:::-;-1:-1:-1;1273:7:1;27:10:-1;;39:1;23:18;;45:23;;1294:1:1;1273:24;;;;;;;;-1:-1:-1;;;;;;1273:24:1;;;556:4772;;800:92:2;857:27;:14;876:7;857:18;;;;;;:27;:::i;:::-;800:92;:::o;824:96:0:-;883:29;:16;904:7;883:20;;;;;;:29;:::i;244:167:6:-;-1:-1:-1;;;;;316:21:6;;;;308:30;;;;;;353:18;357:4;363:7;353:3;;;;:18;:::i;:::-;352:19;344:28;;;;;;-1:-1:-1;;;;;379:20:6;:11;:20;;;;;;;;;;;:27;;-1:-1:-1;;379:27:6;402:4;379:27;;;244:167::o;725:166::-;809:4;-1:-1:-1;;;;;831:21:6;;;;823:30;;;;;;-1:-1:-1;;;;;;866:20:6;:11;:20;;;;;;;;;;;;;;;725:166::o;556:4772:1:-;;;;;;;" }, "gasEstimates": { "creation": { @@ -299,7 +299,7 @@ "unregisterMiner(address)": "81f909f3" } }, - "metadata": "{\"compiler\":{\"version\":\"0.4.24+commit.e67f0147\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"constant\":false,\"inputs\":[],\"name\":\"terminate\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"account\",\"type\":\"address\"}],\"name\":\"addCoreTeam\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"minerAddress\",\"type\":\"address\"}],\"name\":\"registerMiner\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"account\",\"type\":\"address\"}],\"name\":\"isSystem\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"getMinerByIndex\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"account\",\"type\":\"address\"}],\"name\":\"isCoreTeam\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"account\",\"type\":\"address\"}],\"name\":\"addSystem\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"minerAddress\",\"type\":\"address\"}],\"name\":\"unregisterMiner\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"mine\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"getMinerCount\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"renounceCoreTeam\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"renounceSystem\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"name\":\"tokenAddress\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"}],\"devdoc\":{\"methods\":{}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/AlgoFees.sol\":\"AlgoFees\"},\"evmVersion\":\"byzantium\",\"libraries\":{},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/AlgoCoreTeamRole.sol\":{\"keccak256\":\"0xe6fc9b275c7a4c4f00337d2a388cc97a64ad82e5a23c24c59a4593e85a05b08a\",\"urls\":[\"bzzr://40c7674b2a3543a2b2606c70df215a876bd1a064d249e658d2bbd6fe25969c2e\"]},\"d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/AlgoFees.sol\":{\"keccak256\":\"0x143e742903e9fb652810dd60b96a084f550c5308784c4797270c651a3f407447\",\"urls\":[\"bzzr://a56b09e9fc46585c07a4fd9cd33c6624e86c745582536921fc16a9eda742f988\"]},\"d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/AlgoSystemRole.sol\":{\"keccak256\":\"0x6fffe504e6805d95ca42269cc995a3de9401a12bc037068b056c186ce8569d8d\",\"urls\":[\"bzzr://a0923a2d2b1e4992f552ce49638b19d6d8328950c1d5dc1395f0d625daf21c68\"]},\"d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/ERC20TokenHolder.sol\":{\"keccak256\":\"0x71adbf7f060599239b7a981594e43dc8fbe8597fd2853b6fe9e70ff39883d73a\",\"urls\":[\"bzzr://70691c1638cdc0f744f8c5b5a94e4f857ba40ad053816cfbd15e13ed41a3bc66\"]},\"d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/IAlgoMiner.sol\":{\"keccak256\":\"0xdc21d3ce2e847a83e62a95fc4e8a31305771c1c6549fba2102ae9a7caa09a1e5\",\"urls\":[\"bzzr://291aa93e18c12398d6d8031308b1a0231d253ec061a5449d0335bd476554383e\"]},\"d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/Terminable.sol\":{\"keccak256\":\"0x29a8fa3204dbd204355714601ce21d7d717a586a4de21009d8f2a3ca7981963f\",\"urls\":[\"bzzr://55d9b762620cef1e6f7b11a26d6cc123f5b608a59e0d36f9bc0a1e8ff0ff5c42\"]},\"d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/node_modules/openzeppelin-solidity/contracts/access/Roles.sol\":{\"keccak256\":\"0xa6e47d62e68903c8fff23500d80e7cc8085b9127995803478d9982cd8a6d49e4\",\"urls\":[\"bzzr://7c87eb3c145fe7592c97baa287501faff7e81c1965333c9b042ffb6b387e94a1\"]},\"d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/node_modules/openzeppelin-solidity/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xdd18f05c74536a06166c90a17ec3c6932853764f292bed314ceb23e730ff83af\",\"urls\":[\"bzzr://1d8a608339978ac18782f7051816cf23b4072d8814979e3ef74788cc6025cca0\"]},\"d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/node_modules/openzeppelin-solidity/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xc8a7f15fa44eb10057f8bcb58418d3aed6f5267d211d18f93f3d4e0293e3da44\",\"urls\":[\"bzzr://8825e2508348b01a091ff47b8525e583b6e5604f6679684f805d67a9a6a2a7e9\"]},\"d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/node_modules/openzeppelin-solidity/contracts/token/ERC20/SafeERC20.sol\":{\"keccak256\":\"0x0a172a0ef8681d4a7d8034d003670a9b1968d914b0bfa64e13ddca289a85d24a\",\"urls\":[\"bzzr://733b6203c967b44d6de90b5c6b144e58a380a3f29befb2dc70e765dae2f1ca18\"]}},\"version\":1}", + "metadata": "{\"compiler\":{\"version\":\"0.4.24+commit.e67f0147\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"constant\":false,\"inputs\":[],\"name\":\"terminate\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"account\",\"type\":\"address\"}],\"name\":\"addCoreTeam\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"minerAddress\",\"type\":\"address\"}],\"name\":\"registerMiner\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"account\",\"type\":\"address\"}],\"name\":\"isSystem\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"getMinerByIndex\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"account\",\"type\":\"address\"}],\"name\":\"isCoreTeam\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"account\",\"type\":\"address\"}],\"name\":\"addSystem\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"minerAddress\",\"type\":\"address\"}],\"name\":\"unregisterMiner\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"mine\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"getMinerCount\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"renounceCoreTeam\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"renounceSystem\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"name\":\"tokenAddress\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"}],\"devdoc\":{\"methods\":{}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/AlgoFees.sol\":\"AlgoFees\"},\"evmVersion\":\"byzantium\",\"libraries\":{},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/AlgoCoreTeamRole.sol\":{\"keccak256\":\"0xe6fc9b275c7a4c4f00337d2a388cc97a64ad82e5a23c24c59a4593e85a05b08a\",\"urls\":[\"bzzr://40c7674b2a3543a2b2606c70df215a876bd1a064d249e658d2bbd6fe25969c2e\"]},\"d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/AlgoFees.sol\":{\"keccak256\":\"0x6c460b19697e0bbddcd6e319f2e8b5be033832eaf4d00e01a7ca7c95a514dd8c\",\"urls\":[\"bzzr://b99c4032a4291fdae1b1b51bee962ebfdc45ca26504858e297e8e85c20154308\"]},\"d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/AlgoSystemRole.sol\":{\"keccak256\":\"0x6fffe504e6805d95ca42269cc995a3de9401a12bc037068b056c186ce8569d8d\",\"urls\":[\"bzzr://a0923a2d2b1e4992f552ce49638b19d6d8328950c1d5dc1395f0d625daf21c68\"]},\"d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/ERC20TokenHolder.sol\":{\"keccak256\":\"0x71adbf7f060599239b7a981594e43dc8fbe8597fd2853b6fe9e70ff39883d73a\",\"urls\":[\"bzzr://70691c1638cdc0f744f8c5b5a94e4f857ba40ad053816cfbd15e13ed41a3bc66\"]},\"d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/IAlgoMiner.sol\":{\"keccak256\":\"0x1b1359f75f7d5a943ab06caea36824f0a6448c5ffa1a32ed7e26cee81cf3683a\",\"urls\":[\"bzzr://26177d59d0c84fa4e632538fbd44802f219e6501b0828533badcf80701cea0f5\"]},\"d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/Terminable.sol\":{\"keccak256\":\"0x29a8fa3204dbd204355714601ce21d7d717a586a4de21009d8f2a3ca7981963f\",\"urls\":[\"bzzr://55d9b762620cef1e6f7b11a26d6cc123f5b608a59e0d36f9bc0a1e8ff0ff5c42\"]},\"d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/node_modules/openzeppelin-solidity/contracts/access/Roles.sol\":{\"keccak256\":\"0xa6e47d62e68903c8fff23500d80e7cc8085b9127995803478d9982cd8a6d49e4\",\"urls\":[\"bzzr://7c87eb3c145fe7592c97baa287501faff7e81c1965333c9b042ffb6b387e94a1\"]},\"d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/node_modules/openzeppelin-solidity/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xdd18f05c74536a06166c90a17ec3c6932853764f292bed314ceb23e730ff83af\",\"urls\":[\"bzzr://1d8a608339978ac18782f7051816cf23b4072d8814979e3ef74788cc6025cca0\"]},\"d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/node_modules/openzeppelin-solidity/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xc8a7f15fa44eb10057f8bcb58418d3aed6f5267d211d18f93f3d4e0293e3da44\",\"urls\":[\"bzzr://8825e2508348b01a091ff47b8525e583b6e5604f6679684f805d67a9a6a2a7e9\"]},\"d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/node_modules/openzeppelin-solidity/contracts/token/ERC20/SafeERC20.sol\":{\"keccak256\":\"0x0a172a0ef8681d4a7d8034d003670a9b1968d914b0bfa64e13ddca289a85d24a\",\"urls\":[\"bzzr://733b6203c967b44d6de90b5c6b144e58a380a3f29befb2dc70e765dae2f1ca18\"]}},\"version\":1}", "userdoc": { "methods": {} } @@ -459,6 +459,20 @@ "stateMutability": "view", "type": "function" }, + { + "constant": true, + "inputs": [], + "name": "getReferral", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, { "constant": true, "inputs": [], @@ -503,6 +517,7 @@ "getCategory()": "80258e47", "getMiner()": "302c11ca", "getMinerType()": "4969ae70", + "getReferral()": "329b1c92", "isAlgoMiner()": "1777fb4b", "isMining()": "19a74ab3" } @@ -882,7 +897,7 @@ "id": 2, "nodeType": "ImportDirective", "scope": 87, - "sourceUnit": 910, + "sourceUnit": 915, "src": "28:189:0", "symbolAliases": [], "unitAlias": "" @@ -907,10 +922,10 @@ "id": 3, "name": "Roles", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 909, + "referencedDeclaration": 914, "src": "260:5:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_Roles_$909", + "typeIdentifier": "t_contract$_Roles_$914", "typeString": "library Roles" } }, @@ -921,10 +936,10 @@ "id": 4, "name": "Roles.Role", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 822, + "referencedDeclaration": 827, "src": "270:10:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$822_storage_ptr", + "typeIdentifier": "t_struct$_Role_$827_storage_ptr", "typeString": "struct Roles.Role" } } @@ -939,7 +954,7 @@ "stateVariable": true, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$822_storage", + "typeIdentifier": "t_struct$_Role_$827_storage", "typeString": "struct Roles.Role" }, "typeName": { @@ -947,10 +962,10 @@ "id": 6, "name": "Roles.Role", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 822, + "referencedDeclaration": 827, "src": "289:10:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$822_storage_ptr", + "typeIdentifier": "t_struct$_Role_$827_storage_ptr", "typeString": "struct Roles.Role" } }, @@ -975,7 +990,7 @@ "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1265, + "referencedDeclaration": 1270, "src": "381:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", @@ -1083,7 +1098,7 @@ "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1265, + "referencedDeclaration": 1270, "src": "462:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", @@ -1149,10 +1164,10 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1268, - 1269 + 1273, + 1274 ], - "referencedDeclaration": 1268, + "referencedDeclaration": 1273, "src": "443:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", @@ -1237,7 +1252,7 @@ "referencedDeclaration": 7, "src": "584:16:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$822_storage", + "typeIdentifier": "t_struct$_Role_$827_storage", "typeString": "struct Roles.Role storage ref" } }, @@ -1248,10 +1263,10 @@ "lValueRequested": false, "memberName": "has", "nodeType": "MemberAccess", - "referencedDeclaration": 908, + "referencedDeclaration": 913, "src": "584:20:0", "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_Role_$822_storage_ptr_$_t_address_$returns$_t_bool_$bound_to$_t_struct$_Role_$822_storage_ptr_$", + "typeIdentifier": "t_function_internal_view$_t_struct$_Role_$827_storage_ptr_$_t_address_$returns$_t_bool_$bound_to$_t_struct$_Role_$827_storage_ptr_$", "typeString": "function (struct Roles.Role storage pointer,address) view returns (bool)" } }, @@ -1511,7 +1526,7 @@ "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1265, + "referencedDeclaration": 1270, "src": "797:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", @@ -1638,7 +1653,7 @@ "referencedDeclaration": 7, "src": "883:16:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$822_storage", + "typeIdentifier": "t_struct$_Role_$827_storage", "typeString": "struct Roles.Role storage ref" } }, @@ -1649,10 +1664,10 @@ "lValueRequested": false, "memberName": "add", "nodeType": "MemberAccess", - "referencedDeclaration": 854, + "referencedDeclaration": 859, "src": "883:20:0", "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Role_$822_storage_ptr_$_t_address_$returns$__$bound_to$_t_struct$_Role_$822_storage_ptr_$", + "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Role_$827_storage_ptr_$_t_address_$returns$__$bound_to$_t_struct$_Role_$827_storage_ptr_$", "typeString": "function (struct Roles.Role storage pointer,address)" } }, @@ -1770,7 +1785,7 @@ "referencedDeclaration": 7, "src": "990:16:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$822_storage", + "typeIdentifier": "t_struct$_Role_$827_storage", "typeString": "struct Roles.Role storage ref" } }, @@ -1781,10 +1796,10 @@ "lValueRequested": false, "memberName": "remove", "nodeType": "MemberAccess", - "referencedDeclaration": 885, + "referencedDeclaration": 890, "src": "990:23:0", "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Role_$822_storage_ptr_$_t_address_$returns$__$bound_to$_t_struct$_Role_$822_storage_ptr_$", + "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Role_$827_storage_ptr_$_t_address_$returns$__$bound_to$_t_struct$_Role_$827_storage_ptr_$", "typeString": "function (struct Roles.Role storage pointer,address)" } }, @@ -1898,7 +1913,7 @@ "id": 89, "nodeType": "ImportDirective", "scope": 607, - "sourceUnit": 1107, + "sourceUnit": 1112, "src": "27:195:1", "symbolAliases": [], "unitAlias": "" @@ -1909,7 +1924,7 @@ "id": 90, "nodeType": "ImportDirective", "scope": 607, - "sourceUnit": 1251, + "sourceUnit": 1256, "src": "224:198:1", "symbolAliases": [], "unitAlias": "" @@ -1920,7 +1935,7 @@ "id": 91, "nodeType": "ImportDirective", "scope": 607, - "sourceUnit": 779, + "sourceUnit": 784, "src": "426:26:1", "symbolAliases": [], "unitAlias": "" @@ -2017,9 +2032,9 @@ ], "contractDependencies": [ 86, - 693, 750, - 815 + 693, + 820 ], "contractKind": "contract", "documentation": null, @@ -2030,7 +2045,7 @@ 86, 693, 750, - 815 + 820 ], "name": "AlgoFees", "nodeType": "ContractDefinition", @@ -2042,10 +2057,10 @@ "id": 101, "name": "SafeERC20", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1250, + "referencedDeclaration": 1255, "src": "641:9:1", "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeERC20_$1250", + "typeIdentifier": "t_contract$_SafeERC20_$1255", "typeString": "library SafeERC20" } }, @@ -2056,10 +2071,10 @@ "id": 102, "name": "IERC20", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1106, + "referencedDeclaration": 1111, "src": "655:6:1", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$1106", + "typeIdentifier": "t_contract$_IERC20_$1111", "typeString": "contract IERC20" } } @@ -2070,7 +2085,7 @@ "name": "CAT_0_VALUE_PROPORTION", "nodeType": "VariableDeclaration", "scope": 606, - "src": "670:43:1", + "src": "670:51:1", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -2097,7 +2112,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "712:1:1", + "src": "720:1:1", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", @@ -2105,7 +2120,7 @@ }, "value": "1" }, - "visibility": "internal" + "visibility": "private" }, { "constant": true, @@ -2113,7 +2128,7 @@ "name": "CAT_1_VALUE_PROPORTION", "nodeType": "VariableDeclaration", "scope": 606, - "src": "720:44:1", + "src": "728:52:1", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -2124,7 +2139,7 @@ "id": 107, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "720:7:1", + "src": "728:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2140,7 +2155,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "762:2:1", + "src": "778:2:1", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_10_by_1", @@ -2148,7 +2163,7 @@ }, "value": "10" }, - "visibility": "internal" + "visibility": "private" }, { "constant": true, @@ -2156,7 +2171,7 @@ "name": "CAT_2_VALUE_PROPORTION", "nodeType": "VariableDeclaration", "scope": 606, - "src": "771:44:1", + "src": "787:52:1", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -2167,7 +2182,7 @@ "id": 110, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "771:7:1", + "src": "787:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2183,7 +2198,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "813:2:1", + "src": "837:2:1", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_20_by_1", @@ -2191,7 +2206,7 @@ }, "value": "20" }, - "visibility": "internal" + "visibility": "private" }, { "constant": true, @@ -2199,7 +2214,7 @@ "name": "CAT_3_VALUE_PROPORTION", "nodeType": "VariableDeclaration", "scope": 606, - "src": "822:44:1", + "src": "846:52:1", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -2210,7 +2225,7 @@ "id": 113, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "822:7:1", + "src": "846:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2226,7 +2241,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "864:2:1", + "src": "896:2:1", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_30_by_1", @@ -2234,7 +2249,7 @@ }, "value": "30" }, - "visibility": "internal" + "visibility": "private" }, { "constant": true, @@ -2242,7 +2257,7 @@ "name": "CAT_4_VALUE_PROPORTION", "nodeType": "VariableDeclaration", "scope": 606, - "src": "873:44:1", + "src": "905:52:1", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -2253,7 +2268,7 @@ "id": 116, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "873:7:1", + "src": "905:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2269,7 +2284,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "915:2:1", + "src": "955:2:1", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_40_by_1", @@ -2277,7 +2292,7 @@ }, "value": "40" }, - "visibility": "internal" + "visibility": "private" }, { "constant": true, @@ -2285,7 +2300,7 @@ "name": "CAT_5_VALUE_PROPORTION", "nodeType": "VariableDeclaration", "scope": 606, - "src": "924:44:1", + "src": "964:52:1", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -2296,7 +2311,7 @@ "id": 119, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "924:7:1", + "src": "964:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2312,7 +2327,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "966:2:1", + "src": "1014:2:1", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_50_by_1", @@ -2320,7 +2335,7 @@ }, "value": "50" }, - "visibility": "internal" + "visibility": "private" }, { "constant": false, @@ -2328,7 +2343,7 @@ "name": "_miners", "nodeType": "VariableDeclaration", "scope": 606, - "src": "977:25:1", + "src": "1025:25:1", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -2340,7 +2355,7 @@ "id": 122, "name": "address", "nodeType": "ElementaryTypeName", - "src": "977:7:1", + "src": "1025:7:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2349,7 +2364,7 @@ "id": 123, "length": null, "nodeType": "ArrayTypeName", - "src": "977:9:1", + "src": "1025:9:1", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", "typeString": "address[]" @@ -2364,7 +2379,7 @@ "name": "_minersByAddress", "nodeType": "VariableDeclaration", "scope": 606, - "src": "1009:52:1", + "src": "1057:52:1", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -2377,14 +2392,14 @@ "id": 125, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1017:7:1", + "src": "1065:7:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "Mapping", - "src": "1009:27:1", + "src": "1057:27:1", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" @@ -2393,7 +2408,7 @@ "id": 126, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1028:7:1", + "src": "1076:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2407,7 +2422,7 @@ "body": { "id": 148, "nodeType": "Block", - "src": "1214:91:1", + "src": "1262:91:1", "statements": [ { "expression": { @@ -2426,7 +2441,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1246:1:1", + "src": "1294:1:1", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -2448,7 +2463,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "1238:7:1", + "src": "1286:7:1", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" @@ -2463,7 +2478,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1238:10:1", + "src": "1286:10:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2484,7 +2499,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 124, - "src": "1225:7:1", + "src": "1273:7:1", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage", "typeString": "address[] storage ref" @@ -2498,7 +2513,7 @@ "memberName": "push", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "1225:12:1", + "src": "1273:12:1", "typeDescriptions": { "typeIdentifier": "t_function_arraypush_nonpayable$_t_address_$returns$_t_uint256_$", "typeString": "function (address) returns (uint256)" @@ -2512,7 +2527,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1225:24:1", + "src": "1273:24:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2520,7 +2535,7 @@ }, "id": 147, "nodeType": "ExpressionStatement", - "src": "1225:24:1" + "src": "1273:24:1" } ] }, @@ -2539,7 +2554,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 130, - "src": "1130:12:1", + "src": "1178:12:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2554,14 +2569,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 750, - "src": "1113:16:1", + "src": "1161:16:1", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_ERC20TokenHolder_$750_$", "typeString": "type(contract ERC20TokenHolder)" } }, "nodeType": "ModifierInvocation", - "src": "1113:30:1" + "src": "1161:30:1" }, { "arguments": [], @@ -2573,14 +2588,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 693, - "src": "1153:14:1", + "src": "1201:14:1", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_AlgoSystemRole_$693_$", "typeString": "type(contract AlgoSystemRole)" } }, "nodeType": "ModifierInvocation", - "src": "1153:16:1" + "src": "1201:16:1" }, { "arguments": [], @@ -2592,14 +2607,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 86, - "src": "1179:16:1", + "src": "1227:16:1", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_AlgoCoreTeamRole_$86_$", "typeString": "type(contract AlgoCoreTeamRole)" } }, "nodeType": "ModifierInvocation", - "src": "1179:18:1" + "src": "1227:18:1" } ], "name": "", @@ -2614,7 +2629,7 @@ "name": "tokenAddress", "nodeType": "VariableDeclaration", "scope": 149, - "src": "1082:20:1", + "src": "1130:20:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2625,7 +2640,7 @@ "id": 129, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1082:7:1", + "src": "1130:7:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2635,17 +2650,17 @@ "visibility": "internal" } ], - "src": "1081:22:1" + "src": "1129:22:1" }, "payable": false, "returnParameters": { "id": 139, "nodeType": "ParameterList", "parameters": [], - "src": "1214:0:1" + "src": "1262:0:1" }, "scope": 606, - "src": "1070:235:1", + "src": "1118:235:1", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" @@ -2654,7 +2669,7 @@ "body": { "id": 214, "nodeType": "Block", - "src": "1392:442:1", + "src": "1440:442:1", "statements": [ { "expression": { @@ -2680,7 +2695,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 124, - "src": "1411:7:1", + "src": "1459:7:1", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage", "typeString": "address[] storage ref" @@ -2694,7 +2709,7 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "1411:14:1", + "src": "1459:14:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2712,7 +2727,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1428:4:1", + "src": "1476:4:1", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1000_by_1", @@ -2720,7 +2735,7 @@ }, "value": "1000" }, - "src": "1411:21:1", + "src": "1459:21:1", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -2738,11 +2753,11 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1268, - 1269 + 1273, + 1274 ], - "referencedDeclaration": 1268, - "src": "1403:7:1", + "referencedDeclaration": 1273, + "src": "1451:7:1", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" @@ -2756,7 +2771,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1403:30:1", + "src": "1451:30:1", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -2764,7 +2779,7 @@ }, "id": 164, "nodeType": "ExpressionStatement", - "src": "1403:30:1" + "src": "1451:30:1" }, { "expression": { @@ -2790,7 +2805,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 128, - "src": "1452:16:1", + "src": "1500:16:1", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" @@ -2804,7 +2819,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 151, - "src": "1469:12:1", + "src": "1517:12:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2815,7 +2830,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "1452:30:1", + "src": "1500:30:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2833,7 +2848,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1486:1:1", + "src": "1534:1:1", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -2841,7 +2856,7 @@ }, "value": "0" }, - "src": "1452:35:1", + "src": "1500:35:1", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -2859,11 +2874,11 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1268, - 1269 + 1273, + 1274 ], - "referencedDeclaration": 1268, - "src": "1444:7:1", + "referencedDeclaration": 1273, + "src": "1492:7:1", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" @@ -2877,7 +2892,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1444:44:1", + "src": "1492:44:1", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -2885,7 +2900,7 @@ }, "id": 172, "nodeType": "ExpressionStatement", - "src": "1444:44:1" + "src": "1492:44:1" }, { "assignments": [ @@ -2898,11 +2913,11 @@ "name": "algoMiner", "nodeType": "VariableDeclaration", "scope": 215, - "src": "1501:20:1", + "src": "1549:20:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_IAlgoMiner_$778", + "typeIdentifier": "t_contract$_IAlgoMiner_$783", "typeString": "contract IAlgoMiner" }, "typeName": { @@ -2910,10 +2925,10 @@ "id": 173, "name": "IAlgoMiner", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 778, - "src": "1501:10:1", + "referencedDeclaration": 783, + "src": "1549:10:1", "typeDescriptions": { - "typeIdentifier": "t_contract$_IAlgoMiner_$778", + "typeIdentifier": "t_contract$_IAlgoMiner_$783", "typeString": "contract IAlgoMiner" } }, @@ -2932,7 +2947,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 151, - "src": "1535:12:1", + "src": "1583:12:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2950,10 +2965,10 @@ "name": "IAlgoMiner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 778, - "src": "1524:10:1", + "referencedDeclaration": 783, + "src": "1572:10:1", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IAlgoMiner_$778_$", + "typeIdentifier": "t_type$_t_contract$_IAlgoMiner_$783_$", "typeString": "type(contract IAlgoMiner)" } }, @@ -2965,14 +2980,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1524:24:1", + "src": "1572:24:1", "typeDescriptions": { - "typeIdentifier": "t_contract$_IAlgoMiner_$778", + "typeIdentifier": "t_contract$_IAlgoMiner_$783", "typeString": "contract IAlgoMiner" } }, "nodeType": "VariableDeclarationStatement", - "src": "1501:47:1" + "src": "1549:47:1" }, { "expression": { @@ -2990,9 +3005,9 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 174, - "src": "1577:9:1", + "src": "1625:9:1", "typeDescriptions": { - "typeIdentifier": "t_contract$_IAlgoMiner_$778", + "typeIdentifier": "t_contract$_IAlgoMiner_$783", "typeString": "contract IAlgoMiner" } }, @@ -3004,7 +3019,7 @@ "memberName": "isAlgoMiner", "nodeType": "MemberAccess", "referencedDeclaration": 757, - "src": "1577:21:1", + "src": "1625:21:1", "typeDescriptions": { "typeIdentifier": "t_function_external_pure$__$returns$_t_bool_$", "typeString": "function () pure external returns (bool)" @@ -3018,7 +3033,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1577:23:1", + "src": "1625:23:1", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -3036,11 +3051,11 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1268, - 1269 + 1273, + 1274 ], - "referencedDeclaration": 1268, - "src": "1569:7:1", + "referencedDeclaration": 1273, + "src": "1617:7:1", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" @@ -3054,7 +3069,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1569:32:1", + "src": "1617:32:1", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -3062,7 +3077,7 @@ }, "id": 184, "nodeType": "ExpressionStatement", - "src": "1569:32:1" + "src": "1617:32:1" }, { "assignments": [ @@ -3075,7 +3090,7 @@ "name": "minerCategory", "nodeType": "VariableDeclaration", "scope": 215, - "src": "1622:19:1", + "src": "1670:19:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3086,7 +3101,7 @@ "id": 185, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "1622:5:1", + "src": "1670:5:1", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -3109,9 +3124,9 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 174, - "src": "1644:9:1", + "src": "1692:9:1", "typeDescriptions": { - "typeIdentifier": "t_contract$_IAlgoMiner_$778", + "typeIdentifier": "t_contract$_IAlgoMiner_$783", "typeString": "contract IAlgoMiner" } }, @@ -3123,7 +3138,7 @@ "memberName": "getCategory", "nodeType": "MemberAccess", "referencedDeclaration": 767, - "src": "1644:21:1", + "src": "1692:21:1", "typeDescriptions": { "typeIdentifier": "t_function_external_view$__$returns$_t_uint8_$", "typeString": "function () view external returns (uint8)" @@ -3137,14 +3152,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1644:23:1", + "src": "1692:23:1", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, "nodeType": "VariableDeclarationStatement", - "src": "1622:45:1" + "src": "1670:45:1" }, { "expression": { @@ -3179,7 +3194,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 186, - "src": "1688:13:1", + "src": "1736:13:1", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -3197,7 +3212,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1705:1:1", + "src": "1753:1:1", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -3205,7 +3220,7 @@ }, "value": "0" }, - "src": "1688:18:1", + "src": "1736:18:1", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -3231,7 +3246,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 186, - "src": "1710:13:1", + "src": "1758:13:1", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -3249,7 +3264,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1727:1:1", + "src": "1775:1:1", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_5_by_1", @@ -3257,13 +3272,13 @@ }, "value": "5" }, - "src": "1710:18:1", + "src": "1758:18:1", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "1688:40:1", + "src": "1736:40:1", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -3281,11 +3296,11 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1268, - 1269 + 1273, + 1274 ], - "referencedDeclaration": 1268, - "src": "1680:7:1", + "referencedDeclaration": 1273, + "src": "1728:7:1", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" @@ -3299,7 +3314,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1680:49:1", + "src": "1728:49:1", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -3307,7 +3322,7 @@ }, "id": 200, "nodeType": "ExpressionStatement", - "src": "1680:49:1" + "src": "1728:49:1" }, { "expression": { @@ -3326,7 +3341,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 128, - "src": "1742:16:1", + "src": "1790:16:1", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" @@ -3340,7 +3355,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 151, - "src": "1759:12:1", + "src": "1807:12:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3351,7 +3366,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "1742:30:1", + "src": "1790:30:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3368,7 +3383,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 124, - "src": "1775:7:1", + "src": "1823:7:1", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage", "typeString": "address[] storage ref" @@ -3382,13 +3397,13 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "1775:14:1", + "src": "1823:14:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "1742:47:1", + "src": "1790:47:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3396,7 +3411,7 @@ }, "id": 207, "nodeType": "ExpressionStatement", - "src": "1742:47:1" + "src": "1790:47:1" }, { "expression": { @@ -3409,7 +3424,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 151, - "src": "1813:12:1", + "src": "1861:12:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3430,7 +3445,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 124, - "src": "1800:7:1", + "src": "1848:7:1", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage", "typeString": "address[] storage ref" @@ -3444,7 +3459,7 @@ "memberName": "push", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "1800:12:1", + "src": "1848:12:1", "typeDescriptions": { "typeIdentifier": "t_function_arraypush_nonpayable$_t_address_$returns$_t_uint256_$", "typeString": "function (address) returns (uint256)" @@ -3458,7 +3473,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1800:26:1", + "src": "1848:26:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3466,7 +3481,7 @@ }, "id": 213, "nodeType": "ExpressionStatement", - "src": "1800:26:1" + "src": "1848:26:1" } ] }, @@ -3485,15 +3500,15 @@ "name": "notTerminated", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 806, - "src": "1365:13:1", + "referencedDeclaration": 811, + "src": "1413:13:1", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "1365:13:1" + "src": "1413:13:1" }, { "arguments": null, @@ -3505,14 +3520,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 27, - "src": "1379:12:1", + "src": "1427:12:1", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "1379:12:1" + "src": "1427:12:1" } ], "name": "registerMiner", @@ -3527,7 +3542,7 @@ "name": "minerAddress", "nodeType": "VariableDeclaration", "scope": 215, - "src": "1336:20:1", + "src": "1384:20:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3538,7 +3553,7 @@ "id": 150, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1336:7:1", + "src": "1384:7:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3548,17 +3563,17 @@ "visibility": "internal" } ], - "src": "1335:22:1" + "src": "1383:22:1" }, "payable": false, "returnParameters": { "id": 157, "nodeType": "ParameterList", "parameters": [], - "src": "1392:0:1" + "src": "1440:0:1" }, "scope": 606, - "src": "1313:521:1", + "src": "1361:521:1", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" @@ -3567,7 +3582,7 @@ "body": { "id": 293, "nodeType": "Block", - "src": "1923:682:1", + "src": "1971:682:1", "statements": [ { "expression": { @@ -3593,7 +3608,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 124, - "src": "1942:7:1", + "src": "1990:7:1", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage", "typeString": "address[] storage ref" @@ -3607,7 +3622,7 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "1942:14:1", + "src": "1990:14:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3625,7 +3640,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1959:1:1", + "src": "2007:1:1", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", @@ -3633,7 +3648,7 @@ }, "value": "1" }, - "src": "1942:18:1", + "src": "1990:18:1", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -3651,11 +3666,11 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1268, - 1269 + 1273, + 1274 ], - "referencedDeclaration": 1268, - "src": "1934:7:1", + "referencedDeclaration": 1273, + "src": "1982:7:1", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" @@ -3669,7 +3684,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1934:27:1", + "src": "1982:27:1", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -3677,7 +3692,7 @@ }, "id": 230, "nodeType": "ExpressionStatement", - "src": "1934:27:1" + "src": "1982:27:1" }, { "condition": { @@ -3700,7 +3715,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 124, - "src": "1977:7:1", + "src": "2025:7:1", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage", "typeString": "address[] storage ref" @@ -3714,7 +3729,7 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "1977:14:1", + "src": "2025:14:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3732,7 +3747,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1995:1:1", + "src": "2043:1:1", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_2_by_1", @@ -3740,7 +3755,7 @@ }, "value": "2" }, - "src": "1977:19:1", + "src": "2025:19:1", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -3749,7 +3764,7 @@ "falseBody": { "id": 291, "nodeType": "Block", - "src": "2210:388:1", + "src": "2258:388:1", "statements": [ { "condition": { @@ -3772,7 +3787,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 128, - "src": "2242:16:1", + "src": "2290:16:1", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" @@ -3786,7 +3801,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 217, - "src": "2259:12:1", + "src": "2307:12:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3797,7 +3812,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "2242:30:1", + "src": "2290:30:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3814,7 +3829,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 124, - "src": "2276:7:1", + "src": "2324:7:1", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage", "typeString": "address[] storage ref" @@ -3828,13 +3843,13 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "2276:14:1", + "src": "2324:14:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "2242:48:1", + "src": "2290:48:1", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -3843,11 +3858,11 @@ "falseBody": null, "id": 272, "nodeType": "IfStatement", - "src": "2239:214:1", + "src": "2287:214:1", "trueBody": { "id": 271, "nodeType": "Block", - "src": "2292:161:1", + "src": "2340:161:1", "statements": [ { "expression": { @@ -3866,7 +3881,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 124, - "src": "2368:7:1", + "src": "2416:7:1", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage", "typeString": "address[] storage ref" @@ -3882,7 +3897,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 128, - "src": "2376:16:1", + "src": "2424:16:1", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" @@ -3896,7 +3911,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 217, - "src": "2393:12:1", + "src": "2441:12:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3907,7 +3922,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "2376:30:1", + "src": "2424:30:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3918,7 +3933,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "2368:39:1", + "src": "2416:39:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3935,7 +3950,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 124, - "src": "2410:7:1", + "src": "2458:7:1", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage", "typeString": "address[] storage ref" @@ -3962,7 +3977,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 124, - "src": "2418:7:1", + "src": "2466:7:1", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage", "typeString": "address[] storage ref" @@ -3976,7 +3991,7 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "2418:14:1", + "src": "2466:14:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3994,7 +4009,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2435:1:1", + "src": "2483:1:1", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", @@ -4002,7 +4017,7 @@ }, "value": "1" }, - "src": "2418:18:1", + "src": "2466:18:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4013,13 +4028,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "2410:27:1", + "src": "2458:27:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "2368:69:1", + "src": "2416:69:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4027,7 +4042,7 @@ }, "id": 270, "nodeType": "ExpressionStatement", - "src": "2368:69:1" + "src": "2416:69:1" } ] } @@ -4043,7 +4058,7 @@ "nodeType": "UnaryOperation", "operator": "delete", "prefix": true, - "src": "2469:34:1", + "src": "2517:34:1", "subExpression": { "argumentTypes": null, "baseExpression": { @@ -4053,7 +4068,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 124, - "src": "2476:7:1", + "src": "2524:7:1", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage", "typeString": "address[] storage ref" @@ -4080,7 +4095,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 124, - "src": "2484:7:1", + "src": "2532:7:1", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage", "typeString": "address[] storage ref" @@ -4094,7 +4109,7 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "2484:14:1", + "src": "2532:14:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4112,7 +4127,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2501:1:1", + "src": "2549:1:1", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", @@ -4120,7 +4135,7 @@ }, "value": "1" }, - "src": "2484:18:1", + "src": "2532:18:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4131,7 +4146,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "2476:27:1", + "src": "2524:27:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4144,7 +4159,7 @@ }, "id": 280, "nodeType": "ExpressionStatement", - "src": "2469:34:1" + "src": "2517:34:1" }, { "expression": { @@ -4157,7 +4172,7 @@ "nodeType": "UnaryOperation", "operator": "--", "prefix": false, - "src": "2518:16:1", + "src": "2566:16:1", "subExpression": { "argumentTypes": null, "expression": { @@ -4167,7 +4182,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 124, - "src": "2518:7:1", + "src": "2566:7:1", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage", "typeString": "address[] storage ref" @@ -4181,7 +4196,7 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "2518:14:1", + "src": "2566:14:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4194,7 +4209,7 @@ }, "id": 285, "nodeType": "ExpressionStatement", - "src": "2518:16:1" + "src": "2566:16:1" }, { "expression": { @@ -4207,7 +4222,7 @@ "nodeType": "UnaryOperation", "operator": "delete", "prefix": true, - "src": "2549:37:1", + "src": "2597:37:1", "subExpression": { "argumentTypes": null, "baseExpression": { @@ -4217,7 +4232,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 128, - "src": "2556:16:1", + "src": "2604:16:1", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" @@ -4231,7 +4246,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 217, - "src": "2573:12:1", + "src": "2621:12:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4242,7 +4257,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "2556:30:1", + "src": "2604:30:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4255,17 +4270,17 @@ }, "id": 290, "nodeType": "ExpressionStatement", - "src": "2549:37:1" + "src": "2597:37:1" } ] }, "id": 292, "nodeType": "IfStatement", - "src": "1974:624:1", + "src": "2022:624:1", "trueBody": { "id": 251, "nodeType": "Block", - "src": "1998:206:1", + "src": "2046:206:1", "statements": [ { "expression": { @@ -4278,7 +4293,7 @@ "nodeType": "UnaryOperation", "operator": "delete", "prefix": true, - "src": "2080:17:1", + "src": "2128:17:1", "subExpression": { "argumentTypes": null, "baseExpression": { @@ -4288,7 +4303,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 124, - "src": "2087:7:1", + "src": "2135:7:1", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage", "typeString": "address[] storage ref" @@ -4305,7 +4320,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2095:1:1", + "src": "2143:1:1", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", @@ -4318,7 +4333,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "2087:10:1", + "src": "2135:10:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4331,7 +4346,7 @@ }, "id": 239, "nodeType": "ExpressionStatement", - "src": "2080:17:1" + "src": "2128:17:1" }, { "expression": { @@ -4350,7 +4365,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 124, - "src": "2112:7:1", + "src": "2160:7:1", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage", "typeString": "address[] storage ref" @@ -4364,7 +4379,7 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "2112:14:1", + "src": "2160:14:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4382,7 +4397,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2129:1:1", + "src": "2177:1:1", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", @@ -4390,7 +4405,7 @@ }, "value": "1" }, - "src": "2112:18:1", + "src": "2160:18:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4398,7 +4413,7 @@ }, "id": 245, "nodeType": "ExpressionStatement", - "src": "2112:18:1" + "src": "2160:18:1" }, { "expression": { @@ -4411,7 +4426,7 @@ "nodeType": "UnaryOperation", "operator": "delete", "prefix": true, - "src": "2145:37:1", + "src": "2193:37:1", "subExpression": { "argumentTypes": null, "baseExpression": { @@ -4421,7 +4436,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 128, - "src": "2152:16:1", + "src": "2200:16:1", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" @@ -4435,7 +4450,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 217, - "src": "2169:12:1", + "src": "2217:12:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4446,7 +4461,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "2152:30:1", + "src": "2200:30:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4459,7 +4474,7 @@ }, "id": 250, "nodeType": "ExpressionStatement", - "src": "2145:37:1" + "src": "2193:37:1" } ] } @@ -4481,15 +4496,15 @@ "name": "notTerminated", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 806, - "src": "1896:13:1", + "referencedDeclaration": 811, + "src": "1944:13:1", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "1896:13:1" + "src": "1944:13:1" }, { "arguments": null, @@ -4501,14 +4516,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 27, - "src": "1910:12:1", + "src": "1958:12:1", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "1910:12:1" + "src": "1958:12:1" } ], "name": "unregisterMiner", @@ -4523,7 +4538,7 @@ "name": "minerAddress", "nodeType": "VariableDeclaration", "scope": 294, - "src": "1867:20:1", + "src": "1915:20:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4534,7 +4549,7 @@ "id": 216, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1867:7:1", + "src": "1915:7:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4544,17 +4559,17 @@ "visibility": "internal" } ], - "src": "1866:22:1" + "src": "1914:22:1" }, "payable": false, "returnParameters": { "id": 223, "nodeType": "ParameterList", "parameters": [], - "src": "1923:0:1" + "src": "1971:0:1" }, "scope": 606, - "src": "1842:763:1", + "src": "1890:763:1", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" @@ -4563,7 +4578,7 @@ "body": { "id": 570, "nodeType": "Block", - "src": "2661:2307:1", + "src": "2709:2307:1", "statements": [ { "expression": { @@ -4589,7 +4604,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 124, - "src": "2680:7:1", + "src": "2728:7:1", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage", "typeString": "address[] storage ref" @@ -4603,7 +4618,7 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "2680:14:1", + "src": "2728:14:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4621,7 +4636,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2697:1:1", + "src": "2745:1:1", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", @@ -4629,7 +4644,7 @@ }, "value": "1" }, - "src": "2680:18:1", + "src": "2728:18:1", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -4647,11 +4662,11 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1268, - 1269 + 1273, + 1274 ], - "referencedDeclaration": 1268, - "src": "2672:7:1", + "referencedDeclaration": 1273, + "src": "2720:7:1", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" @@ -4665,7 +4680,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2672:27:1", + "src": "2720:27:1", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -4673,7 +4688,7 @@ }, "id": 307, "nodeType": "ExpressionStatement", - "src": "2672:27:1" + "src": "2720:27:1" }, { "assignments": [ @@ -4686,7 +4701,7 @@ "name": "currentFeesBalance", "nodeType": "VariableDeclaration", "scope": 571, - "src": "2712:26:1", + "src": "2760:26:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4697,7 +4712,7 @@ "id": 308, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "2712:7:1", + "src": "2760:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4720,8 +4735,8 @@ "name": "this", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1296, - "src": "2766:4:1", + "referencedDeclaration": 1301, + "src": "2814:4:1", "typeDescriptions": { "typeIdentifier": "t_contract$_AlgoFees_$606", "typeString": "contract AlgoFees" @@ -4741,7 +4756,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "2758:7:1", + "src": "2806:7:1", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" @@ -4756,7 +4771,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2758:13:1", + "src": "2806:13:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4777,9 +4792,9 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 705, - "src": "2741:6:1", + "src": "2789:6:1", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$1106", + "typeIdentifier": "t_contract$_IERC20_$1111", "typeString": "contract IERC20" } }, @@ -4790,8 +4805,8 @@ "lValueRequested": false, "memberName": "balanceOf", "nodeType": "MemberAccess", - "referencedDeclaration": 1051, - "src": "2741:16:1", + "referencedDeclaration": 1056, + "src": "2789:16:1", "typeDescriptions": { "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", "typeString": "function (address) view external returns (uint256)" @@ -4805,14 +4820,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2741:31:1", + "src": "2789:31:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "2712:60:1" + "src": "2760:60:1" }, { "expression": { @@ -4836,7 +4851,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 309, - "src": "2787:18:1", + "src": "2835:18:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4854,7 +4869,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2808:1:1", + "src": "2856:1:1", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -4862,7 +4877,7 @@ }, "value": "0" }, - "src": "2787:22:1", + "src": "2835:22:1", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -4880,11 +4895,11 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1268, - 1269 + 1273, + 1274 ], - "referencedDeclaration": 1268, - "src": "2779:7:1", + "referencedDeclaration": 1273, + "src": "2827:7:1", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" @@ -4898,7 +4913,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2779:31:1", + "src": "2827:31:1", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -4906,7 +4921,7 @@ }, "id": 322, "nodeType": "ExpressionStatement", - "src": "2779:31:1" + "src": "2827:31:1" }, { "assignments": [], @@ -4917,7 +4932,7 @@ "name": "miners", "nodeType": "VariableDeclaration", "scope": 571, - "src": "2894:24:1", + "src": "2942:24:1", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -4929,7 +4944,7 @@ "id": 325, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "2894:7:1", + "src": "2942:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4946,7 +4961,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2902:1:1", + "src": "2950:1:1", "subdenomination": null, "typeDescriptions": { "typeIdentifier": null, @@ -4955,7 +4970,7 @@ "value": "6" }, "nodeType": "ArrayTypeName", - "src": "2894:10:1", + "src": "2942:10:1", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$6_storage_ptr", "typeString": "uint256[6]" @@ -4968,13 +4983,13 @@ "id": 328, "initialValue": null, "nodeType": "VariableDeclarationStatement", - "src": "2894:24:1" + "src": "2942:24:1" }, { "body": { "id": 420, "nodeType": "Block", - "src": "2975:657:1", + "src": "3023:657:1", "statements": [ { "assignments": [ @@ -4987,11 +5002,11 @@ "name": "algoMiner", "nodeType": "VariableDeclaration", "scope": 571, - "src": "2990:20:1", + "src": "3038:20:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_IAlgoMiner_$778", + "typeIdentifier": "t_contract$_IAlgoMiner_$783", "typeString": "contract IAlgoMiner" }, "typeName": { @@ -4999,10 +5014,10 @@ "id": 340, "name": "IAlgoMiner", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 778, - "src": "2990:10:1", + "referencedDeclaration": 783, + "src": "3038:10:1", "typeDescriptions": { - "typeIdentifier": "t_contract$_IAlgoMiner_$778", + "typeIdentifier": "t_contract$_IAlgoMiner_$783", "typeString": "contract IAlgoMiner" } }, @@ -5023,7 +5038,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 124, - "src": "3024:7:1", + "src": "3072:7:1", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage", "typeString": "address[] storage ref" @@ -5037,7 +5052,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 330, - "src": "3032:1:1", + "src": "3080:1:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5048,7 +5063,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "3024:10:1", + "src": "3072:10:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -5066,10 +5081,10 @@ "name": "IAlgoMiner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 778, - "src": "3013:10:1", + "referencedDeclaration": 783, + "src": "3061:10:1", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IAlgoMiner_$778_$", + "typeIdentifier": "t_type$_t_contract$_IAlgoMiner_$783_$", "typeString": "type(contract IAlgoMiner)" } }, @@ -5081,14 +5096,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3013:22:1", + "src": "3061:22:1", "typeDescriptions": { - "typeIdentifier": "t_contract$_IAlgoMiner_$778", + "typeIdentifier": "t_contract$_IAlgoMiner_$783", "typeString": "contract IAlgoMiner" } }, "nodeType": "VariableDeclarationStatement", - "src": "2990:45:1" + "src": "3038:45:1" }, { "condition": { @@ -5101,7 +5116,7 @@ "nodeType": "UnaryOperation", "operator": "!", "prefix": true, - "src": "3055:21:1", + "src": "3103:21:1", "subExpression": { "argumentTypes": null, "arguments": [], @@ -5114,9 +5129,9 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 341, - "src": "3056:9:1", + "src": "3104:9:1", "typeDescriptions": { - "typeIdentifier": "t_contract$_IAlgoMiner_$778", + "typeIdentifier": "t_contract$_IAlgoMiner_$783", "typeString": "contract IAlgoMiner" } }, @@ -5127,8 +5142,8 @@ "lValueRequested": false, "memberName": "isMining", "nodeType": "MemberAccess", - "referencedDeclaration": 772, - "src": "3056:18:1", + "referencedDeclaration": 782, + "src": "3104:18:1", "typeDescriptions": { "typeIdentifier": "t_function_external_view$__$returns$_t_bool_$", "typeString": "function () view external returns (bool)" @@ -5142,7 +5157,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3056:20:1", + "src": "3104:20:1", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -5156,11 +5171,11 @@ "falseBody": null, "id": 353, "nodeType": "IfStatement", - "src": "3052:34:1", + "src": "3100:34:1", "trueBody": { "id": 352, "nodeType": "Continue", - "src": "3078:8:1" + "src": "3126:8:1" } }, { @@ -5174,7 +5189,7 @@ "name": "minerCategory", "nodeType": "VariableDeclaration", "scope": 571, - "src": "3103:19:1", + "src": "3151:19:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5185,7 +5200,7 @@ "id": 354, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "3103:5:1", + "src": "3151:5:1", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -5208,9 +5223,9 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 341, - "src": "3125:9:1", + "src": "3173:9:1", "typeDescriptions": { - "typeIdentifier": "t_contract$_IAlgoMiner_$778", + "typeIdentifier": "t_contract$_IAlgoMiner_$783", "typeString": "contract IAlgoMiner" } }, @@ -5222,7 +5237,7 @@ "memberName": "getCategory", "nodeType": "MemberAccess", "referencedDeclaration": 767, - "src": "3125:21:1", + "src": "3173:21:1", "typeDescriptions": { "typeIdentifier": "t_function_external_view$__$returns$_t_uint8_$", "typeString": "function () view external returns (uint8)" @@ -5236,14 +5251,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3125:23:1", + "src": "3173:23:1", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, "nodeType": "VariableDeclarationStatement", - "src": "3103:45:1" + "src": "3151:45:1" }, { "condition": { @@ -5264,7 +5279,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 355, - "src": "3168:13:1", + "src": "3216:13:1", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -5282,7 +5297,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "3185:1:1", + "src": "3233:1:1", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -5290,7 +5305,7 @@ }, "value": "0" }, - "src": "3168:18:1", + "src": "3216:18:1", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -5315,7 +5330,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 355, - "src": "3243:13:1", + "src": "3291:13:1", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -5333,7 +5348,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "3260:1:1", + "src": "3308:1:1", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", @@ -5341,7 +5356,7 @@ }, "value": "1" }, - "src": "3243:18:1", + "src": "3291:18:1", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -5366,7 +5381,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 355, - "src": "3318:13:1", + "src": "3366:13:1", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -5384,7 +5399,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "3335:1:1", + "src": "3383:1:1", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_2_by_1", @@ -5392,7 +5407,7 @@ }, "value": "2" }, - "src": "3318:18:1", + "src": "3366:18:1", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -5417,7 +5432,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 355, - "src": "3393:13:1", + "src": "3441:13:1", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -5435,7 +5450,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "3410:1:1", + "src": "3458:1:1", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_3_by_1", @@ -5443,7 +5458,7 @@ }, "value": "3" }, - "src": "3393:18:1", + "src": "3441:18:1", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -5468,7 +5483,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 355, - "src": "3468:13:1", + "src": "3516:13:1", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -5486,7 +5501,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "3485:1:1", + "src": "3533:1:1", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_4_by_1", @@ -5494,7 +5509,7 @@ }, "value": "4" }, - "src": "3468:18:1", + "src": "3516:18:1", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -5519,7 +5534,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 355, - "src": "3543:13:1", + "src": "3591:13:1", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -5537,7 +5552,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "3560:1:1", + "src": "3608:1:1", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_5_by_1", @@ -5545,7 +5560,7 @@ }, "value": "5" }, - "src": "3543:18:1", + "src": "3591:18:1", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -5554,11 +5569,11 @@ "falseBody": null, "id": 414, "nodeType": "IfStatement", - "src": "3540:69:1", + "src": "3588:69:1", "trueBody": { "id": 413, "nodeType": "Block", - "src": "3563:46:1", + "src": "3611:46:1", "statements": [ { "expression": { @@ -5571,7 +5586,7 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "3582:11:1", + "src": "3630:11:1", "subExpression": { "argumentTypes": null, "baseExpression": { @@ -5581,7 +5596,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 327, - "src": "3582:6:1", + "src": "3630:6:1", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$6_memory_ptr", "typeString": "uint256[6] memory" @@ -5598,7 +5613,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "3589:1:1", + "src": "3637:1:1", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_5_by_1", @@ -5611,7 +5626,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "3582:9:1", + "src": "3630:9:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5624,18 +5639,18 @@ }, "id": 412, "nodeType": "ExpressionStatement", - "src": "3582:11:1" + "src": "3630:11:1" } ] } }, "id": 415, "nodeType": "IfStatement", - "src": "3465:144:1", + "src": "3513:144:1", "trueBody": { "id": 404, "nodeType": "Block", - "src": "3488:46:1", + "src": "3536:46:1", "statements": [ { "expression": { @@ -5648,7 +5663,7 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "3507:11:1", + "src": "3555:11:1", "subExpression": { "argumentTypes": null, "baseExpression": { @@ -5658,7 +5673,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 327, - "src": "3507:6:1", + "src": "3555:6:1", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$6_memory_ptr", "typeString": "uint256[6] memory" @@ -5675,7 +5690,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "3514:1:1", + "src": "3562:1:1", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_4_by_1", @@ -5688,7 +5703,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "3507:9:1", + "src": "3555:9:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5701,18 +5716,18 @@ }, "id": 403, "nodeType": "ExpressionStatement", - "src": "3507:11:1" + "src": "3555:11:1" } ] } }, "id": 416, "nodeType": "IfStatement", - "src": "3390:219:1", + "src": "3438:219:1", "trueBody": { "id": 395, "nodeType": "Block", - "src": "3413:46:1", + "src": "3461:46:1", "statements": [ { "expression": { @@ -5725,7 +5740,7 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "3432:11:1", + "src": "3480:11:1", "subExpression": { "argumentTypes": null, "baseExpression": { @@ -5735,7 +5750,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 327, - "src": "3432:6:1", + "src": "3480:6:1", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$6_memory_ptr", "typeString": "uint256[6] memory" @@ -5752,7 +5767,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "3439:1:1", + "src": "3487:1:1", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_3_by_1", @@ -5765,7 +5780,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "3432:9:1", + "src": "3480:9:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5778,18 +5793,18 @@ }, "id": 394, "nodeType": "ExpressionStatement", - "src": "3432:11:1" + "src": "3480:11:1" } ] } }, "id": 417, "nodeType": "IfStatement", - "src": "3315:294:1", + "src": "3363:294:1", "trueBody": { "id": 386, "nodeType": "Block", - "src": "3338:46:1", + "src": "3386:46:1", "statements": [ { "expression": { @@ -5802,7 +5817,7 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "3357:11:1", + "src": "3405:11:1", "subExpression": { "argumentTypes": null, "baseExpression": { @@ -5812,7 +5827,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 327, - "src": "3357:6:1", + "src": "3405:6:1", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$6_memory_ptr", "typeString": "uint256[6] memory" @@ -5829,7 +5844,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "3364:1:1", + "src": "3412:1:1", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_2_by_1", @@ -5842,7 +5857,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "3357:9:1", + "src": "3405:9:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5855,18 +5870,18 @@ }, "id": 385, "nodeType": "ExpressionStatement", - "src": "3357:11:1" + "src": "3405:11:1" } ] } }, "id": 418, "nodeType": "IfStatement", - "src": "3240:369:1", + "src": "3288:369:1", "trueBody": { "id": 377, "nodeType": "Block", - "src": "3263:46:1", + "src": "3311:46:1", "statements": [ { "expression": { @@ -5879,7 +5894,7 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "3282:11:1", + "src": "3330:11:1", "subExpression": { "argumentTypes": null, "baseExpression": { @@ -5889,7 +5904,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 327, - "src": "3282:6:1", + "src": "3330:6:1", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$6_memory_ptr", "typeString": "uint256[6] memory" @@ -5906,7 +5921,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "3289:1:1", + "src": "3337:1:1", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", @@ -5919,7 +5934,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "3282:9:1", + "src": "3330:9:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5932,18 +5947,18 @@ }, "id": 376, "nodeType": "ExpressionStatement", - "src": "3282:11:1" + "src": "3330:11:1" } ] } }, "id": 419, "nodeType": "IfStatement", - "src": "3165:444:1", + "src": "3213:444:1", "trueBody": { "id": 368, "nodeType": "Block", - "src": "3188:46:1", + "src": "3236:46:1", "statements": [ { "expression": { @@ -5956,7 +5971,7 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "3207:11:1", + "src": "3255:11:1", "subExpression": { "argumentTypes": null, "baseExpression": { @@ -5966,7 +5981,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 327, - "src": "3207:6:1", + "src": "3255:6:1", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$6_memory_ptr", "typeString": "uint256[6] memory" @@ -5983,7 +5998,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "3214:1:1", + "src": "3262:1:1", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -5996,7 +6011,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "3207:9:1", + "src": "3255:9:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6009,7 +6024,7 @@ }, "id": 367, "nodeType": "ExpressionStatement", - "src": "3207:11:1" + "src": "3255:11:1" } ] } @@ -6034,7 +6049,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 330, - "src": "2950:1:1", + "src": "2998:1:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6051,7 +6066,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 124, - "src": "2954:7:1", + "src": "3002:7:1", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage", "typeString": "address[] storage ref" @@ -6065,13 +6080,13 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "2954:14:1", + "src": "3002:14:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "2950:18:1", + "src": "2998:18:1", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -6089,7 +6104,7 @@ "name": "i", "nodeType": "VariableDeclaration", "scope": 571, - "src": "2935:9:1", + "src": "2983:9:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -6100,7 +6115,7 @@ "id": 329, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "2935:7:1", + "src": "2983:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6121,7 +6136,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2947:1:1", + "src": "2995:1:1", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", @@ -6130,7 +6145,7 @@ "value": "1" }, "nodeType": "VariableDeclarationStatement", - "src": "2935:13:1" + "src": "2983:13:1" }, "loopExpression": { "expression": { @@ -6143,7 +6158,7 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "2970:3:1", + "src": "3018:3:1", "subExpression": { "argumentTypes": null, "id": 337, @@ -6151,7 +6166,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 330, - "src": "2970:1:1", + "src": "3018:1:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6164,10 +6179,10 @@ }, "id": 339, "nodeType": "ExpressionStatement", - "src": "2970:3:1" + "src": "3018:3:1" }, "nodeType": "ForStatement", - "src": "2931:701:1" + "src": "2979:701:1" }, { "assignments": [ @@ -6180,7 +6195,7 @@ "name": "totalProportion", "nodeType": "VariableDeclaration", "scope": 571, - "src": "3720:23:1", + "src": "3768:23:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -6191,7 +6206,7 @@ "id": 422, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "3720:7:1", + "src": "3768:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6275,7 +6290,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 106, - "src": "3746:22:1", + "src": "3794:22:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6292,7 +6307,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 327, - "src": "3771:6:1", + "src": "3819:6:1", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$6_memory_ptr", "typeString": "uint256[6] memory" @@ -6309,7 +6324,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "3778:1:1", + "src": "3826:1:1", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -6322,13 +6337,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "3771:9:1", + "src": "3819:9:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "3746:34:1", + "src": "3794:34:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6354,7 +6369,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 109, - "src": "3796:22:1", + "src": "3844:22:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6371,7 +6386,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 327, - "src": "3821:6:1", + "src": "3869:6:1", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$6_memory_ptr", "typeString": "uint256[6] memory" @@ -6388,7 +6403,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "3828:1:1", + "src": "3876:1:1", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", @@ -6401,19 +6416,19 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "3821:9:1", + "src": "3869:9:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "3796:34:1", + "src": "3844:34:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "3746:84:1", + "src": "3794:84:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6439,7 +6454,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 112, - "src": "3846:22:1", + "src": "3894:22:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6456,7 +6471,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 327, - "src": "3871:6:1", + "src": "3919:6:1", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$6_memory_ptr", "typeString": "uint256[6] memory" @@ -6473,7 +6488,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "3878:1:1", + "src": "3926:1:1", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_2_by_1", @@ -6486,19 +6501,19 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "3871:9:1", + "src": "3919:9:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "3846:34:1", + "src": "3894:34:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "3746:134:1", + "src": "3794:134:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6524,7 +6539,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 115, - "src": "3896:22:1", + "src": "3944:22:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6541,7 +6556,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 327, - "src": "3921:6:1", + "src": "3969:6:1", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$6_memory_ptr", "typeString": "uint256[6] memory" @@ -6558,7 +6573,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "3928:1:1", + "src": "3976:1:1", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_3_by_1", @@ -6571,19 +6586,19 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "3921:9:1", + "src": "3969:9:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "3896:34:1", + "src": "3944:34:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "3746:184:1", + "src": "3794:184:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6609,7 +6624,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 118, - "src": "3946:22:1", + "src": "3994:22:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6626,7 +6641,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 327, - "src": "3971:6:1", + "src": "4019:6:1", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$6_memory_ptr", "typeString": "uint256[6] memory" @@ -6643,7 +6658,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "3978:1:1", + "src": "4026:1:1", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_4_by_1", @@ -6656,19 +6671,19 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "3971:9:1", + "src": "4019:9:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "3946:34:1", + "src": "3994:34:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "3746:234:1", + "src": "3794:234:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6694,7 +6709,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 121, - "src": "3996:22:1", + "src": "4044:22:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6711,7 +6726,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 327, - "src": "4021:6:1", + "src": "4069:6:1", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$6_memory_ptr", "typeString": "uint256[6] memory" @@ -6728,7 +6743,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "4028:1:1", + "src": "4076:1:1", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_5_by_1", @@ -6741,26 +6756,26 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "4021:9:1", + "src": "4069:9:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "3996:34:1", + "src": "4044:34:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "3746:284:1", + "src": "3794:284:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "3720:310:1" + "src": "3768:310:1" }, { "assignments": [], @@ -6771,7 +6786,7 @@ "name": "feePerMiner", "nodeType": "VariableDeclaration", "scope": 571, - "src": "4051:29:1", + "src": "4099:29:1", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -6783,7 +6798,7 @@ "id": 462, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "4051:7:1", + "src": "4099:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6800,7 +6815,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "4059:1:1", + "src": "4107:1:1", "subdenomination": null, "typeDescriptions": { "typeIdentifier": null, @@ -6809,7 +6824,7 @@ "value": "6" }, "nodeType": "ArrayTypeName", - "src": "4051:10:1", + "src": "4099:10:1", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$6_storage_ptr", "typeString": "uint256[6]" @@ -6822,7 +6837,7 @@ "id": 465, "initialValue": null, "nodeType": "VariableDeclarationStatement", - "src": "4051:29:1" + "src": "4099:29:1" }, { "expression": { @@ -6841,7 +6856,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 464, - "src": "4093:11:1", + "src": "4141:11:1", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$6_memory_ptr", "typeString": "uint256[6] memory" @@ -6858,7 +6873,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "4105:1:1", + "src": "4153:1:1", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -6871,7 +6886,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "4093:14:1", + "src": "4141:14:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6908,7 +6923,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 309, - "src": "4110:18:1", + "src": "4158:18:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6923,13 +6938,13 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 106, - "src": "4131:22:1", + "src": "4179:22:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "4110:43:1", + "src": "4158:43:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6944,19 +6959,19 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 423, - "src": "4156:15:1", + "src": "4204:15:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "4110:61:1", + "src": "4158:61:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "4093:78:1", + "src": "4141:78:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6964,7 +6979,7 @@ }, "id": 475, "nodeType": "ExpressionStatement", - "src": "4093:78:1" + "src": "4141:78:1" }, { "expression": { @@ -6983,7 +6998,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 464, - "src": "4182:11:1", + "src": "4230:11:1", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$6_memory_ptr", "typeString": "uint256[6] memory" @@ -7000,7 +7015,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "4194:1:1", + "src": "4242:1:1", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", @@ -7013,7 +7028,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "4182:14:1", + "src": "4230:14:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7050,7 +7065,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 309, - "src": "4199:18:1", + "src": "4247:18:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7065,13 +7080,13 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 109, - "src": "4220:22:1", + "src": "4268:22:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "4199:43:1", + "src": "4247:43:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7086,19 +7101,19 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 423, - "src": "4245:15:1", + "src": "4293:15:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "4199:61:1", + "src": "4247:61:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "4182:78:1", + "src": "4230:78:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7106,7 +7121,7 @@ }, "id": 485, "nodeType": "ExpressionStatement", - "src": "4182:78:1" + "src": "4230:78:1" }, { "expression": { @@ -7125,7 +7140,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 464, - "src": "4271:11:1", + "src": "4319:11:1", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$6_memory_ptr", "typeString": "uint256[6] memory" @@ -7142,7 +7157,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "4283:1:1", + "src": "4331:1:1", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_2_by_1", @@ -7155,7 +7170,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "4271:14:1", + "src": "4319:14:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7192,7 +7207,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 309, - "src": "4288:18:1", + "src": "4336:18:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7207,13 +7222,13 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 112, - "src": "4309:22:1", + "src": "4357:22:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "4288:43:1", + "src": "4336:43:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7228,19 +7243,19 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 423, - "src": "4334:15:1", + "src": "4382:15:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "4288:61:1", + "src": "4336:61:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "4271:78:1", + "src": "4319:78:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7248,7 +7263,7 @@ }, "id": 495, "nodeType": "ExpressionStatement", - "src": "4271:78:1" + "src": "4319:78:1" }, { "expression": { @@ -7267,7 +7282,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 464, - "src": "4360:11:1", + "src": "4408:11:1", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$6_memory_ptr", "typeString": "uint256[6] memory" @@ -7284,7 +7299,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "4372:1:1", + "src": "4420:1:1", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_3_by_1", @@ -7297,7 +7312,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "4360:14:1", + "src": "4408:14:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7334,7 +7349,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 309, - "src": "4377:18:1", + "src": "4425:18:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7349,13 +7364,13 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 115, - "src": "4398:22:1", + "src": "4446:22:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "4377:43:1", + "src": "4425:43:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7370,19 +7385,19 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 423, - "src": "4423:15:1", + "src": "4471:15:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "4377:61:1", + "src": "4425:61:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "4360:78:1", + "src": "4408:78:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7390,7 +7405,7 @@ }, "id": 505, "nodeType": "ExpressionStatement", - "src": "4360:78:1" + "src": "4408:78:1" }, { "expression": { @@ -7409,7 +7424,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 464, - "src": "4449:11:1", + "src": "4497:11:1", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$6_memory_ptr", "typeString": "uint256[6] memory" @@ -7426,7 +7441,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "4461:1:1", + "src": "4509:1:1", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_4_by_1", @@ -7439,7 +7454,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "4449:14:1", + "src": "4497:14:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7476,7 +7491,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 309, - "src": "4466:18:1", + "src": "4514:18:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7491,13 +7506,13 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 118, - "src": "4487:22:1", + "src": "4535:22:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "4466:43:1", + "src": "4514:43:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7512,19 +7527,19 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 423, - "src": "4512:15:1", + "src": "4560:15:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "4466:61:1", + "src": "4514:61:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "4449:78:1", + "src": "4497:78:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7532,7 +7547,7 @@ }, "id": 515, "nodeType": "ExpressionStatement", - "src": "4449:78:1" + "src": "4497:78:1" }, { "expression": { @@ -7551,7 +7566,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 464, - "src": "4538:11:1", + "src": "4586:11:1", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$6_memory_ptr", "typeString": "uint256[6] memory" @@ -7568,7 +7583,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "4550:1:1", + "src": "4598:1:1", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_5_by_1", @@ -7581,7 +7596,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "4538:14:1", + "src": "4586:14:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7618,7 +7633,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 309, - "src": "4555:18:1", + "src": "4603:18:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7633,13 +7648,13 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 121, - "src": "4576:22:1", + "src": "4624:22:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "4555:43:1", + "src": "4603:43:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7654,19 +7669,19 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 423, - "src": "4601:15:1", + "src": "4649:15:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "4555:61:1", + "src": "4603:61:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "4538:78:1", + "src": "4586:78:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7674,13 +7689,13 @@ }, "id": 525, "nodeType": "ExpressionStatement", - "src": "4538:78:1" + "src": "4586:78:1" }, { "body": { "id": 568, "nodeType": "Block", - "src": "4716:245:1", + "src": "4764:245:1", "statements": [ { "expression": { @@ -7697,9 +7712,9 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 341, - "src": "4731:9:1", + "src": "4779:9:1", "typeDescriptions": { - "typeIdentifier": "t_contract$_IAlgoMiner_$778", + "typeIdentifier": "t_contract$_IAlgoMiner_$783", "typeString": "contract IAlgoMiner" } }, @@ -7717,7 +7732,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 124, - "src": "4754:7:1", + "src": "4802:7:1", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage", "typeString": "address[] storage ref" @@ -7731,7 +7746,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 330, - "src": "4762:1:1", + "src": "4810:1:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7742,7 +7757,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "4754:10:1", + "src": "4802:10:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -7760,10 +7775,10 @@ "name": "IAlgoMiner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 778, - "src": "4743:10:1", + "referencedDeclaration": 783, + "src": "4791:10:1", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IAlgoMiner_$778_$", + "typeIdentifier": "t_type$_t_contract$_IAlgoMiner_$783_$", "typeString": "type(contract IAlgoMiner)" } }, @@ -7775,21 +7790,21 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4743:22:1", + "src": "4791:22:1", "typeDescriptions": { - "typeIdentifier": "t_contract$_IAlgoMiner_$778", + "typeIdentifier": "t_contract$_IAlgoMiner_$783", "typeString": "contract IAlgoMiner" } }, - "src": "4731:34:1", + "src": "4779:34:1", "typeDescriptions": { - "typeIdentifier": "t_contract$_IAlgoMiner_$778", + "typeIdentifier": "t_contract$_IAlgoMiner_$783", "typeString": "contract IAlgoMiner" } }, "id": 544, "nodeType": "ExpressionStatement", - "src": "4731:34:1" + "src": "4779:34:1" }, { "condition": { @@ -7802,7 +7817,7 @@ "nodeType": "UnaryOperation", "operator": "!", "prefix": true, - "src": "4785:21:1", + "src": "4833:21:1", "subExpression": { "argumentTypes": null, "arguments": [], @@ -7815,9 +7830,9 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 341, - "src": "4786:9:1", + "src": "4834:9:1", "typeDescriptions": { - "typeIdentifier": "t_contract$_IAlgoMiner_$778", + "typeIdentifier": "t_contract$_IAlgoMiner_$783", "typeString": "contract IAlgoMiner" } }, @@ -7828,8 +7843,8 @@ "lValueRequested": false, "memberName": "isMining", "nodeType": "MemberAccess", - "referencedDeclaration": 772, - "src": "4786:18:1", + "referencedDeclaration": 782, + "src": "4834:18:1", "typeDescriptions": { "typeIdentifier": "t_function_external_view$__$returns$_t_bool_$", "typeString": "function () view external returns (bool)" @@ -7843,7 +7858,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4786:20:1", + "src": "4834:20:1", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -7857,11 +7872,11 @@ "falseBody": null, "id": 550, "nodeType": "IfStatement", - "src": "4782:34:1", + "src": "4830:34:1", "trueBody": { "id": 549, "nodeType": "Continue", - "src": "4808:8:1" + "src": "4856:8:1" } }, { @@ -7879,7 +7894,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 355, - "src": "4833:13:1", + "src": "4881:13:1", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -7899,9 +7914,9 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 341, - "src": "4849:9:1", + "src": "4897:9:1", "typeDescriptions": { - "typeIdentifier": "t_contract$_IAlgoMiner_$778", + "typeIdentifier": "t_contract$_IAlgoMiner_$783", "typeString": "contract IAlgoMiner" } }, @@ -7913,7 +7928,7 @@ "memberName": "getCategory", "nodeType": "MemberAccess", "referencedDeclaration": 767, - "src": "4849:21:1", + "src": "4897:21:1", "typeDescriptions": { "typeIdentifier": "t_function_external_view$__$returns$_t_uint8_$", "typeString": "function () view external returns (uint8)" @@ -7927,13 +7942,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4849:23:1", + "src": "4897:23:1", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, - "src": "4833:39:1", + "src": "4881:39:1", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -7941,7 +7956,7 @@ }, "id": 556, "nodeType": "ExpressionStatement", - "src": "4833:39:1" + "src": "4881:39:1" }, { "expression": { @@ -7959,9 +7974,9 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 341, - "src": "4900:9:1", + "src": "4948:9:1", "typeDescriptions": { - "typeIdentifier": "t_contract$_IAlgoMiner_$778", + "typeIdentifier": "t_contract$_IAlgoMiner_$783", "typeString": "contract IAlgoMiner" } }, @@ -7972,8 +7987,8 @@ "lValueRequested": false, "memberName": "getMiner", "nodeType": "MemberAccess", - "referencedDeclaration": 777, - "src": "4900:18:1", + "referencedDeclaration": 772, + "src": "4948:18:1", "typeDescriptions": { "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", "typeString": "function () view external returns (address)" @@ -7987,7 +8002,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4900:20:1", + "src": "4948:20:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8002,7 +8017,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 464, - "src": "4922:11:1", + "src": "4970:11:1", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$6_memory_ptr", "typeString": "uint256[6] memory" @@ -8016,7 +8031,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 355, - "src": "4934:13:1", + "src": "4982:13:1", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -8027,7 +8042,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "4922:26:1", + "src": "4970:26:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8052,9 +8067,9 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 705, - "src": "4880:6:1", + "src": "4928:6:1", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$1106", + "typeIdentifier": "t_contract$_IERC20_$1111", "typeString": "contract IERC20" } }, @@ -8065,10 +8080,10 @@ "lValueRequested": false, "memberName": "safeTransfer", "nodeType": "MemberAccess", - "referencedDeclaration": 1131, - "src": "4880:19:1", + "referencedDeclaration": 1136, + "src": "4928:19:1", "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_IERC20_$1106_$_t_address_$_t_uint256_$returns$__$bound_to$_t_contract$_IERC20_$1106_$", + "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_IERC20_$1111_$_t_address_$_t_uint256_$returns$__$bound_to$_t_contract$_IERC20_$1111_$", "typeString": "function (contract IERC20,address,uint256)" } }, @@ -8080,7 +8095,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4880:69:1", + "src": "4928:69:1", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -8088,7 +8103,7 @@ }, "id": 567, "nodeType": "ExpressionStatement", - "src": "4880:69:1" + "src": "4928:69:1" } ] }, @@ -8110,7 +8125,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 330, - "src": "4691:1:1", + "src": "4739:1:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8127,7 +8142,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 124, - "src": "4695:7:1", + "src": "4743:7:1", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage", "typeString": "address[] storage ref" @@ -8141,13 +8156,13 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "4695:14:1", + "src": "4743:14:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "4691:18:1", + "src": "4739:18:1", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -8169,7 +8184,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 330, - "src": "4684:1:1", + "src": "4732:1:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8187,7 +8202,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "4688:1:1", + "src": "4736:1:1", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", @@ -8195,7 +8210,7 @@ }, "value": "1" }, - "src": "4684:5:1", + "src": "4732:5:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8203,7 +8218,7 @@ }, "id": 529, "nodeType": "ExpressionStatement", - "src": "4684:5:1" + "src": "4732:5:1" }, "loopExpression": { "expression": { @@ -8216,7 +8231,7 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "4711:3:1", + "src": "4759:3:1", "subExpression": { "argumentTypes": null, "id": 534, @@ -8224,7 +8239,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 330, - "src": "4711:1:1", + "src": "4759:1:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8237,10 +8252,10 @@ }, "id": 536, "nodeType": "ExpressionStatement", - "src": "4711:3:1" + "src": "4759:3:1" }, "nodeType": "ForStatement", - "src": "4680:281:1" + "src": "4728:281:1" } ] }, @@ -8259,15 +8274,15 @@ "name": "notTerminated", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 806, - "src": "2636:13:1", + "referencedDeclaration": 811, + "src": "2684:13:1", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "2636:13:1" + "src": "2684:13:1" }, { "arguments": null, @@ -8279,14 +8294,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 634, - "src": "2650:10:1", + "src": "2698:10:1", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "2650:10:1" + "src": "2698:10:1" } ], "name": "mine", @@ -8295,17 +8310,17 @@ "id": 295, "nodeType": "ParameterList", "parameters": [], - "src": "2626:2:1" + "src": "2674:2:1" }, "payable": false, "returnParameters": { "id": 300, "nodeType": "ParameterList", "parameters": [], - "src": "2661:0:1" + "src": "2709:0:1" }, "scope": 606, - "src": "2613:2355:1", + "src": "2661:2355:1", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" @@ -8314,7 +8329,7 @@ "body": { "id": 579, "nodeType": "Block", - "src": "5017:31:1", + "src": "5065:31:1", "statements": [ { "expression": { @@ -8329,7 +8344,7 @@ 749 ], "referencedDeclaration": 749, - "src": "5028:10:1", + "src": "5076:10:1", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", "typeString": "function ()" @@ -8343,7 +8358,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5028:12:1", + "src": "5076:12:1", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -8351,7 +8366,7 @@ }, "id": 578, "nodeType": "ExpressionStatement", - "src": "5028:12:1" + "src": "5076:12:1" } ] }, @@ -8371,14 +8386,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 27, - "src": "5004:12:1", + "src": "5052:12:1", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "5004:12:1" + "src": "5052:12:1" } ], "name": "terminate", @@ -8387,17 +8402,17 @@ "id": 572, "nodeType": "ParameterList", "parameters": [], - "src": "4994:2:1" + "src": "5042:2:1" }, "payable": false, "returnParameters": { "id": 575, "nodeType": "ParameterList", "parameters": [], - "src": "5017:0:1" + "src": "5065:0:1" }, "scope": 606, - "src": "4976:72:1", + "src": "5024:72:1", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" @@ -8406,7 +8421,7 @@ "body": { "id": 590, "nodeType": "Block", - "src": "5111:44:1", + "src": "5159:44:1", "statements": [ { "expression": { @@ -8429,7 +8444,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 124, - "src": "5129:7:1", + "src": "5177:7:1", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage", "typeString": "address[] storage ref" @@ -8443,7 +8458,7 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "5129:14:1", + "src": "5177:14:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8461,7 +8476,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "5146:1:1", + "src": "5194:1:1", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", @@ -8469,7 +8484,7 @@ }, "value": "1" }, - "src": "5129:18:1", + "src": "5177:18:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8478,7 +8493,7 @@ "functionReturnParameters": 584, "id": 589, "nodeType": "Return", - "src": "5122:25:1" + "src": "5170:25:1" } ] }, @@ -8494,7 +8509,7 @@ "id": 581, "nodeType": "ParameterList", "parameters": [], - "src": "5078:2:1" + "src": "5126:2:1" }, "payable": false, "returnParameters": { @@ -8507,7 +8522,7 @@ "name": "", "nodeType": "VariableDeclaration", "scope": 591, - "src": "5102:7:1", + "src": "5150:7:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8518,7 +8533,7 @@ "id": 582, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "5102:7:1", + "src": "5150:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8528,10 +8543,10 @@ "visibility": "internal" } ], - "src": "5101:9:1" + "src": "5149:9:1" }, "scope": 606, - "src": "5056:99:1", + "src": "5104:99:1", "stateMutability": "view", "superFunction": null, "visibility": "public" @@ -8540,7 +8555,7 @@ "body": { "id": 604, "nodeType": "Block", - "src": "5233:44:1", + "src": "5281:44:1", "statements": [ { "expression": { @@ -8552,7 +8567,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 124, - "src": "5251:7:1", + "src": "5299:7:1", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage", "typeString": "address[] storage ref" @@ -8577,7 +8592,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 593, - "src": "5259:5:1", + "src": "5307:5:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8595,7 +8610,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "5267:1:1", + "src": "5315:1:1", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", @@ -8603,7 +8618,7 @@ }, "value": "1" }, - "src": "5259:9:1", + "src": "5307:9:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8614,7 +8629,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "5251:18:1", + "src": "5299:18:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8623,7 +8638,7 @@ "functionReturnParameters": 597, "id": 603, "nodeType": "Return", - "src": "5244:25:1" + "src": "5292:25:1" } ] }, @@ -8645,7 +8660,7 @@ "name": "index", "nodeType": "VariableDeclaration", "scope": 605, - "src": "5188:13:1", + "src": "5236:13:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8656,7 +8671,7 @@ "id": 592, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "5188:7:1", + "src": "5236:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8666,7 +8681,7 @@ "visibility": "internal" } ], - "src": "5187:15:1" + "src": "5235:15:1" }, "payable": false, "returnParameters": { @@ -8679,7 +8694,7 @@ "name": "", "nodeType": "VariableDeclaration", "scope": 605, - "src": "5224:7:1", + "src": "5272:7:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8690,7 +8705,7 @@ "id": 595, "name": "address", "nodeType": "ElementaryTypeName", - "src": "5224:7:1", + "src": "5272:7:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8700,20 +8715,20 @@ "visibility": "internal" } ], - "src": "5223:9:1" + "src": "5271:9:1" }, "scope": 606, - "src": "5163:114:1", + "src": "5211:114:1", "stateMutability": "view", "superFunction": null, "visibility": "public" } ], "scope": 607, - "src": "556:4724:1" + "src": "556:4772:1" } ], - "src": "0:5280:1" + "src": "0:5328:1" }, "id": 1 }, @@ -8745,7 +8760,7 @@ "id": 609, "nodeType": "ImportDirective", "scope": 694, - "sourceUnit": 910, + "sourceUnit": 915, "src": "28:189:2", "symbolAliases": [], "unitAlias": "" @@ -8770,10 +8785,10 @@ "id": 610, "name": "Roles", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 909, + "referencedDeclaration": 914, "src": "258:5:2", "typeDescriptions": { - "typeIdentifier": "t_contract$_Roles_$909", + "typeIdentifier": "t_contract$_Roles_$914", "typeString": "library Roles" } }, @@ -8784,10 +8799,10 @@ "id": 611, "name": "Roles.Role", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 822, + "referencedDeclaration": 827, "src": "268:10:2", "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$822_storage_ptr", + "typeIdentifier": "t_struct$_Role_$827_storage_ptr", "typeString": "struct Roles.Role" } } @@ -8802,7 +8817,7 @@ "stateVariable": true, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$822_storage", + "typeIdentifier": "t_struct$_Role_$827_storage", "typeString": "struct Roles.Role" }, "typeName": { @@ -8810,10 +8825,10 @@ "id": 613, "name": "Roles.Role", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 822, + "referencedDeclaration": 827, "src": "287:10:2", "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$822_storage_ptr", + "typeIdentifier": "t_struct$_Role_$827_storage_ptr", "typeString": "struct Roles.Role" } }, @@ -8838,7 +8853,7 @@ "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1265, + "referencedDeclaration": 1270, "src": "375:3:2", "typeDescriptions": { "typeIdentifier": "t_magic_message", @@ -8946,7 +8961,7 @@ "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1265, + "referencedDeclaration": 1270, "src": "452:3:2", "typeDescriptions": { "typeIdentifier": "t_magic_message", @@ -9012,10 +9027,10 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1268, - 1269 + 1273, + 1274 ], - "referencedDeclaration": 1268, + "referencedDeclaration": 1273, "src": "435:7:2", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", @@ -9100,7 +9115,7 @@ "referencedDeclaration": 614, "src": "572:14:2", "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$822_storage", + "typeIdentifier": "t_struct$_Role_$827_storage", "typeString": "struct Roles.Role storage ref" } }, @@ -9111,10 +9126,10 @@ "lValueRequested": false, "memberName": "has", "nodeType": "MemberAccess", - "referencedDeclaration": 908, + "referencedDeclaration": 913, "src": "572:18:2", "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_Role_$822_storage_ptr_$_t_address_$returns$_t_bool_$bound_to$_t_struct$_Role_$822_storage_ptr_$", + "typeIdentifier": "t_function_internal_view$_t_struct$_Role_$827_storage_ptr_$_t_address_$returns$_t_bool_$bound_to$_t_struct$_Role_$827_storage_ptr_$", "typeString": "function (struct Roles.Role storage pointer,address) view returns (bool)" } }, @@ -9374,7 +9389,7 @@ "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1265, + "referencedDeclaration": 1270, "src": "773:3:2", "typeDescriptions": { "typeIdentifier": "t_magic_message", @@ -9501,7 +9516,7 @@ "referencedDeclaration": 614, "src": "857:14:2", "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$822_storage", + "typeIdentifier": "t_struct$_Role_$827_storage", "typeString": "struct Roles.Role storage ref" } }, @@ -9512,10 +9527,10 @@ "lValueRequested": false, "memberName": "add", "nodeType": "MemberAccess", - "referencedDeclaration": 854, + "referencedDeclaration": 859, "src": "857:18:2", "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Role_$822_storage_ptr_$_t_address_$returns$__$bound_to$_t_struct$_Role_$822_storage_ptr_$", + "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Role_$827_storage_ptr_$_t_address_$returns$__$bound_to$_t_struct$_Role_$827_storage_ptr_$", "typeString": "function (struct Roles.Role storage pointer,address)" } }, @@ -9633,7 +9648,7 @@ "referencedDeclaration": 614, "src": "960:14:2", "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$822_storage", + "typeIdentifier": "t_struct$_Role_$827_storage", "typeString": "struct Roles.Role storage ref" } }, @@ -9644,10 +9659,10 @@ "lValueRequested": false, "memberName": "remove", "nodeType": "MemberAccess", - "referencedDeclaration": 885, + "referencedDeclaration": 890, "src": "960:21:2", "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Role_$822_storage_ptr_$_t_address_$returns$__$bound_to$_t_struct$_Role_$822_storage_ptr_$", + "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Role_$827_storage_ptr_$_t_address_$returns$__$bound_to$_t_struct$_Role_$827_storage_ptr_$", "typeString": "function (struct Roles.Role storage pointer,address)" } }, @@ -9761,7 +9776,7 @@ "id": 696, "nodeType": "ImportDirective", "scope": 751, - "sourceUnit": 1107, + "sourceUnit": 1112, "src": "27:195:3", "symbolAliases": [], "unitAlias": "" @@ -9772,7 +9787,7 @@ "id": 697, "nodeType": "ImportDirective", "scope": 751, - "sourceUnit": 1251, + "sourceUnit": 1256, "src": "224:198:3", "symbolAliases": [], "unitAlias": "" @@ -9783,7 +9798,7 @@ "id": 698, "nodeType": "ImportDirective", "scope": 751, - "sourceUnit": 816, + "sourceUnit": 821, "src": "426:26:3", "symbolAliases": [], "unitAlias": "" @@ -9797,10 +9812,10 @@ "id": 699, "name": "Terminable", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 815, + "referencedDeclaration": 820, "src": "485:10:3", "typeDescriptions": { - "typeIdentifier": "t_contract$_Terminable_$815", + "typeIdentifier": "t_contract$_Terminable_$820", "typeString": "contract Terminable" } }, @@ -9810,7 +9825,7 @@ } ], "contractDependencies": [ - 815 + 820 ], "contractKind": "contract", "documentation": null, @@ -9818,7 +9833,7 @@ "id": 750, "linearizedBaseContracts": [ 750, - 815 + 820 ], "name": "ERC20TokenHolder", "nodeType": "ContractDefinition", @@ -9830,10 +9845,10 @@ "id": 701, "name": "SafeERC20", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1250, + "referencedDeclaration": 1255, "src": "509:9:3", "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeERC20_$1250", + "typeIdentifier": "t_contract$_SafeERC20_$1255", "typeString": "library SafeERC20" } }, @@ -9844,10 +9859,10 @@ "id": 702, "name": "IERC20", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1106, + "referencedDeclaration": 1111, "src": "523:6:3", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$1106", + "typeIdentifier": "t_contract$_IERC20_$1111", "typeString": "contract IERC20" } } @@ -9862,7 +9877,7 @@ "stateVariable": true, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$1106", + "typeIdentifier": "t_contract$_IERC20_$1111", "typeString": "contract IERC20" }, "typeName": { @@ -9870,10 +9885,10 @@ "id": 704, "name": "IERC20", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1106, + "referencedDeclaration": 1111, "src": "538:6:3", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$1106", + "typeIdentifier": "t_contract$_IERC20_$1111", "typeString": "contract IERC20" } }, @@ -9903,7 +9918,7 @@ "referencedDeclaration": 705, "src": "636:6:3", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$1106", + "typeIdentifier": "t_contract$_IERC20_$1111", "typeString": "contract IERC20" } }, @@ -9937,10 +9952,10 @@ "name": "IERC20", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1106, + "referencedDeclaration": 1111, "src": "645:6:3", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$1106_$", + "typeIdentifier": "t_type$_t_contract$_IERC20_$1111_$", "typeString": "type(contract IERC20)" } }, @@ -9954,13 +9969,13 @@ "nodeType": "FunctionCall", "src": "645:20:3", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$1106", + "typeIdentifier": "t_contract$_IERC20_$1111", "typeString": "contract IERC20" } }, "src": "636:29:3", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$1106", + "typeIdentifier": "t_contract$_IERC20_$1111", "typeString": "contract IERC20" } }, @@ -9985,10 +10000,10 @@ "name": "Terminable", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 815, + "referencedDeclaration": 820, "src": "603:10:3", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Terminable_$815_$", + "typeIdentifier": "t_type$_t_contract$_Terminable_$820_$", "typeString": "type(contract Terminable)" } }, @@ -10095,7 +10110,7 @@ "name": "this", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1292, + "referencedDeclaration": 1297, "src": "773:4:3", "typeDescriptions": { "typeIdentifier": "t_contract$_ERC20TokenHolder_$750", @@ -10154,7 +10169,7 @@ "referencedDeclaration": 705, "src": "748:6:3", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$1106", + "typeIdentifier": "t_contract$_IERC20_$1111", "typeString": "contract IERC20" } }, @@ -10165,7 +10180,7 @@ "lValueRequested": false, "memberName": "balanceOf", "nodeType": "MemberAccess", - "referencedDeclaration": 1051, + "referencedDeclaration": 1056, "src": "748:16:3", "typeDescriptions": { "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", @@ -10259,7 +10274,7 @@ "name": "_creator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 782, + "referencedDeclaration": 787, "src": "848:8:3", "typeDescriptions": { "typeIdentifier": "t_address", @@ -10300,7 +10315,7 @@ "referencedDeclaration": 705, "src": "828:6:3", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$1106", + "typeIdentifier": "t_contract$_IERC20_$1111", "typeString": "contract IERC20" } }, @@ -10311,10 +10326,10 @@ "lValueRequested": false, "memberName": "safeTransfer", "nodeType": "MemberAccess", - "referencedDeclaration": 1131, + "referencedDeclaration": 1136, "src": "828:19:3", "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_IERC20_$1106_$_t_address_$_t_uint256_$returns$__$bound_to$_t_contract$_IERC20_$1106_$", + "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_IERC20_$1111_$_t_address_$_t_uint256_$returns$__$bound_to$_t_contract$_IERC20_$1111_$", "typeString": "function (contract IERC20,address,uint256)" } }, @@ -10351,10 +10366,10 @@ "name": "Terminable", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 815, + "referencedDeclaration": 820, "src": "895:10:3", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Terminable_$815_$", + "typeIdentifier": "t_type$_t_contract$_Terminable_$820_$", "typeString": "type(contract Terminable)" } }, @@ -10365,7 +10380,7 @@ "lValueRequested": false, "memberName": "_terminate", "nodeType": "MemberAccess", - "referencedDeclaration": 814, + "referencedDeclaration": 819, "src": "895:21:3", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", @@ -10416,7 +10431,7 @@ "scope": 750, "src": "681:245:3", "stateMutability": "nonpayable", - "superFunction": 814, + "superFunction": 819, "visibility": "internal" } ], @@ -10433,10 +10448,10 @@ "absolutePath": "d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/IAlgoMiner.sol", "exportedSymbols": { "IAlgoMiner": [ - 778 + 783 ] }, - "id": 779, + "id": 784, "nodeType": "SourceUnit", "nodes": [ { @@ -10455,9 +10470,9 @@ "contractKind": "contract", "documentation": null, "fullyImplemented": false, - "id": 778, + "id": 783, "linearizedBaseContracts": [ - 778 + 783 ], "name": "IAlgoMiner", "nodeType": "ContractDefinition", @@ -10512,7 +10527,7 @@ ], "src": "97:6:4" }, - "scope": 778, + "scope": 783, "src": "54:50:4", "stateMutability": "pure", "superFunction": null, @@ -10568,7 +10583,7 @@ ], "src": "154:7:4" }, - "scope": 778, + "scope": 783, "src": "110:52:4", "stateMutability": "view", "superFunction": null, @@ -10624,7 +10639,7 @@ ], "src": "211:7:4" }, - "scope": 778, + "scope": 783, "src": "168:51:4", "stateMutability": "view", "superFunction": null, @@ -10638,7 +10653,7 @@ "isConstructor": false, "isDeclaredConst": true, "modifiers": [], - "name": "isMining", + "name": "getMiner", "nodeType": "FunctionDefinition", "parameters": { "id": 768, @@ -10657,31 +10672,31 @@ "name": "", "nodeType": "VariableDeclaration", "scope": 772, - "src": "266:4:4", + "src": "266:7:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" + "typeIdentifier": "t_address", + "typeString": "address" }, "typeName": { "id": 769, - "name": "bool", + "name": "address", "nodeType": "ElementaryTypeName", - "src": "266:4:4", + "src": "266:7:4", "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" + "typeIdentifier": "t_address", + "typeString": "address" } }, "value": null, "visibility": "internal" } ], - "src": "265:6:4" + "src": "265:9:4" }, - "scope": 778, - "src": "225:47:4", + "scope": 783, + "src": "225:50:4", "stateMutability": "view", "superFunction": null, "visibility": "public" @@ -10694,13 +10709,13 @@ "isConstructor": false, "isDeclaredConst": true, "modifiers": [], - "name": "getMiner", + "name": "getReferral", "nodeType": "FunctionDefinition", "parameters": { "id": 773, "nodeType": "ParameterList", "parameters": [], - "src": "295:2:4" + "src": "301:2:4" }, "payable": false, "returnParameters": { @@ -10713,7 +10728,7 @@ "name": "", "nodeType": "VariableDeclaration", "scope": 777, - "src": "319:7:4", + "src": "325:7:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -10724,7 +10739,7 @@ "id": 774, "name": "address", "nodeType": "ElementaryTypeName", - "src": "319:7:4", + "src": "325:7:4", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -10734,20 +10749,76 @@ "visibility": "internal" } ], - "src": "318:9:4" + "src": "324:9:4" }, - "scope": 778, - "src": "278:50:4", + "scope": 783, + "src": "281:53:4", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": null, + "documentation": null, + "id": 782, + "implemented": false, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "isMining", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 778, + "nodeType": "ParameterList", + "parameters": [], + "src": "357:2:4" + }, + "payable": false, + "returnParameters": { + "id": 781, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 780, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 782, + "src": "381:4:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 779, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "381:4:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "380:6:4" + }, + "scope": 783, + "src": "340:47:4", "stateMutability": "view", "superFunction": null, "visibility": "public" } ], - "scope": 779, - "src": "27:304:4" + "scope": 784, + "src": "27:363:4" } ], - "src": "0:331:4" + "src": "0:390:4" }, "id": 4 }, @@ -10756,14 +10827,14 @@ "absolutePath": "d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/Terminable.sol", "exportedSymbols": { "Terminable": [ - 815 + 820 ] }, - "id": 816, + "id": 821, "nodeType": "SourceUnit", "nodes": [ { - "id": 780, + "id": 785, "literals": [ "solidity", "0.4", @@ -10778,19 +10849,19 @@ "contractKind": "contract", "documentation": null, "fullyImplemented": true, - "id": 815, + "id": 820, "linearizedBaseContracts": [ - 815 + 820 ], "name": "Terminable", "nodeType": "ContractDefinition", "nodes": [ { "constant": false, - "id": 782, + "id": 787, "name": "_creator", "nodeType": "VariableDeclaration", - "scope": 815, + "scope": 820, "src": "56:25:5", "stateVariable": true, "storageLocation": "default", @@ -10799,7 +10870,7 @@ "typeString": "address" }, "typeName": { - "id": 781, + "id": 786, "name": "address", "nodeType": "ElementaryTypeName", "src": "56:7:5", @@ -10813,10 +10884,10 @@ }, { "constant": false, - "id": 784, + "id": 789, "name": "_terminated", "nodeType": "VariableDeclaration", - "scope": 815, + "scope": 820, "src": "88:25:5", "stateVariable": true, "storageLocation": "default", @@ -10825,7 +10896,7 @@ "typeString": "bool" }, "typeName": { - "id": 783, + "id": 788, "name": "bool", "nodeType": "ElementaryTypeName", "src": "88:4:5", @@ -10839,25 +10910,25 @@ }, { "body": { - "id": 796, + "id": 801, "nodeType": "Block", "src": "145:70:5", "statements": [ { "expression": { "argumentTypes": null, - "id": 790, + "id": 795, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 787, + "id": 792, "name": "_creator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 782, + "referencedDeclaration": 787, "src": "156:8:5", "typeDescriptions": { "typeIdentifier": "t_address", @@ -10870,18 +10941,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 788, + "id": 793, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1265, + "referencedDeclaration": 1270, "src": "167:3:5", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 789, + "id": 794, "isConstant": false, "isLValue": false, "isPure": false, @@ -10901,25 +10972,25 @@ "typeString": "address" } }, - "id": 791, + "id": 796, "nodeType": "ExpressionStatement", "src": "156:21:5" }, { "expression": { "argumentTypes": null, - "id": 794, + "id": 799, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 792, + "id": 797, "name": "_terminated", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 784, + "referencedDeclaration": 789, "src": "188:11:5", "typeDescriptions": { "typeIdentifier": "t_bool", @@ -10931,7 +11002,7 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "66616c7365", - "id": 793, + "id": 798, "isConstant": false, "isLValue": false, "isPure": true, @@ -10952,14 +11023,14 @@ "typeString": "bool" } }, - "id": 795, + "id": 800, "nodeType": "ExpressionStatement", "src": "188:19:5" } ] }, "documentation": null, - "id": 797, + "id": 802, "implemented": true, "isConstructor": true, "isDeclaredConst": false, @@ -10967,19 +11038,19 @@ "name": "", "nodeType": "FunctionDefinition", "parameters": { - "id": 785, + "id": 790, "nodeType": "ParameterList", "parameters": [], "src": "133:2:5" }, "payable": false, "returnParameters": { - "id": 786, + "id": 791, "nodeType": "ParameterList", "parameters": [], "src": "145:0:5" }, - "scope": 815, + "scope": 820, "src": "122:93:5", "stateMutability": "nonpayable", "superFunction": null, @@ -10987,7 +11058,7 @@ }, { "body": { - "id": 805, + "id": 810, "nodeType": "Block", "src": "248:52:5", "statements": [ @@ -10997,7 +11068,7 @@ "arguments": [ { "argumentTypes": null, - "id": 801, + "id": 806, "isConstant": false, "isLValue": false, "isPure": false, @@ -11008,11 +11079,11 @@ "src": "267:12:5", "subExpression": { "argumentTypes": null, - "id": 800, + "id": 805, "name": "_terminated", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 784, + "referencedDeclaration": 789, "src": "268:11:5", "typeDescriptions": { "typeIdentifier": "t_bool", @@ -11032,21 +11103,21 @@ "typeString": "bool" } ], - "id": 799, + "id": 804, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1268, - 1269 + 1273, + 1274 ], - "referencedDeclaration": 1268, + "referencedDeclaration": 1273, "src": "259:7:5", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 802, + "id": 807, "isConstant": false, "isLValue": false, "isPure": false, @@ -11060,23 +11131,23 @@ "typeString": "tuple()" } }, - "id": 803, + "id": 808, "nodeType": "ExpressionStatement", "src": "259:21:5" }, { - "id": 804, + "id": 809, "nodeType": "PlaceholderStatement", "src": "291:1:5" } ] }, "documentation": null, - "id": 806, + "id": 811, "name": "notTerminated", "nodeType": "ModifierDefinition", "parameters": { - "id": 798, + "id": 803, "nodeType": "ParameterList", "parameters": [], "src": "245:2:5" @@ -11086,25 +11157,25 @@ }, { "body": { - "id": 813, + "id": 818, "nodeType": "Block", "src": "339:37:5", "statements": [ { "expression": { "argumentTypes": null, - "id": 811, + "id": 816, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 809, + "id": 814, "name": "_terminated", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 784, + "referencedDeclaration": 789, "src": "350:11:5", "typeDescriptions": { "typeIdentifier": "t_bool", @@ -11116,7 +11187,7 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "74727565", - "id": 810, + "id": 815, "isConstant": false, "isLValue": false, "isPure": true, @@ -11137,14 +11208,14 @@ "typeString": "bool" } }, - "id": 812, + "id": 817, "nodeType": "ExpressionStatement", "src": "350:18:5" } ] }, "documentation": null, - "id": 814, + "id": 819, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -11152,26 +11223,26 @@ "name": "_terminate", "nodeType": "FunctionDefinition", "parameters": { - "id": 807, + "id": 812, "nodeType": "ParameterList", "parameters": [], "src": "327:2:5" }, "payable": false, "returnParameters": { - "id": 808, + "id": 813, "nodeType": "ParameterList", "parameters": [], "src": "339:0:5" }, - "scope": 815, + "scope": 820, "src": "308:68:5", "stateMutability": "nonpayable", "superFunction": null, "visibility": "internal" } ], - "scope": 816, + "scope": 821, "src": "27:352:5" } ], @@ -11184,14 +11255,14 @@ "absolutePath": "d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/node_modules/openzeppelin-solidity/contracts/access/Roles.sol", "exportedSymbols": { "Roles": [ - 909 + 914 ] }, - "id": 910, + "id": 915, "nodeType": "SourceUnit", "nodes": [ { - "id": 817, + "id": 822, "literals": [ "solidity", "^", @@ -11207,23 +11278,23 @@ "contractKind": "library", "documentation": "@title Roles\n@dev Library for managing addresses assigned to a Role.", "fullyImplemented": true, - "id": 909, + "id": 914, "linearizedBaseContracts": [ - 909 + 914 ], "name": "Roles", "nodeType": "ContractDefinition", "nodes": [ { "canonicalName": "Roles.Role", - "id": 822, + "id": 827, "members": [ { "constant": false, - "id": 821, + "id": 826, "name": "bearer", "nodeType": "VariableDeclaration", - "scope": 822, + "scope": 827, "src": "145:32:6", "stateVariable": false, "storageLocation": "default", @@ -11232,9 +11303,9 @@ "typeString": "mapping(address => bool)" }, "typeName": { - "id": 820, + "id": 825, "keyType": { - "id": 818, + "id": 823, "name": "address", "nodeType": "ElementaryTypeName", "src": "154:7:6", @@ -11250,7 +11321,7 @@ "typeString": "mapping(address => bool)" }, "valueType": { - "id": 819, + "id": 824, "name": "bool", "nodeType": "ElementaryTypeName", "src": "165:4:6", @@ -11266,13 +11337,13 @@ ], "name": "Role", "nodeType": "StructDefinition", - "scope": 909, + "scope": 914, "src": "127:55:6", "visibility": "public" }, { "body": { - "id": 853, + "id": 858, "nodeType": "Block", "src": "302:109:6", "statements": [ @@ -11286,18 +11357,18 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 834, + "id": 839, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 830, + "id": 835, "name": "account", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 826, + "referencedDeclaration": 831, "src": "316:7:6", "typeDescriptions": { "typeIdentifier": "t_address", @@ -11312,7 +11383,7 @@ { "argumentTypes": null, "hexValue": "30", - "id": 832, + "id": 837, "isConstant": false, "isLValue": false, "isPure": true, @@ -11335,7 +11406,7 @@ "typeString": "int_const 0" } ], - "id": 831, + "id": 836, "isConstant": false, "isLValue": false, "isPure": true, @@ -11348,7 +11419,7 @@ }, "typeName": "address" }, - "id": 833, + "id": 838, "isConstant": false, "isLValue": false, "isPure": true, @@ -11376,21 +11447,21 @@ "typeString": "bool" } ], - "id": 829, + "id": 834, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1268, - 1269 + 1273, + 1274 ], - "referencedDeclaration": 1268, + "referencedDeclaration": 1273, "src": "308:7:6", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 835, + "id": 840, "isConstant": false, "isLValue": false, "isPure": false, @@ -11404,7 +11475,7 @@ "typeString": "tuple()" } }, - "id": 836, + "id": 841, "nodeType": "ExpressionStatement", "src": "308:30:6" }, @@ -11414,7 +11485,7 @@ "arguments": [ { "argumentTypes": null, - "id": 842, + "id": 847, "isConstant": false, "isLValue": false, "isPure": false, @@ -11428,24 +11499,24 @@ "arguments": [ { "argumentTypes": null, - "id": 839, + "id": 844, "name": "role", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 824, + "referencedDeclaration": 829, "src": "357:4:6", "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$822_storage_ptr", + "typeIdentifier": "t_struct$_Role_$827_storage_ptr", "typeString": "struct Roles.Role storage pointer" } }, { "argumentTypes": null, - "id": 840, + "id": 845, "name": "account", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 826, + "referencedDeclaration": 831, "src": "363:7:6", "typeDescriptions": { "typeIdentifier": "t_address", @@ -11456,7 +11527,7 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_struct$_Role_$822_storage_ptr", + "typeIdentifier": "t_struct$_Role_$827_storage_ptr", "typeString": "struct Roles.Role storage pointer" }, { @@ -11464,18 +11535,18 @@ "typeString": "address" } ], - "id": 838, + "id": 843, "name": "has", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 908, + "referencedDeclaration": 913, "src": "353:3:6", "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_Role_$822_storage_ptr_$_t_address_$returns$_t_bool_$", + "typeIdentifier": "t_function_internal_view$_t_struct$_Role_$827_storage_ptr_$_t_address_$returns$_t_bool_$", "typeString": "function (struct Roles.Role storage pointer,address) view returns (bool)" } }, - "id": 841, + "id": 846, "isConstant": false, "isLValue": false, "isPure": false, @@ -11502,21 +11573,21 @@ "typeString": "bool" } ], - "id": 837, + "id": 842, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1268, - 1269 + 1273, + 1274 ], - "referencedDeclaration": 1268, + "referencedDeclaration": 1273, "src": "344:7:6", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 843, + "id": 848, "isConstant": false, "isLValue": false, "isPure": false, @@ -11530,14 +11601,14 @@ "typeString": "tuple()" } }, - "id": 844, + "id": 849, "nodeType": "ExpressionStatement", "src": "344:28:6" }, { "expression": { "argumentTypes": null, - "id": 851, + "id": 856, "isConstant": false, "isLValue": false, "isPure": false, @@ -11548,39 +11619,39 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 845, + "id": 850, "name": "role", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 824, + "referencedDeclaration": 829, "src": "379:4:6", "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$822_storage_ptr", + "typeIdentifier": "t_struct$_Role_$827_storage_ptr", "typeString": "struct Roles.Role storage pointer" } }, - "id": 848, + "id": 853, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "bearer", "nodeType": "MemberAccess", - "referencedDeclaration": 821, + "referencedDeclaration": 826, "src": "379:11:6", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, - "id": 849, + "id": 854, "indexExpression": { "argumentTypes": null, - "id": 847, + "id": 852, "name": "account", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 826, + "referencedDeclaration": 831, "src": "391:7:6", "typeDescriptions": { "typeIdentifier": "t_address", @@ -11603,7 +11674,7 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "74727565", - "id": 850, + "id": 855, "isConstant": false, "isLValue": false, "isPure": true, @@ -11624,14 +11695,14 @@ "typeString": "bool" } }, - "id": 852, + "id": 857, "nodeType": "ExpressionStatement", "src": "379:27:6" } ] }, "documentation": "@dev give an account access to this role", - "id": 854, + "id": 859, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -11639,31 +11710,31 @@ "name": "add", "nodeType": "FunctionDefinition", "parameters": { - "id": 827, + "id": 832, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 824, + "id": 829, "name": "role", "nodeType": "VariableDeclaration", - "scope": 854, + "scope": 859, "src": "257:17:6", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$822_storage_ptr", + "typeIdentifier": "t_struct$_Role_$827_storage_ptr", "typeString": "struct Roles.Role" }, "typeName": { "contractScope": null, - "id": 823, + "id": 828, "name": "Role", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 822, + "referencedDeclaration": 827, "src": "257:4:6", "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$822_storage_ptr", + "typeIdentifier": "t_struct$_Role_$827_storage_ptr", "typeString": "struct Roles.Role" } }, @@ -11672,10 +11743,10 @@ }, { "constant": false, - "id": 826, + "id": 831, "name": "account", "nodeType": "VariableDeclaration", - "scope": 854, + "scope": 859, "src": "276:15:6", "stateVariable": false, "storageLocation": "default", @@ -11684,7 +11755,7 @@ "typeString": "address" }, "typeName": { - "id": 825, + "id": 830, "name": "address", "nodeType": "ElementaryTypeName", "src": "276:7:6", @@ -11701,12 +11772,12 @@ }, "payable": false, "returnParameters": { - "id": 828, + "id": 833, "nodeType": "ParameterList", "parameters": [], "src": "302:0:6" }, - "scope": 909, + "scope": 914, "src": "244:167:6", "stateMutability": "nonpayable", "superFunction": null, @@ -11714,7 +11785,7 @@ }, { "body": { - "id": 884, + "id": 889, "nodeType": "Block", "src": "538:109:6", "statements": [ @@ -11728,18 +11799,18 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 866, + "id": 871, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 862, + "id": 867, "name": "account", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 858, + "referencedDeclaration": 863, "src": "552:7:6", "typeDescriptions": { "typeIdentifier": "t_address", @@ -11754,7 +11825,7 @@ { "argumentTypes": null, "hexValue": "30", - "id": 864, + "id": 869, "isConstant": false, "isLValue": false, "isPure": true, @@ -11777,7 +11848,7 @@ "typeString": "int_const 0" } ], - "id": 863, + "id": 868, "isConstant": false, "isLValue": false, "isPure": true, @@ -11790,7 +11861,7 @@ }, "typeName": "address" }, - "id": 865, + "id": 870, "isConstant": false, "isLValue": false, "isPure": true, @@ -11818,21 +11889,21 @@ "typeString": "bool" } ], - "id": 861, + "id": 866, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1268, - 1269 + 1273, + 1274 ], - "referencedDeclaration": 1268, + "referencedDeclaration": 1273, "src": "544:7:6", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 867, + "id": 872, "isConstant": false, "isLValue": false, "isPure": false, @@ -11846,7 +11917,7 @@ "typeString": "tuple()" } }, - "id": 868, + "id": 873, "nodeType": "ExpressionStatement", "src": "544:30:6" }, @@ -11859,24 +11930,24 @@ "arguments": [ { "argumentTypes": null, - "id": 871, + "id": 876, "name": "role", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 856, + "referencedDeclaration": 861, "src": "592:4:6", "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$822_storage_ptr", + "typeIdentifier": "t_struct$_Role_$827_storage_ptr", "typeString": "struct Roles.Role storage pointer" } }, { "argumentTypes": null, - "id": 872, + "id": 877, "name": "account", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 858, + "referencedDeclaration": 863, "src": "598:7:6", "typeDescriptions": { "typeIdentifier": "t_address", @@ -11887,7 +11958,7 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_struct$_Role_$822_storage_ptr", + "typeIdentifier": "t_struct$_Role_$827_storage_ptr", "typeString": "struct Roles.Role storage pointer" }, { @@ -11895,18 +11966,18 @@ "typeString": "address" } ], - "id": 870, + "id": 875, "name": "has", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 908, + "referencedDeclaration": 913, "src": "588:3:6", "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_Role_$822_storage_ptr_$_t_address_$returns$_t_bool_$", + "typeIdentifier": "t_function_internal_view$_t_struct$_Role_$827_storage_ptr_$_t_address_$returns$_t_bool_$", "typeString": "function (struct Roles.Role storage pointer,address) view returns (bool)" } }, - "id": 873, + "id": 878, "isConstant": false, "isLValue": false, "isPure": false, @@ -11928,21 +11999,21 @@ "typeString": "bool" } ], - "id": 869, + "id": 874, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1268, - 1269 + 1273, + 1274 ], - "referencedDeclaration": 1268, + "referencedDeclaration": 1273, "src": "580:7:6", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 874, + "id": 879, "isConstant": false, "isLValue": false, "isPure": false, @@ -11956,14 +12027,14 @@ "typeString": "tuple()" } }, - "id": 875, + "id": 880, "nodeType": "ExpressionStatement", "src": "580:27:6" }, { "expression": { "argumentTypes": null, - "id": 882, + "id": 887, "isConstant": false, "isLValue": false, "isPure": false, @@ -11974,39 +12045,39 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 876, + "id": 881, "name": "role", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 856, + "referencedDeclaration": 861, "src": "614:4:6", "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$822_storage_ptr", + "typeIdentifier": "t_struct$_Role_$827_storage_ptr", "typeString": "struct Roles.Role storage pointer" } }, - "id": 879, + "id": 884, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "bearer", "nodeType": "MemberAccess", - "referencedDeclaration": 821, + "referencedDeclaration": 826, "src": "614:11:6", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, - "id": 880, + "id": 885, "indexExpression": { "argumentTypes": null, - "id": 878, + "id": 883, "name": "account", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 858, + "referencedDeclaration": 863, "src": "626:7:6", "typeDescriptions": { "typeIdentifier": "t_address", @@ -12029,7 +12100,7 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "66616c7365", - "id": 881, + "id": 886, "isConstant": false, "isLValue": false, "isPure": true, @@ -12050,14 +12121,14 @@ "typeString": "bool" } }, - "id": 883, + "id": 888, "nodeType": "ExpressionStatement", "src": "614:28:6" } ] }, "documentation": "@dev remove an account's access to this role", - "id": 885, + "id": 890, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -12065,31 +12136,31 @@ "name": "remove", "nodeType": "FunctionDefinition", "parameters": { - "id": 859, + "id": 864, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 856, + "id": 861, "name": "role", "nodeType": "VariableDeclaration", - "scope": 885, + "scope": 890, "src": "493:17:6", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$822_storage_ptr", + "typeIdentifier": "t_struct$_Role_$827_storage_ptr", "typeString": "struct Roles.Role" }, "typeName": { "contractScope": null, - "id": 855, + "id": 860, "name": "Role", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 822, + "referencedDeclaration": 827, "src": "493:4:6", "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$822_storage_ptr", + "typeIdentifier": "t_struct$_Role_$827_storage_ptr", "typeString": "struct Roles.Role" } }, @@ -12098,10 +12169,10 @@ }, { "constant": false, - "id": 858, + "id": 863, "name": "account", "nodeType": "VariableDeclaration", - "scope": 885, + "scope": 890, "src": "512:15:6", "stateVariable": false, "storageLocation": "default", @@ -12110,7 +12181,7 @@ "typeString": "address" }, "typeName": { - "id": 857, + "id": 862, "name": "address", "nodeType": "ElementaryTypeName", "src": "512:7:6", @@ -12127,12 +12198,12 @@ }, "payable": false, "returnParameters": { - "id": 860, + "id": 865, "nodeType": "ParameterList", "parameters": [], "src": "538:0:6" }, - "scope": 909, + "scope": 914, "src": "477:170:6", "stateMutability": "nonpayable", "superFunction": null, @@ -12140,7 +12211,7 @@ }, { "body": { - "id": 907, + "id": 912, "nodeType": "Block", "src": "817:74:6", "statements": [ @@ -12154,18 +12225,18 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 899, + "id": 904, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 895, + "id": 900, "name": "account", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 889, + "referencedDeclaration": 894, "src": "831:7:6", "typeDescriptions": { "typeIdentifier": "t_address", @@ -12180,7 +12251,7 @@ { "argumentTypes": null, "hexValue": "30", - "id": 897, + "id": 902, "isConstant": false, "isLValue": false, "isPure": true, @@ -12203,7 +12274,7 @@ "typeString": "int_const 0" } ], - "id": 896, + "id": 901, "isConstant": false, "isLValue": false, "isPure": true, @@ -12216,7 +12287,7 @@ }, "typeName": "address" }, - "id": 898, + "id": 903, "isConstant": false, "isLValue": false, "isPure": true, @@ -12244,21 +12315,21 @@ "typeString": "bool" } ], - "id": 894, + "id": 899, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1268, - 1269 + 1273, + 1274 ], - "referencedDeclaration": 1268, + "referencedDeclaration": 1273, "src": "823:7:6", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 900, + "id": 905, "isConstant": false, "isLValue": false, "isPure": false, @@ -12272,7 +12343,7 @@ "typeString": "tuple()" } }, - "id": 901, + "id": 906, "nodeType": "ExpressionStatement", "src": "823:30:6" }, @@ -12283,39 +12354,39 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 902, + "id": 907, "name": "role", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 887, + "referencedDeclaration": 892, "src": "866:4:6", "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$822_storage_ptr", + "typeIdentifier": "t_struct$_Role_$827_storage_ptr", "typeString": "struct Roles.Role storage pointer" } }, - "id": 903, + "id": 908, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "bearer", "nodeType": "MemberAccess", - "referencedDeclaration": 821, + "referencedDeclaration": 826, "src": "866:11:6", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, - "id": 905, + "id": 910, "indexExpression": { "argumentTypes": null, - "id": 904, + "id": 909, "name": "account", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 889, + "referencedDeclaration": 894, "src": "878:7:6", "typeDescriptions": { "typeIdentifier": "t_address", @@ -12333,15 +12404,15 @@ "typeString": "bool" } }, - "functionReturnParameters": 893, - "id": 906, + "functionReturnParameters": 898, + "id": 911, "nodeType": "Return", "src": "859:27:6" } ] }, "documentation": "@dev check if an account has this role\n@return bool", - "id": 908, + "id": 913, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -12349,31 +12420,31 @@ "name": "has", "nodeType": "FunctionDefinition", "parameters": { - "id": 890, + "id": 895, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 887, + "id": 892, "name": "role", "nodeType": "VariableDeclaration", - "scope": 908, + "scope": 913, "src": "738:17:6", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$822_storage_ptr", + "typeIdentifier": "t_struct$_Role_$827_storage_ptr", "typeString": "struct Roles.Role" }, "typeName": { "contractScope": null, - "id": 886, + "id": 891, "name": "Role", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 822, + "referencedDeclaration": 827, "src": "738:4:6", "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$822_storage_ptr", + "typeIdentifier": "t_struct$_Role_$827_storage_ptr", "typeString": "struct Roles.Role" } }, @@ -12382,10 +12453,10 @@ }, { "constant": false, - "id": 889, + "id": 894, "name": "account", "nodeType": "VariableDeclaration", - "scope": 908, + "scope": 913, "src": "757:15:6", "stateVariable": false, "storageLocation": "default", @@ -12394,7 +12465,7 @@ "typeString": "address" }, "typeName": { - "id": 888, + "id": 893, "name": "address", "nodeType": "ElementaryTypeName", "src": "757:7:6", @@ -12411,15 +12482,15 @@ }, "payable": false, "returnParameters": { - "id": 893, + "id": 898, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 892, + "id": 897, "name": "", "nodeType": "VariableDeclaration", - "scope": 908, + "scope": 913, "src": "809:4:6", "stateVariable": false, "storageLocation": "default", @@ -12428,7 +12499,7 @@ "typeString": "bool" }, "typeName": { - "id": 891, + "id": 896, "name": "bool", "nodeType": "ElementaryTypeName", "src": "809:4:6", @@ -12443,14 +12514,14 @@ ], "src": "808:6:6" }, - "scope": 909, + "scope": 914, "src": "725:166:6", "stateMutability": "view", "superFunction": null, "visibility": "internal" } ], - "scope": 910, + "scope": 915, "src": "109:784:6" } ], @@ -12463,14 +12534,14 @@ "absolutePath": "d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/node_modules/openzeppelin-solidity/contracts/math/SafeMath.sol", "exportedSymbols": { "SafeMath": [ - 1037 + 1042 ] }, - "id": 1038, + "id": 1043, "nodeType": "SourceUnit", "nodes": [ { - "id": 911, + "id": 916, "literals": [ "solidity", "^", @@ -12486,16 +12557,16 @@ "contractKind": "library", "documentation": "@title SafeMath\n@dev Math operations with safety checks that revert on error", "fullyImplemented": true, - "id": 1037, + "id": 1042, "linearizedBaseContracts": [ - 1037 + 1042 ], "name": "SafeMath", "nodeType": "ContractDefinition", "nodes": [ { "body": { - "id": 943, + "id": 948, "nodeType": "Block", "src": "271:314:7", "statements": [ @@ -12506,18 +12577,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 922, + "id": 927, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 920, + "id": 925, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 913, + "referencedDeclaration": 918, "src": "486:1:7", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -12529,7 +12600,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 921, + "id": 926, "isConstant": false, "isLValue": false, "isPure": true, @@ -12551,11 +12622,11 @@ } }, "falseBody": null, - "id": 926, + "id": 931, "nodeType": "IfStatement", "src": "482:35:7", "trueBody": { - "id": 925, + "id": 930, "nodeType": "Block", "src": "494:23:7", "statements": [ @@ -12563,7 +12634,7 @@ "expression": { "argumentTypes": null, "hexValue": "30", - "id": 923, + "id": 928, "isConstant": false, "isLValue": false, "isPure": true, @@ -12578,8 +12649,8 @@ }, "value": "0" }, - "functionReturnParameters": 919, - "id": 924, + "functionReturnParameters": 924, + "id": 929, "nodeType": "Return", "src": "502:8:7" } @@ -12588,15 +12659,15 @@ }, { "assignments": [ - 928 + 933 ], "declarations": [ { "constant": false, - "id": 928, + "id": 933, "name": "c", "nodeType": "VariableDeclaration", - "scope": 944, + "scope": 949, "src": "523:9:7", "stateVariable": false, "storageLocation": "default", @@ -12605,7 +12676,7 @@ "typeString": "uint256" }, "typeName": { - "id": 927, + "id": 932, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "523:7:7", @@ -12618,25 +12689,25 @@ "visibility": "internal" } ], - "id": 932, + "id": 937, "initialValue": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 931, + "id": 936, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 929, + "id": 934, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 913, + "referencedDeclaration": 918, "src": "535:1:7", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -12647,11 +12718,11 @@ "operator": "*", "rightExpression": { "argumentTypes": null, - "id": 930, + "id": 935, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 915, + "referencedDeclaration": 920, "src": "539:1:7", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -12677,7 +12748,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 938, + "id": 943, "isConstant": false, "isLValue": false, "isPure": false, @@ -12688,18 +12759,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 936, + "id": 941, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 934, + "id": 939, "name": "c", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 928, + "referencedDeclaration": 933, "src": "554:1:7", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -12710,11 +12781,11 @@ "operator": "/", "rightExpression": { "argumentTypes": null, - "id": 935, + "id": 940, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 913, + "referencedDeclaration": 918, "src": "558:1:7", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -12731,11 +12802,11 @@ "operator": "==", "rightExpression": { "argumentTypes": null, - "id": 937, + "id": 942, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 915, + "referencedDeclaration": 920, "src": "563:1:7", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -12756,21 +12827,21 @@ "typeString": "bool" } ], - "id": 933, + "id": 938, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1268, - 1269 + 1273, + 1274 ], - "referencedDeclaration": 1268, + "referencedDeclaration": 1273, "src": "546:7:7", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 939, + "id": 944, "isConstant": false, "isLValue": false, "isPure": false, @@ -12784,33 +12855,33 @@ "typeString": "tuple()" } }, - "id": 940, + "id": 945, "nodeType": "ExpressionStatement", "src": "546:19:7" }, { "expression": { "argumentTypes": null, - "id": 941, + "id": 946, "name": "c", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 928, + "referencedDeclaration": 933, "src": "579:1:7", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 919, - "id": 942, + "functionReturnParameters": 924, + "id": 947, "nodeType": "Return", "src": "572:8:7" } ] }, "documentation": "@dev Multiplies two numbers, reverts on overflow.", - "id": 944, + "id": 949, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -12818,15 +12889,15 @@ "name": "mul", "nodeType": "FunctionDefinition", "parameters": { - "id": 916, + "id": 921, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 913, + "id": 918, "name": "a", "nodeType": "VariableDeclaration", - "scope": 944, + "scope": 949, "src": "217:9:7", "stateVariable": false, "storageLocation": "default", @@ -12835,7 +12906,7 @@ "typeString": "uint256" }, "typeName": { - "id": 912, + "id": 917, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "217:7:7", @@ -12849,10 +12920,10 @@ }, { "constant": false, - "id": 915, + "id": 920, "name": "b", "nodeType": "VariableDeclaration", - "scope": 944, + "scope": 949, "src": "228:9:7", "stateVariable": false, "storageLocation": "default", @@ -12861,7 +12932,7 @@ "typeString": "uint256" }, "typeName": { - "id": 914, + "id": 919, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "228:7:7", @@ -12878,15 +12949,15 @@ }, "payable": false, "returnParameters": { - "id": 919, + "id": 924, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 918, + "id": 923, "name": "", "nodeType": "VariableDeclaration", - "scope": 944, + "scope": 949, "src": "262:7:7", "stateVariable": false, "storageLocation": "default", @@ -12895,7 +12966,7 @@ "typeString": "uint256" }, "typeName": { - "id": 917, + "id": 922, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "262:7:7", @@ -12910,7 +12981,7 @@ ], "src": "261:9:7" }, - "scope": 1037, + "scope": 1042, "src": "204:381:7", "stateMutability": "pure", "superFunction": null, @@ -12918,7 +12989,7 @@ }, { "body": { - "id": 967, + "id": 972, "nodeType": "Block", "src": "762:203:7", "statements": [ @@ -12932,18 +13003,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 956, + "id": 961, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 954, + "id": 959, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 948, + "referencedDeclaration": 953, "src": "776:1:7", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -12955,7 +13026,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 955, + "id": 960, "isConstant": false, "isLValue": false, "isPure": true, @@ -12984,21 +13055,21 @@ "typeString": "bool" } ], - "id": 953, + "id": 958, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1268, - 1269 + 1273, + 1274 ], - "referencedDeclaration": 1268, + "referencedDeclaration": 1273, "src": "768:7:7", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 957, + "id": 962, "isConstant": false, "isLValue": false, "isPure": false, @@ -13012,21 +13083,21 @@ "typeString": "tuple()" } }, - "id": 958, + "id": 963, "nodeType": "ExpressionStatement", "src": "768:14:7" }, { "assignments": [ - 960 + 965 ], "declarations": [ { "constant": false, - "id": 960, + "id": 965, "name": "c", "nodeType": "VariableDeclaration", - "scope": 968, + "scope": 973, "src": "846:9:7", "stateVariable": false, "storageLocation": "default", @@ -13035,7 +13106,7 @@ "typeString": "uint256" }, "typeName": { - "id": 959, + "id": 964, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "846:7:7", @@ -13048,25 +13119,25 @@ "visibility": "internal" } ], - "id": 964, + "id": 969, "initialValue": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 963, + "id": 968, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 961, + "id": 966, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 946, + "referencedDeclaration": 951, "src": "858:1:7", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -13077,11 +13148,11 @@ "operator": "/", "rightExpression": { "argumentTypes": null, - "id": 962, + "id": 967, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 948, + "referencedDeclaration": 953, "src": "862:1:7", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -13100,26 +13171,26 @@ { "expression": { "argumentTypes": null, - "id": 965, + "id": 970, "name": "c", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 960, + "referencedDeclaration": 965, "src": "959:1:7", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 952, - "id": 966, + "functionReturnParameters": 957, + "id": 971, "nodeType": "Return", "src": "952:8:7" } ] }, "documentation": "@dev Integer division of two numbers truncating the quotient, reverts on division by zero.", - "id": 968, + "id": 973, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -13127,15 +13198,15 @@ "name": "div", "nodeType": "FunctionDefinition", "parameters": { - "id": 949, + "id": 954, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 946, + "id": 951, "name": "a", "nodeType": "VariableDeclaration", - "scope": 968, + "scope": 973, "src": "708:9:7", "stateVariable": false, "storageLocation": "default", @@ -13144,7 +13215,7 @@ "typeString": "uint256" }, "typeName": { - "id": 945, + "id": 950, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "708:7:7", @@ -13158,10 +13229,10 @@ }, { "constant": false, - "id": 948, + "id": 953, "name": "b", "nodeType": "VariableDeclaration", - "scope": 968, + "scope": 973, "src": "719:9:7", "stateVariable": false, "storageLocation": "default", @@ -13170,7 +13241,7 @@ "typeString": "uint256" }, "typeName": { - "id": 947, + "id": 952, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "719:7:7", @@ -13187,15 +13258,15 @@ }, "payable": false, "returnParameters": { - "id": 952, + "id": 957, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 951, + "id": 956, "name": "", "nodeType": "VariableDeclaration", - "scope": 968, + "scope": 973, "src": "753:7:7", "stateVariable": false, "storageLocation": "default", @@ -13204,7 +13275,7 @@ "typeString": "uint256" }, "typeName": { - "id": 950, + "id": 955, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "753:7:7", @@ -13219,7 +13290,7 @@ ], "src": "752:9:7" }, - "scope": 1037, + "scope": 1042, "src": "695:270:7", "stateMutability": "pure", "superFunction": null, @@ -13227,7 +13298,7 @@ }, { "body": { - "id": 991, + "id": 996, "nodeType": "Block", "src": "1145:64:7", "statements": [ @@ -13241,18 +13312,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 980, + "id": 985, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 978, + "id": 983, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 972, + "referencedDeclaration": 977, "src": "1159:1:7", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -13263,11 +13334,11 @@ "operator": "<=", "rightExpression": { "argumentTypes": null, - "id": 979, + "id": 984, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 970, + "referencedDeclaration": 975, "src": "1164:1:7", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -13288,21 +13359,21 @@ "typeString": "bool" } ], - "id": 977, + "id": 982, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1268, - 1269 + 1273, + 1274 ], - "referencedDeclaration": 1268, + "referencedDeclaration": 1273, "src": "1151:7:7", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 981, + "id": 986, "isConstant": false, "isLValue": false, "isPure": false, @@ -13316,21 +13387,21 @@ "typeString": "tuple()" } }, - "id": 982, + "id": 987, "nodeType": "ExpressionStatement", "src": "1151:15:7" }, { "assignments": [ - 984 + 989 ], "declarations": [ { "constant": false, - "id": 984, + "id": 989, "name": "c", "nodeType": "VariableDeclaration", - "scope": 992, + "scope": 997, "src": "1172:9:7", "stateVariable": false, "storageLocation": "default", @@ -13339,7 +13410,7 @@ "typeString": "uint256" }, "typeName": { - "id": 983, + "id": 988, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1172:7:7", @@ -13352,25 +13423,25 @@ "visibility": "internal" } ], - "id": 988, + "id": 993, "initialValue": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 987, + "id": 992, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 985, + "id": 990, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 970, + "referencedDeclaration": 975, "src": "1184:1:7", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -13381,11 +13452,11 @@ "operator": "-", "rightExpression": { "argumentTypes": null, - "id": 986, + "id": 991, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 972, + "referencedDeclaration": 977, "src": "1188:1:7", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -13404,26 +13475,26 @@ { "expression": { "argumentTypes": null, - "id": 989, + "id": 994, "name": "c", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 984, + "referencedDeclaration": 989, "src": "1203:1:7", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 976, - "id": 990, + "functionReturnParameters": 981, + "id": 995, "nodeType": "Return", "src": "1196:8:7" } ] }, "documentation": "@dev Subtracts two numbers, reverts on overflow (i.e. if subtrahend is greater than minuend).", - "id": 992, + "id": 997, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -13431,15 +13502,15 @@ "name": "sub", "nodeType": "FunctionDefinition", "parameters": { - "id": 973, + "id": 978, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 970, + "id": 975, "name": "a", "nodeType": "VariableDeclaration", - "scope": 992, + "scope": 997, "src": "1091:9:7", "stateVariable": false, "storageLocation": "default", @@ -13448,7 +13519,7 @@ "typeString": "uint256" }, "typeName": { - "id": 969, + "id": 974, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1091:7:7", @@ -13462,10 +13533,10 @@ }, { "constant": false, - "id": 972, + "id": 977, "name": "b", "nodeType": "VariableDeclaration", - "scope": 992, + "scope": 997, "src": "1102:9:7", "stateVariable": false, "storageLocation": "default", @@ -13474,7 +13545,7 @@ "typeString": "uint256" }, "typeName": { - "id": 971, + "id": 976, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1102:7:7", @@ -13491,15 +13562,15 @@ }, "payable": false, "returnParameters": { - "id": 976, + "id": 981, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 975, + "id": 980, "name": "", "nodeType": "VariableDeclaration", - "scope": 992, + "scope": 997, "src": "1136:7:7", "stateVariable": false, "storageLocation": "default", @@ -13508,7 +13579,7 @@ "typeString": "uint256" }, "typeName": { - "id": 974, + "id": 979, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1136:7:7", @@ -13523,7 +13594,7 @@ ], "src": "1135:9:7" }, - "scope": 1037, + "scope": 1042, "src": "1078:131:7", "stateMutability": "pure", "superFunction": null, @@ -13531,21 +13602,21 @@ }, { "body": { - "id": 1015, + "id": 1020, "nodeType": "Block", "src": "1339:64:7", "statements": [ { "assignments": [ - 1002 + 1007 ], "declarations": [ { "constant": false, - "id": 1002, + "id": 1007, "name": "c", "nodeType": "VariableDeclaration", - "scope": 1016, + "scope": 1021, "src": "1345:9:7", "stateVariable": false, "storageLocation": "default", @@ -13554,7 +13625,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1001, + "id": 1006, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1345:7:7", @@ -13567,25 +13638,25 @@ "visibility": "internal" } ], - "id": 1006, + "id": 1011, "initialValue": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1005, + "id": 1010, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1003, + "id": 1008, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 994, + "referencedDeclaration": 999, "src": "1357:1:7", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -13596,11 +13667,11 @@ "operator": "+", "rightExpression": { "argumentTypes": null, - "id": 1004, + "id": 1009, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 996, + "referencedDeclaration": 1001, "src": "1361:1:7", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -13626,18 +13697,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1010, + "id": 1015, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1008, + "id": 1013, "name": "c", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1002, + "referencedDeclaration": 1007, "src": "1376:1:7", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -13648,11 +13719,11 @@ "operator": ">=", "rightExpression": { "argumentTypes": null, - "id": 1009, + "id": 1014, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 994, + "referencedDeclaration": 999, "src": "1381:1:7", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -13673,21 +13744,21 @@ "typeString": "bool" } ], - "id": 1007, + "id": 1012, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1268, - 1269 + 1273, + 1274 ], - "referencedDeclaration": 1268, + "referencedDeclaration": 1273, "src": "1368:7:7", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 1011, + "id": 1016, "isConstant": false, "isLValue": false, "isPure": false, @@ -13701,33 +13772,33 @@ "typeString": "tuple()" } }, - "id": 1012, + "id": 1017, "nodeType": "ExpressionStatement", "src": "1368:15:7" }, { "expression": { "argumentTypes": null, - "id": 1013, + "id": 1018, "name": "c", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1002, + "referencedDeclaration": 1007, "src": "1397:1:7", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 1000, - "id": 1014, + "functionReturnParameters": 1005, + "id": 1019, "nodeType": "Return", "src": "1390:8:7" } ] }, "documentation": "@dev Adds two numbers, reverts on overflow.", - "id": 1016, + "id": 1021, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -13735,15 +13806,15 @@ "name": "add", "nodeType": "FunctionDefinition", "parameters": { - "id": 997, + "id": 1002, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 994, + "id": 999, "name": "a", "nodeType": "VariableDeclaration", - "scope": 1016, + "scope": 1021, "src": "1285:9:7", "stateVariable": false, "storageLocation": "default", @@ -13752,7 +13823,7 @@ "typeString": "uint256" }, "typeName": { - "id": 993, + "id": 998, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1285:7:7", @@ -13766,10 +13837,10 @@ }, { "constant": false, - "id": 996, + "id": 1001, "name": "b", "nodeType": "VariableDeclaration", - "scope": 1016, + "scope": 1021, "src": "1296:9:7", "stateVariable": false, "storageLocation": "default", @@ -13778,7 +13849,7 @@ "typeString": "uint256" }, "typeName": { - "id": 995, + "id": 1000, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1296:7:7", @@ -13795,15 +13866,15 @@ }, "payable": false, "returnParameters": { - "id": 1000, + "id": 1005, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 999, + "id": 1004, "name": "", "nodeType": "VariableDeclaration", - "scope": 1016, + "scope": 1021, "src": "1330:7:7", "stateVariable": false, "storageLocation": "default", @@ -13812,7 +13883,7 @@ "typeString": "uint256" }, "typeName": { - "id": 998, + "id": 1003, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1330:7:7", @@ -13827,7 +13898,7 @@ ], "src": "1329:9:7" }, - "scope": 1037, + "scope": 1042, "src": "1272:131:7", "stateMutability": "pure", "superFunction": null, @@ -13835,7 +13906,7 @@ }, { "body": { - "id": 1035, + "id": 1040, "nodeType": "Block", "src": "1602:44:7", "statements": [ @@ -13849,18 +13920,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1028, + "id": 1033, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1026, + "id": 1031, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1020, + "referencedDeclaration": 1025, "src": "1616:1:7", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -13872,7 +13943,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 1027, + "id": 1032, "isConstant": false, "isLValue": false, "isPure": true, @@ -13901,21 +13972,21 @@ "typeString": "bool" } ], - "id": 1025, + "id": 1030, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1268, - 1269 + 1273, + 1274 ], - "referencedDeclaration": 1268, + "referencedDeclaration": 1273, "src": "1608:7:7", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 1029, + "id": 1034, "isConstant": false, "isLValue": false, "isPure": false, @@ -13929,7 +14000,7 @@ "typeString": "tuple()" } }, - "id": 1030, + "id": 1035, "nodeType": "ExpressionStatement", "src": "1608:15:7" }, @@ -13940,18 +14011,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1033, + "id": 1038, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1031, + "id": 1036, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1018, + "referencedDeclaration": 1023, "src": "1636:1:7", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -13962,11 +14033,11 @@ "operator": "%", "rightExpression": { "argumentTypes": null, - "id": 1032, + "id": 1037, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1020, + "referencedDeclaration": 1025, "src": "1640:1:7", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -13979,15 +14050,15 @@ "typeString": "uint256" } }, - "functionReturnParameters": 1024, - "id": 1034, + "functionReturnParameters": 1029, + "id": 1039, "nodeType": "Return", "src": "1629:12:7" } ] }, "documentation": "@dev Divides two numbers and returns the remainder (unsigned integer modulo),\nreverts when dividing by zero.", - "id": 1036, + "id": 1041, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -13995,15 +14066,15 @@ "name": "mod", "nodeType": "FunctionDefinition", "parameters": { - "id": 1021, + "id": 1026, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1018, + "id": 1023, "name": "a", "nodeType": "VariableDeclaration", - "scope": 1036, + "scope": 1041, "src": "1548:9:7", "stateVariable": false, "storageLocation": "default", @@ -14012,7 +14083,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1017, + "id": 1022, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1548:7:7", @@ -14026,10 +14097,10 @@ }, { "constant": false, - "id": 1020, + "id": 1025, "name": "b", "nodeType": "VariableDeclaration", - "scope": 1036, + "scope": 1041, "src": "1559:9:7", "stateVariable": false, "storageLocation": "default", @@ -14038,7 +14109,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1019, + "id": 1024, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1559:7:7", @@ -14055,15 +14126,15 @@ }, "payable": false, "returnParameters": { - "id": 1024, + "id": 1029, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1023, + "id": 1028, "name": "", "nodeType": "VariableDeclaration", - "scope": 1036, + "scope": 1041, "src": "1593:7:7", "stateVariable": false, "storageLocation": "default", @@ -14072,7 +14143,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1022, + "id": 1027, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1593:7:7", @@ -14087,14 +14158,14 @@ ], "src": "1592:9:7" }, - "scope": 1037, + "scope": 1042, "src": "1535:111:7", "stateMutability": "pure", "superFunction": null, "visibility": "internal" } ], - "scope": 1038, + "scope": 1043, "src": "117:1531:7" } ], @@ -14107,14 +14178,14 @@ "absolutePath": "d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/node_modules/openzeppelin-solidity/contracts/token/ERC20/IERC20.sol", "exportedSymbols": { "IERC20": [ - 1106 + 1111 ] }, - "id": 1107, + "id": 1112, "nodeType": "SourceUnit", "nodes": [ { - "id": 1039, + "id": 1044, "literals": [ "solidity", "^", @@ -14130,9 +14201,9 @@ "contractKind": "interface", "documentation": "@title ERC20 interface\n@dev see https://github.com/ethereum/EIPs/issues/20", "fullyImplemented": false, - "id": 1106, + "id": 1111, "linearizedBaseContracts": [ - 1106 + 1111 ], "name": "IERC20", "nodeType": "ContractDefinition", @@ -14140,7 +14211,7 @@ { "body": null, "documentation": null, - "id": 1044, + "id": 1049, "implemented": false, "isConstructor": false, "isDeclaredConst": true, @@ -14148,22 +14219,22 @@ "name": "totalSupply", "nodeType": "FunctionDefinition", "parameters": { - "id": 1040, + "id": 1045, "nodeType": "ParameterList", "parameters": [], "src": "156:2:8" }, "payable": false, "returnParameters": { - "id": 1043, + "id": 1048, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1042, + "id": 1047, "name": "", "nodeType": "VariableDeclaration", - "scope": 1044, + "scope": 1049, "src": "182:7:8", "stateVariable": false, "storageLocation": "default", @@ -14172,7 +14243,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1041, + "id": 1046, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "182:7:8", @@ -14187,7 +14258,7 @@ ], "src": "181:9:8" }, - "scope": 1106, + "scope": 1111, "src": "136:55:8", "stateMutability": "view", "superFunction": null, @@ -14196,7 +14267,7 @@ { "body": null, "documentation": null, - "id": 1051, + "id": 1056, "implemented": false, "isConstructor": false, "isDeclaredConst": true, @@ -14204,15 +14275,15 @@ "name": "balanceOf", "nodeType": "FunctionDefinition", "parameters": { - "id": 1047, + "id": 1052, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1046, + "id": 1051, "name": "who", "nodeType": "VariableDeclaration", - "scope": 1051, + "scope": 1056, "src": "214:11:8", "stateVariable": false, "storageLocation": "default", @@ -14221,7 +14292,7 @@ "typeString": "address" }, "typeName": { - "id": 1045, + "id": 1050, "name": "address", "nodeType": "ElementaryTypeName", "src": "214:7:8", @@ -14238,15 +14309,15 @@ }, "payable": false, "returnParameters": { - "id": 1050, + "id": 1055, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1049, + "id": 1054, "name": "", "nodeType": "VariableDeclaration", - "scope": 1051, + "scope": 1056, "src": "250:7:8", "stateVariable": false, "storageLocation": "default", @@ -14255,7 +14326,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1048, + "id": 1053, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "250:7:8", @@ -14270,7 +14341,7 @@ ], "src": "249:9:8" }, - "scope": 1106, + "scope": 1111, "src": "195:64:8", "stateMutability": "view", "superFunction": null, @@ -14279,7 +14350,7 @@ { "body": null, "documentation": null, - "id": 1060, + "id": 1065, "implemented": false, "isConstructor": false, "isDeclaredConst": true, @@ -14287,15 +14358,15 @@ "name": "allowance", "nodeType": "FunctionDefinition", "parameters": { - "id": 1056, + "id": 1061, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1053, + "id": 1058, "name": "owner", "nodeType": "VariableDeclaration", - "scope": 1060, + "scope": 1065, "src": "282:13:8", "stateVariable": false, "storageLocation": "default", @@ -14304,7 +14375,7 @@ "typeString": "address" }, "typeName": { - "id": 1052, + "id": 1057, "name": "address", "nodeType": "ElementaryTypeName", "src": "282:7:8", @@ -14318,10 +14389,10 @@ }, { "constant": false, - "id": 1055, + "id": 1060, "name": "spender", "nodeType": "VariableDeclaration", - "scope": 1060, + "scope": 1065, "src": "297:15:8", "stateVariable": false, "storageLocation": "default", @@ -14330,7 +14401,7 @@ "typeString": "address" }, "typeName": { - "id": 1054, + "id": 1059, "name": "address", "nodeType": "ElementaryTypeName", "src": "297:7:8", @@ -14347,15 +14418,15 @@ }, "payable": false, "returnParameters": { - "id": 1059, + "id": 1064, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1058, + "id": 1063, "name": "", "nodeType": "VariableDeclaration", - "scope": 1060, + "scope": 1065, "src": "341:7:8", "stateVariable": false, "storageLocation": "default", @@ -14364,7 +14435,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1057, + "id": 1062, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "341:7:8", @@ -14379,7 +14450,7 @@ ], "src": "340:9:8" }, - "scope": 1106, + "scope": 1111, "src": "263:87:8", "stateMutability": "view", "superFunction": null, @@ -14388,7 +14459,7 @@ { "body": null, "documentation": null, - "id": 1069, + "id": 1074, "implemented": false, "isConstructor": false, "isDeclaredConst": false, @@ -14396,15 +14467,15 @@ "name": "transfer", "nodeType": "FunctionDefinition", "parameters": { - "id": 1065, + "id": 1070, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1062, + "id": 1067, "name": "to", "nodeType": "VariableDeclaration", - "scope": 1069, + "scope": 1074, "src": "372:10:8", "stateVariable": false, "storageLocation": "default", @@ -14413,7 +14484,7 @@ "typeString": "address" }, "typeName": { - "id": 1061, + "id": 1066, "name": "address", "nodeType": "ElementaryTypeName", "src": "372:7:8", @@ -14427,10 +14498,10 @@ }, { "constant": false, - "id": 1064, + "id": 1069, "name": "value", "nodeType": "VariableDeclaration", - "scope": 1069, + "scope": 1074, "src": "384:13:8", "stateVariable": false, "storageLocation": "default", @@ -14439,7 +14510,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1063, + "id": 1068, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "384:7:8", @@ -14456,15 +14527,15 @@ }, "payable": false, "returnParameters": { - "id": 1068, + "id": 1073, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1067, + "id": 1072, "name": "", "nodeType": "VariableDeclaration", - "scope": 1069, + "scope": 1074, "src": "417:4:8", "stateVariable": false, "storageLocation": "default", @@ -14473,7 +14544,7 @@ "typeString": "bool" }, "typeName": { - "id": 1066, + "id": 1071, "name": "bool", "nodeType": "ElementaryTypeName", "src": "417:4:8", @@ -14488,7 +14559,7 @@ ], "src": "416:6:8" }, - "scope": 1106, + "scope": 1111, "src": "354:69:8", "stateMutability": "nonpayable", "superFunction": null, @@ -14497,7 +14568,7 @@ { "body": null, "documentation": null, - "id": 1078, + "id": 1083, "implemented": false, "isConstructor": false, "isDeclaredConst": false, @@ -14505,15 +14576,15 @@ "name": "approve", "nodeType": "FunctionDefinition", "parameters": { - "id": 1074, + "id": 1079, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1071, + "id": 1076, "name": "spender", "nodeType": "VariableDeclaration", - "scope": 1078, + "scope": 1083, "src": "444:15:8", "stateVariable": false, "storageLocation": "default", @@ -14522,7 +14593,7 @@ "typeString": "address" }, "typeName": { - "id": 1070, + "id": 1075, "name": "address", "nodeType": "ElementaryTypeName", "src": "444:7:8", @@ -14536,10 +14607,10 @@ }, { "constant": false, - "id": 1073, + "id": 1078, "name": "value", "nodeType": "VariableDeclaration", - "scope": 1078, + "scope": 1083, "src": "461:13:8", "stateVariable": false, "storageLocation": "default", @@ -14548,7 +14619,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1072, + "id": 1077, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "461:7:8", @@ -14565,15 +14636,15 @@ }, "payable": false, "returnParameters": { - "id": 1077, + "id": 1082, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1076, + "id": 1081, "name": "", "nodeType": "VariableDeclaration", - "scope": 1078, + "scope": 1083, "src": "498:4:8", "stateVariable": false, "storageLocation": "default", @@ -14582,7 +14653,7 @@ "typeString": "bool" }, "typeName": { - "id": 1075, + "id": 1080, "name": "bool", "nodeType": "ElementaryTypeName", "src": "498:4:8", @@ -14597,7 +14668,7 @@ ], "src": "497:6:8" }, - "scope": 1106, + "scope": 1111, "src": "427:77:8", "stateMutability": "nonpayable", "superFunction": null, @@ -14606,7 +14677,7 @@ { "body": null, "documentation": null, - "id": 1089, + "id": 1094, "implemented": false, "isConstructor": false, "isDeclaredConst": false, @@ -14614,15 +14685,15 @@ "name": "transferFrom", "nodeType": "FunctionDefinition", "parameters": { - "id": 1085, + "id": 1090, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1080, + "id": 1085, "name": "from", "nodeType": "VariableDeclaration", - "scope": 1089, + "scope": 1094, "src": "530:12:8", "stateVariable": false, "storageLocation": "default", @@ -14631,7 +14702,7 @@ "typeString": "address" }, "typeName": { - "id": 1079, + "id": 1084, "name": "address", "nodeType": "ElementaryTypeName", "src": "530:7:8", @@ -14645,10 +14716,10 @@ }, { "constant": false, - "id": 1082, + "id": 1087, "name": "to", "nodeType": "VariableDeclaration", - "scope": 1089, + "scope": 1094, "src": "544:10:8", "stateVariable": false, "storageLocation": "default", @@ -14657,7 +14728,7 @@ "typeString": "address" }, "typeName": { - "id": 1081, + "id": 1086, "name": "address", "nodeType": "ElementaryTypeName", "src": "544:7:8", @@ -14671,10 +14742,10 @@ }, { "constant": false, - "id": 1084, + "id": 1089, "name": "value", "nodeType": "VariableDeclaration", - "scope": 1089, + "scope": 1094, "src": "556:13:8", "stateVariable": false, "storageLocation": "default", @@ -14683,7 +14754,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1083, + "id": 1088, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "556:7:8", @@ -14700,15 +14771,15 @@ }, "payable": false, "returnParameters": { - "id": 1088, + "id": 1093, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1087, + "id": 1092, "name": "", "nodeType": "VariableDeclaration", - "scope": 1089, + "scope": 1094, "src": "593:4:8", "stateVariable": false, "storageLocation": "default", @@ -14717,7 +14788,7 @@ "typeString": "bool" }, "typeName": { - "id": 1086, + "id": 1091, "name": "bool", "nodeType": "ElementaryTypeName", "src": "593:4:8", @@ -14732,7 +14803,7 @@ ], "src": "592:6:8" }, - "scope": 1106, + "scope": 1111, "src": "508:91:8", "stateMutability": "nonpayable", "superFunction": null, @@ -14741,20 +14812,20 @@ { "anonymous": false, "documentation": null, - "id": 1097, + "id": 1102, "name": "Transfer", "nodeType": "EventDefinition", "parameters": { - "id": 1096, + "id": 1101, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1091, + "id": 1096, "indexed": true, "name": "from", "nodeType": "VariableDeclaration", - "scope": 1097, + "scope": 1102, "src": "623:20:8", "stateVariable": false, "storageLocation": "default", @@ -14763,7 +14834,7 @@ "typeString": "address" }, "typeName": { - "id": 1090, + "id": 1095, "name": "address", "nodeType": "ElementaryTypeName", "src": "623:7:8", @@ -14777,11 +14848,11 @@ }, { "constant": false, - "id": 1093, + "id": 1098, "indexed": true, "name": "to", "nodeType": "VariableDeclaration", - "scope": 1097, + "scope": 1102, "src": "649:18:8", "stateVariable": false, "storageLocation": "default", @@ -14790,7 +14861,7 @@ "typeString": "address" }, "typeName": { - "id": 1092, + "id": 1097, "name": "address", "nodeType": "ElementaryTypeName", "src": "649:7:8", @@ -14804,11 +14875,11 @@ }, { "constant": false, - "id": 1095, + "id": 1100, "indexed": false, "name": "value", "nodeType": "VariableDeclaration", - "scope": 1097, + "scope": 1102, "src": "673:13:8", "stateVariable": false, "storageLocation": "default", @@ -14817,7 +14888,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1094, + "id": 1099, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "673:7:8", @@ -14837,20 +14908,20 @@ { "anonymous": false, "documentation": null, - "id": 1105, + "id": 1110, "name": "Approval", "nodeType": "EventDefinition", "parameters": { - "id": 1104, + "id": 1109, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1099, + "id": 1104, "indexed": true, "name": "owner", "nodeType": "VariableDeclaration", - "scope": 1105, + "scope": 1110, "src": "715:21:8", "stateVariable": false, "storageLocation": "default", @@ -14859,7 +14930,7 @@ "typeString": "address" }, "typeName": { - "id": 1098, + "id": 1103, "name": "address", "nodeType": "ElementaryTypeName", "src": "715:7:8", @@ -14873,11 +14944,11 @@ }, { "constant": false, - "id": 1101, + "id": 1106, "indexed": true, "name": "spender", "nodeType": "VariableDeclaration", - "scope": 1105, + "scope": 1110, "src": "742:23:8", "stateVariable": false, "storageLocation": "default", @@ -14886,7 +14957,7 @@ "typeString": "address" }, "typeName": { - "id": 1100, + "id": 1105, "name": "address", "nodeType": "ElementaryTypeName", "src": "742:7:8", @@ -14900,11 +14971,11 @@ }, { "constant": false, - "id": 1103, + "id": 1108, "indexed": false, "name": "value", "nodeType": "VariableDeclaration", - "scope": 1105, + "scope": 1110, "src": "771:13:8", "stateVariable": false, "storageLocation": "default", @@ -14913,7 +14984,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1102, + "id": 1107, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "771:7:8", @@ -14931,7 +15002,7 @@ "src": "695:94:8" } ], - "scope": 1107, + "scope": 1112, "src": "115:676:8" } ], @@ -14944,14 +15015,14 @@ "absolutePath": "d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/node_modules/openzeppelin-solidity/contracts/token/ERC20/SafeERC20.sol", "exportedSymbols": { "SafeERC20": [ - 1250 + 1255 ] }, - "id": 1251, + "id": 1256, "nodeType": "SourceUnit", "nodes": [ { - "id": 1108, + "id": 1113, "literals": [ "solidity", "^", @@ -14964,10 +15035,10 @@ { "absolutePath": "d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/node_modules/openzeppelin-solidity/contracts/token/ERC20/IERC20.sol", "file": "./IERC20.sol", - "id": 1109, + "id": 1114, "nodeType": "ImportDirective", - "scope": 1251, - "sourceUnit": 1107, + "scope": 1256, + "sourceUnit": 1112, "src": "26:22:9", "symbolAliases": [], "unitAlias": "" @@ -14975,10 +15046,10 @@ { "absolutePath": "d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/node_modules/openzeppelin-solidity/contracts/math/SafeMath.sol", "file": "../../math/SafeMath.sol", - "id": 1110, + "id": 1115, "nodeType": "ImportDirective", - "scope": 1251, - "sourceUnit": 1038, + "scope": 1256, + "sourceUnit": 1043, "src": "49:33:9", "symbolAliases": [], "unitAlias": "" @@ -14989,31 +15060,31 @@ "contractKind": "library", "documentation": "@title SafeERC20\n@dev Wrappers around ERC20 operations that throw on failure.\nTo use this library you can add a `using SafeERC20 for ERC20;` statement to your contract,\nwhich allows you to call the safe operations as `token.safeTransfer(...)`, etc.", "fullyImplemented": true, - "id": 1250, + "id": 1255, "linearizedBaseContracts": [ - 1250 + 1255 ], "name": "SafeERC20", "nodeType": "ContractDefinition", "nodes": [ { - "id": 1113, + "id": 1118, "libraryName": { "contractScope": null, - "id": 1111, + "id": 1116, "name": "SafeMath", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1037, + "referencedDeclaration": 1042, "src": "382:8:9", "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeMath_$1037", + "typeIdentifier": "t_contract$_SafeMath_$1042", "typeString": "library SafeMath" } }, "nodeType": "UsingForDirective", "src": "376:27:9", "typeName": { - "id": 1112, + "id": 1117, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "395:7:9", @@ -15025,7 +15096,7 @@ }, { "body": { - "id": 1130, + "id": 1135, "nodeType": "Block", "src": "501:45:9", "statements": [ @@ -15038,11 +15109,11 @@ "arguments": [ { "argumentTypes": null, - "id": 1125, + "id": 1130, "name": "to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1117, + "referencedDeclaration": 1122, "src": "530:2:9", "typeDescriptions": { "typeIdentifier": "t_address", @@ -15051,11 +15122,11 @@ }, { "argumentTypes": null, - "id": 1126, + "id": 1131, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1119, + "referencedDeclaration": 1124, "src": "534:5:9", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -15076,32 +15147,32 @@ ], "expression": { "argumentTypes": null, - "id": 1123, + "id": 1128, "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1115, + "referencedDeclaration": 1120, "src": "515:5:9", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$1106", + "typeIdentifier": "t_contract$_IERC20_$1111", "typeString": "contract IERC20" } }, - "id": 1124, + "id": 1129, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "transfer", "nodeType": "MemberAccess", - "referencedDeclaration": 1069, + "referencedDeclaration": 1074, "src": "515:14:9", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", "typeString": "function (address,uint256) external returns (bool)" } }, - "id": 1127, + "id": 1132, "isConstant": false, "isLValue": false, "isPure": false, @@ -15123,21 +15194,21 @@ "typeString": "bool" } ], - "id": 1122, + "id": 1127, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1268, - 1269 + 1273, + 1274 ], - "referencedDeclaration": 1268, + "referencedDeclaration": 1273, "src": "507:7:9", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 1128, + "id": 1133, "isConstant": false, "isLValue": false, "isPure": false, @@ -15151,14 +15222,14 @@ "typeString": "tuple()" } }, - "id": 1129, + "id": 1134, "nodeType": "ExpressionStatement", "src": "507:34:9" } ] }, "documentation": null, - "id": 1131, + "id": 1136, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -15166,31 +15237,31 @@ "name": "safeTransfer", "nodeType": "FunctionDefinition", "parameters": { - "id": 1120, + "id": 1125, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1115, + "id": 1120, "name": "token", "nodeType": "VariableDeclaration", - "scope": 1131, + "scope": 1136, "src": "434:12:9", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$1106", + "typeIdentifier": "t_contract$_IERC20_$1111", "typeString": "contract IERC20" }, "typeName": { "contractScope": null, - "id": 1114, + "id": 1119, "name": "IERC20", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1106, + "referencedDeclaration": 1111, "src": "434:6:9", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$1106", + "typeIdentifier": "t_contract$_IERC20_$1111", "typeString": "contract IERC20" } }, @@ -15199,10 +15270,10 @@ }, { "constant": false, - "id": 1117, + "id": 1122, "name": "to", "nodeType": "VariableDeclaration", - "scope": 1131, + "scope": 1136, "src": "452:10:9", "stateVariable": false, "storageLocation": "default", @@ -15211,7 +15282,7 @@ "typeString": "address" }, "typeName": { - "id": 1116, + "id": 1121, "name": "address", "nodeType": "ElementaryTypeName", "src": "452:7:9", @@ -15225,10 +15296,10 @@ }, { "constant": false, - "id": 1119, + "id": 1124, "name": "value", "nodeType": "VariableDeclaration", - "scope": 1131, + "scope": 1136, "src": "468:13:9", "stateVariable": false, "storageLocation": "default", @@ -15237,7 +15308,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1118, + "id": 1123, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "468:7:9", @@ -15254,12 +15325,12 @@ }, "payable": false, "returnParameters": { - "id": 1121, + "id": 1126, "nodeType": "ParameterList", "parameters": [], "src": "501:0:9" }, - "scope": 1250, + "scope": 1255, "src": "407:139:9", "stateMutability": "nonpayable", "superFunction": null, @@ -15267,7 +15338,7 @@ }, { "body": { - "id": 1151, + "id": 1156, "nodeType": "Block", "src": "666:55:9", "statements": [ @@ -15280,11 +15351,11 @@ "arguments": [ { "argumentTypes": null, - "id": 1145, + "id": 1150, "name": "from", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1135, + "referencedDeclaration": 1140, "src": "699:4:9", "typeDescriptions": { "typeIdentifier": "t_address", @@ -15293,11 +15364,11 @@ }, { "argumentTypes": null, - "id": 1146, + "id": 1151, "name": "to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1137, + "referencedDeclaration": 1142, "src": "705:2:9", "typeDescriptions": { "typeIdentifier": "t_address", @@ -15306,11 +15377,11 @@ }, { "argumentTypes": null, - "id": 1147, + "id": 1152, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1139, + "referencedDeclaration": 1144, "src": "709:5:9", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -15335,32 +15406,32 @@ ], "expression": { "argumentTypes": null, - "id": 1143, + "id": 1148, "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1133, + "referencedDeclaration": 1138, "src": "680:5:9", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$1106", + "typeIdentifier": "t_contract$_IERC20_$1111", "typeString": "contract IERC20" } }, - "id": 1144, + "id": 1149, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "transferFrom", "nodeType": "MemberAccess", - "referencedDeclaration": 1089, + "referencedDeclaration": 1094, "src": "680:18:9", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", "typeString": "function (address,address,uint256) external returns (bool)" } }, - "id": 1148, + "id": 1153, "isConstant": false, "isLValue": false, "isPure": false, @@ -15382,21 +15453,21 @@ "typeString": "bool" } ], - "id": 1142, + "id": 1147, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1268, - 1269 + 1273, + 1274 ], - "referencedDeclaration": 1268, + "referencedDeclaration": 1273, "src": "672:7:9", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 1149, + "id": 1154, "isConstant": false, "isLValue": false, "isPure": false, @@ -15410,14 +15481,14 @@ "typeString": "tuple()" } }, - "id": 1150, + "id": 1155, "nodeType": "ExpressionStatement", "src": "672:44:9" } ] }, "documentation": null, - "id": 1152, + "id": 1157, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -15425,31 +15496,31 @@ "name": "safeTransferFrom", "nodeType": "FunctionDefinition", "parameters": { - "id": 1140, + "id": 1145, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1133, + "id": 1138, "name": "token", "nodeType": "VariableDeclaration", - "scope": 1152, + "scope": 1157, "src": "581:12:9", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$1106", + "typeIdentifier": "t_contract$_IERC20_$1111", "typeString": "contract IERC20" }, "typeName": { "contractScope": null, - "id": 1132, + "id": 1137, "name": "IERC20", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1106, + "referencedDeclaration": 1111, "src": "581:6:9", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$1106", + "typeIdentifier": "t_contract$_IERC20_$1111", "typeString": "contract IERC20" } }, @@ -15458,10 +15529,10 @@ }, { "constant": false, - "id": 1135, + "id": 1140, "name": "from", "nodeType": "VariableDeclaration", - "scope": 1152, + "scope": 1157, "src": "599:12:9", "stateVariable": false, "storageLocation": "default", @@ -15470,7 +15541,7 @@ "typeString": "address" }, "typeName": { - "id": 1134, + "id": 1139, "name": "address", "nodeType": "ElementaryTypeName", "src": "599:7:9", @@ -15484,10 +15555,10 @@ }, { "constant": false, - "id": 1137, + "id": 1142, "name": "to", "nodeType": "VariableDeclaration", - "scope": 1152, + "scope": 1157, "src": "617:10:9", "stateVariable": false, "storageLocation": "default", @@ -15496,7 +15567,7 @@ "typeString": "address" }, "typeName": { - "id": 1136, + "id": 1141, "name": "address", "nodeType": "ElementaryTypeName", "src": "617:7:9", @@ -15510,10 +15581,10 @@ }, { "constant": false, - "id": 1139, + "id": 1144, "name": "value", "nodeType": "VariableDeclaration", - "scope": 1152, + "scope": 1157, "src": "633:13:9", "stateVariable": false, "storageLocation": "default", @@ -15522,7 +15593,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1138, + "id": 1143, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "633:7:9", @@ -15539,12 +15610,12 @@ }, "payable": false, "returnParameters": { - "id": 1141, + "id": 1146, "nodeType": "ParameterList", "parameters": [], "src": "666:0:9" }, - "scope": 1250, + "scope": 1255, "src": "550:171:9", "stateMutability": "nonpayable", "superFunction": null, @@ -15552,7 +15623,7 @@ }, { "body": { - "id": 1186, + "id": 1191, "nodeType": "Block", "src": "823:330:9", "statements": [ @@ -15566,7 +15637,7 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 1175, + "id": 1180, "isConstant": false, "isLValue": false, "isPure": false, @@ -15580,18 +15651,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1164, + "id": 1169, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1162, + "id": 1167, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1158, + "referencedDeclaration": 1163, "src": "1045:5:9", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -15603,7 +15674,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 1163, + "id": 1168, "isConstant": false, "isLValue": false, "isPure": true, @@ -15625,7 +15696,7 @@ } } ], - "id": 1165, + "id": 1170, "isConstant": false, "isInlineArray": false, "isLValue": false, @@ -15649,7 +15720,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1173, + "id": 1178, "isConstant": false, "isLValue": false, "isPure": false, @@ -15661,18 +15732,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 1168, + "id": 1173, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1265, + "referencedDeclaration": 1270, "src": "1077:3:9", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 1169, + "id": 1174, "isConstant": false, "isLValue": false, "isPure": false, @@ -15688,11 +15759,11 @@ }, { "argumentTypes": null, - "id": 1170, + "id": 1175, "name": "spender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1156, + "referencedDeclaration": 1161, "src": "1089:7:9", "typeDescriptions": { "typeIdentifier": "t_address", @@ -15713,32 +15784,32 @@ ], "expression": { "argumentTypes": null, - "id": 1166, + "id": 1171, "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1154, + "referencedDeclaration": 1159, "src": "1061:5:9", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$1106", + "typeIdentifier": "t_contract$_IERC20_$1111", "typeString": "contract IERC20" } }, - "id": 1167, + "id": 1172, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "allowance", "nodeType": "MemberAccess", - "referencedDeclaration": 1060, + "referencedDeclaration": 1065, "src": "1061:15:9", "typeDescriptions": { "typeIdentifier": "t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$", "typeString": "function (address,address) view external returns (uint256)" } }, - "id": 1171, + "id": 1176, "isConstant": false, "isLValue": false, "isPure": false, @@ -15757,7 +15828,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 1172, + "id": 1177, "isConstant": false, "isLValue": false, "isPure": true, @@ -15779,7 +15850,7 @@ } } ], - "id": 1174, + "id": 1179, "isConstant": false, "isInlineArray": false, "isLValue": false, @@ -15806,21 +15877,21 @@ "typeString": "bool" } ], - "id": 1161, + "id": 1166, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1268, - 1269 + 1273, + 1274 ], - "referencedDeclaration": 1268, + "referencedDeclaration": 1273, "src": "1036:7:9", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 1176, + "id": 1181, "isConstant": false, "isLValue": false, "isPure": false, @@ -15834,7 +15905,7 @@ "typeString": "tuple()" } }, - "id": 1177, + "id": 1182, "nodeType": "ExpressionStatement", "src": "1036:68:9" }, @@ -15847,11 +15918,11 @@ "arguments": [ { "argumentTypes": null, - "id": 1181, + "id": 1186, "name": "spender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1156, + "referencedDeclaration": 1161, "src": "1132:7:9", "typeDescriptions": { "typeIdentifier": "t_address", @@ -15860,11 +15931,11 @@ }, { "argumentTypes": null, - "id": 1182, + "id": 1187, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1158, + "referencedDeclaration": 1163, "src": "1141:5:9", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -15885,32 +15956,32 @@ ], "expression": { "argumentTypes": null, - "id": 1179, + "id": 1184, "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1154, + "referencedDeclaration": 1159, "src": "1118:5:9", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$1106", + "typeIdentifier": "t_contract$_IERC20_$1111", "typeString": "contract IERC20" } }, - "id": 1180, + "id": 1185, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "approve", "nodeType": "MemberAccess", - "referencedDeclaration": 1078, + "referencedDeclaration": 1083, "src": "1118:13:9", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", "typeString": "function (address,uint256) external returns (bool)" } }, - "id": 1183, + "id": 1188, "isConstant": false, "isLValue": false, "isPure": false, @@ -15932,21 +16003,21 @@ "typeString": "bool" } ], - "id": 1178, + "id": 1183, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1268, - 1269 + 1273, + 1274 ], - "referencedDeclaration": 1268, + "referencedDeclaration": 1273, "src": "1110:7:9", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 1184, + "id": 1189, "isConstant": false, "isLValue": false, "isPure": false, @@ -15960,14 +16031,14 @@ "typeString": "tuple()" } }, - "id": 1185, + "id": 1190, "nodeType": "ExpressionStatement", "src": "1110:38:9" } ] }, "documentation": null, - "id": 1187, + "id": 1192, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -15975,31 +16046,31 @@ "name": "safeApprove", "nodeType": "FunctionDefinition", "parameters": { - "id": 1159, + "id": 1164, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1154, + "id": 1159, "name": "token", "nodeType": "VariableDeclaration", - "scope": 1187, + "scope": 1192, "src": "751:12:9", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$1106", + "typeIdentifier": "t_contract$_IERC20_$1111", "typeString": "contract IERC20" }, "typeName": { "contractScope": null, - "id": 1153, + "id": 1158, "name": "IERC20", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1106, + "referencedDeclaration": 1111, "src": "751:6:9", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$1106", + "typeIdentifier": "t_contract$_IERC20_$1111", "typeString": "contract IERC20" } }, @@ -16008,10 +16079,10 @@ }, { "constant": false, - "id": 1156, + "id": 1161, "name": "spender", "nodeType": "VariableDeclaration", - "scope": 1187, + "scope": 1192, "src": "769:15:9", "stateVariable": false, "storageLocation": "default", @@ -16020,7 +16091,7 @@ "typeString": "address" }, "typeName": { - "id": 1155, + "id": 1160, "name": "address", "nodeType": "ElementaryTypeName", "src": "769:7:9", @@ -16034,10 +16105,10 @@ }, { "constant": false, - "id": 1158, + "id": 1163, "name": "value", "nodeType": "VariableDeclaration", - "scope": 1187, + "scope": 1192, "src": "790:13:9", "stateVariable": false, "storageLocation": "default", @@ -16046,7 +16117,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1157, + "id": 1162, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "790:7:9", @@ -16063,12 +16134,12 @@ }, "payable": false, "returnParameters": { - "id": 1160, + "id": 1165, "nodeType": "ParameterList", "parameters": [], "src": "823:0:9" }, - "scope": 1250, + "scope": 1255, "src": "725:428:9", "stateMutability": "nonpayable", "superFunction": null, @@ -16076,21 +16147,21 @@ }, { "body": { - "id": 1217, + "id": 1222, "nodeType": "Block", "src": "1265:135:9", "statements": [ { "assignments": [ - 1197 + 1202 ], "declarations": [ { "constant": false, - "id": 1197, + "id": 1202, "name": "newAllowance", "nodeType": "VariableDeclaration", - "scope": 1218, + "scope": 1223, "src": "1271:20:9", "stateVariable": false, "storageLocation": "default", @@ -16099,7 +16170,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1196, + "id": 1201, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1271:7:9", @@ -16112,17 +16183,17 @@ "visibility": "internal" } ], - "id": 1208, + "id": 1213, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 1206, + "id": 1211, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1193, + "referencedDeclaration": 1198, "src": "1338:5:9", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -16145,14 +16216,14 @@ "arguments": [ { "argumentTypes": null, - "id": 1201, + "id": 1206, "name": "this", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1286, + "referencedDeclaration": 1291, "src": "1318:4:9", "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeERC20_$1250", + "typeIdentifier": "t_contract$_SafeERC20_$1255", "typeString": "library SafeERC20" } } @@ -16160,11 +16231,11 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_SafeERC20_$1250", + "typeIdentifier": "t_contract$_SafeERC20_$1255", "typeString": "library SafeERC20" } ], - "id": 1200, + "id": 1205, "isConstant": false, "isLValue": false, "isPure": true, @@ -16177,7 +16248,7 @@ }, "typeName": "address" }, - "id": 1202, + "id": 1207, "isConstant": false, "isLValue": false, "isPure": false, @@ -16193,11 +16264,11 @@ }, { "argumentTypes": null, - "id": 1203, + "id": 1208, "name": "spender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1191, + "referencedDeclaration": 1196, "src": "1325:7:9", "typeDescriptions": { "typeIdentifier": "t_address", @@ -16218,32 +16289,32 @@ ], "expression": { "argumentTypes": null, - "id": 1198, + "id": 1203, "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1189, + "referencedDeclaration": 1194, "src": "1294:5:9", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$1106", + "typeIdentifier": "t_contract$_IERC20_$1111", "typeString": "contract IERC20" } }, - "id": 1199, + "id": 1204, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "allowance", "nodeType": "MemberAccess", - "referencedDeclaration": 1060, + "referencedDeclaration": 1065, "src": "1294:15:9", "typeDescriptions": { "typeIdentifier": "t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$", "typeString": "function (address,address) view external returns (uint256)" } }, - "id": 1204, + "id": 1209, "isConstant": false, "isLValue": false, "isPure": false, @@ -16257,21 +16328,21 @@ "typeString": "uint256" } }, - "id": 1205, + "id": 1210, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "add", "nodeType": "MemberAccess", - "referencedDeclaration": 1016, + "referencedDeclaration": 1021, "src": "1294:43:9", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 1207, + "id": 1212, "isConstant": false, "isLValue": false, "isPure": false, @@ -16297,11 +16368,11 @@ "arguments": [ { "argumentTypes": null, - "id": 1212, + "id": 1217, "name": "spender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1191, + "referencedDeclaration": 1196, "src": "1372:7:9", "typeDescriptions": { "typeIdentifier": "t_address", @@ -16310,11 +16381,11 @@ }, { "argumentTypes": null, - "id": 1213, + "id": 1218, "name": "newAllowance", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1197, + "referencedDeclaration": 1202, "src": "1381:12:9", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -16335,32 +16406,32 @@ ], "expression": { "argumentTypes": null, - "id": 1210, + "id": 1215, "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1189, + "referencedDeclaration": 1194, "src": "1358:5:9", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$1106", + "typeIdentifier": "t_contract$_IERC20_$1111", "typeString": "contract IERC20" } }, - "id": 1211, + "id": 1216, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "approve", "nodeType": "MemberAccess", - "referencedDeclaration": 1078, + "referencedDeclaration": 1083, "src": "1358:13:9", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", "typeString": "function (address,uint256) external returns (bool)" } }, - "id": 1214, + "id": 1219, "isConstant": false, "isLValue": false, "isPure": false, @@ -16382,21 +16453,21 @@ "typeString": "bool" } ], - "id": 1209, + "id": 1214, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1268, - 1269 + 1273, + 1274 ], - "referencedDeclaration": 1268, + "referencedDeclaration": 1273, "src": "1350:7:9", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 1215, + "id": 1220, "isConstant": false, "isLValue": false, "isPure": false, @@ -16410,14 +16481,14 @@ "typeString": "tuple()" } }, - "id": 1216, + "id": 1221, "nodeType": "ExpressionStatement", "src": "1350:45:9" } ] }, "documentation": null, - "id": 1218, + "id": 1223, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -16425,31 +16496,31 @@ "name": "safeIncreaseAllowance", "nodeType": "FunctionDefinition", "parameters": { - "id": 1194, + "id": 1199, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1189, + "id": 1194, "name": "token", "nodeType": "VariableDeclaration", - "scope": 1218, + "scope": 1223, "src": "1193:12:9", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$1106", + "typeIdentifier": "t_contract$_IERC20_$1111", "typeString": "contract IERC20" }, "typeName": { "contractScope": null, - "id": 1188, + "id": 1193, "name": "IERC20", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1106, + "referencedDeclaration": 1111, "src": "1193:6:9", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$1106", + "typeIdentifier": "t_contract$_IERC20_$1111", "typeString": "contract IERC20" } }, @@ -16458,10 +16529,10 @@ }, { "constant": false, - "id": 1191, + "id": 1196, "name": "spender", "nodeType": "VariableDeclaration", - "scope": 1218, + "scope": 1223, "src": "1211:15:9", "stateVariable": false, "storageLocation": "default", @@ -16470,7 +16541,7 @@ "typeString": "address" }, "typeName": { - "id": 1190, + "id": 1195, "name": "address", "nodeType": "ElementaryTypeName", "src": "1211:7:9", @@ -16484,10 +16555,10 @@ }, { "constant": false, - "id": 1193, + "id": 1198, "name": "value", "nodeType": "VariableDeclaration", - "scope": 1218, + "scope": 1223, "src": "1232:13:9", "stateVariable": false, "storageLocation": "default", @@ -16496,7 +16567,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1192, + "id": 1197, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1232:7:9", @@ -16513,12 +16584,12 @@ }, "payable": false, "returnParameters": { - "id": 1195, + "id": 1200, "nodeType": "ParameterList", "parameters": [], "src": "1265:0:9" }, - "scope": 1250, + "scope": 1255, "src": "1157:243:9", "stateMutability": "nonpayable", "superFunction": null, @@ -16526,21 +16597,21 @@ }, { "body": { - "id": 1248, + "id": 1253, "nodeType": "Block", "src": "1512:135:9", "statements": [ { "assignments": [ - 1228 + 1233 ], "declarations": [ { "constant": false, - "id": 1228, + "id": 1233, "name": "newAllowance", "nodeType": "VariableDeclaration", - "scope": 1249, + "scope": 1254, "src": "1518:20:9", "stateVariable": false, "storageLocation": "default", @@ -16549,7 +16620,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1227, + "id": 1232, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1518:7:9", @@ -16562,17 +16633,17 @@ "visibility": "internal" } ], - "id": 1239, + "id": 1244, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 1237, + "id": 1242, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1224, + "referencedDeclaration": 1229, "src": "1585:5:9", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -16595,14 +16666,14 @@ "arguments": [ { "argumentTypes": null, - "id": 1232, + "id": 1237, "name": "this", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1286, + "referencedDeclaration": 1291, "src": "1565:4:9", "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeERC20_$1250", + "typeIdentifier": "t_contract$_SafeERC20_$1255", "typeString": "library SafeERC20" } } @@ -16610,11 +16681,11 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_SafeERC20_$1250", + "typeIdentifier": "t_contract$_SafeERC20_$1255", "typeString": "library SafeERC20" } ], - "id": 1231, + "id": 1236, "isConstant": false, "isLValue": false, "isPure": true, @@ -16627,7 +16698,7 @@ }, "typeName": "address" }, - "id": 1233, + "id": 1238, "isConstant": false, "isLValue": false, "isPure": false, @@ -16643,11 +16714,11 @@ }, { "argumentTypes": null, - "id": 1234, + "id": 1239, "name": "spender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1222, + "referencedDeclaration": 1227, "src": "1572:7:9", "typeDescriptions": { "typeIdentifier": "t_address", @@ -16668,32 +16739,32 @@ ], "expression": { "argumentTypes": null, - "id": 1229, + "id": 1234, "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1220, + "referencedDeclaration": 1225, "src": "1541:5:9", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$1106", + "typeIdentifier": "t_contract$_IERC20_$1111", "typeString": "contract IERC20" } }, - "id": 1230, + "id": 1235, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "allowance", "nodeType": "MemberAccess", - "referencedDeclaration": 1060, + "referencedDeclaration": 1065, "src": "1541:15:9", "typeDescriptions": { "typeIdentifier": "t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$", "typeString": "function (address,address) view external returns (uint256)" } }, - "id": 1235, + "id": 1240, "isConstant": false, "isLValue": false, "isPure": false, @@ -16707,21 +16778,21 @@ "typeString": "uint256" } }, - "id": 1236, + "id": 1241, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sub", "nodeType": "MemberAccess", - "referencedDeclaration": 992, + "referencedDeclaration": 997, "src": "1541:43:9", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 1238, + "id": 1243, "isConstant": false, "isLValue": false, "isPure": false, @@ -16747,11 +16818,11 @@ "arguments": [ { "argumentTypes": null, - "id": 1243, + "id": 1248, "name": "spender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1222, + "referencedDeclaration": 1227, "src": "1619:7:9", "typeDescriptions": { "typeIdentifier": "t_address", @@ -16760,11 +16831,11 @@ }, { "argumentTypes": null, - "id": 1244, + "id": 1249, "name": "newAllowance", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1228, + "referencedDeclaration": 1233, "src": "1628:12:9", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -16785,32 +16856,32 @@ ], "expression": { "argumentTypes": null, - "id": 1241, + "id": 1246, "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1220, + "referencedDeclaration": 1225, "src": "1605:5:9", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$1106", + "typeIdentifier": "t_contract$_IERC20_$1111", "typeString": "contract IERC20" } }, - "id": 1242, + "id": 1247, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "approve", "nodeType": "MemberAccess", - "referencedDeclaration": 1078, + "referencedDeclaration": 1083, "src": "1605:13:9", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", "typeString": "function (address,uint256) external returns (bool)" } }, - "id": 1245, + "id": 1250, "isConstant": false, "isLValue": false, "isPure": false, @@ -16832,21 +16903,21 @@ "typeString": "bool" } ], - "id": 1240, + "id": 1245, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1268, - 1269 + 1273, + 1274 ], - "referencedDeclaration": 1268, + "referencedDeclaration": 1273, "src": "1597:7:9", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 1246, + "id": 1251, "isConstant": false, "isLValue": false, "isPure": false, @@ -16860,14 +16931,14 @@ "typeString": "tuple()" } }, - "id": 1247, + "id": 1252, "nodeType": "ExpressionStatement", "src": "1597:45:9" } ] }, "documentation": null, - "id": 1249, + "id": 1254, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -16875,31 +16946,31 @@ "name": "safeDecreaseAllowance", "nodeType": "FunctionDefinition", "parameters": { - "id": 1225, + "id": 1230, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1220, + "id": 1225, "name": "token", "nodeType": "VariableDeclaration", - "scope": 1249, + "scope": 1254, "src": "1440:12:9", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$1106", + "typeIdentifier": "t_contract$_IERC20_$1111", "typeString": "contract IERC20" }, "typeName": { "contractScope": null, - "id": 1219, + "id": 1224, "name": "IERC20", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1106, + "referencedDeclaration": 1111, "src": "1440:6:9", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$1106", + "typeIdentifier": "t_contract$_IERC20_$1111", "typeString": "contract IERC20" } }, @@ -16908,10 +16979,10 @@ }, { "constant": false, - "id": 1222, + "id": 1227, "name": "spender", "nodeType": "VariableDeclaration", - "scope": 1249, + "scope": 1254, "src": "1458:15:9", "stateVariable": false, "storageLocation": "default", @@ -16920,7 +16991,7 @@ "typeString": "address" }, "typeName": { - "id": 1221, + "id": 1226, "name": "address", "nodeType": "ElementaryTypeName", "src": "1458:7:9", @@ -16934,10 +17005,10 @@ }, { "constant": false, - "id": 1224, + "id": 1229, "name": "value", "nodeType": "VariableDeclaration", - "scope": 1249, + "scope": 1254, "src": "1479:13:9", "stateVariable": false, "storageLocation": "default", @@ -16946,7 +17017,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1223, + "id": 1228, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1479:7:9", @@ -16963,19 +17034,19 @@ }, "payable": false, "returnParameters": { - "id": 1226, + "id": 1231, "nodeType": "ParameterList", "parameters": [], "src": "1512:0:9" }, - "scope": 1250, + "scope": 1255, "src": "1404:243:9", "stateMutability": "nonpayable", "superFunction": null, "visibility": "internal" } ], - "scope": 1251, + "scope": 1256, "src": "353:1296:9" } ], diff --git a/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/bin/AlgoFees.bin b/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/bin/AlgoFees.bin index f56408f66..fd3dbf5fd 100644 --- a/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/bin/AlgoFees.bin +++ b/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/bin/AlgoFees.bin @@ -1 +1 @@ -60806040523480156200001157600080fd5b50604051602080620010d083398101604052516000805433600160a060020a0319918216811760a060020a60ff02191690925560018054909116600160a060020a0384161790556200006c90640100000000620000c7810204565b6200008033640100000000620000e5810204565b50600480546001810182556000919091527f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b018054600160a060020a031916905562000193565b620000e260028264010000000062000e066200010082021704565b50565b620000e260038264010000000062000e066200010082021704565b600160a060020a03811615156200011657600080fd5b6200012b82826401000000006200015b810204565b156200013657600080fd5b600160a060020a0316600090815260209190915260409020805460ff19166001179055565b6000600160a060020a03821615156200017357600080fd5b50600160a060020a03166000908152602091909152604090205460ff1690565b610f2d80620001a36000396000f3006080604052600436106100a05763ffffffff60e060020a6000350416630c08bf8881146100a55780632e6b6849146100bc578063341ccfcb146100dd57806334cdcf26146100fe5780633d19ab1314610133578063608d3d3d1461016757806374be75921461018857806381f909f3146101a957806399f4b251146101ca578063bb52c137146101df578063d43acc7914610206578063e9d618591461021b575b600080fd5b3480156100b157600080fd5b506100ba610230565b005b3480156100c857600080fd5b506100ba600160a060020a036004351661024e565b3480156100e957600080fd5b506100ba600160a060020a036004351661026e565b34801561010a57600080fd5b5061011f600160a060020a0360043516610457565b604080519115158252519081900360200190f35b34801561013f57600080fd5b5061014b600435610470565b60408051600160a060020a039092168252519081900360200190f35b34801561017357600080fd5b5061011f600160a060020a036004351661049f565b34801561019457600080fd5b506100ba600160a060020a03600435166104b2565b3480156101b557600080fd5b506100ba600160a060020a03600435166104cf565b3480156101d657600080fd5b506100ba610686565b3480156101eb57600080fd5b506101f4610bd1565b60408051918252519081900360200190f35b34801561021257600080fd5b506100ba610bdc565b34801561022757600080fd5b506100ba610be5565b6102393361049f565b151561024457600080fd5b61024c610bee565b565b6102573361049f565b151561026257600080fd5b61026b81610cb5565b50565b60008054819074010000000000000000000000000000000000000000900460ff161561029957600080fd5b6102a23361049f565b15156102ad57600080fd5b6004546103e8116102bd57600080fd5b600160a060020a038316600090815260056020526040902054156102e057600080fd5b82915081600160a060020a0316631777fb4b6040518163ffffffff1660e060020a028152600401602060405180830381600087803b15801561032157600080fd5b505af1158015610335573d6000803e3d6000fd5b505050506040513d602081101561034b57600080fd5b5051151561035857600080fd5b81600160a060020a03166380258e476040518163ffffffff1660e060020a028152600401602060405180830381600087803b15801561039657600080fd5b505af11580156103aa573d6000803e3d6000fd5b505050506040513d60208110156103c057600080fd5b50519050600060ff8216108015906103dc575060058160ff1611155b15156103e757600080fd5b505060048054600160a060020a039092166000818152600560205260408120849055600184018355919091527f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b909101805473ffffffffffffffffffffffffffffffffffffffff19169091179055565b600061046a60028363ffffffff610cc616565b92915050565b600060048260010181548110151561048457fe5b600091825260209091200154600160a060020a031692915050565b600061046a60038363ffffffff610cc616565b6104bb33610457565b15156104c657600080fd5b61026b81610cfd565b60005474010000000000000000000000000000000000000000900460ff16156104f757600080fd5b6105003361049f565b151561050b57600080fd5b60045460011061051a57600080fd5b600454600214156105865760048054600190811061053457fe5b6000918252602090912001805473ffffffffffffffffffffffffffffffffffffffff191690556001610567600482610ea0565b50600160a060020a03811660009081526005602052604081205561026b565b600454600160a060020a03821660009081526005602052604090205414610620576004805460001981019081106105b957fe5b6000918252602080832090910154600160a060020a03848116845260059092526040909220546004805492909316929181106105f157fe5b9060005260206000200160006101000a815481600160a060020a030219169083600160a060020a031602179055505b60048054600019810190811061063257fe5b6000918252602090912001805473ffffffffffffffffffffffffffffffffffffffff19169055600480549061066b906000198301610ea0565b50600160a060020a0316600090815260056020526040812055565b6000610690610ec4565b60008060008061069e610ec4565b60005474010000000000000000000000000000000000000000900460ff16156106c657600080fd5b6106cf33610457565b15156106da57600080fd5b6004546001106106e957600080fd5b600154604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051600160a060020a03909216916370a08231916024808201926020929091908290030181600087803b15801561074f57600080fd5b505af1158015610763573d6000803e3d6000fd5b505050506040513d602081101561077957600080fd5b505196506000871161078a57600080fd5b600194505b6004548510156109395760048054869081106107a757fe5b9060005260206000200160009054906101000a9004600160a060020a0316935083600160a060020a03166319a74ab36040518163ffffffff1660e060020a028152600401602060405180830381600087803b15801561080557600080fd5b505af1158015610819573d6000803e3d6000fd5b505050506040513d602081101561082f57600080fd5b5051151561083c5761092e565b83600160a060020a03166380258e476040518163ffffffff1660e060020a028152600401602060405180830381600087803b15801561087a57600080fd5b505af115801561088e573d6000803e3d6000fd5b505050506040513d60208110156108a457600080fd5b5051925060ff831615156108c6578560005b602002018051600101905261092e565b8260ff16600114156108da578560016108b6565b8260ff16600214156108ee578560026108b6565b8260ff1660031415610902578560036108b6565b8260ff1660041415610916578560046108b6565b8260ff166005141561092e5760a08601805160010190525b60019094019361078f565b60a086015160808701516060880151604089015160208a01518a51600a90910201601490910201601e909102016028909102016032909102019150818781151561097f57fe5b04815281600a880281151561099057fe5b04602082015281601488028115156109a457fe5b04604082015281601e88028115156109b857fe5b04606082015281602888028115156109cc57fe5b04608082015281603288028115156109e057fe5b0460a0820152600194505b600454851015610bc8576004805486908110610a0357fe5b9060005260206000200160009054906101000a9004600160a060020a0316935083600160a060020a03166319a74ab36040518163ffffffff1660e060020a028152600401602060405180830381600087803b158015610a6157600080fd5b505af1158015610a75573d6000803e3d6000fd5b505050506040513d6020811015610a8b57600080fd5b50511515610a9857610bbd565b83600160a060020a03166380258e476040518163ffffffff1660e060020a028152600401602060405180830381600087803b158015610ad657600080fd5b505af1158015610aea573d6000803e3d6000fd5b505050506040513d6020811015610b0057600080fd5b5051604080517f302c11ca0000000000000000000000000000000000000000000000000000000081529051919450610bbd91600160a060020a0387169163302c11ca9160048083019260209291908290030181600087803b158015610b6457600080fd5b505af1158015610b78573d6000803e3d6000fd5b505050506040513d6020811015610b8e57600080fd5b50518260ff861660068110610b9f57fe5b6020020151600154600160a060020a0316919063ffffffff610d0e16565b6001909401936109eb565b50505050505050565b600454600019015b90565b61024c33610dad565b61024c33610dbe565b600154604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051600092600160a060020a0316916370a0823191602480830192602092919082900301818787803b158015610c5357600080fd5b505af1158015610c67573d6000803e3d6000fd5b505050506040513d6020811015610c7d57600080fd5b505190506000811115610cad57600054600154610cad91600160a060020a0391821691168363ffffffff610d0e16565b61026b610dcf565b61026b60038263ffffffff610e0616565b6000600160a060020a0382161515610cdd57600080fd5b50600160a060020a03166000908152602091909152604090205460ff1690565b61026b60028263ffffffff610e0616565b82600160a060020a031663a9059cbb83836040518363ffffffff1660e060020a0281526004018083600160a060020a0316600160a060020a0316815260200182815260200192505050602060405180830381600087803b158015610d7157600080fd5b505af1158015610d85573d6000803e3d6000fd5b505050506040513d6020811015610d9b57600080fd5b50511515610da857600080fd5b505050565b61026b60038263ffffffff610e5416565b61026b60028263ffffffff610e5416565b6000805474ff0000000000000000000000000000000000000000191674010000000000000000000000000000000000000000179055565b600160a060020a0381161515610e1b57600080fd5b610e258282610cc6565b15610e2f57600080fd5b600160a060020a0316600090815260209190915260409020805460ff19166001179055565b600160a060020a0381161515610e6957600080fd5b610e738282610cc6565b1515610e7e57600080fd5b600160a060020a0316600090815260209190915260409020805460ff19169055565b815481835581811115610da857600083815260209020610da8918101908301610ee3565b60c0604051908101604052806006906020820280388339509192915050565b610bd991905b80821115610efd5760008155600101610ee9565b50905600a165627a7a72305820c97e98efb9f61c8f769238044b274ddcf265ed47d4444eab2134a813ff57783b0029 \ No newline at end of file +60806040523480156200001157600080fd5b50604051602080620010d083398101604052516000805433600160a060020a0319918216811760a060020a60ff02191690925560018054909116600160a060020a0384161790556200006c90640100000000620000c7810204565b6200008033640100000000620000e5810204565b50600480546001810182556000919091527f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b018054600160a060020a031916905562000193565b620000e260028264010000000062000e066200010082021704565b50565b620000e260038264010000000062000e066200010082021704565b600160a060020a03811615156200011657600080fd5b6200012b82826401000000006200015b810204565b156200013657600080fd5b600160a060020a0316600090815260209190915260409020805460ff19166001179055565b6000600160a060020a03821615156200017357600080fd5b50600160a060020a03166000908152602091909152604090205460ff1690565b610f2d80620001a36000396000f3006080604052600436106100a05763ffffffff60e060020a6000350416630c08bf8881146100a55780632e6b6849146100bc578063341ccfcb146100dd57806334cdcf26146100fe5780633d19ab1314610133578063608d3d3d1461016757806374be75921461018857806381f909f3146101a957806399f4b251146101ca578063bb52c137146101df578063d43acc7914610206578063e9d618591461021b575b600080fd5b3480156100b157600080fd5b506100ba610230565b005b3480156100c857600080fd5b506100ba600160a060020a036004351661024e565b3480156100e957600080fd5b506100ba600160a060020a036004351661026e565b34801561010a57600080fd5b5061011f600160a060020a0360043516610457565b604080519115158252519081900360200190f35b34801561013f57600080fd5b5061014b600435610470565b60408051600160a060020a039092168252519081900360200190f35b34801561017357600080fd5b5061011f600160a060020a036004351661049f565b34801561019457600080fd5b506100ba600160a060020a03600435166104b2565b3480156101b557600080fd5b506100ba600160a060020a03600435166104cf565b3480156101d657600080fd5b506100ba610686565b3480156101eb57600080fd5b506101f4610bd1565b60408051918252519081900360200190f35b34801561021257600080fd5b506100ba610bdc565b34801561022757600080fd5b506100ba610be5565b6102393361049f565b151561024457600080fd5b61024c610bee565b565b6102573361049f565b151561026257600080fd5b61026b81610cb5565b50565b60008054819074010000000000000000000000000000000000000000900460ff161561029957600080fd5b6102a23361049f565b15156102ad57600080fd5b6004546103e8116102bd57600080fd5b600160a060020a038316600090815260056020526040902054156102e057600080fd5b82915081600160a060020a0316631777fb4b6040518163ffffffff1660e060020a028152600401602060405180830381600087803b15801561032157600080fd5b505af1158015610335573d6000803e3d6000fd5b505050506040513d602081101561034b57600080fd5b5051151561035857600080fd5b81600160a060020a03166380258e476040518163ffffffff1660e060020a028152600401602060405180830381600087803b15801561039657600080fd5b505af11580156103aa573d6000803e3d6000fd5b505050506040513d60208110156103c057600080fd5b50519050600060ff8216108015906103dc575060058160ff1611155b15156103e757600080fd5b505060048054600160a060020a039092166000818152600560205260408120849055600184018355919091527f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b909101805473ffffffffffffffffffffffffffffffffffffffff19169091179055565b600061046a60028363ffffffff610cc616565b92915050565b600060048260010181548110151561048457fe5b600091825260209091200154600160a060020a031692915050565b600061046a60038363ffffffff610cc616565b6104bb33610457565b15156104c657600080fd5b61026b81610cfd565b60005474010000000000000000000000000000000000000000900460ff16156104f757600080fd5b6105003361049f565b151561050b57600080fd5b60045460011061051a57600080fd5b600454600214156105865760048054600190811061053457fe5b6000918252602090912001805473ffffffffffffffffffffffffffffffffffffffff191690556001610567600482610ea0565b50600160a060020a03811660009081526005602052604081205561026b565b600454600160a060020a03821660009081526005602052604090205414610620576004805460001981019081106105b957fe5b6000918252602080832090910154600160a060020a03848116845260059092526040909220546004805492909316929181106105f157fe5b9060005260206000200160006101000a815481600160a060020a030219169083600160a060020a031602179055505b60048054600019810190811061063257fe5b6000918252602090912001805473ffffffffffffffffffffffffffffffffffffffff19169055600480549061066b906000198301610ea0565b50600160a060020a0316600090815260056020526040812055565b6000610690610ec4565b60008060008061069e610ec4565b60005474010000000000000000000000000000000000000000900460ff16156106c657600080fd5b6106cf33610457565b15156106da57600080fd5b6004546001106106e957600080fd5b600154604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051600160a060020a03909216916370a08231916024808201926020929091908290030181600087803b15801561074f57600080fd5b505af1158015610763573d6000803e3d6000fd5b505050506040513d602081101561077957600080fd5b505196506000871161078a57600080fd5b600194505b6004548510156109395760048054869081106107a757fe5b9060005260206000200160009054906101000a9004600160a060020a0316935083600160a060020a03166319a74ab36040518163ffffffff1660e060020a028152600401602060405180830381600087803b15801561080557600080fd5b505af1158015610819573d6000803e3d6000fd5b505050506040513d602081101561082f57600080fd5b5051151561083c5761092e565b83600160a060020a03166380258e476040518163ffffffff1660e060020a028152600401602060405180830381600087803b15801561087a57600080fd5b505af115801561088e573d6000803e3d6000fd5b505050506040513d60208110156108a457600080fd5b5051925060ff831615156108c6578560005b602002018051600101905261092e565b8260ff16600114156108da578560016108b6565b8260ff16600214156108ee578560026108b6565b8260ff1660031415610902578560036108b6565b8260ff1660041415610916578560046108b6565b8260ff166005141561092e5760a08601805160010190525b60019094019361078f565b60a086015160808701516060880151604089015160208a01518a51600a90910201601490910201601e909102016028909102016032909102019150818781151561097f57fe5b04815281600a880281151561099057fe5b04602082015281601488028115156109a457fe5b04604082015281601e88028115156109b857fe5b04606082015281602888028115156109cc57fe5b04608082015281603288028115156109e057fe5b0460a0820152600194505b600454851015610bc8576004805486908110610a0357fe5b9060005260206000200160009054906101000a9004600160a060020a0316935083600160a060020a03166319a74ab36040518163ffffffff1660e060020a028152600401602060405180830381600087803b158015610a6157600080fd5b505af1158015610a75573d6000803e3d6000fd5b505050506040513d6020811015610a8b57600080fd5b50511515610a9857610bbd565b83600160a060020a03166380258e476040518163ffffffff1660e060020a028152600401602060405180830381600087803b158015610ad657600080fd5b505af1158015610aea573d6000803e3d6000fd5b505050506040513d6020811015610b0057600080fd5b5051604080517f302c11ca0000000000000000000000000000000000000000000000000000000081529051919450610bbd91600160a060020a0387169163302c11ca9160048083019260209291908290030181600087803b158015610b6457600080fd5b505af1158015610b78573d6000803e3d6000fd5b505050506040513d6020811015610b8e57600080fd5b50518260ff861660068110610b9f57fe5b6020020151600154600160a060020a0316919063ffffffff610d0e16565b6001909401936109eb565b50505050505050565b600454600019015b90565b61024c33610dad565b61024c33610dbe565b600154604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051600092600160a060020a0316916370a0823191602480830192602092919082900301818787803b158015610c5357600080fd5b505af1158015610c67573d6000803e3d6000fd5b505050506040513d6020811015610c7d57600080fd5b505190506000811115610cad57600054600154610cad91600160a060020a0391821691168363ffffffff610d0e16565b61026b610dcf565b61026b60038263ffffffff610e0616565b6000600160a060020a0382161515610cdd57600080fd5b50600160a060020a03166000908152602091909152604090205460ff1690565b61026b60028263ffffffff610e0616565b82600160a060020a031663a9059cbb83836040518363ffffffff1660e060020a0281526004018083600160a060020a0316600160a060020a0316815260200182815260200192505050602060405180830381600087803b158015610d7157600080fd5b505af1158015610d85573d6000803e3d6000fd5b505050506040513d6020811015610d9b57600080fd5b50511515610da857600080fd5b505050565b61026b60038263ffffffff610e5416565b61026b60028263ffffffff610e5416565b6000805474ff0000000000000000000000000000000000000000191674010000000000000000000000000000000000000000179055565b600160a060020a0381161515610e1b57600080fd5b610e258282610cc6565b15610e2f57600080fd5b600160a060020a0316600090815260209190915260409020805460ff19166001179055565b600160a060020a0381161515610e6957600080fd5b610e738282610cc6565b1515610e7e57600080fd5b600160a060020a0316600090815260209190915260409020805460ff19169055565b815481835581811115610da857600083815260209020610da8918101908301610ee3565b60c0604051908101604052806006906020820280388339509192915050565b610bd991905b80821115610efd5760008155600101610ee9565b50905600a165627a7a7230582095e26f90cc3199aca464eb563533fc93a77d60dc52f6506d09a60413c4ab2d960029 \ No newline at end of file diff --git a/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/bin/AlgoFees.json b/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/bin/AlgoFees.json index 2124d0262..4edae4a73 100644 --- a/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/bin/AlgoFees.json +++ b/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/bin/AlgoFees.json @@ -175,7 +175,7 @@ "type": "constructor" } ], - "bytecode": "60806040523480156200001157600080fd5b50604051602080620010d083398101604052516000805433600160a060020a0319918216811760a060020a60ff02191690925560018054909116600160a060020a0384161790556200006c90640100000000620000c7810204565b6200008033640100000000620000e5810204565b50600480546001810182556000919091527f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b018054600160a060020a031916905562000193565b620000e260028264010000000062000e066200010082021704565b50565b620000e260038264010000000062000e066200010082021704565b600160a060020a03811615156200011657600080fd5b6200012b82826401000000006200015b810204565b156200013657600080fd5b600160a060020a0316600090815260209190915260409020805460ff19166001179055565b6000600160a060020a03821615156200017357600080fd5b50600160a060020a03166000908152602091909152604090205460ff1690565b610f2d80620001a36000396000f3006080604052600436106100a05763ffffffff60e060020a6000350416630c08bf8881146100a55780632e6b6849146100bc578063341ccfcb146100dd57806334cdcf26146100fe5780633d19ab1314610133578063608d3d3d1461016757806374be75921461018857806381f909f3146101a957806399f4b251146101ca578063bb52c137146101df578063d43acc7914610206578063e9d618591461021b575b600080fd5b3480156100b157600080fd5b506100ba610230565b005b3480156100c857600080fd5b506100ba600160a060020a036004351661024e565b3480156100e957600080fd5b506100ba600160a060020a036004351661026e565b34801561010a57600080fd5b5061011f600160a060020a0360043516610457565b604080519115158252519081900360200190f35b34801561013f57600080fd5b5061014b600435610470565b60408051600160a060020a039092168252519081900360200190f35b34801561017357600080fd5b5061011f600160a060020a036004351661049f565b34801561019457600080fd5b506100ba600160a060020a03600435166104b2565b3480156101b557600080fd5b506100ba600160a060020a03600435166104cf565b3480156101d657600080fd5b506100ba610686565b3480156101eb57600080fd5b506101f4610bd1565b60408051918252519081900360200190f35b34801561021257600080fd5b506100ba610bdc565b34801561022757600080fd5b506100ba610be5565b6102393361049f565b151561024457600080fd5b61024c610bee565b565b6102573361049f565b151561026257600080fd5b61026b81610cb5565b50565b60008054819074010000000000000000000000000000000000000000900460ff161561029957600080fd5b6102a23361049f565b15156102ad57600080fd5b6004546103e8116102bd57600080fd5b600160a060020a038316600090815260056020526040902054156102e057600080fd5b82915081600160a060020a0316631777fb4b6040518163ffffffff1660e060020a028152600401602060405180830381600087803b15801561032157600080fd5b505af1158015610335573d6000803e3d6000fd5b505050506040513d602081101561034b57600080fd5b5051151561035857600080fd5b81600160a060020a03166380258e476040518163ffffffff1660e060020a028152600401602060405180830381600087803b15801561039657600080fd5b505af11580156103aa573d6000803e3d6000fd5b505050506040513d60208110156103c057600080fd5b50519050600060ff8216108015906103dc575060058160ff1611155b15156103e757600080fd5b505060048054600160a060020a039092166000818152600560205260408120849055600184018355919091527f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b909101805473ffffffffffffffffffffffffffffffffffffffff19169091179055565b600061046a60028363ffffffff610cc616565b92915050565b600060048260010181548110151561048457fe5b600091825260209091200154600160a060020a031692915050565b600061046a60038363ffffffff610cc616565b6104bb33610457565b15156104c657600080fd5b61026b81610cfd565b60005474010000000000000000000000000000000000000000900460ff16156104f757600080fd5b6105003361049f565b151561050b57600080fd5b60045460011061051a57600080fd5b600454600214156105865760048054600190811061053457fe5b6000918252602090912001805473ffffffffffffffffffffffffffffffffffffffff191690556001610567600482610ea0565b50600160a060020a03811660009081526005602052604081205561026b565b600454600160a060020a03821660009081526005602052604090205414610620576004805460001981019081106105b957fe5b6000918252602080832090910154600160a060020a03848116845260059092526040909220546004805492909316929181106105f157fe5b9060005260206000200160006101000a815481600160a060020a030219169083600160a060020a031602179055505b60048054600019810190811061063257fe5b6000918252602090912001805473ffffffffffffffffffffffffffffffffffffffff19169055600480549061066b906000198301610ea0565b50600160a060020a0316600090815260056020526040812055565b6000610690610ec4565b60008060008061069e610ec4565b60005474010000000000000000000000000000000000000000900460ff16156106c657600080fd5b6106cf33610457565b15156106da57600080fd5b6004546001106106e957600080fd5b600154604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051600160a060020a03909216916370a08231916024808201926020929091908290030181600087803b15801561074f57600080fd5b505af1158015610763573d6000803e3d6000fd5b505050506040513d602081101561077957600080fd5b505196506000871161078a57600080fd5b600194505b6004548510156109395760048054869081106107a757fe5b9060005260206000200160009054906101000a9004600160a060020a0316935083600160a060020a03166319a74ab36040518163ffffffff1660e060020a028152600401602060405180830381600087803b15801561080557600080fd5b505af1158015610819573d6000803e3d6000fd5b505050506040513d602081101561082f57600080fd5b5051151561083c5761092e565b83600160a060020a03166380258e476040518163ffffffff1660e060020a028152600401602060405180830381600087803b15801561087a57600080fd5b505af115801561088e573d6000803e3d6000fd5b505050506040513d60208110156108a457600080fd5b5051925060ff831615156108c6578560005b602002018051600101905261092e565b8260ff16600114156108da578560016108b6565b8260ff16600214156108ee578560026108b6565b8260ff1660031415610902578560036108b6565b8260ff1660041415610916578560046108b6565b8260ff166005141561092e5760a08601805160010190525b60019094019361078f565b60a086015160808701516060880151604089015160208a01518a51600a90910201601490910201601e909102016028909102016032909102019150818781151561097f57fe5b04815281600a880281151561099057fe5b04602082015281601488028115156109a457fe5b04604082015281601e88028115156109b857fe5b04606082015281602888028115156109cc57fe5b04608082015281603288028115156109e057fe5b0460a0820152600194505b600454851015610bc8576004805486908110610a0357fe5b9060005260206000200160009054906101000a9004600160a060020a0316935083600160a060020a03166319a74ab36040518163ffffffff1660e060020a028152600401602060405180830381600087803b158015610a6157600080fd5b505af1158015610a75573d6000803e3d6000fd5b505050506040513d6020811015610a8b57600080fd5b50511515610a9857610bbd565b83600160a060020a03166380258e476040518163ffffffff1660e060020a028152600401602060405180830381600087803b158015610ad657600080fd5b505af1158015610aea573d6000803e3d6000fd5b505050506040513d6020811015610b0057600080fd5b5051604080517f302c11ca0000000000000000000000000000000000000000000000000000000081529051919450610bbd91600160a060020a0387169163302c11ca9160048083019260209291908290030181600087803b158015610b6457600080fd5b505af1158015610b78573d6000803e3d6000fd5b505050506040513d6020811015610b8e57600080fd5b50518260ff861660068110610b9f57fe5b6020020151600154600160a060020a0316919063ffffffff610d0e16565b6001909401936109eb565b50505050505050565b600454600019015b90565b61024c33610dad565b61024c33610dbe565b600154604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051600092600160a060020a0316916370a0823191602480830192602092919082900301818787803b158015610c5357600080fd5b505af1158015610c67573d6000803e3d6000fd5b505050506040513d6020811015610c7d57600080fd5b505190506000811115610cad57600054600154610cad91600160a060020a0391821691168363ffffffff610d0e16565b61026b610dcf565b61026b60038263ffffffff610e0616565b6000600160a060020a0382161515610cdd57600080fd5b50600160a060020a03166000908152602091909152604090205460ff1690565b61026b60028263ffffffff610e0616565b82600160a060020a031663a9059cbb83836040518363ffffffff1660e060020a0281526004018083600160a060020a0316600160a060020a0316815260200182815260200192505050602060405180830381600087803b158015610d7157600080fd5b505af1158015610d85573d6000803e3d6000fd5b505050506040513d6020811015610d9b57600080fd5b50511515610da857600080fd5b505050565b61026b60038263ffffffff610e5416565b61026b60028263ffffffff610e5416565b6000805474ff0000000000000000000000000000000000000000191674010000000000000000000000000000000000000000179055565b600160a060020a0381161515610e1b57600080fd5b610e258282610cc6565b15610e2f57600080fd5b600160a060020a0316600090815260209190915260409020805460ff19166001179055565b600160a060020a0381161515610e6957600080fd5b610e738282610cc6565b1515610e7e57600080fd5b600160a060020a0316600090815260209190915260409020805460ff19169055565b815481835581811115610da857600083815260209020610da8918101908301610ee3565b60c0604051908101604052806006906020820280388339509192915050565b610bd991905b80821115610efd5760008155600101610ee9565b50905600a165627a7a72305820c97e98efb9f61c8f769238044b274ddcf265ed47d4444eab2134a813ff57783b0029", + "bytecode": "60806040523480156200001157600080fd5b50604051602080620010d083398101604052516000805433600160a060020a0319918216811760a060020a60ff02191690925560018054909116600160a060020a0384161790556200006c90640100000000620000c7810204565b6200008033640100000000620000e5810204565b50600480546001810182556000919091527f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b018054600160a060020a031916905562000193565b620000e260028264010000000062000e066200010082021704565b50565b620000e260038264010000000062000e066200010082021704565b600160a060020a03811615156200011657600080fd5b6200012b82826401000000006200015b810204565b156200013657600080fd5b600160a060020a0316600090815260209190915260409020805460ff19166001179055565b6000600160a060020a03821615156200017357600080fd5b50600160a060020a03166000908152602091909152604090205460ff1690565b610f2d80620001a36000396000f3006080604052600436106100a05763ffffffff60e060020a6000350416630c08bf8881146100a55780632e6b6849146100bc578063341ccfcb146100dd57806334cdcf26146100fe5780633d19ab1314610133578063608d3d3d1461016757806374be75921461018857806381f909f3146101a957806399f4b251146101ca578063bb52c137146101df578063d43acc7914610206578063e9d618591461021b575b600080fd5b3480156100b157600080fd5b506100ba610230565b005b3480156100c857600080fd5b506100ba600160a060020a036004351661024e565b3480156100e957600080fd5b506100ba600160a060020a036004351661026e565b34801561010a57600080fd5b5061011f600160a060020a0360043516610457565b604080519115158252519081900360200190f35b34801561013f57600080fd5b5061014b600435610470565b60408051600160a060020a039092168252519081900360200190f35b34801561017357600080fd5b5061011f600160a060020a036004351661049f565b34801561019457600080fd5b506100ba600160a060020a03600435166104b2565b3480156101b557600080fd5b506100ba600160a060020a03600435166104cf565b3480156101d657600080fd5b506100ba610686565b3480156101eb57600080fd5b506101f4610bd1565b60408051918252519081900360200190f35b34801561021257600080fd5b506100ba610bdc565b34801561022757600080fd5b506100ba610be5565b6102393361049f565b151561024457600080fd5b61024c610bee565b565b6102573361049f565b151561026257600080fd5b61026b81610cb5565b50565b60008054819074010000000000000000000000000000000000000000900460ff161561029957600080fd5b6102a23361049f565b15156102ad57600080fd5b6004546103e8116102bd57600080fd5b600160a060020a038316600090815260056020526040902054156102e057600080fd5b82915081600160a060020a0316631777fb4b6040518163ffffffff1660e060020a028152600401602060405180830381600087803b15801561032157600080fd5b505af1158015610335573d6000803e3d6000fd5b505050506040513d602081101561034b57600080fd5b5051151561035857600080fd5b81600160a060020a03166380258e476040518163ffffffff1660e060020a028152600401602060405180830381600087803b15801561039657600080fd5b505af11580156103aa573d6000803e3d6000fd5b505050506040513d60208110156103c057600080fd5b50519050600060ff8216108015906103dc575060058160ff1611155b15156103e757600080fd5b505060048054600160a060020a039092166000818152600560205260408120849055600184018355919091527f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b909101805473ffffffffffffffffffffffffffffffffffffffff19169091179055565b600061046a60028363ffffffff610cc616565b92915050565b600060048260010181548110151561048457fe5b600091825260209091200154600160a060020a031692915050565b600061046a60038363ffffffff610cc616565b6104bb33610457565b15156104c657600080fd5b61026b81610cfd565b60005474010000000000000000000000000000000000000000900460ff16156104f757600080fd5b6105003361049f565b151561050b57600080fd5b60045460011061051a57600080fd5b600454600214156105865760048054600190811061053457fe5b6000918252602090912001805473ffffffffffffffffffffffffffffffffffffffff191690556001610567600482610ea0565b50600160a060020a03811660009081526005602052604081205561026b565b600454600160a060020a03821660009081526005602052604090205414610620576004805460001981019081106105b957fe5b6000918252602080832090910154600160a060020a03848116845260059092526040909220546004805492909316929181106105f157fe5b9060005260206000200160006101000a815481600160a060020a030219169083600160a060020a031602179055505b60048054600019810190811061063257fe5b6000918252602090912001805473ffffffffffffffffffffffffffffffffffffffff19169055600480549061066b906000198301610ea0565b50600160a060020a0316600090815260056020526040812055565b6000610690610ec4565b60008060008061069e610ec4565b60005474010000000000000000000000000000000000000000900460ff16156106c657600080fd5b6106cf33610457565b15156106da57600080fd5b6004546001106106e957600080fd5b600154604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051600160a060020a03909216916370a08231916024808201926020929091908290030181600087803b15801561074f57600080fd5b505af1158015610763573d6000803e3d6000fd5b505050506040513d602081101561077957600080fd5b505196506000871161078a57600080fd5b600194505b6004548510156109395760048054869081106107a757fe5b9060005260206000200160009054906101000a9004600160a060020a0316935083600160a060020a03166319a74ab36040518163ffffffff1660e060020a028152600401602060405180830381600087803b15801561080557600080fd5b505af1158015610819573d6000803e3d6000fd5b505050506040513d602081101561082f57600080fd5b5051151561083c5761092e565b83600160a060020a03166380258e476040518163ffffffff1660e060020a028152600401602060405180830381600087803b15801561087a57600080fd5b505af115801561088e573d6000803e3d6000fd5b505050506040513d60208110156108a457600080fd5b5051925060ff831615156108c6578560005b602002018051600101905261092e565b8260ff16600114156108da578560016108b6565b8260ff16600214156108ee578560026108b6565b8260ff1660031415610902578560036108b6565b8260ff1660041415610916578560046108b6565b8260ff166005141561092e5760a08601805160010190525b60019094019361078f565b60a086015160808701516060880151604089015160208a01518a51600a90910201601490910201601e909102016028909102016032909102019150818781151561097f57fe5b04815281600a880281151561099057fe5b04602082015281601488028115156109a457fe5b04604082015281601e88028115156109b857fe5b04606082015281602888028115156109cc57fe5b04608082015281603288028115156109e057fe5b0460a0820152600194505b600454851015610bc8576004805486908110610a0357fe5b9060005260206000200160009054906101000a9004600160a060020a0316935083600160a060020a03166319a74ab36040518163ffffffff1660e060020a028152600401602060405180830381600087803b158015610a6157600080fd5b505af1158015610a75573d6000803e3d6000fd5b505050506040513d6020811015610a8b57600080fd5b50511515610a9857610bbd565b83600160a060020a03166380258e476040518163ffffffff1660e060020a028152600401602060405180830381600087803b158015610ad657600080fd5b505af1158015610aea573d6000803e3d6000fd5b505050506040513d6020811015610b0057600080fd5b5051604080517f302c11ca0000000000000000000000000000000000000000000000000000000081529051919450610bbd91600160a060020a0387169163302c11ca9160048083019260209291908290030181600087803b158015610b6457600080fd5b505af1158015610b78573d6000803e3d6000fd5b505050506040513d6020811015610b8e57600080fd5b50518260ff861660068110610b9f57fe5b6020020151600154600160a060020a0316919063ffffffff610d0e16565b6001909401936109eb565b50505050505050565b600454600019015b90565b61024c33610dad565b61024c33610dbe565b600154604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051600092600160a060020a0316916370a0823191602480830192602092919082900301818787803b158015610c5357600080fd5b505af1158015610c67573d6000803e3d6000fd5b505050506040513d6020811015610c7d57600080fd5b505190506000811115610cad57600054600154610cad91600160a060020a0391821691168363ffffffff610d0e16565b61026b610dcf565b61026b60038263ffffffff610e0616565b6000600160a060020a0382161515610cdd57600080fd5b50600160a060020a03166000908152602091909152604090205460ff1690565b61026b60028263ffffffff610e0616565b82600160a060020a031663a9059cbb83836040518363ffffffff1660e060020a0281526004018083600160a060020a0316600160a060020a0316815260200182815260200192505050602060405180830381600087803b158015610d7157600080fd5b505af1158015610d85573d6000803e3d6000fd5b505050506040513d6020811015610d9b57600080fd5b50511515610da857600080fd5b505050565b61026b60038263ffffffff610e5416565b61026b60028263ffffffff610e5416565b6000805474ff0000000000000000000000000000000000000000191674010000000000000000000000000000000000000000179055565b600160a060020a0381161515610e1b57600080fd5b610e258282610cc6565b15610e2f57600080fd5b600160a060020a0316600090815260209190915260409020805460ff19166001179055565b600160a060020a0381161515610e6957600080fd5b610e738282610cc6565b1515610e7e57600080fd5b600160a060020a0316600090815260209190915260409020805460ff19169055565b815481835581811115610da857600083815260209020610da8918101908301610ee3565b60c0604051908101604052806006906020820280388339509192915050565b610bd991905b80821115610efd5760008155600101610ee9565b50905600a165627a7a7230582095e26f90cc3199aca464eb563533fc93a77d60dc52f6506d09a60413c4ab2d960029", "functionHashes": { "addCoreTeam(address)": "2e6b6849", "addSystem(address)": "74be7592", diff --git a/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/bin/AlgoMiner-sol-output.json b/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/bin/AlgoMiner-sol-output.json index 6731ab628..79da0244d 100644 --- a/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/bin/AlgoMiner-sol-output.json +++ b/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/bin/AlgoMiner-sol-output.json @@ -419,20 +419,6 @@ "stateMutability": "nonpayable", "type": "function" }, - { - "constant": true, - "inputs": [], - "name": "DAYS_PER_YEAR", - "outputs": [ - { - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, { "constant": true, "inputs": [], @@ -522,18 +508,17 @@ "evm": { "bytecode": { "linkReferences": {}, - "object": "60806040523480156200001157600080fd5b5060405160a080620014f7833981016040908152815160208301519183015160608401516080909401516000805433600160a060020a0319918216811760a060020a60ff02191690925560018054909116600160a060020a0384161790559294919262000087906401000000006200018e810204565b6200009b33640100000000620001ac810204565b620000af33640100000000620001c7810204565b60008460ff1610158015620000c8575060058460ff1611155b1515620000d457600080fd5b600160a060020a0383161515620000ea57600080fd5b6000856001811115620000f957fe5b14156200011657600160a060020a03821615156200011657600080fd5b6005805486919060ff1916600183818111156200012f57fe5b0217905550506005805461ff00191661010060ff9590951694909402939093176201000060b060020a03191662010000600160a060020a03938416021790925560068054600160a060020a031916929091169190911790555062000275565b620001a9600282640100000000620011ac620001e282021704565b50565b620001a9600382640100000000620011ac620001e282021704565b620001a9600482640100000000620011ac620001e282021704565b600160a060020a0381161515620001f857600080fd5b6200020d82826401000000006200023d810204565b156200021857600080fd5b600160a060020a0316600090815260209190915260409020805460ff19166001179055565b6000600160a060020a03821615156200025557600080fd5b50600160a060020a03166000908152602091909152604090205460ff1690565b61127280620002856000396000f30060806040526004361061017f5763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416630c08bf888114610184578063162f986d1461019b5780631777fb4b146101b057806319a74ab3146101d957806321b79d98146101ee578063231d4e2a1461020357806329d10b6e146102245780632e6b684914610245578063302c11ca14610266578063329b1c921461029757806334cdcf26146102ac578063363aa6c7146102cd5780633e6968b6146102e2578063427534a41461030e5780634969ae7014610323578063608d3d3d1461034e57806374be75921461036f57806380258e471461039057806381a24459146103a55780638329138f146103c657806399f4b251146103ed5780639e614ca014610402578063b2a32cd514610417578063be9524941461042c578063c6846ef814610441578063cdfd0f6414610468578063ce41607a1461047d578063d43acc7914610492578063da408679146104a7578063e9d61859146104bc575b600080fd5b34801561019057600080fd5b506101996104d1565b005b3480156101a757600080fd5b506101996104ef565b3480156101bc57600080fd5b506101c561055e565b604080519115158252519081900360200190f35b3480156101e557600080fd5b506101c5610563565b3480156101fa57600080fd5b5061019961059a565b34801561020f57600080fd5b50610199600160a060020a0360043516610630565b34801561023057600080fd5b50610199600160a060020a036004351661071c565b34801561025157600080fd5b50610199600160a060020a0360043516610739565b34801561027257600080fd5b5061027b610756565b60408051600160a060020a039092168252519081900360200190f35b3480156102a357600080fd5b5061027b61076b565b3480156102b857600080fd5b506101c5600160a060020a036004351661077a565b3480156102d957600080fd5b50610199610795565b3480156102ee57600080fd5b506102f7610846565b6040805161ffff9092168252519081900360200190f35b34801561031a57600080fd5b50610199610857565b34801561032f57600080fd5b506103386108c3565b6040805160ff9092168252519081900360200190f35b34801561035a57600080fd5b506101c5600160a060020a03600435166108d7565b34801561037b57600080fd5b50610199600160a060020a03600435166108ea565b34801561039c57600080fd5b50610338610907565b3480156103b157600080fd5b506101c5600160a060020a0360043516610915565b3480156103d257600080fd5b50610199600160a060020a0360043581169060243516610928565b3480156103f957600080fd5b506101996109db565b34801561040e57600080fd5b50610199610c1c565b34801561042357600080fd5b50610199610c8d565b34801561043857600080fd5b50610199610deb565b34801561044d57600080fd5b50610456610df4565b60408051918252519081900360200190f35b34801561047457600080fd5b50610456610dfa565b34801561048957600080fd5b50610338610e00565b34801561049e57600080fd5b50610199610e23565b3480156104b357600080fd5b50610199610e2c565b3480156104c857600080fd5b50610199610ebd565b6104da336108d7565b15156104e557600080fd5b6104ed610ec6565b565b60005460a060020a900460ff161561050657600080fd5b61050f33610915565b151561051a57600080fd5b600160065460a060020a900460ff16600381111561053457fe5b1461053e57600080fd5b600680546002919060a060020a60ff02191660a060020a835b0217905550565b600190565b6000600160065460a060020a900460ff16600381111561057f57fe5b148015610595575060065460a860020a900460ff165b905090565b60005460a060020a900460ff16156105b157600080fd5b600554620100009004600160a060020a031633146105ce57600080fd5b600160065460a060020a900460ff1660038111156105e857fe5b146105f257600080fd5b60065460a860020a900460ff161561060957600080fd5b6006805475ff000000000000000000000000000000000000000000191660a860020a179055565b610639336108d7565b151561064457600080fd5b600060065460a060020a900460ff16600381111561065e57fe5b1461066857600080fd5b600154604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051610719928492600160a060020a03909116916370a08231916024808201926020929091908290030181600087803b1580156106d457600080fd5b505af11580156106e8573d6000803e3d6000fd5b505050506040513d60208110156106fe57600080fd5b5051600154600160a060020a0316919063ffffffff610f8d16565b50565b61072533610915565b151561073057600080fd5b61071981611045565b610742336108d7565b151561074d57600080fd5b61071981611056565b600554620100009004600160a060020a031690565b600654600160a060020a031690565b600061078d60028363ffffffff61106716565b90505b919050565b60005460a060020a900460ff16156107ac57600080fd5b6107b533610915565b15156107c057600080fd5b600360065460a060020a900460ff1660038111156107da57fe5b14156107e557600080fd5b600680546005805475ffffffffffffffffffffffffffffffffffffffff00001916905560a060020a60ff021916740300000000000000000000000000000000000000001775ff00ffffffffffffffffffffffffffffffffffffffff19169055565b60065460b860020a900461ffff1690565b60005460a060020a900460ff161561086e57600080fd5b61087733610915565b151561088257600080fd5b600260065460a060020a900460ff16600381111561089c57fe5b146108a657600080fd5b600680546001919060a060020a60ff02191660a060020a83610557565b60055460009060ff16600181111561059557fe5b600061078d60038363ffffffff61106716565b6108f33361077a565b15156108fe57600080fd5b6107198161109e565b600554610100900460ff1690565b600061078d60048363ffffffff61106716565b60005460a060020a900460ff161561093f57600080fd5b61094833610915565b151561095357600080fd5b600360065460a060020a900460ff16600381111561096d57fe5b1461097757600080fd5b600680546005805475ffffffffffffffffffffffffffffffffffffffff0000191662010000600160a060020a039687160217905560a060020a60ff02191660a060020a1773ffffffffffffffffffffffffffffffffffffffff191691909216179055565b60008054819060a060020a900460ff16156109f557600080fd5b6109fe3361077a565b1515610a0957600080fd5b600060055460ff166001811115610a1c57fe5b14610a2657600080fd5b600160065460a060020a900460ff166003811115610a4057fe5b14610a4a57600080fd5b60065460a860020a900460ff161515610a6257600080fd5b60065460b860020a900461ffff161515610ad8576006805478ffff00000000000000000000000000000000000000000000001976ff0000000000000000000000000000000000000000000019909116760100000000000000000000000000000000000000000000171660b860020a179055610ba0565b60068054600161ffff60b860020a8084048216929092018116820278ffff00000000000000000000000000000000000000000000001990931692909217928390559091041661016e1415610ba0576006805478ffff000000000000000000000000000000000000000000000019600160ff760100000000000000000000000000000000000000000000808504821692909201160276ff0000000000000000000000000000000000000000000019909216919091171660b860020a179055600754600290046007555b505060075461016d90046064600a82020460008211610bbe57600080fd5b60008111610bcb57600080fd5b600554600154610bf591600160a060020a039182169162010000909104168463ffffffff610f8d16565b600654600154610c1891600160a060020a0391821691168363ffffffff610f8d16565b5050565b60005460a060020a900460ff1615610c3357600080fd5b610c3c336108d7565b1515610c4757600080fd5b600060065460a060020a900460ff166003811115610c6157fe5b1415610c6c57600080fd5b6006805475ffff000000000000000000000000000000000000000019169055565b600080548190819060a060020a900460ff1615610ca957600080fd5b610cb2336108d7565b1515610cbd57600080fd5b600060065460a060020a900460ff166003811115610cd757fe5b14610ce157600080fd5b600060055460ff166001811115610cf457fe5b148015610d015750600754155b15610dd057600554610d1a90610100900460ff166110af565b92506064600a8402600154604080517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015290519390920486019450600160a060020a0316916370a08231916024808201926020929091908290030181600087803b158015610d8e57600080fd5b505af1158015610da2573d6000803e3d6000fd5b505050506040513d6020811015610db857600080fd5b50519050818114610dc857600080fd5b600283046007555b50506006805460a060020a60ff02191660a060020a17905550565b6104ed33611161565b61016d81565b60075490565b600654760100000000000000000000000000000000000000000000900460ff1690565b6104ed33611172565b60005460a060020a900460ff1615610e4357600080fd5b600554620100009004600160a060020a03163314610e6057600080fd5b600160065460a060020a900460ff166003811115610e7a57fe5b14610e8457600080fd5b60065460a860020a900460ff161515610e9c57600080fd5b6006805475ff00000000000000000000000000000000000000000019169055565b6104ed33611183565b600154604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051600092600160a060020a0316916370a0823191602480830192602092919082900301818787803b158015610f2b57600080fd5b505af1158015610f3f573d6000803e3d6000fd5b505050506040513d6020811015610f5557600080fd5b505190506000811115610f8557600054600154610f8591600160a060020a0391821691168363ffffffff610f8d16565b610719611194565b82600160a060020a031663a9059cbb83836040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083600160a060020a0316600160a060020a0316815260200182815260200192505050602060405180830381600087803b15801561100957600080fd5b505af115801561101d573d6000803e3d6000fd5b505050506040513d602081101561103357600080fd5b5051151561104057600080fd5b505050565b61071960048263ffffffff6111ac16565b61071960038263ffffffff6111ac16565b6000600160a060020a038216151561107e57600080fd5b50600160a060020a03166000908152602091909152604090205460ff1690565b61071960028263ffffffff6111ac16565b600060ff821615156110cc575069152d02c7e14af6800000610790565b8160ff16600114156110e9575069d3c21bcecceda1000000610790565b8160ff166002141561110757506a01a784379d99db42000000610790565b8160ff166003141561112557506a027b46536c66c8e3000000610790565b8160ff166004141561114357506a034f086f3b33b684000000610790565b8160ff166005141561079057506a0422ca8b0a00a425000000610790565b61071960048263ffffffff6111fa16565b61071960038263ffffffff6111fa16565b61071960028263ffffffff6111fa16565b6000805460a060020a60ff02191660a060020a179055565b600160a060020a03811615156111c157600080fd5b6111cb8282611067565b156111d557600080fd5b600160a060020a0316600090815260209190915260409020805460ff19166001179055565b600160a060020a038116151561120f57600080fd5b6112198282611067565b151561122457600080fd5b600160a060020a0316600090815260209190915260409020805460ff191690555600a165627a7a723058205f527260d789022d74031e68eb390ff4f3057e6fce4f2adde7c12af38948fde60029", - "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH3 0x11 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x40 MLOAD PUSH1 0xA0 DUP1 PUSH3 0x14F7 DUP4 CODECOPY DUP2 ADD PUSH1 0x40 SWAP1 DUP2 MSTORE DUP2 MLOAD PUSH1 0x20 DUP4 ADD MLOAD SWAP2 DUP4 ADD MLOAD PUSH1 0x60 DUP5 ADD MLOAD PUSH1 0x80 SWAP1 SWAP5 ADD MLOAD PUSH1 0x0 DUP1 SLOAD CALLER PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB NOT SWAP2 DUP3 AND DUP2 OR PUSH1 0xA0 PUSH1 0x2 EXP PUSH1 0xFF MUL NOT AND SWAP1 SWAP3 SSTORE PUSH1 0x1 DUP1 SLOAD SWAP1 SWAP2 AND PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB DUP5 AND OR SWAP1 SSTORE SWAP3 SWAP5 SWAP2 SWAP3 PUSH3 0x87 SWAP1 PUSH5 0x100000000 PUSH3 0x18E DUP2 MUL DIV JUMP JUMPDEST PUSH3 0x9B CALLER PUSH5 0x100000000 PUSH3 0x1AC DUP2 MUL DIV JUMP JUMPDEST PUSH3 0xAF CALLER PUSH5 0x100000000 PUSH3 0x1C7 DUP2 MUL DIV JUMP JUMPDEST PUSH1 0x0 DUP5 PUSH1 0xFF AND LT ISZERO DUP1 ISZERO PUSH3 0xC8 JUMPI POP PUSH1 0x5 DUP5 PUSH1 0xFF AND GT ISZERO JUMPDEST ISZERO ISZERO PUSH3 0xD4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB DUP4 AND ISZERO ISZERO PUSH3 0xEA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP6 PUSH1 0x1 DUP2 GT ISZERO PUSH3 0xF9 JUMPI INVALID JUMPDEST EQ ISZERO PUSH3 0x116 JUMPI PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB DUP3 AND ISZERO ISZERO PUSH3 0x116 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x5 DUP1 SLOAD DUP7 SWAP2 SWAP1 PUSH1 0xFF NOT AND PUSH1 0x1 DUP4 DUP2 DUP2 GT ISZERO PUSH3 0x12F JUMPI INVALID JUMPDEST MUL OR SWAP1 SSTORE POP POP PUSH1 0x5 DUP1 SLOAD PUSH2 0xFF00 NOT AND PUSH2 0x100 PUSH1 0xFF SWAP6 SWAP1 SWAP6 AND SWAP5 SWAP1 SWAP5 MUL SWAP4 SWAP1 SWAP4 OR PUSH3 0x10000 PUSH1 0xB0 PUSH1 0x2 EXP SUB NOT AND PUSH3 0x10000 PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB SWAP4 DUP5 AND MUL OR SWAP1 SWAP3 SSTORE PUSH1 0x6 DUP1 SLOAD PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB NOT AND SWAP3 SWAP1 SWAP2 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE POP PUSH3 0x275 JUMP JUMPDEST PUSH3 0x1A9 PUSH1 0x2 DUP3 PUSH5 0x100000000 PUSH3 0x11AC PUSH3 0x1E2 DUP3 MUL OR DIV JUMP JUMPDEST POP JUMP JUMPDEST PUSH3 0x1A9 PUSH1 0x3 DUP3 PUSH5 0x100000000 PUSH3 0x11AC PUSH3 0x1E2 DUP3 MUL OR DIV JUMP JUMPDEST PUSH3 0x1A9 PUSH1 0x4 DUP3 PUSH5 0x100000000 PUSH3 0x11AC PUSH3 0x1E2 DUP3 MUL OR DIV JUMP JUMPDEST PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB DUP2 AND ISZERO ISZERO PUSH3 0x1F8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH3 0x20D DUP3 DUP3 PUSH5 0x100000000 PUSH3 0x23D DUP2 MUL DIV JUMP JUMPDEST ISZERO PUSH3 0x218 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0x1 OR SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB DUP3 AND ISZERO ISZERO PUSH3 0x255 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND SWAP1 JUMP JUMPDEST PUSH2 0x1272 DUP1 PUSH3 0x285 PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN STOP PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x17F JUMPI PUSH4 0xFFFFFFFF PUSH29 0x100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 CALLDATALOAD DIV AND PUSH4 0xC08BF88 DUP2 EQ PUSH2 0x184 JUMPI DUP1 PUSH4 0x162F986D EQ PUSH2 0x19B JUMPI DUP1 PUSH4 0x1777FB4B EQ PUSH2 0x1B0 JUMPI DUP1 PUSH4 0x19A74AB3 EQ PUSH2 0x1D9 JUMPI DUP1 PUSH4 0x21B79D98 EQ PUSH2 0x1EE JUMPI DUP1 PUSH4 0x231D4E2A EQ PUSH2 0x203 JUMPI DUP1 PUSH4 0x29D10B6E EQ PUSH2 0x224 JUMPI DUP1 PUSH4 0x2E6B6849 EQ PUSH2 0x245 JUMPI DUP1 PUSH4 0x302C11CA EQ PUSH2 0x266 JUMPI DUP1 PUSH4 0x329B1C92 EQ PUSH2 0x297 JUMPI DUP1 PUSH4 0x34CDCF26 EQ PUSH2 0x2AC JUMPI DUP1 PUSH4 0x363AA6C7 EQ PUSH2 0x2CD JUMPI DUP1 PUSH4 0x3E6968B6 EQ PUSH2 0x2E2 JUMPI DUP1 PUSH4 0x427534A4 EQ PUSH2 0x30E JUMPI DUP1 PUSH4 0x4969AE70 EQ PUSH2 0x323 JUMPI DUP1 PUSH4 0x608D3D3D EQ PUSH2 0x34E JUMPI DUP1 PUSH4 0x74BE7592 EQ PUSH2 0x36F JUMPI DUP1 PUSH4 0x80258E47 EQ PUSH2 0x390 JUMPI DUP1 PUSH4 0x81A24459 EQ PUSH2 0x3A5 JUMPI DUP1 PUSH4 0x8329138F EQ PUSH2 0x3C6 JUMPI DUP1 PUSH4 0x99F4B251 EQ PUSH2 0x3ED JUMPI DUP1 PUSH4 0x9E614CA0 EQ PUSH2 0x402 JUMPI DUP1 PUSH4 0xB2A32CD5 EQ PUSH2 0x417 JUMPI DUP1 PUSH4 0xBE952494 EQ PUSH2 0x42C JUMPI DUP1 PUSH4 0xC6846EF8 EQ PUSH2 0x441 JUMPI DUP1 PUSH4 0xCDFD0F64 EQ PUSH2 0x468 JUMPI DUP1 PUSH4 0xCE41607A EQ PUSH2 0x47D JUMPI DUP1 PUSH4 0xD43ACC79 EQ PUSH2 0x492 JUMPI DUP1 PUSH4 0xDA408679 EQ PUSH2 0x4A7 JUMPI DUP1 PUSH4 0xE9D61859 EQ PUSH2 0x4BC JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x190 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x199 PUSH2 0x4D1 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1A7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x199 PUSH2 0x4EF JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1BC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1C5 PUSH2 0x55E JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD SWAP2 ISZERO ISZERO DUP3 MSTORE MLOAD SWAP1 DUP2 SWAP1 SUB PUSH1 0x20 ADD SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1E5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1C5 PUSH2 0x563 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1FA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x199 PUSH2 0x59A JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x20F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x199 PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB PUSH1 0x4 CALLDATALOAD AND PUSH2 0x630 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x230 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x199 PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB PUSH1 0x4 CALLDATALOAD AND PUSH2 0x71C JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x251 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x199 PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB PUSH1 0x4 CALLDATALOAD AND PUSH2 0x739 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x272 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x27B PUSH2 0x756 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB SWAP1 SWAP3 AND DUP3 MSTORE MLOAD SWAP1 DUP2 SWAP1 SUB PUSH1 0x20 ADD SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x2A3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x27B PUSH2 0x76B JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x2B8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1C5 PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB PUSH1 0x4 CALLDATALOAD AND PUSH2 0x77A JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x2D9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x199 PUSH2 0x795 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x2EE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x2F7 PUSH2 0x846 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH2 0xFFFF SWAP1 SWAP3 AND DUP3 MSTORE MLOAD SWAP1 DUP2 SWAP1 SUB PUSH1 0x20 ADD SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x31A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x199 PUSH2 0x857 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x32F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x338 PUSH2 0x8C3 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0xFF SWAP1 SWAP3 AND DUP3 MSTORE MLOAD SWAP1 DUP2 SWAP1 SUB PUSH1 0x20 ADD SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x35A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1C5 PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB PUSH1 0x4 CALLDATALOAD AND PUSH2 0x8D7 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x37B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x199 PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB PUSH1 0x4 CALLDATALOAD AND PUSH2 0x8EA JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x39C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x338 PUSH2 0x907 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x3B1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1C5 PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB PUSH1 0x4 CALLDATALOAD AND PUSH2 0x915 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x3D2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x199 PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB PUSH1 0x4 CALLDATALOAD DUP2 AND SWAP1 PUSH1 0x24 CALLDATALOAD AND PUSH2 0x928 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x3F9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x199 PUSH2 0x9DB JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x40E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x199 PUSH2 0xC1C JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x423 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x199 PUSH2 0xC8D JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x438 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x199 PUSH2 0xDEB JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x44D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x456 PUSH2 0xDF4 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD SWAP2 DUP3 MSTORE MLOAD SWAP1 DUP2 SWAP1 SUB PUSH1 0x20 ADD SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x474 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x456 PUSH2 0xDFA JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x489 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x338 PUSH2 0xE00 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x49E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x199 PUSH2 0xE23 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x4B3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x199 PUSH2 0xE2C JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x4C8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x199 PUSH2 0xEBD JUMP JUMPDEST PUSH2 0x4DA CALLER PUSH2 0x8D7 JUMP JUMPDEST ISZERO ISZERO PUSH2 0x4E5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x4ED PUSH2 0xEC6 JUMP JUMPDEST JUMP JUMPDEST PUSH1 0x0 SLOAD PUSH1 0xA0 PUSH1 0x2 EXP SWAP1 DIV PUSH1 0xFF AND ISZERO PUSH2 0x506 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x50F CALLER PUSH2 0x915 JUMP JUMPDEST ISZERO ISZERO PUSH2 0x51A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x6 SLOAD PUSH1 0xA0 PUSH1 0x2 EXP SWAP1 DIV PUSH1 0xFF AND PUSH1 0x3 DUP2 GT ISZERO PUSH2 0x534 JUMPI INVALID JUMPDEST EQ PUSH2 0x53E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x6 DUP1 SLOAD PUSH1 0x2 SWAP2 SWAP1 PUSH1 0xA0 PUSH1 0x2 EXP PUSH1 0xFF MUL NOT AND PUSH1 0xA0 PUSH1 0x2 EXP DUP4 JUMPDEST MUL OR SWAP1 SSTORE POP JUMP JUMPDEST PUSH1 0x1 SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x6 SLOAD PUSH1 0xA0 PUSH1 0x2 EXP SWAP1 DIV PUSH1 0xFF AND PUSH1 0x3 DUP2 GT ISZERO PUSH2 0x57F JUMPI INVALID JUMPDEST EQ DUP1 ISZERO PUSH2 0x595 JUMPI POP PUSH1 0x6 SLOAD PUSH1 0xA8 PUSH1 0x2 EXP SWAP1 DIV PUSH1 0xFF AND JUMPDEST SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 SLOAD PUSH1 0xA0 PUSH1 0x2 EXP SWAP1 DIV PUSH1 0xFF AND ISZERO PUSH2 0x5B1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x5 SLOAD PUSH3 0x10000 SWAP1 DIV PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB AND CALLER EQ PUSH2 0x5CE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x6 SLOAD PUSH1 0xA0 PUSH1 0x2 EXP SWAP1 DIV PUSH1 0xFF AND PUSH1 0x3 DUP2 GT ISZERO PUSH2 0x5E8 JUMPI INVALID JUMPDEST EQ PUSH2 0x5F2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x6 SLOAD PUSH1 0xA8 PUSH1 0x2 EXP SWAP1 DIV PUSH1 0xFF AND ISZERO PUSH2 0x609 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x6 DUP1 SLOAD PUSH22 0xFF000000000000000000000000000000000000000000 NOT AND PUSH1 0xA8 PUSH1 0x2 EXP OR SWAP1 SSTORE JUMP JUMPDEST PUSH2 0x639 CALLER PUSH2 0x8D7 JUMP JUMPDEST ISZERO ISZERO PUSH2 0x644 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x6 SLOAD PUSH1 0xA0 PUSH1 0x2 EXP SWAP1 DIV PUSH1 0xFF AND PUSH1 0x3 DUP2 GT ISZERO PUSH2 0x65E JUMPI INVALID JUMPDEST EQ PUSH2 0x668 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x1 SLOAD PUSH1 0x40 DUP1 MLOAD PUSH32 0x70A0823100000000000000000000000000000000000000000000000000000000 DUP2 MSTORE ADDRESS PUSH1 0x4 DUP3 ADD MSTORE SWAP1 MLOAD PUSH2 0x719 SWAP3 DUP5 SWAP3 PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB SWAP1 SWAP2 AND SWAP2 PUSH4 0x70A08231 SWAP2 PUSH1 0x24 DUP1 DUP3 ADD SWAP3 PUSH1 0x20 SWAP3 SWAP1 SWAP2 SWAP1 DUP3 SWAP1 SUB ADD DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x6D4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x6E8 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x20 DUP2 LT ISZERO PUSH2 0x6FE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP MLOAD PUSH1 0x1 SLOAD PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB AND SWAP2 SWAP1 PUSH4 0xFFFFFFFF PUSH2 0xF8D AND JUMP JUMPDEST POP JUMP JUMPDEST PUSH2 0x725 CALLER PUSH2 0x915 JUMP JUMPDEST ISZERO ISZERO PUSH2 0x730 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x719 DUP2 PUSH2 0x1045 JUMP JUMPDEST PUSH2 0x742 CALLER PUSH2 0x8D7 JUMP JUMPDEST ISZERO ISZERO PUSH2 0x74D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x719 DUP2 PUSH2 0x1056 JUMP JUMPDEST PUSH1 0x5 SLOAD PUSH3 0x10000 SWAP1 DIV PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB AND SWAP1 JUMP JUMPDEST PUSH1 0x6 SLOAD PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB AND SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x78D PUSH1 0x2 DUP4 PUSH4 0xFFFFFFFF PUSH2 0x1067 AND JUMP JUMPDEST SWAP1 POP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 SLOAD PUSH1 0xA0 PUSH1 0x2 EXP SWAP1 DIV PUSH1 0xFF AND ISZERO PUSH2 0x7AC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x7B5 CALLER PUSH2 0x915 JUMP JUMPDEST ISZERO ISZERO PUSH2 0x7C0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x3 PUSH1 0x6 SLOAD PUSH1 0xA0 PUSH1 0x2 EXP SWAP1 DIV PUSH1 0xFF AND PUSH1 0x3 DUP2 GT ISZERO PUSH2 0x7DA JUMPI INVALID JUMPDEST EQ ISZERO PUSH2 0x7E5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x6 DUP1 SLOAD PUSH1 0x5 DUP1 SLOAD PUSH22 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000 NOT AND SWAP1 SSTORE PUSH1 0xA0 PUSH1 0x2 EXP PUSH1 0xFF MUL NOT AND PUSH21 0x30000000000000000000000000000000000000000 OR PUSH22 0xFF00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x6 SLOAD PUSH1 0xB8 PUSH1 0x2 EXP SWAP1 DIV PUSH2 0xFFFF AND SWAP1 JUMP JUMPDEST PUSH1 0x0 SLOAD PUSH1 0xA0 PUSH1 0x2 EXP SWAP1 DIV PUSH1 0xFF AND ISZERO PUSH2 0x86E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x877 CALLER PUSH2 0x915 JUMP JUMPDEST ISZERO ISZERO PUSH2 0x882 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x2 PUSH1 0x6 SLOAD PUSH1 0xA0 PUSH1 0x2 EXP SWAP1 DIV PUSH1 0xFF AND PUSH1 0x3 DUP2 GT ISZERO PUSH2 0x89C JUMPI INVALID JUMPDEST EQ PUSH2 0x8A6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x6 DUP1 SLOAD PUSH1 0x1 SWAP2 SWAP1 PUSH1 0xA0 PUSH1 0x2 EXP PUSH1 0xFF MUL NOT AND PUSH1 0xA0 PUSH1 0x2 EXP DUP4 PUSH2 0x557 JUMP JUMPDEST PUSH1 0x5 SLOAD PUSH1 0x0 SWAP1 PUSH1 0xFF AND PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x595 JUMPI INVALID JUMPDEST PUSH1 0x0 PUSH2 0x78D PUSH1 0x3 DUP4 PUSH4 0xFFFFFFFF PUSH2 0x1067 AND JUMP JUMPDEST PUSH2 0x8F3 CALLER PUSH2 0x77A JUMP JUMPDEST ISZERO ISZERO PUSH2 0x8FE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x719 DUP2 PUSH2 0x109E JUMP JUMPDEST PUSH1 0x5 SLOAD PUSH2 0x100 SWAP1 DIV PUSH1 0xFF AND SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x78D PUSH1 0x4 DUP4 PUSH4 0xFFFFFFFF PUSH2 0x1067 AND JUMP JUMPDEST PUSH1 0x0 SLOAD PUSH1 0xA0 PUSH1 0x2 EXP SWAP1 DIV PUSH1 0xFF AND ISZERO PUSH2 0x93F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x948 CALLER PUSH2 0x915 JUMP JUMPDEST ISZERO ISZERO PUSH2 0x953 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x3 PUSH1 0x6 SLOAD PUSH1 0xA0 PUSH1 0x2 EXP SWAP1 DIV PUSH1 0xFF AND PUSH1 0x3 DUP2 GT ISZERO PUSH2 0x96D JUMPI INVALID JUMPDEST EQ PUSH2 0x977 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x6 DUP1 SLOAD PUSH1 0x5 DUP1 SLOAD PUSH22 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000 NOT AND PUSH3 0x10000 PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB SWAP7 DUP8 AND MUL OR SWAP1 SSTORE PUSH1 0xA0 PUSH1 0x2 EXP PUSH1 0xFF MUL NOT AND PUSH1 0xA0 PUSH1 0x2 EXP OR PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND SWAP2 SWAP1 SWAP3 AND OR SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD DUP2 SWAP1 PUSH1 0xA0 PUSH1 0x2 EXP SWAP1 DIV PUSH1 0xFF AND ISZERO PUSH2 0x9F5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x9FE CALLER PUSH2 0x77A JUMP JUMPDEST ISZERO ISZERO PUSH2 0xA09 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x5 SLOAD PUSH1 0xFF AND PUSH1 0x1 DUP2 GT ISZERO PUSH2 0xA1C JUMPI INVALID JUMPDEST EQ PUSH2 0xA26 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x6 SLOAD PUSH1 0xA0 PUSH1 0x2 EXP SWAP1 DIV PUSH1 0xFF AND PUSH1 0x3 DUP2 GT ISZERO PUSH2 0xA40 JUMPI INVALID JUMPDEST EQ PUSH2 0xA4A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x6 SLOAD PUSH1 0xA8 PUSH1 0x2 EXP SWAP1 DIV PUSH1 0xFF AND ISZERO ISZERO PUSH2 0xA62 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x6 SLOAD PUSH1 0xB8 PUSH1 0x2 EXP SWAP1 DIV PUSH2 0xFFFF AND ISZERO ISZERO PUSH2 0xAD8 JUMPI PUSH1 0x6 DUP1 SLOAD PUSH25 0xFFFF0000000000000000000000000000000000000000000000 NOT PUSH23 0xFF00000000000000000000000000000000000000000000 NOT SWAP1 SWAP2 AND PUSH23 0x100000000000000000000000000000000000000000000 OR AND PUSH1 0xB8 PUSH1 0x2 EXP OR SWAP1 SSTORE PUSH2 0xBA0 JUMP JUMPDEST PUSH1 0x6 DUP1 SLOAD PUSH1 0x1 PUSH2 0xFFFF PUSH1 0xB8 PUSH1 0x2 EXP DUP1 DUP5 DIV DUP3 AND SWAP3 SWAP1 SWAP3 ADD DUP2 AND DUP3 MUL PUSH25 0xFFFF0000000000000000000000000000000000000000000000 NOT SWAP1 SWAP4 AND SWAP3 SWAP1 SWAP3 OR SWAP3 DUP4 SWAP1 SSTORE SWAP1 SWAP2 DIV AND PUSH2 0x16E EQ ISZERO PUSH2 0xBA0 JUMPI PUSH1 0x6 DUP1 SLOAD PUSH25 0xFFFF0000000000000000000000000000000000000000000000 NOT PUSH1 0x1 PUSH1 0xFF PUSH23 0x100000000000000000000000000000000000000000000 DUP1 DUP6 DIV DUP3 AND SWAP3 SWAP1 SWAP3 ADD AND MUL PUSH23 0xFF00000000000000000000000000000000000000000000 NOT SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR AND PUSH1 0xB8 PUSH1 0x2 EXP OR SWAP1 SSTORE PUSH1 0x7 SLOAD PUSH1 0x2 SWAP1 DIV PUSH1 0x7 SSTORE JUMPDEST POP POP PUSH1 0x7 SLOAD PUSH2 0x16D SWAP1 DIV PUSH1 0x64 PUSH1 0xA DUP3 MUL DIV PUSH1 0x0 DUP3 GT PUSH2 0xBBE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP2 GT PUSH2 0xBCB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x5 SLOAD PUSH1 0x1 SLOAD PUSH2 0xBF5 SWAP2 PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB SWAP2 DUP3 AND SWAP2 PUSH3 0x10000 SWAP1 SWAP2 DIV AND DUP5 PUSH4 0xFFFFFFFF PUSH2 0xF8D AND JUMP JUMPDEST PUSH1 0x6 SLOAD PUSH1 0x1 SLOAD PUSH2 0xC18 SWAP2 PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB SWAP2 DUP3 AND SWAP2 AND DUP4 PUSH4 0xFFFFFFFF PUSH2 0xF8D AND JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x0 SLOAD PUSH1 0xA0 PUSH1 0x2 EXP SWAP1 DIV PUSH1 0xFF AND ISZERO PUSH2 0xC33 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xC3C CALLER PUSH2 0x8D7 JUMP JUMPDEST ISZERO ISZERO PUSH2 0xC47 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x6 SLOAD PUSH1 0xA0 PUSH1 0x2 EXP SWAP1 DIV PUSH1 0xFF AND PUSH1 0x3 DUP2 GT ISZERO PUSH2 0xC61 JUMPI INVALID JUMPDEST EQ ISZERO PUSH2 0xC6C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x6 DUP1 SLOAD PUSH22 0xFFFF0000000000000000000000000000000000000000 NOT AND SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD DUP2 SWAP1 DUP2 SWAP1 PUSH1 0xA0 PUSH1 0x2 EXP SWAP1 DIV PUSH1 0xFF AND ISZERO PUSH2 0xCA9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xCB2 CALLER PUSH2 0x8D7 JUMP JUMPDEST ISZERO ISZERO PUSH2 0xCBD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x6 SLOAD PUSH1 0xA0 PUSH1 0x2 EXP SWAP1 DIV PUSH1 0xFF AND PUSH1 0x3 DUP2 GT ISZERO PUSH2 0xCD7 JUMPI INVALID JUMPDEST EQ PUSH2 0xCE1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x5 SLOAD PUSH1 0xFF AND PUSH1 0x1 DUP2 GT ISZERO PUSH2 0xCF4 JUMPI INVALID JUMPDEST EQ DUP1 ISZERO PUSH2 0xD01 JUMPI POP PUSH1 0x7 SLOAD ISZERO JUMPDEST ISZERO PUSH2 0xDD0 JUMPI PUSH1 0x5 SLOAD PUSH2 0xD1A SWAP1 PUSH2 0x100 SWAP1 DIV PUSH1 0xFF AND PUSH2 0x10AF JUMP JUMPDEST SWAP3 POP PUSH1 0x64 PUSH1 0xA DUP5 MUL PUSH1 0x1 SLOAD PUSH1 0x40 DUP1 MLOAD PUSH32 0x70A0823100000000000000000000000000000000000000000000000000000000 DUP2 MSTORE ADDRESS PUSH1 0x4 DUP3 ADD MSTORE SWAP1 MLOAD SWAP4 SWAP1 SWAP3 DIV DUP7 ADD SWAP5 POP PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB AND SWAP2 PUSH4 0x70A08231 SWAP2 PUSH1 0x24 DUP1 DUP3 ADD SWAP3 PUSH1 0x20 SWAP3 SWAP1 SWAP2 SWAP1 DUP3 SWAP1 SUB ADD DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0xD8E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0xDA2 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x20 DUP2 LT ISZERO PUSH2 0xDB8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP MLOAD SWAP1 POP DUP2 DUP2 EQ PUSH2 0xDC8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x2 DUP4 DIV PUSH1 0x7 SSTORE JUMPDEST POP POP PUSH1 0x6 DUP1 SLOAD PUSH1 0xA0 PUSH1 0x2 EXP PUSH1 0xFF MUL NOT AND PUSH1 0xA0 PUSH1 0x2 EXP OR SWAP1 SSTORE POP JUMP JUMPDEST PUSH2 0x4ED CALLER PUSH2 0x1161 JUMP JUMPDEST PUSH2 0x16D DUP2 JUMP JUMPDEST PUSH1 0x7 SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x6 SLOAD PUSH23 0x100000000000000000000000000000000000000000000 SWAP1 DIV PUSH1 0xFF AND SWAP1 JUMP JUMPDEST PUSH2 0x4ED CALLER PUSH2 0x1172 JUMP JUMPDEST PUSH1 0x0 SLOAD PUSH1 0xA0 PUSH1 0x2 EXP SWAP1 DIV PUSH1 0xFF AND ISZERO PUSH2 0xE43 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x5 SLOAD PUSH3 0x10000 SWAP1 DIV PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB AND CALLER EQ PUSH2 0xE60 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x6 SLOAD PUSH1 0xA0 PUSH1 0x2 EXP SWAP1 DIV PUSH1 0xFF AND PUSH1 0x3 DUP2 GT ISZERO PUSH2 0xE7A JUMPI INVALID JUMPDEST EQ PUSH2 0xE84 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x6 SLOAD PUSH1 0xA8 PUSH1 0x2 EXP SWAP1 DIV PUSH1 0xFF AND ISZERO ISZERO PUSH2 0xE9C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x6 DUP1 SLOAD PUSH22 0xFF000000000000000000000000000000000000000000 NOT AND SWAP1 SSTORE JUMP JUMPDEST PUSH2 0x4ED CALLER PUSH2 0x1183 JUMP JUMPDEST PUSH1 0x1 SLOAD PUSH1 0x40 DUP1 MLOAD PUSH32 0x70A0823100000000000000000000000000000000000000000000000000000000 DUP2 MSTORE ADDRESS PUSH1 0x4 DUP3 ADD MSTORE SWAP1 MLOAD PUSH1 0x0 SWAP3 PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB AND SWAP2 PUSH4 0x70A08231 SWAP2 PUSH1 0x24 DUP1 DUP4 ADD SWAP3 PUSH1 0x20 SWAP3 SWAP2 SWAP1 DUP3 SWAP1 SUB ADD DUP2 DUP8 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0xF2B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0xF3F JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x20 DUP2 LT ISZERO PUSH2 0xF55 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP MLOAD SWAP1 POP PUSH1 0x0 DUP2 GT ISZERO PUSH2 0xF85 JUMPI PUSH1 0x0 SLOAD PUSH1 0x1 SLOAD PUSH2 0xF85 SWAP2 PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB SWAP2 DUP3 AND SWAP2 AND DUP4 PUSH4 0xFFFFFFFF PUSH2 0xF8D AND JUMP JUMPDEST PUSH2 0x719 PUSH2 0x1194 JUMP JUMPDEST DUP3 PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB AND PUSH4 0xA9059CBB DUP4 DUP4 PUSH1 0x40 MLOAD DUP4 PUSH4 0xFFFFFFFF AND PUSH29 0x100000000000000000000000000000000000000000000000000000000 MUL DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP4 PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB AND PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB AND DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP3 POP POP POP PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x1009 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x101D JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x20 DUP2 LT ISZERO PUSH2 0x1033 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP MLOAD ISZERO ISZERO PUSH2 0x1040 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP POP POP JUMP JUMPDEST PUSH2 0x719 PUSH1 0x4 DUP3 PUSH4 0xFFFFFFFF PUSH2 0x11AC AND JUMP JUMPDEST PUSH2 0x719 PUSH1 0x3 DUP3 PUSH4 0xFFFFFFFF PUSH2 0x11AC AND JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB DUP3 AND ISZERO ISZERO PUSH2 0x107E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND SWAP1 JUMP JUMPDEST PUSH2 0x719 PUSH1 0x2 DUP3 PUSH4 0xFFFFFFFF PUSH2 0x11AC AND JUMP JUMPDEST PUSH1 0x0 PUSH1 0xFF DUP3 AND ISZERO ISZERO PUSH2 0x10CC JUMPI POP PUSH10 0x152D02C7E14AF6800000 PUSH2 0x790 JUMP JUMPDEST DUP2 PUSH1 0xFF AND PUSH1 0x1 EQ ISZERO PUSH2 0x10E9 JUMPI POP PUSH10 0xD3C21BCECCEDA1000000 PUSH2 0x790 JUMP JUMPDEST DUP2 PUSH1 0xFF AND PUSH1 0x2 EQ ISZERO PUSH2 0x1107 JUMPI POP PUSH11 0x1A784379D99DB42000000 PUSH2 0x790 JUMP JUMPDEST DUP2 PUSH1 0xFF AND PUSH1 0x3 EQ ISZERO PUSH2 0x1125 JUMPI POP PUSH11 0x27B46536C66C8E3000000 PUSH2 0x790 JUMP JUMPDEST DUP2 PUSH1 0xFF AND PUSH1 0x4 EQ ISZERO PUSH2 0x1143 JUMPI POP PUSH11 0x34F086F3B33B684000000 PUSH2 0x790 JUMP JUMPDEST DUP2 PUSH1 0xFF AND PUSH1 0x5 EQ ISZERO PUSH2 0x790 JUMPI POP PUSH11 0x422CA8B0A00A425000000 PUSH2 0x790 JUMP JUMPDEST PUSH2 0x719 PUSH1 0x4 DUP3 PUSH4 0xFFFFFFFF PUSH2 0x11FA AND JUMP JUMPDEST PUSH2 0x719 PUSH1 0x3 DUP3 PUSH4 0xFFFFFFFF PUSH2 0x11FA AND JUMP JUMPDEST PUSH2 0x719 PUSH1 0x2 DUP3 PUSH4 0xFFFFFFFF PUSH2 0x11FA AND JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD PUSH1 0xA0 PUSH1 0x2 EXP PUSH1 0xFF MUL NOT AND PUSH1 0xA0 PUSH1 0x2 EXP OR SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB DUP2 AND ISZERO ISZERO PUSH2 0x11C1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x11CB DUP3 DUP3 PUSH2 0x1067 JUMP JUMPDEST ISZERO PUSH2 0x11D5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0x1 OR SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB DUP2 AND ISZERO ISZERO PUSH2 0x120F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1219 DUP3 DUP3 PUSH2 0x1067 JUMP JUMPDEST ISZERO ISZERO PUSH2 0x1224 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND SWAP1 SSTORE JUMP STOP LOG1 PUSH6 0x627A7A723058 KECCAK256 0x5f MSTORE PUSH19 0x60D789022D74031E68EB390FF4F3057E6FCE4F 0x2a 0xdd 0xe7 0xc1 0x2a RETURN DUP10 0x48 REVERT 0xe6 STOP 0x29 ", - "sourceMap": "620:5566:2:-;;;1311:664;8:9:-1;5:2;;;30:1;27;20:12;5:2;1311:664:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;156:8:7;:21;;167:10;-1:-1:-1;;;;;;156:21:7;;;;;-1:-1:-1;;;;;;188:19:7;;;;-1:-1:-1;636:29:5;;;;;-1:-1:-1;;;;;636:29:5;;;;;1311:664:2;;;;364:22:4;;:10;;;;:22;:::i;:::-;368:24:1;381:10;368:12;;;;:24;:::i;:::-;366:26:3;381:10;366:14;;;;:26;:::i;:::-;1624:1:2;1612:8;:13;;;;:30;;;;;1641:1;1629:8;:13;;;;1612:30;1604:39;;;;;;;;-1:-1:-1;;;;;1662:33:2;;;;1654:42;;;;;;1725:19;1712:9;:32;;;;;;;;;1709:109;;;-1:-1:-1;;;;;1769:36:2;;;;1761:45;;;;;;1830:10;:22;;1843:9;;1830:10;-1:-1:-1;;1830:22:2;;1843:9;1830:22;;;;;;;;;;;;-1:-1:-1;;1863:9:2;:20;;-1:-1:-1;;1863:20:2;;;;;;;;;;;;;;;-1:-1:-1;;;;;;1894:28:2;;-1:-1:-1;;;;;1894:28:2;;;;;;;;1933:9;:34;;-1:-1:-1;;;;;;1933:34:2;;;;;;;;;;;-1:-1:-1;620:5566:2;;800:92:4;857:27;:14;876:7;857:18;;;;;;:27;:::i;:::-;800:92;:::o;824:96:1:-;883:29;:16;904:7;883:20;;;;;;:29;:::i;836:94:3:-;897:25;:12;914:7;897:16;;;;;;:25;:::i;244:167:8:-;-1:-1:-1;;;;;316:21:8;;;;308:30;;;;;;353:18;357:4;363:7;353:3;;;;:18;:::i;:::-;352:19;344:28;;;;;;-1:-1:-1;;;;;379:20:8;:11;:20;;;;;;;;;;;:27;;-1:-1:-1;;379:27:8;402:4;379:27;;;244:167::o;725:166::-;809:4;-1:-1:-1;;;;;831:21:8;;;;823:30;;;;;;-1:-1:-1;;;;;;866:20:8;:11;:20;;;;;;;;;;;;;;;725:166::o;620:5566:2:-;;;;;;;" + "object": "60806040523480156200001157600080fd5b5060405160a080620014d1833981016040908152815160208301519183015160608401516080909401516000805433600160a060020a0319918216811760a060020a60ff02191690925560018054909116600160a060020a0384161790559294919262000087906401000000006200018e810204565b6200009b33640100000000620001ac810204565b620000af33640100000000620001c7810204565b60008460ff1610158015620000c8575060058460ff1611155b1515620000d457600080fd5b600160a060020a0383161515620000ea57600080fd5b6000856001811115620000f957fe5b14156200011657600160a060020a03821615156200011657600080fd5b6005805486919060ff1916600183818111156200012f57fe5b0217905550506005805461ff00191661010060ff9590951694909402939093176201000060b060020a03191662010000600160a060020a03938416021790925560068054600160a060020a031916929091169190911790555062000275565b620001a960028264010000000062001186620001e282021704565b50565b620001a960038264010000000062001186620001e282021704565b620001a960048264010000000062001186620001e282021704565b600160a060020a0381161515620001f857600080fd5b6200020d82826401000000006200023d810204565b156200021857600080fd5b600160a060020a0316600090815260209190915260409020805460ff19166001179055565b6000600160a060020a03821615156200025557600080fd5b50600160a060020a03166000908152602091909152604090205460ff1690565b61124c80620002856000396000f3006080604052600436106101745763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416630c08bf888114610179578063162f986d146101905780631777fb4b146101a557806319a74ab3146101ce57806321b79d98146101e3578063231d4e2a146101f857806329d10b6e146102195780632e6b68491461023a578063302c11ca1461025b578063329b1c921461028c57806334cdcf26146102a1578063363aa6c7146102c25780633e6968b6146102d7578063427534a4146103035780634969ae7014610318578063608d3d3d1461034357806374be75921461036457806380258e471461038557806381a244591461039a5780638329138f146103bb57806399f4b251146103e25780639e614ca0146103f7578063b2a32cd51461040c578063be95249414610421578063cdfd0f6414610436578063ce41607a1461045d578063d43acc7914610472578063da40867914610487578063e9d618591461049c575b600080fd5b34801561018557600080fd5b5061018e6104b1565b005b34801561019c57600080fd5b5061018e6104cf565b3480156101b157600080fd5b506101ba61053e565b604080519115158252519081900360200190f35b3480156101da57600080fd5b506101ba610543565b3480156101ef57600080fd5b5061018e61057a565b34801561020457600080fd5b5061018e600160a060020a0360043516610610565b34801561022557600080fd5b5061018e600160a060020a03600435166106fc565b34801561024657600080fd5b5061018e600160a060020a0360043516610719565b34801561026757600080fd5b50610270610736565b60408051600160a060020a039092168252519081900360200190f35b34801561029857600080fd5b5061027061074b565b3480156102ad57600080fd5b506101ba600160a060020a036004351661075a565b3480156102ce57600080fd5b5061018e610775565b3480156102e357600080fd5b506102ec610826565b6040805161ffff9092168252519081900360200190f35b34801561030f57600080fd5b5061018e610837565b34801561032457600080fd5b5061032d6108a3565b6040805160ff9092168252519081900360200190f35b34801561034f57600080fd5b506101ba600160a060020a03600435166108b7565b34801561037057600080fd5b5061018e600160a060020a03600435166108ca565b34801561039157600080fd5b5061032d6108e7565b3480156103a657600080fd5b506101ba600160a060020a03600435166108f5565b3480156103c757600080fd5b5061018e600160a060020a0360043581169060243516610908565b3480156103ee57600080fd5b5061018e6109bb565b34801561040357600080fd5b5061018e610bfc565b34801561041857600080fd5b5061018e610c6d565b34801561042d57600080fd5b5061018e610dcb565b34801561044257600080fd5b5061044b610dd4565b60408051918252519081900360200190f35b34801561046957600080fd5b5061032d610dda565b34801561047e57600080fd5b5061018e610dfd565b34801561049357600080fd5b5061018e610e06565b3480156104a857600080fd5b5061018e610e97565b6104ba336108b7565b15156104c557600080fd5b6104cd610ea0565b565b60005460a060020a900460ff16156104e657600080fd5b6104ef336108f5565b15156104fa57600080fd5b600160065460a060020a900460ff16600381111561051457fe5b1461051e57600080fd5b600680546002919060a060020a60ff02191660a060020a835b0217905550565b600190565b6000600160065460a060020a900460ff16600381111561055f57fe5b148015610575575060065460a860020a900460ff165b905090565b60005460a060020a900460ff161561059157600080fd5b600554620100009004600160a060020a031633146105ae57600080fd5b600160065460a060020a900460ff1660038111156105c857fe5b146105d257600080fd5b60065460a860020a900460ff16156105e957600080fd5b6006805475ff000000000000000000000000000000000000000000191660a860020a179055565b610619336108b7565b151561062457600080fd5b600060065460a060020a900460ff16600381111561063e57fe5b1461064857600080fd5b600154604080517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015290516106f9928492600160a060020a03909116916370a08231916024808201926020929091908290030181600087803b1580156106b457600080fd5b505af11580156106c8573d6000803e3d6000fd5b505050506040513d60208110156106de57600080fd5b5051600154600160a060020a0316919063ffffffff610f6716565b50565b610705336108f5565b151561071057600080fd5b6106f98161101f565b610722336108b7565b151561072d57600080fd5b6106f981611030565b600554620100009004600160a060020a031690565b600654600160a060020a031690565b600061076d60028363ffffffff61104116565b90505b919050565b60005460a060020a900460ff161561078c57600080fd5b610795336108f5565b15156107a057600080fd5b600360065460a060020a900460ff1660038111156107ba57fe5b14156107c557600080fd5b600680546005805475ffffffffffffffffffffffffffffffffffffffff00001916905560a060020a60ff021916740300000000000000000000000000000000000000001775ff00ffffffffffffffffffffffffffffffffffffffff19169055565b60065460b860020a900461ffff1690565b60005460a060020a900460ff161561084e57600080fd5b610857336108f5565b151561086257600080fd5b600260065460a060020a900460ff16600381111561087c57fe5b1461088657600080fd5b600680546001919060a060020a60ff02191660a060020a83610537565b60055460009060ff16600181111561057557fe5b600061076d60038363ffffffff61104116565b6108d33361075a565b15156108de57600080fd5b6106f981611078565b600554610100900460ff1690565b600061076d60048363ffffffff61104116565b60005460a060020a900460ff161561091f57600080fd5b610928336108f5565b151561093357600080fd5b600360065460a060020a900460ff16600381111561094d57fe5b1461095757600080fd5b600680546005805475ffffffffffffffffffffffffffffffffffffffff0000191662010000600160a060020a039687160217905560a060020a60ff02191660a060020a1773ffffffffffffffffffffffffffffffffffffffff191691909216179055565b60008054819060a060020a900460ff16156109d557600080fd5b6109de3361075a565b15156109e957600080fd5b600060055460ff1660018111156109fc57fe5b14610a0657600080fd5b600160065460a060020a900460ff166003811115610a2057fe5b14610a2a57600080fd5b60065460a860020a900460ff161515610a4257600080fd5b60065460b860020a900461ffff161515610ab8576006805478ffff00000000000000000000000000000000000000000000001976ff0000000000000000000000000000000000000000000019909116760100000000000000000000000000000000000000000000171660b860020a179055610b80565b60068054600161ffff60b860020a8084048216929092018116820278ffff00000000000000000000000000000000000000000000001990931692909217928390559091041661016e1415610b80576006805478ffff000000000000000000000000000000000000000000000019600160ff760100000000000000000000000000000000000000000000808504821692909201160276ff0000000000000000000000000000000000000000000019909216919091171660b860020a179055600754600290046007555b505060075461016d90046064600a82020460008211610b9e57600080fd5b60008111610bab57600080fd5b600554600154610bd591600160a060020a039182169162010000909104168463ffffffff610f6716565b600654600154610bf891600160a060020a0391821691168363ffffffff610f6716565b5050565b60005460a060020a900460ff1615610c1357600080fd5b610c1c336108b7565b1515610c2757600080fd5b600060065460a060020a900460ff166003811115610c4157fe5b1415610c4c57600080fd5b6006805475ffff000000000000000000000000000000000000000019169055565b600080548190819060a060020a900460ff1615610c8957600080fd5b610c92336108b7565b1515610c9d57600080fd5b600060065460a060020a900460ff166003811115610cb757fe5b14610cc157600080fd5b600060055460ff166001811115610cd457fe5b148015610ce15750600754155b15610db057600554610cfa90610100900460ff16611089565b92506064600a8402600154604080517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015290519390920486019450600160a060020a0316916370a08231916024808201926020929091908290030181600087803b158015610d6e57600080fd5b505af1158015610d82573d6000803e3d6000fd5b505050506040513d6020811015610d9857600080fd5b50519050818114610da857600080fd5b600283046007555b50506006805460a060020a60ff02191660a060020a17905550565b6104cd3361113b565b60075490565b600654760100000000000000000000000000000000000000000000900460ff1690565b6104cd3361114c565b60005460a060020a900460ff1615610e1d57600080fd5b600554620100009004600160a060020a03163314610e3a57600080fd5b600160065460a060020a900460ff166003811115610e5457fe5b14610e5e57600080fd5b60065460a860020a900460ff161515610e7657600080fd5b6006805475ff00000000000000000000000000000000000000000019169055565b6104cd3361115d565b600154604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051600092600160a060020a0316916370a0823191602480830192602092919082900301818787803b158015610f0557600080fd5b505af1158015610f19573d6000803e3d6000fd5b505050506040513d6020811015610f2f57600080fd5b505190506000811115610f5f57600054600154610f5f91600160a060020a0391821691168363ffffffff610f6716565b6106f961116e565b82600160a060020a031663a9059cbb83836040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083600160a060020a0316600160a060020a0316815260200182815260200192505050602060405180830381600087803b158015610fe357600080fd5b505af1158015610ff7573d6000803e3d6000fd5b505050506040513d602081101561100d57600080fd5b5051151561101a57600080fd5b505050565b6106f960048263ffffffff61118616565b6106f960038263ffffffff61118616565b6000600160a060020a038216151561105857600080fd5b50600160a060020a03166000908152602091909152604090205460ff1690565b6106f960028263ffffffff61118616565b600060ff821615156110a6575069152d02c7e14af6800000610770565b8160ff16600114156110c3575069d3c21bcecceda1000000610770565b8160ff16600214156110e157506a01a784379d99db42000000610770565b8160ff16600314156110ff57506a027b46536c66c8e3000000610770565b8160ff166004141561111d57506a034f086f3b33b684000000610770565b8160ff166005141561077057506a0422ca8b0a00a425000000610770565b6106f960048263ffffffff6111d416565b6106f960038263ffffffff6111d416565b6106f960028263ffffffff6111d416565b6000805460a060020a60ff02191660a060020a179055565b600160a060020a038116151561119b57600080fd5b6111a58282611041565b156111af57600080fd5b600160a060020a0316600090815260209190915260409020805460ff19166001179055565b600160a060020a03811615156111e957600080fd5b6111f38282611041565b15156111fe57600080fd5b600160a060020a0316600090815260209190915260409020805460ff191690555600a165627a7a723058202935a8fadd5caa8f5a9312cd903c07814b3de5662642cabdc9018c364221db570029", + "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH3 0x11 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x40 MLOAD PUSH1 0xA0 DUP1 PUSH3 0x14D1 DUP4 CODECOPY DUP2 ADD PUSH1 0x40 SWAP1 DUP2 MSTORE DUP2 MLOAD PUSH1 0x20 DUP4 ADD MLOAD SWAP2 DUP4 ADD MLOAD PUSH1 0x60 DUP5 ADD MLOAD PUSH1 0x80 SWAP1 SWAP5 ADD MLOAD PUSH1 0x0 DUP1 SLOAD CALLER PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB NOT SWAP2 DUP3 AND DUP2 OR PUSH1 0xA0 PUSH1 0x2 EXP PUSH1 0xFF MUL NOT AND SWAP1 SWAP3 SSTORE PUSH1 0x1 DUP1 SLOAD SWAP1 SWAP2 AND PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB DUP5 AND OR SWAP1 SSTORE SWAP3 SWAP5 SWAP2 SWAP3 PUSH3 0x87 SWAP1 PUSH5 0x100000000 PUSH3 0x18E DUP2 MUL DIV JUMP JUMPDEST PUSH3 0x9B CALLER PUSH5 0x100000000 PUSH3 0x1AC DUP2 MUL DIV JUMP JUMPDEST PUSH3 0xAF CALLER PUSH5 0x100000000 PUSH3 0x1C7 DUP2 MUL DIV JUMP JUMPDEST PUSH1 0x0 DUP5 PUSH1 0xFF AND LT ISZERO DUP1 ISZERO PUSH3 0xC8 JUMPI POP PUSH1 0x5 DUP5 PUSH1 0xFF AND GT ISZERO JUMPDEST ISZERO ISZERO PUSH3 0xD4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB DUP4 AND ISZERO ISZERO PUSH3 0xEA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP6 PUSH1 0x1 DUP2 GT ISZERO PUSH3 0xF9 JUMPI INVALID JUMPDEST EQ ISZERO PUSH3 0x116 JUMPI PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB DUP3 AND ISZERO ISZERO PUSH3 0x116 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x5 DUP1 SLOAD DUP7 SWAP2 SWAP1 PUSH1 0xFF NOT AND PUSH1 0x1 DUP4 DUP2 DUP2 GT ISZERO PUSH3 0x12F JUMPI INVALID JUMPDEST MUL OR SWAP1 SSTORE POP POP PUSH1 0x5 DUP1 SLOAD PUSH2 0xFF00 NOT AND PUSH2 0x100 PUSH1 0xFF SWAP6 SWAP1 SWAP6 AND SWAP5 SWAP1 SWAP5 MUL SWAP4 SWAP1 SWAP4 OR PUSH3 0x10000 PUSH1 0xB0 PUSH1 0x2 EXP SUB NOT AND PUSH3 0x10000 PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB SWAP4 DUP5 AND MUL OR SWAP1 SWAP3 SSTORE PUSH1 0x6 DUP1 SLOAD PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB NOT AND SWAP3 SWAP1 SWAP2 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE POP PUSH3 0x275 JUMP JUMPDEST PUSH3 0x1A9 PUSH1 0x2 DUP3 PUSH5 0x100000000 PUSH3 0x1186 PUSH3 0x1E2 DUP3 MUL OR DIV JUMP JUMPDEST POP JUMP JUMPDEST PUSH3 0x1A9 PUSH1 0x3 DUP3 PUSH5 0x100000000 PUSH3 0x1186 PUSH3 0x1E2 DUP3 MUL OR DIV JUMP JUMPDEST PUSH3 0x1A9 PUSH1 0x4 DUP3 PUSH5 0x100000000 PUSH3 0x1186 PUSH3 0x1E2 DUP3 MUL OR DIV JUMP JUMPDEST PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB DUP2 AND ISZERO ISZERO PUSH3 0x1F8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH3 0x20D DUP3 DUP3 PUSH5 0x100000000 PUSH3 0x23D DUP2 MUL DIV JUMP JUMPDEST ISZERO PUSH3 0x218 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0x1 OR SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB DUP3 AND ISZERO ISZERO PUSH3 0x255 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND SWAP1 JUMP JUMPDEST PUSH2 0x124C DUP1 PUSH3 0x285 PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN STOP PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x174 JUMPI PUSH4 0xFFFFFFFF PUSH29 0x100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 CALLDATALOAD DIV AND PUSH4 0xC08BF88 DUP2 EQ PUSH2 0x179 JUMPI DUP1 PUSH4 0x162F986D EQ PUSH2 0x190 JUMPI DUP1 PUSH4 0x1777FB4B EQ PUSH2 0x1A5 JUMPI DUP1 PUSH4 0x19A74AB3 EQ PUSH2 0x1CE JUMPI DUP1 PUSH4 0x21B79D98 EQ PUSH2 0x1E3 JUMPI DUP1 PUSH4 0x231D4E2A EQ PUSH2 0x1F8 JUMPI DUP1 PUSH4 0x29D10B6E EQ PUSH2 0x219 JUMPI DUP1 PUSH4 0x2E6B6849 EQ PUSH2 0x23A JUMPI DUP1 PUSH4 0x302C11CA EQ PUSH2 0x25B JUMPI DUP1 PUSH4 0x329B1C92 EQ PUSH2 0x28C JUMPI DUP1 PUSH4 0x34CDCF26 EQ PUSH2 0x2A1 JUMPI DUP1 PUSH4 0x363AA6C7 EQ PUSH2 0x2C2 JUMPI DUP1 PUSH4 0x3E6968B6 EQ PUSH2 0x2D7 JUMPI DUP1 PUSH4 0x427534A4 EQ PUSH2 0x303 JUMPI DUP1 PUSH4 0x4969AE70 EQ PUSH2 0x318 JUMPI DUP1 PUSH4 0x608D3D3D EQ PUSH2 0x343 JUMPI DUP1 PUSH4 0x74BE7592 EQ PUSH2 0x364 JUMPI DUP1 PUSH4 0x80258E47 EQ PUSH2 0x385 JUMPI DUP1 PUSH4 0x81A24459 EQ PUSH2 0x39A JUMPI DUP1 PUSH4 0x8329138F EQ PUSH2 0x3BB JUMPI DUP1 PUSH4 0x99F4B251 EQ PUSH2 0x3E2 JUMPI DUP1 PUSH4 0x9E614CA0 EQ PUSH2 0x3F7 JUMPI DUP1 PUSH4 0xB2A32CD5 EQ PUSH2 0x40C JUMPI DUP1 PUSH4 0xBE952494 EQ PUSH2 0x421 JUMPI DUP1 PUSH4 0xCDFD0F64 EQ PUSH2 0x436 JUMPI DUP1 PUSH4 0xCE41607A EQ PUSH2 0x45D JUMPI DUP1 PUSH4 0xD43ACC79 EQ PUSH2 0x472 JUMPI DUP1 PUSH4 0xDA408679 EQ PUSH2 0x487 JUMPI DUP1 PUSH4 0xE9D61859 EQ PUSH2 0x49C JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x185 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x18E PUSH2 0x4B1 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x19C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x18E PUSH2 0x4CF JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1B1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1BA PUSH2 0x53E JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD SWAP2 ISZERO ISZERO DUP3 MSTORE MLOAD SWAP1 DUP2 SWAP1 SUB PUSH1 0x20 ADD SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1DA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1BA PUSH2 0x543 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1EF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x18E PUSH2 0x57A JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x204 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x18E PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB PUSH1 0x4 CALLDATALOAD AND PUSH2 0x610 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x225 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x18E PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB PUSH1 0x4 CALLDATALOAD AND PUSH2 0x6FC JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x246 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x18E PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB PUSH1 0x4 CALLDATALOAD AND PUSH2 0x719 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x267 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x270 PUSH2 0x736 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB SWAP1 SWAP3 AND DUP3 MSTORE MLOAD SWAP1 DUP2 SWAP1 SUB PUSH1 0x20 ADD SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x298 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x270 PUSH2 0x74B JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x2AD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1BA PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB PUSH1 0x4 CALLDATALOAD AND PUSH2 0x75A JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x2CE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x18E PUSH2 0x775 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x2E3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x2EC PUSH2 0x826 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH2 0xFFFF SWAP1 SWAP3 AND DUP3 MSTORE MLOAD SWAP1 DUP2 SWAP1 SUB PUSH1 0x20 ADD SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x30F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x18E PUSH2 0x837 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x324 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x32D PUSH2 0x8A3 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0xFF SWAP1 SWAP3 AND DUP3 MSTORE MLOAD SWAP1 DUP2 SWAP1 SUB PUSH1 0x20 ADD SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x34F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1BA PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB PUSH1 0x4 CALLDATALOAD AND PUSH2 0x8B7 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x370 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x18E PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB PUSH1 0x4 CALLDATALOAD AND PUSH2 0x8CA JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x391 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x32D PUSH2 0x8E7 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x3A6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1BA PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB PUSH1 0x4 CALLDATALOAD AND PUSH2 0x8F5 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x3C7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x18E PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB PUSH1 0x4 CALLDATALOAD DUP2 AND SWAP1 PUSH1 0x24 CALLDATALOAD AND PUSH2 0x908 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x3EE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x18E PUSH2 0x9BB JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x403 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x18E PUSH2 0xBFC JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x418 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x18E PUSH2 0xC6D JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x42D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x18E PUSH2 0xDCB JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x442 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x44B PUSH2 0xDD4 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD SWAP2 DUP3 MSTORE MLOAD SWAP1 DUP2 SWAP1 SUB PUSH1 0x20 ADD SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x469 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x32D PUSH2 0xDDA JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x47E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x18E PUSH2 0xDFD JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x493 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x18E PUSH2 0xE06 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x4A8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x18E PUSH2 0xE97 JUMP JUMPDEST PUSH2 0x4BA CALLER PUSH2 0x8B7 JUMP JUMPDEST ISZERO ISZERO PUSH2 0x4C5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x4CD PUSH2 0xEA0 JUMP JUMPDEST JUMP JUMPDEST PUSH1 0x0 SLOAD PUSH1 0xA0 PUSH1 0x2 EXP SWAP1 DIV PUSH1 0xFF AND ISZERO PUSH2 0x4E6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x4EF CALLER PUSH2 0x8F5 JUMP JUMPDEST ISZERO ISZERO PUSH2 0x4FA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x6 SLOAD PUSH1 0xA0 PUSH1 0x2 EXP SWAP1 DIV PUSH1 0xFF AND PUSH1 0x3 DUP2 GT ISZERO PUSH2 0x514 JUMPI INVALID JUMPDEST EQ PUSH2 0x51E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x6 DUP1 SLOAD PUSH1 0x2 SWAP2 SWAP1 PUSH1 0xA0 PUSH1 0x2 EXP PUSH1 0xFF MUL NOT AND PUSH1 0xA0 PUSH1 0x2 EXP DUP4 JUMPDEST MUL OR SWAP1 SSTORE POP JUMP JUMPDEST PUSH1 0x1 SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x6 SLOAD PUSH1 0xA0 PUSH1 0x2 EXP SWAP1 DIV PUSH1 0xFF AND PUSH1 0x3 DUP2 GT ISZERO PUSH2 0x55F JUMPI INVALID JUMPDEST EQ DUP1 ISZERO PUSH2 0x575 JUMPI POP PUSH1 0x6 SLOAD PUSH1 0xA8 PUSH1 0x2 EXP SWAP1 DIV PUSH1 0xFF AND JUMPDEST SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 SLOAD PUSH1 0xA0 PUSH1 0x2 EXP SWAP1 DIV PUSH1 0xFF AND ISZERO PUSH2 0x591 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x5 SLOAD PUSH3 0x10000 SWAP1 DIV PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB AND CALLER EQ PUSH2 0x5AE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x6 SLOAD PUSH1 0xA0 PUSH1 0x2 EXP SWAP1 DIV PUSH1 0xFF AND PUSH1 0x3 DUP2 GT ISZERO PUSH2 0x5C8 JUMPI INVALID JUMPDEST EQ PUSH2 0x5D2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x6 SLOAD PUSH1 0xA8 PUSH1 0x2 EXP SWAP1 DIV PUSH1 0xFF AND ISZERO PUSH2 0x5E9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x6 DUP1 SLOAD PUSH22 0xFF000000000000000000000000000000000000000000 NOT AND PUSH1 0xA8 PUSH1 0x2 EXP OR SWAP1 SSTORE JUMP JUMPDEST PUSH2 0x619 CALLER PUSH2 0x8B7 JUMP JUMPDEST ISZERO ISZERO PUSH2 0x624 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x6 SLOAD PUSH1 0xA0 PUSH1 0x2 EXP SWAP1 DIV PUSH1 0xFF AND PUSH1 0x3 DUP2 GT ISZERO PUSH2 0x63E JUMPI INVALID JUMPDEST EQ PUSH2 0x648 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x1 SLOAD PUSH1 0x40 DUP1 MLOAD PUSH32 0x70A0823100000000000000000000000000000000000000000000000000000000 DUP2 MSTORE ADDRESS PUSH1 0x4 DUP3 ADD MSTORE SWAP1 MLOAD PUSH2 0x6F9 SWAP3 DUP5 SWAP3 PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB SWAP1 SWAP2 AND SWAP2 PUSH4 0x70A08231 SWAP2 PUSH1 0x24 DUP1 DUP3 ADD SWAP3 PUSH1 0x20 SWAP3 SWAP1 SWAP2 SWAP1 DUP3 SWAP1 SUB ADD DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x6B4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x6C8 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x20 DUP2 LT ISZERO PUSH2 0x6DE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP MLOAD PUSH1 0x1 SLOAD PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB AND SWAP2 SWAP1 PUSH4 0xFFFFFFFF PUSH2 0xF67 AND JUMP JUMPDEST POP JUMP JUMPDEST PUSH2 0x705 CALLER PUSH2 0x8F5 JUMP JUMPDEST ISZERO ISZERO PUSH2 0x710 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x6F9 DUP2 PUSH2 0x101F JUMP JUMPDEST PUSH2 0x722 CALLER PUSH2 0x8B7 JUMP JUMPDEST ISZERO ISZERO PUSH2 0x72D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x6F9 DUP2 PUSH2 0x1030 JUMP JUMPDEST PUSH1 0x5 SLOAD PUSH3 0x10000 SWAP1 DIV PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB AND SWAP1 JUMP JUMPDEST PUSH1 0x6 SLOAD PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB AND SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x76D PUSH1 0x2 DUP4 PUSH4 0xFFFFFFFF PUSH2 0x1041 AND JUMP JUMPDEST SWAP1 POP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 SLOAD PUSH1 0xA0 PUSH1 0x2 EXP SWAP1 DIV PUSH1 0xFF AND ISZERO PUSH2 0x78C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x795 CALLER PUSH2 0x8F5 JUMP JUMPDEST ISZERO ISZERO PUSH2 0x7A0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x3 PUSH1 0x6 SLOAD PUSH1 0xA0 PUSH1 0x2 EXP SWAP1 DIV PUSH1 0xFF AND PUSH1 0x3 DUP2 GT ISZERO PUSH2 0x7BA JUMPI INVALID JUMPDEST EQ ISZERO PUSH2 0x7C5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x6 DUP1 SLOAD PUSH1 0x5 DUP1 SLOAD PUSH22 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000 NOT AND SWAP1 SSTORE PUSH1 0xA0 PUSH1 0x2 EXP PUSH1 0xFF MUL NOT AND PUSH21 0x30000000000000000000000000000000000000000 OR PUSH22 0xFF00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x6 SLOAD PUSH1 0xB8 PUSH1 0x2 EXP SWAP1 DIV PUSH2 0xFFFF AND SWAP1 JUMP JUMPDEST PUSH1 0x0 SLOAD PUSH1 0xA0 PUSH1 0x2 EXP SWAP1 DIV PUSH1 0xFF AND ISZERO PUSH2 0x84E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x857 CALLER PUSH2 0x8F5 JUMP JUMPDEST ISZERO ISZERO PUSH2 0x862 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x2 PUSH1 0x6 SLOAD PUSH1 0xA0 PUSH1 0x2 EXP SWAP1 DIV PUSH1 0xFF AND PUSH1 0x3 DUP2 GT ISZERO PUSH2 0x87C JUMPI INVALID JUMPDEST EQ PUSH2 0x886 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x6 DUP1 SLOAD PUSH1 0x1 SWAP2 SWAP1 PUSH1 0xA0 PUSH1 0x2 EXP PUSH1 0xFF MUL NOT AND PUSH1 0xA0 PUSH1 0x2 EXP DUP4 PUSH2 0x537 JUMP JUMPDEST PUSH1 0x5 SLOAD PUSH1 0x0 SWAP1 PUSH1 0xFF AND PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x575 JUMPI INVALID JUMPDEST PUSH1 0x0 PUSH2 0x76D PUSH1 0x3 DUP4 PUSH4 0xFFFFFFFF PUSH2 0x1041 AND JUMP JUMPDEST PUSH2 0x8D3 CALLER PUSH2 0x75A JUMP JUMPDEST ISZERO ISZERO PUSH2 0x8DE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x6F9 DUP2 PUSH2 0x1078 JUMP JUMPDEST PUSH1 0x5 SLOAD PUSH2 0x100 SWAP1 DIV PUSH1 0xFF AND SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x76D PUSH1 0x4 DUP4 PUSH4 0xFFFFFFFF PUSH2 0x1041 AND JUMP JUMPDEST PUSH1 0x0 SLOAD PUSH1 0xA0 PUSH1 0x2 EXP SWAP1 DIV PUSH1 0xFF AND ISZERO PUSH2 0x91F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x928 CALLER PUSH2 0x8F5 JUMP JUMPDEST ISZERO ISZERO PUSH2 0x933 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x3 PUSH1 0x6 SLOAD PUSH1 0xA0 PUSH1 0x2 EXP SWAP1 DIV PUSH1 0xFF AND PUSH1 0x3 DUP2 GT ISZERO PUSH2 0x94D JUMPI INVALID JUMPDEST EQ PUSH2 0x957 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x6 DUP1 SLOAD PUSH1 0x5 DUP1 SLOAD PUSH22 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000 NOT AND PUSH3 0x10000 PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB SWAP7 DUP8 AND MUL OR SWAP1 SSTORE PUSH1 0xA0 PUSH1 0x2 EXP PUSH1 0xFF MUL NOT AND PUSH1 0xA0 PUSH1 0x2 EXP OR PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND SWAP2 SWAP1 SWAP3 AND OR SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD DUP2 SWAP1 PUSH1 0xA0 PUSH1 0x2 EXP SWAP1 DIV PUSH1 0xFF AND ISZERO PUSH2 0x9D5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x9DE CALLER PUSH2 0x75A JUMP JUMPDEST ISZERO ISZERO PUSH2 0x9E9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x5 SLOAD PUSH1 0xFF AND PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x9FC JUMPI INVALID JUMPDEST EQ PUSH2 0xA06 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x6 SLOAD PUSH1 0xA0 PUSH1 0x2 EXP SWAP1 DIV PUSH1 0xFF AND PUSH1 0x3 DUP2 GT ISZERO PUSH2 0xA20 JUMPI INVALID JUMPDEST EQ PUSH2 0xA2A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x6 SLOAD PUSH1 0xA8 PUSH1 0x2 EXP SWAP1 DIV PUSH1 0xFF AND ISZERO ISZERO PUSH2 0xA42 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x6 SLOAD PUSH1 0xB8 PUSH1 0x2 EXP SWAP1 DIV PUSH2 0xFFFF AND ISZERO ISZERO PUSH2 0xAB8 JUMPI PUSH1 0x6 DUP1 SLOAD PUSH25 0xFFFF0000000000000000000000000000000000000000000000 NOT PUSH23 0xFF00000000000000000000000000000000000000000000 NOT SWAP1 SWAP2 AND PUSH23 0x100000000000000000000000000000000000000000000 OR AND PUSH1 0xB8 PUSH1 0x2 EXP OR SWAP1 SSTORE PUSH2 0xB80 JUMP JUMPDEST PUSH1 0x6 DUP1 SLOAD PUSH1 0x1 PUSH2 0xFFFF PUSH1 0xB8 PUSH1 0x2 EXP DUP1 DUP5 DIV DUP3 AND SWAP3 SWAP1 SWAP3 ADD DUP2 AND DUP3 MUL PUSH25 0xFFFF0000000000000000000000000000000000000000000000 NOT SWAP1 SWAP4 AND SWAP3 SWAP1 SWAP3 OR SWAP3 DUP4 SWAP1 SSTORE SWAP1 SWAP2 DIV AND PUSH2 0x16E EQ ISZERO PUSH2 0xB80 JUMPI PUSH1 0x6 DUP1 SLOAD PUSH25 0xFFFF0000000000000000000000000000000000000000000000 NOT PUSH1 0x1 PUSH1 0xFF PUSH23 0x100000000000000000000000000000000000000000000 DUP1 DUP6 DIV DUP3 AND SWAP3 SWAP1 SWAP3 ADD AND MUL PUSH23 0xFF00000000000000000000000000000000000000000000 NOT SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR AND PUSH1 0xB8 PUSH1 0x2 EXP OR SWAP1 SSTORE PUSH1 0x7 SLOAD PUSH1 0x2 SWAP1 DIV PUSH1 0x7 SSTORE JUMPDEST POP POP PUSH1 0x7 SLOAD PUSH2 0x16D SWAP1 DIV PUSH1 0x64 PUSH1 0xA DUP3 MUL DIV PUSH1 0x0 DUP3 GT PUSH2 0xB9E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP2 GT PUSH2 0xBAB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x5 SLOAD PUSH1 0x1 SLOAD PUSH2 0xBD5 SWAP2 PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB SWAP2 DUP3 AND SWAP2 PUSH3 0x10000 SWAP1 SWAP2 DIV AND DUP5 PUSH4 0xFFFFFFFF PUSH2 0xF67 AND JUMP JUMPDEST PUSH1 0x6 SLOAD PUSH1 0x1 SLOAD PUSH2 0xBF8 SWAP2 PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB SWAP2 DUP3 AND SWAP2 AND DUP4 PUSH4 0xFFFFFFFF PUSH2 0xF67 AND JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x0 SLOAD PUSH1 0xA0 PUSH1 0x2 EXP SWAP1 DIV PUSH1 0xFF AND ISZERO PUSH2 0xC13 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xC1C CALLER PUSH2 0x8B7 JUMP JUMPDEST ISZERO ISZERO PUSH2 0xC27 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x6 SLOAD PUSH1 0xA0 PUSH1 0x2 EXP SWAP1 DIV PUSH1 0xFF AND PUSH1 0x3 DUP2 GT ISZERO PUSH2 0xC41 JUMPI INVALID JUMPDEST EQ ISZERO PUSH2 0xC4C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x6 DUP1 SLOAD PUSH22 0xFFFF0000000000000000000000000000000000000000 NOT AND SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD DUP2 SWAP1 DUP2 SWAP1 PUSH1 0xA0 PUSH1 0x2 EXP SWAP1 DIV PUSH1 0xFF AND ISZERO PUSH2 0xC89 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xC92 CALLER PUSH2 0x8B7 JUMP JUMPDEST ISZERO ISZERO PUSH2 0xC9D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x6 SLOAD PUSH1 0xA0 PUSH1 0x2 EXP SWAP1 DIV PUSH1 0xFF AND PUSH1 0x3 DUP2 GT ISZERO PUSH2 0xCB7 JUMPI INVALID JUMPDEST EQ PUSH2 0xCC1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x5 SLOAD PUSH1 0xFF AND PUSH1 0x1 DUP2 GT ISZERO PUSH2 0xCD4 JUMPI INVALID JUMPDEST EQ DUP1 ISZERO PUSH2 0xCE1 JUMPI POP PUSH1 0x7 SLOAD ISZERO JUMPDEST ISZERO PUSH2 0xDB0 JUMPI PUSH1 0x5 SLOAD PUSH2 0xCFA SWAP1 PUSH2 0x100 SWAP1 DIV PUSH1 0xFF AND PUSH2 0x1089 JUMP JUMPDEST SWAP3 POP PUSH1 0x64 PUSH1 0xA DUP5 MUL PUSH1 0x1 SLOAD PUSH1 0x40 DUP1 MLOAD PUSH32 0x70A0823100000000000000000000000000000000000000000000000000000000 DUP2 MSTORE ADDRESS PUSH1 0x4 DUP3 ADD MSTORE SWAP1 MLOAD SWAP4 SWAP1 SWAP3 DIV DUP7 ADD SWAP5 POP PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB AND SWAP2 PUSH4 0x70A08231 SWAP2 PUSH1 0x24 DUP1 DUP3 ADD SWAP3 PUSH1 0x20 SWAP3 SWAP1 SWAP2 SWAP1 DUP3 SWAP1 SUB ADD DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0xD6E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0xD82 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x20 DUP2 LT ISZERO PUSH2 0xD98 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP MLOAD SWAP1 POP DUP2 DUP2 EQ PUSH2 0xDA8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x2 DUP4 DIV PUSH1 0x7 SSTORE JUMPDEST POP POP PUSH1 0x6 DUP1 SLOAD PUSH1 0xA0 PUSH1 0x2 EXP PUSH1 0xFF MUL NOT AND PUSH1 0xA0 PUSH1 0x2 EXP OR SWAP1 SSTORE POP JUMP JUMPDEST PUSH2 0x4CD CALLER PUSH2 0x113B JUMP JUMPDEST PUSH1 0x7 SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x6 SLOAD PUSH23 0x100000000000000000000000000000000000000000000 SWAP1 DIV PUSH1 0xFF AND SWAP1 JUMP JUMPDEST PUSH2 0x4CD CALLER PUSH2 0x114C JUMP JUMPDEST PUSH1 0x0 SLOAD PUSH1 0xA0 PUSH1 0x2 EXP SWAP1 DIV PUSH1 0xFF AND ISZERO PUSH2 0xE1D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x5 SLOAD PUSH3 0x10000 SWAP1 DIV PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB AND CALLER EQ PUSH2 0xE3A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x6 SLOAD PUSH1 0xA0 PUSH1 0x2 EXP SWAP1 DIV PUSH1 0xFF AND PUSH1 0x3 DUP2 GT ISZERO PUSH2 0xE54 JUMPI INVALID JUMPDEST EQ PUSH2 0xE5E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x6 SLOAD PUSH1 0xA8 PUSH1 0x2 EXP SWAP1 DIV PUSH1 0xFF AND ISZERO ISZERO PUSH2 0xE76 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x6 DUP1 SLOAD PUSH22 0xFF000000000000000000000000000000000000000000 NOT AND SWAP1 SSTORE JUMP JUMPDEST PUSH2 0x4CD CALLER PUSH2 0x115D JUMP JUMPDEST PUSH1 0x1 SLOAD PUSH1 0x40 DUP1 MLOAD PUSH32 0x70A0823100000000000000000000000000000000000000000000000000000000 DUP2 MSTORE ADDRESS PUSH1 0x4 DUP3 ADD MSTORE SWAP1 MLOAD PUSH1 0x0 SWAP3 PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB AND SWAP2 PUSH4 0x70A08231 SWAP2 PUSH1 0x24 DUP1 DUP4 ADD SWAP3 PUSH1 0x20 SWAP3 SWAP2 SWAP1 DUP3 SWAP1 SUB ADD DUP2 DUP8 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0xF05 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0xF19 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x20 DUP2 LT ISZERO PUSH2 0xF2F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP MLOAD SWAP1 POP PUSH1 0x0 DUP2 GT ISZERO PUSH2 0xF5F JUMPI PUSH1 0x0 SLOAD PUSH1 0x1 SLOAD PUSH2 0xF5F SWAP2 PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB SWAP2 DUP3 AND SWAP2 AND DUP4 PUSH4 0xFFFFFFFF PUSH2 0xF67 AND JUMP JUMPDEST PUSH2 0x6F9 PUSH2 0x116E JUMP JUMPDEST DUP3 PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB AND PUSH4 0xA9059CBB DUP4 DUP4 PUSH1 0x40 MLOAD DUP4 PUSH4 0xFFFFFFFF AND PUSH29 0x100000000000000000000000000000000000000000000000000000000 MUL DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP4 PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB AND PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB AND DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP3 POP POP POP PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0xFE3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0xFF7 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x20 DUP2 LT ISZERO PUSH2 0x100D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP MLOAD ISZERO ISZERO PUSH2 0x101A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP POP POP JUMP JUMPDEST PUSH2 0x6F9 PUSH1 0x4 DUP3 PUSH4 0xFFFFFFFF PUSH2 0x1186 AND JUMP JUMPDEST PUSH2 0x6F9 PUSH1 0x3 DUP3 PUSH4 0xFFFFFFFF PUSH2 0x1186 AND JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB DUP3 AND ISZERO ISZERO PUSH2 0x1058 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND SWAP1 JUMP JUMPDEST PUSH2 0x6F9 PUSH1 0x2 DUP3 PUSH4 0xFFFFFFFF PUSH2 0x1186 AND JUMP JUMPDEST PUSH1 0x0 PUSH1 0xFF DUP3 AND ISZERO ISZERO PUSH2 0x10A6 JUMPI POP PUSH10 0x152D02C7E14AF6800000 PUSH2 0x770 JUMP JUMPDEST DUP2 PUSH1 0xFF AND PUSH1 0x1 EQ ISZERO PUSH2 0x10C3 JUMPI POP PUSH10 0xD3C21BCECCEDA1000000 PUSH2 0x770 JUMP JUMPDEST DUP2 PUSH1 0xFF AND PUSH1 0x2 EQ ISZERO PUSH2 0x10E1 JUMPI POP PUSH11 0x1A784379D99DB42000000 PUSH2 0x770 JUMP JUMPDEST DUP2 PUSH1 0xFF AND PUSH1 0x3 EQ ISZERO PUSH2 0x10FF JUMPI POP PUSH11 0x27B46536C66C8E3000000 PUSH2 0x770 JUMP JUMPDEST DUP2 PUSH1 0xFF AND PUSH1 0x4 EQ ISZERO PUSH2 0x111D JUMPI POP PUSH11 0x34F086F3B33B684000000 PUSH2 0x770 JUMP JUMPDEST DUP2 PUSH1 0xFF AND PUSH1 0x5 EQ ISZERO PUSH2 0x770 JUMPI POP PUSH11 0x422CA8B0A00A425000000 PUSH2 0x770 JUMP JUMPDEST PUSH2 0x6F9 PUSH1 0x4 DUP3 PUSH4 0xFFFFFFFF PUSH2 0x11D4 AND JUMP JUMPDEST PUSH2 0x6F9 PUSH1 0x3 DUP3 PUSH4 0xFFFFFFFF PUSH2 0x11D4 AND JUMP JUMPDEST PUSH2 0x6F9 PUSH1 0x2 DUP3 PUSH4 0xFFFFFFFF PUSH2 0x11D4 AND JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD PUSH1 0xA0 PUSH1 0x2 EXP PUSH1 0xFF MUL NOT AND PUSH1 0xA0 PUSH1 0x2 EXP OR SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB DUP2 AND ISZERO ISZERO PUSH2 0x119B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x11A5 DUP3 DUP3 PUSH2 0x1041 JUMP JUMPDEST ISZERO PUSH2 0x11AF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0x1 OR SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB DUP2 AND ISZERO ISZERO PUSH2 0x11E9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x11F3 DUP3 DUP3 PUSH2 0x1041 JUMP JUMPDEST ISZERO ISZERO PUSH2 0x11FE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND SWAP1 SSTORE JUMP STOP LOG1 PUSH6 0x627A7A723058 KECCAK256 0x29 CALLDATALOAD 0xa8 STATICCALL 0xdd 0x5c 0xaa DUP16 GAS SWAP4 SLT 0xcd SWAP1 EXTCODECOPY SMOD DUP2 0x4b RETURNDATASIZE 0xe5 PUSH7 0x2642CABDC9018C CALLDATASIZE TIMESTAMP 0x21 0xdb JUMPI STOP 0x29 ", + "sourceMap": "620:5567:2:-;;;1312:664;8:9:-1;5:2;;;30:1;27;20:12;5:2;1312:664:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;156:8:7;:21;;167:10;-1:-1:-1;;;;;;156:21:7;;;;;-1:-1:-1;;;;;;188:19:7;;;;-1:-1:-1;636:29:5;;;;;-1:-1:-1;;;;;636:29:5;;;;;1312:664:2;;;;364:22:4;;:10;;;;:22;:::i;:::-;368:24:1;381:10;368:12;;;;:24;:::i;:::-;366:26:3;381:10;366:14;;;;:26;:::i;:::-;1625:1:2;1613:8;:13;;;;:30;;;;;1642:1;1630:8;:13;;;;1613:30;1605:39;;;;;;;;-1:-1:-1;;;;;1663:33:2;;;;1655:42;;;;;;1726:19;1713:9;:32;;;;;;;;;1710:109;;;-1:-1:-1;;;;;1770:36:2;;;;1762:45;;;;;;1831:10;:22;;1844:9;;1831:10;-1:-1:-1;;1831:22:2;;1844:9;1831:22;;;;;;;;;;;;-1:-1:-1;;1864:9:2;:20;;-1:-1:-1;;1864:20:2;;;;;;;;;;;;;;;-1:-1:-1;;;;;;1895:28:2;;-1:-1:-1;;;;;1895:28:2;;;;;;;;1934:9;:34;;-1:-1:-1;;;;;;1934:34:2;;;;;;;;;;;-1:-1:-1;620:5567:2;;800:92:4;857:27;:14;876:7;857:18;;;;;;:27;:::i;:::-;800:92;:::o;824:96:1:-;883:29;:16;904:7;883:20;;;;;;:29;:::i;836:94:3:-;897:25;:12;914:7;897:16;;;;;;:25;:::i;244:167:8:-;-1:-1:-1;;;;;316:21:8;;;;308:30;;;;;;353:18;357:4;363:7;353:3;;;;:18;:::i;:::-;352:19;344:28;;;;;;-1:-1:-1;;;;;379:20:8;:11;:20;;;;;;;;;;;:27;;-1:-1:-1;;379:27:8;402:4;379:27;;;244:167::o;725:166::-;809:4;-1:-1:-1;;;;;831:21:8;;;;823:30;;;;;;-1:-1:-1;;;;;;866:20:8;:11;:20;;;;;;;;;;;;;;;725:166::o;620:5567:2:-;;;;;;;" }, "gasEstimates": { "creation": { - "codeDepositCost": "944400", + "codeDepositCost": "936800", "executionCost": "infinite", "totalCost": "infinite" }, "external": { - "DAYS_PER_YEAR()": "712", "activateMiner()": "infinite", "addCoreTeam(address)": "infinite", "addSupervisor(address)": "infinite", @@ -541,8 +526,8 @@ "deactivateMiner()": "infinite", "getCategory()": "784", "getCurrentDay()": "737", - "getCurrentYear()": "982", - "getCurrentYearSupply()": "934", + "getCurrentYear()": "960", + "getCurrentYearSupply()": "912", "getMiner()": "724", "getMinerType()": "744", "getReferral()": "735", @@ -561,12 +546,11 @@ "resumeMining()": "infinite", "startMining()": "21742", "stopAndRemoveOwnership()": "infinite", - "stopMining()": "22204", + "stopMining()": "22182", "terminate()": "infinite" } }, "methodIdentifiers": { - "DAYS_PER_YEAR()": "c6846ef8", "activateMiner()": "b2a32cd5", "addCoreTeam(address)": "2e6b6849", "addSupervisor(address)": "29d10b6e", @@ -598,7 +582,7 @@ "terminate()": "0c08bf88" } }, - "metadata": "{\"compiler\":{\"version\":\"0.4.24+commit.e67f0147\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"constant\":false,\"inputs\":[],\"name\":\"terminate\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"pauseMining\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"isAlgoMiner\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"pure\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"isMining\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"startMining\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"newMinerAddress\",\"type\":\"address\"}],\"name\":\"migrateMiner\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"account\",\"type\":\"address\"}],\"name\":\"addSupervisor\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"account\",\"type\":\"address\"}],\"name\":\"addCoreTeam\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"getMiner\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"getReferral\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"account\",\"type\":\"address\"}],\"name\":\"isSystem\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"stopAndRemoveOwnership\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"getCurrentDay\",\"outputs\":[{\"name\":\"\",\"type\":\"uint16\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"resumeMining\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"getMinerType\",\"outputs\":[{\"name\":\"\",\"type\":\"uint8\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"account\",\"type\":\"address\"}],\"name\":\"isCoreTeam\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"account\",\"type\":\"address\"}],\"name\":\"addSystem\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"getCategory\",\"outputs\":[{\"name\":\"\",\"type\":\"uint8\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"account\",\"type\":\"address\"}],\"name\":\"isSupervisor\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"newOwnerAddress\",\"type\":\"address\"},{\"name\":\"newReferralAddress\",\"type\":\"address\"}],\"name\":\"resetMiner\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"mine\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"deactivateMiner\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"activateMiner\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"renounceSupervisor\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"DAYS_PER_YEAR\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"getCurrentYearSupply\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"getCurrentYear\",\"outputs\":[{\"name\":\"\",\"type\":\"uint8\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"renounceCoreTeam\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"stopMining\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"renounceSystem\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"name\":\"minerType\",\"type\":\"uint8\"},{\"name\":\"category\",\"type\":\"uint8\"},{\"name\":\"minerAccountAddress\",\"type\":\"address\"},{\"name\":\"referralAccountAddress\",\"type\":\"address\"},{\"name\":\"tokenAddress\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"}],\"devdoc\":{\"methods\":{}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/AlgoMiner.sol\":\"AlgoMiner\"},\"evmVersion\":\"byzantium\",\"libraries\":{},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/AlgoCommon.sol\":{\"keccak256\":\"0x2314139702cc63c8daa379e521abea3be32730ba896f68f3f865749907e64539\",\"urls\":[\"bzzr://b945e0ec5a4ca8a52b5e816c5bb00807d0ca43c5363102821b36c8c4ee98a2d5\"]},\"d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/AlgoCoreTeamRole.sol\":{\"keccak256\":\"0xe6fc9b275c7a4c4f00337d2a388cc97a64ad82e5a23c24c59a4593e85a05b08a\",\"urls\":[\"bzzr://40c7674b2a3543a2b2606c70df215a876bd1a064d249e658d2bbd6fe25969c2e\"]},\"d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/AlgoMiner.sol\":{\"keccak256\":\"0x6539396006d7e6026ab2400540be3063f410d784fb2da2cb173a19ffc582843d\",\"urls\":[\"bzzr://0a7fc440769cf939c984395489ca31b68e34822cabe58b6dd2e94466b5cf841c\"]},\"d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/AlgoSupervisorRole.sol\":{\"keccak256\":\"0x20955eaf60f79f885c941d97e208320c9e0bc1f05b8121342f8187f9a39fd46b\",\"urls\":[\"bzzr://8e30e53aa0322307873f8c0a4fc3c58b7562a0fde92a0921a52bdef4e129ec4b\"]},\"d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/AlgoSystemRole.sol\":{\"keccak256\":\"0x6fffe504e6805d95ca42269cc995a3de9401a12bc037068b056c186ce8569d8d\",\"urls\":[\"bzzr://a0923a2d2b1e4992f552ce49638b19d6d8328950c1d5dc1395f0d625daf21c68\"]},\"d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/ERC20TokenHolder.sol\":{\"keccak256\":\"0x71adbf7f060599239b7a981594e43dc8fbe8597fd2853b6fe9e70ff39883d73a\",\"urls\":[\"bzzr://70691c1638cdc0f744f8c5b5a94e4f857ba40ad053816cfbd15e13ed41a3bc66\"]},\"d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/IAlgoMiner.sol\":{\"keccak256\":\"0xdc21d3ce2e847a83e62a95fc4e8a31305771c1c6549fba2102ae9a7caa09a1e5\",\"urls\":[\"bzzr://291aa93e18c12398d6d8031308b1a0231d253ec061a5449d0335bd476554383e\"]},\"d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/Terminable.sol\":{\"keccak256\":\"0x29a8fa3204dbd204355714601ce21d7d717a586a4de21009d8f2a3ca7981963f\",\"urls\":[\"bzzr://55d9b762620cef1e6f7b11a26d6cc123f5b608a59e0d36f9bc0a1e8ff0ff5c42\"]},\"d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/node_modules/openzeppelin-solidity/contracts/access/Roles.sol\":{\"keccak256\":\"0xa6e47d62e68903c8fff23500d80e7cc8085b9127995803478d9982cd8a6d49e4\",\"urls\":[\"bzzr://7c87eb3c145fe7592c97baa287501faff7e81c1965333c9b042ffb6b387e94a1\"]},\"d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/node_modules/openzeppelin-solidity/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xdd18f05c74536a06166c90a17ec3c6932853764f292bed314ceb23e730ff83af\",\"urls\":[\"bzzr://1d8a608339978ac18782f7051816cf23b4072d8814979e3ef74788cc6025cca0\"]},\"d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/node_modules/openzeppelin-solidity/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xc8a7f15fa44eb10057f8bcb58418d3aed6f5267d211d18f93f3d4e0293e3da44\",\"urls\":[\"bzzr://8825e2508348b01a091ff47b8525e583b6e5604f6679684f805d67a9a6a2a7e9\"]},\"d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/node_modules/openzeppelin-solidity/contracts/token/ERC20/SafeERC20.sol\":{\"keccak256\":\"0x0a172a0ef8681d4a7d8034d003670a9b1968d914b0bfa64e13ddca289a85d24a\",\"urls\":[\"bzzr://733b6203c967b44d6de90b5c6b144e58a380a3f29befb2dc70e765dae2f1ca18\"]}},\"version\":1}", + "metadata": "{\"compiler\":{\"version\":\"0.4.24+commit.e67f0147\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"constant\":false,\"inputs\":[],\"name\":\"terminate\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"pauseMining\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"isAlgoMiner\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"pure\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"isMining\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"startMining\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"newMinerAddress\",\"type\":\"address\"}],\"name\":\"migrateMiner\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"account\",\"type\":\"address\"}],\"name\":\"addSupervisor\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"account\",\"type\":\"address\"}],\"name\":\"addCoreTeam\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"getMiner\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"getReferral\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"account\",\"type\":\"address\"}],\"name\":\"isSystem\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"stopAndRemoveOwnership\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"getCurrentDay\",\"outputs\":[{\"name\":\"\",\"type\":\"uint16\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"resumeMining\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"getMinerType\",\"outputs\":[{\"name\":\"\",\"type\":\"uint8\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"account\",\"type\":\"address\"}],\"name\":\"isCoreTeam\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"account\",\"type\":\"address\"}],\"name\":\"addSystem\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"getCategory\",\"outputs\":[{\"name\":\"\",\"type\":\"uint8\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"account\",\"type\":\"address\"}],\"name\":\"isSupervisor\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"newOwnerAddress\",\"type\":\"address\"},{\"name\":\"newReferralAddress\",\"type\":\"address\"}],\"name\":\"resetMiner\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"mine\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"deactivateMiner\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"activateMiner\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"renounceSupervisor\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"getCurrentYearSupply\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"getCurrentYear\",\"outputs\":[{\"name\":\"\",\"type\":\"uint8\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"renounceCoreTeam\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"stopMining\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"renounceSystem\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"name\":\"minerType\",\"type\":\"uint8\"},{\"name\":\"category\",\"type\":\"uint8\"},{\"name\":\"minerAccountAddress\",\"type\":\"address\"},{\"name\":\"referralAccountAddress\",\"type\":\"address\"},{\"name\":\"tokenAddress\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"}],\"devdoc\":{\"methods\":{}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/AlgoMiner.sol\":\"AlgoMiner\"},\"evmVersion\":\"byzantium\",\"libraries\":{},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/AlgoCommon.sol\":{\"keccak256\":\"0x2314139702cc63c8daa379e521abea3be32730ba896f68f3f865749907e64539\",\"urls\":[\"bzzr://b945e0ec5a4ca8a52b5e816c5bb00807d0ca43c5363102821b36c8c4ee98a2d5\"]},\"d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/AlgoCoreTeamRole.sol\":{\"keccak256\":\"0xe6fc9b275c7a4c4f00337d2a388cc97a64ad82e5a23c24c59a4593e85a05b08a\",\"urls\":[\"bzzr://40c7674b2a3543a2b2606c70df215a876bd1a064d249e658d2bbd6fe25969c2e\"]},\"d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/AlgoMiner.sol\":{\"keccak256\":\"0x9e72a9de7487735ff03810eed3ba1d97f7568ae7fc2b60339d95da498615ff71\",\"urls\":[\"bzzr://4464c54eb74e4f2afd3c6bc80e65640607e3c06c29e19297fc2bf08de027724f\"]},\"d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/AlgoSupervisorRole.sol\":{\"keccak256\":\"0x20955eaf60f79f885c941d97e208320c9e0bc1f05b8121342f8187f9a39fd46b\",\"urls\":[\"bzzr://8e30e53aa0322307873f8c0a4fc3c58b7562a0fde92a0921a52bdef4e129ec4b\"]},\"d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/AlgoSystemRole.sol\":{\"keccak256\":\"0x6fffe504e6805d95ca42269cc995a3de9401a12bc037068b056c186ce8569d8d\",\"urls\":[\"bzzr://a0923a2d2b1e4992f552ce49638b19d6d8328950c1d5dc1395f0d625daf21c68\"]},\"d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/ERC20TokenHolder.sol\":{\"keccak256\":\"0x71adbf7f060599239b7a981594e43dc8fbe8597fd2853b6fe9e70ff39883d73a\",\"urls\":[\"bzzr://70691c1638cdc0f744f8c5b5a94e4f857ba40ad053816cfbd15e13ed41a3bc66\"]},\"d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/IAlgoMiner.sol\":{\"keccak256\":\"0x1b1359f75f7d5a943ab06caea36824f0a6448c5ffa1a32ed7e26cee81cf3683a\",\"urls\":[\"bzzr://26177d59d0c84fa4e632538fbd44802f219e6501b0828533badcf80701cea0f5\"]},\"d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/Terminable.sol\":{\"keccak256\":\"0x29a8fa3204dbd204355714601ce21d7d717a586a4de21009d8f2a3ca7981963f\",\"urls\":[\"bzzr://55d9b762620cef1e6f7b11a26d6cc123f5b608a59e0d36f9bc0a1e8ff0ff5c42\"]},\"d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/node_modules/openzeppelin-solidity/contracts/access/Roles.sol\":{\"keccak256\":\"0xa6e47d62e68903c8fff23500d80e7cc8085b9127995803478d9982cd8a6d49e4\",\"urls\":[\"bzzr://7c87eb3c145fe7592c97baa287501faff7e81c1965333c9b042ffb6b387e94a1\"]},\"d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/node_modules/openzeppelin-solidity/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xdd18f05c74536a06166c90a17ec3c6932853764f292bed314ceb23e730ff83af\",\"urls\":[\"bzzr://1d8a608339978ac18782f7051816cf23b4072d8814979e3ef74788cc6025cca0\"]},\"d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/node_modules/openzeppelin-solidity/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xc8a7f15fa44eb10057f8bcb58418d3aed6f5267d211d18f93f3d4e0293e3da44\",\"urls\":[\"bzzr://8825e2508348b01a091ff47b8525e583b6e5604f6679684f805d67a9a6a2a7e9\"]},\"d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/node_modules/openzeppelin-solidity/contracts/token/ERC20/SafeERC20.sol\":{\"keccak256\":\"0x0a172a0ef8681d4a7d8034d003670a9b1968d914b0bfa64e13ddca289a85d24a\",\"urls\":[\"bzzr://733b6203c967b44d6de90b5c6b144e58a380a3f29befb2dc70e765dae2f1ca18\"]}},\"version\":1}", "userdoc": { "methods": {} } @@ -833,6 +817,20 @@ "stateMutability": "view", "type": "function" }, + { + "constant": true, + "inputs": [], + "name": "getReferral", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, { "constant": true, "inputs": [], @@ -877,6 +875,7 @@ "getCategory()": "80258e47", "getMiner()": "302c11ca", "getMinerType()": "4969ae70", + "getReferral()": "329b1c92", "isAlgoMiner()": "1777fb4b", "isMining()": "19a74ab3" } @@ -2591,7 +2590,7 @@ "id": 100, "nodeType": "ImportDirective", "scope": 185, - "sourceUnit": 1177, + "sourceUnit": 1182, "src": "28:189:1", "symbolAliases": [], "unitAlias": "" @@ -2616,10 +2615,10 @@ "id": 101, "name": "Roles", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1176, + "referencedDeclaration": 1181, "src": "260:5:1", "typeDescriptions": { - "typeIdentifier": "t_contract$_Roles_$1176", + "typeIdentifier": "t_contract$_Roles_$1181", "typeString": "library Roles" } }, @@ -2630,10 +2629,10 @@ "id": 102, "name": "Roles.Role", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1089, + "referencedDeclaration": 1094, "src": "270:10:1", "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$1089_storage_ptr", + "typeIdentifier": "t_struct$_Role_$1094_storage_ptr", "typeString": "struct Roles.Role" } } @@ -2648,7 +2647,7 @@ "stateVariable": true, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$1089_storage", + "typeIdentifier": "t_struct$_Role_$1094_storage", "typeString": "struct Roles.Role" }, "typeName": { @@ -2656,10 +2655,10 @@ "id": 104, "name": "Roles.Role", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1089, + "referencedDeclaration": 1094, "src": "289:10:1", "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$1089_storage_ptr", + "typeIdentifier": "t_struct$_Role_$1094_storage_ptr", "typeString": "struct Roles.Role" } }, @@ -2684,7 +2683,7 @@ "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1532, + "referencedDeclaration": 1537, "src": "381:3:1", "typeDescriptions": { "typeIdentifier": "t_magic_message", @@ -2792,7 +2791,7 @@ "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1532, + "referencedDeclaration": 1537, "src": "462:3:1", "typeDescriptions": { "typeIdentifier": "t_magic_message", @@ -2858,10 +2857,10 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1535, - 1536 + 1540, + 1541 ], - "referencedDeclaration": 1535, + "referencedDeclaration": 1540, "src": "443:7:1", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", @@ -2946,7 +2945,7 @@ "referencedDeclaration": 105, "src": "584:16:1", "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$1089_storage", + "typeIdentifier": "t_struct$_Role_$1094_storage", "typeString": "struct Roles.Role storage ref" } }, @@ -2957,10 +2956,10 @@ "lValueRequested": false, "memberName": "has", "nodeType": "MemberAccess", - "referencedDeclaration": 1175, + "referencedDeclaration": 1180, "src": "584:20:1", "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_Role_$1089_storage_ptr_$_t_address_$returns$_t_bool_$bound_to$_t_struct$_Role_$1089_storage_ptr_$", + "typeIdentifier": "t_function_internal_view$_t_struct$_Role_$1094_storage_ptr_$_t_address_$returns$_t_bool_$bound_to$_t_struct$_Role_$1094_storage_ptr_$", "typeString": "function (struct Roles.Role storage pointer,address) view returns (bool)" } }, @@ -3220,7 +3219,7 @@ "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1532, + "referencedDeclaration": 1537, "src": "797:3:1", "typeDescriptions": { "typeIdentifier": "t_magic_message", @@ -3347,7 +3346,7 @@ "referencedDeclaration": 105, "src": "883:16:1", "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$1089_storage", + "typeIdentifier": "t_struct$_Role_$1094_storage", "typeString": "struct Roles.Role storage ref" } }, @@ -3358,10 +3357,10 @@ "lValueRequested": false, "memberName": "add", "nodeType": "MemberAccess", - "referencedDeclaration": 1121, + "referencedDeclaration": 1126, "src": "883:20:1", "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Role_$1089_storage_ptr_$_t_address_$returns$__$bound_to$_t_struct$_Role_$1089_storage_ptr_$", + "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Role_$1094_storage_ptr_$_t_address_$returns$__$bound_to$_t_struct$_Role_$1094_storage_ptr_$", "typeString": "function (struct Roles.Role storage pointer,address)" } }, @@ -3479,7 +3478,7 @@ "referencedDeclaration": 105, "src": "990:16:1", "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$1089_storage", + "typeIdentifier": "t_struct$_Role_$1094_storage", "typeString": "struct Roles.Role storage ref" } }, @@ -3490,10 +3489,10 @@ "lValueRequested": false, "memberName": "remove", "nodeType": "MemberAccess", - "referencedDeclaration": 1152, + "referencedDeclaration": 1157, "src": "990:23:1", "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Role_$1089_storage_ptr_$_t_address_$returns$__$bound_to$_t_struct$_Role_$1089_storage_ptr_$", + "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Role_$1094_storage_ptr_$_t_address_$returns$__$bound_to$_t_struct$_Role_$1094_storage_ptr_$", "typeString": "function (struct Roles.Role storage pointer,address)" } }, @@ -3607,7 +3606,7 @@ "id": 187, "nodeType": "ImportDirective", "scope": 787, - "sourceUnit": 1374, + "sourceUnit": 1379, "src": "27:195:2", "symbolAliases": [], "unitAlias": "" @@ -3618,7 +3617,7 @@ "id": 188, "nodeType": "ImportDirective", "scope": 787, - "sourceUnit": 1518, + "sourceUnit": 1523, "src": "224:198:2", "symbolAliases": [], "unitAlias": "" @@ -3629,7 +3628,7 @@ "id": 189, "nodeType": "ImportDirective", "scope": 787, - "sourceUnit": 1046, + "sourceUnit": 1051, "src": "426:26:2", "symbolAliases": [], "unitAlias": "" @@ -3788,10 +3787,10 @@ "id": 205, "name": "IAlgoMiner", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1045, + "referencedDeclaration": 1050, "src": "726:10:2", "typeDescriptions": { - "typeIdentifier": "t_contract$_IAlgoMiner_$1045", + "typeIdentifier": "t_contract$_IAlgoMiner_$1050", "typeString": "contract IAlgoMiner" } }, @@ -3801,13 +3800,13 @@ } ], "contractDependencies": [ + 1087, + 1050, 97, - 184, - 873, - 960, 1017, - 1045, - 1082 + 960, + 184, + 873 ], "contractKind": "contract", "documentation": null, @@ -3815,12 +3814,12 @@ "id": 786, "linearizedBaseContracts": [ 786, - 1045, + 1050, 873, 184, 960, 1017, - 1082, + 1087, 97 ], "name": "AlgoMiner", @@ -3833,10 +3832,10 @@ "id": 207, "name": "SafeERC20", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1517, + "referencedDeclaration": 1522, "src": "750:9:2", "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeERC20_$1517", + "typeIdentifier": "t_contract$_SafeERC20_$1522", "typeString": "library SafeERC20" } }, @@ -3847,10 +3846,10 @@ "id": 208, "name": "IERC20", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1373, + "referencedDeclaration": 1378, "src": "764:6:2", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$1373", + "typeIdentifier": "t_contract$_IERC20_$1378", "typeString": "contract IERC20" } } @@ -3861,7 +3860,7 @@ "name": "DAYS_PER_YEAR", "nodeType": "VariableDeclaration", "scope": 786, - "src": "779:43:2", + "src": "779:44:2", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -3888,7 +3887,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "819:3:2", + "src": "820:3:2", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_365_by_1", @@ -3896,7 +3895,7 @@ }, "value": "365" }, - "visibility": "public" + "visibility": "private" }, { "canonicalName": "AlgoMiner.MinerType", @@ -3906,18 +3905,18 @@ "id": 213, "name": "PoolBased", "nodeType": "EnumValue", - "src": "857:9:2" + "src": "858:9:2" }, { "id": 214, "name": "NonPoolBased", "nodeType": "EnumValue", - "src": "877:12:2" + "src": "878:12:2" } ], "name": "MinerType", "nodeType": "EnumDefinition", - "src": "831:65:2" + "src": "832:65:2" }, { "canonicalName": "AlgoMiner.MinerState", @@ -3927,30 +3926,30 @@ "id": 216, "name": "Deactivated", "nodeType": "EnumValue", - "src": "931:11:2" + "src": "932:11:2" }, { "id": 217, "name": "Activated", "nodeType": "EnumValue", - "src": "953:9:2" + "src": "954:9:2" }, { "id": 218, "name": "Suspended", "nodeType": "EnumValue", - "src": "973:9:2" + "src": "974:9:2" }, { "id": 219, "name": "Stopped", "nodeType": "EnumValue", - "src": "993:7:2" + "src": "994:7:2" } ], "name": "MinerState", "nodeType": "EnumDefinition", - "src": "904:103:2" + "src": "905:103:2" }, { "constant": false, @@ -3958,7 +3957,7 @@ "name": "_minerType", "nodeType": "VariableDeclaration", "scope": 786, - "src": "1015:28:2", + "src": "1016:28:2", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -3971,7 +3970,7 @@ "name": "MinerType", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 215, - "src": "1015:9:2", + "src": "1016:9:2", "typeDescriptions": { "typeIdentifier": "t_enum$_MinerType_$215", "typeString": "enum AlgoMiner.MinerType" @@ -3986,7 +3985,7 @@ "name": "_category", "nodeType": "VariableDeclaration", "scope": 786, - "src": "1050:23:2", + "src": "1051:23:2", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -3997,7 +3996,7 @@ "id": 223, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "1050:5:2", + "src": "1051:5:2", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -4012,7 +4011,7 @@ "name": "_miner", "nodeType": "VariableDeclaration", "scope": 786, - "src": "1080:22:2", + "src": "1081:22:2", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -4023,7 +4022,7 @@ "id": 225, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1080:7:2", + "src": "1081:7:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4038,7 +4037,7 @@ "name": "_referral", "nodeType": "VariableDeclaration", "scope": 786, - "src": "1109:25:2", + "src": "1110:25:2", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -4049,7 +4048,7 @@ "id": 227, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1109:7:2", + "src": "1110:7:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4064,7 +4063,7 @@ "name": "_state", "nodeType": "VariableDeclaration", "scope": 786, - "src": "1143:25:2", + "src": "1144:25:2", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -4077,7 +4076,7 @@ "name": "MinerState", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 220, - "src": "1143:10:2", + "src": "1144:10:2", "typeDescriptions": { "typeIdentifier": "t_enum$_MinerState_$220", "typeString": "enum AlgoMiner.MinerState" @@ -4092,7 +4091,7 @@ "name": "_mining", "nodeType": "VariableDeclaration", "scope": 786, - "src": "1175:20:2", + "src": "1176:20:2", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -4103,7 +4102,7 @@ "id": 231, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "1175:4:2", + "src": "1176:4:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -4118,7 +4117,7 @@ "name": "_currentYear", "nodeType": "VariableDeclaration", "scope": 786, - "src": "1202:26:2", + "src": "1203:26:2", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -4129,7 +4128,7 @@ "id": 233, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "1202:5:2", + "src": "1203:5:2", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -4144,7 +4143,7 @@ "name": "_currentDay", "nodeType": "VariableDeclaration", "scope": 786, - "src": "1235:26:2", + "src": "1236:26:2", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -4155,7 +4154,7 @@ "id": 235, "name": "uint16", "nodeType": "ElementaryTypeName", - "src": "1235:6:2", + "src": "1236:6:2", "typeDescriptions": { "typeIdentifier": "t_uint16", "typeString": "uint16" @@ -4170,7 +4169,7 @@ "name": "_currentYearSupply", "nodeType": "VariableDeclaration", "scope": 786, - "src": "1268:34:2", + "src": "1269:34:2", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -4181,7 +4180,7 @@ "id": 237, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1268:7:2", + "src": "1269:7:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4194,7 +4193,7 @@ "body": { "id": 308, "nodeType": "Block", - "src": "1583:392:2", + "src": "1584:392:2", "statements": [ { "expression": { @@ -4229,7 +4228,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 242, - "src": "1612:8:2", + "src": "1613:8:2", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -4247,7 +4246,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1624:1:2", + "src": "1625:1:2", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -4255,7 +4254,7 @@ }, "value": "0" }, - "src": "1612:13:2", + "src": "1613:13:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -4281,7 +4280,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 242, - "src": "1629:8:2", + "src": "1630:8:2", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -4299,7 +4298,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1641:1:2", + "src": "1642:1:2", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_5_by_1", @@ -4307,13 +4306,13 @@ }, "value": "5" }, - "src": "1629:13:2", + "src": "1630:13:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "1612:30:2", + "src": "1613:30:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -4331,11 +4330,11 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1535, - 1536 + 1540, + 1541 ], - "referencedDeclaration": 1535, - "src": "1604:7:2", + "referencedDeclaration": 1540, + "src": "1605:7:2", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" @@ -4349,7 +4348,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1604:39:2", + "src": "1605:39:2", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -4357,7 +4356,7 @@ }, "id": 269, "nodeType": "ExpressionStatement", - "src": "1604:39:2" + "src": "1605:39:2" }, { "expression": { @@ -4381,7 +4380,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 244, - "src": "1662:19:2", + "src": "1663:19:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4402,7 +4401,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1693:1:2", + "src": "1694:1:2", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -4424,7 +4423,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "1685:7:2", + "src": "1686:7:2", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" @@ -4439,13 +4438,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1685:10:2", + "src": "1686:10:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "1662:33:2", + "src": "1663:33:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -4463,11 +4462,11 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1535, - 1536 + 1540, + 1541 ], - "referencedDeclaration": 1535, - "src": "1654:7:2", + "referencedDeclaration": 1540, + "src": "1655:7:2", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" @@ -4481,7 +4480,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1654:42:2", + "src": "1655:42:2", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -4489,7 +4488,7 @@ }, "id": 277, "nodeType": "ExpressionStatement", - "src": "1654:42:2" + "src": "1655:42:2" }, { "condition": { @@ -4510,7 +4509,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 240, - "src": "1712:9:2", + "src": "1713:9:2", "typeDescriptions": { "typeIdentifier": "t_enum$_MinerType_$215", "typeString": "enum AlgoMiner.MinerType" @@ -4527,7 +4526,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 215, - "src": "1725:9:2", + "src": "1726:9:2", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_MinerType_$215_$", "typeString": "type(enum AlgoMiner.MinerType)" @@ -4541,13 +4540,13 @@ "memberName": "PoolBased", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "1725:19:2", + "src": "1726:19:2", "typeDescriptions": { "typeIdentifier": "t_enum$_MinerType_$215", "typeString": "enum AlgoMiner.MinerType" } }, - "src": "1712:32:2", + "src": "1713:32:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -4556,11 +4555,11 @@ "falseBody": null, "id": 291, "nodeType": "IfStatement", - "src": "1709:109:2", + "src": "1710:109:2", "trueBody": { "id": 290, "nodeType": "Block", - "src": "1746:72:2", + "src": "1747:72:2", "statements": [ { "expression": { @@ -4584,7 +4583,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 246, - "src": "1769:22:2", + "src": "1770:22:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4605,7 +4604,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1803:1:2", + "src": "1804:1:2", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -4627,7 +4626,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "1795:7:2", + "src": "1796:7:2", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" @@ -4642,13 +4641,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1795:10:2", + "src": "1796:10:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "1769:36:2", + "src": "1770:36:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -4666,11 +4665,11 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1535, - 1536 + 1540, + 1541 ], - "referencedDeclaration": 1535, - "src": "1761:7:2", + "referencedDeclaration": 1540, + "src": "1762:7:2", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" @@ -4684,7 +4683,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1761:45:2", + "src": "1762:45:2", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -4692,7 +4691,7 @@ }, "id": 289, "nodeType": "ExpressionStatement", - "src": "1761:45:2" + "src": "1762:45:2" } ] } @@ -4712,7 +4711,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 222, - "src": "1830:10:2", + "src": "1831:10:2", "typeDescriptions": { "typeIdentifier": "t_enum$_MinerType_$215", "typeString": "enum AlgoMiner.MinerType" @@ -4727,13 +4726,13 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 240, - "src": "1843:9:2", + "src": "1844:9:2", "typeDescriptions": { "typeIdentifier": "t_enum$_MinerType_$215", "typeString": "enum AlgoMiner.MinerType" } }, - "src": "1830:22:2", + "src": "1831:22:2", "typeDescriptions": { "typeIdentifier": "t_enum$_MinerType_$215", "typeString": "enum AlgoMiner.MinerType" @@ -4741,7 +4740,7 @@ }, "id": 295, "nodeType": "ExpressionStatement", - "src": "1830:22:2" + "src": "1831:22:2" }, { "expression": { @@ -4758,7 +4757,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 224, - "src": "1863:9:2", + "src": "1864:9:2", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -4773,13 +4772,13 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 242, - "src": "1875:8:2", + "src": "1876:8:2", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, - "src": "1863:20:2", + "src": "1864:20:2", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -4787,7 +4786,7 @@ }, "id": 299, "nodeType": "ExpressionStatement", - "src": "1863:20:2" + "src": "1864:20:2" }, { "expression": { @@ -4804,7 +4803,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 226, - "src": "1894:6:2", + "src": "1895:6:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4819,13 +4818,13 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 244, - "src": "1903:19:2", + "src": "1904:19:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "1894:28:2", + "src": "1895:28:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4833,7 +4832,7 @@ }, "id": 303, "nodeType": "ExpressionStatement", - "src": "1894:28:2" + "src": "1895:28:2" }, { "expression": { @@ -4850,7 +4849,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 228, - "src": "1933:9:2", + "src": "1934:9:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4865,13 +4864,13 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 246, - "src": "1945:22:2", + "src": "1946:22:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "1933:34:2", + "src": "1934:34:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4879,7 +4878,7 @@ }, "id": 307, "nodeType": "ExpressionStatement", - "src": "1933:34:2" + "src": "1934:34:2" } ] }, @@ -4898,7 +4897,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 248, - "src": "1469:12:2", + "src": "1470:12:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4913,14 +4912,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1017, - "src": "1452:16:2", + "src": "1453:16:2", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_ERC20TokenHolder_$1017_$", "typeString": "type(contract ERC20TokenHolder)" } }, "nodeType": "ModifierInvocation", - "src": "1452:30:2" + "src": "1453:30:2" }, { "arguments": [], @@ -4932,14 +4931,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 960, - "src": "1492:14:2", + "src": "1493:14:2", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_AlgoSystemRole_$960_$", "typeString": "type(contract AlgoSystemRole)" } }, "nodeType": "ModifierInvocation", - "src": "1492:16:2" + "src": "1493:16:2" }, { "arguments": [], @@ -4951,14 +4950,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 184, - "src": "1518:16:2", + "src": "1519:16:2", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_AlgoCoreTeamRole_$184_$", "typeString": "type(contract AlgoCoreTeamRole)" } }, "nodeType": "ModifierInvocation", - "src": "1518:18:2" + "src": "1519:18:2" }, { "arguments": [], @@ -4970,14 +4969,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 873, - "src": "1546:18:2", + "src": "1547:18:2", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_AlgoSupervisorRole_$873_$", "typeString": "type(contract AlgoSupervisorRole)" } }, "nodeType": "ModifierInvocation", - "src": "1546:20:2" + "src": "1547:20:2" } ], "name": "", @@ -4992,7 +4991,7 @@ "name": "minerType", "nodeType": "VariableDeclaration", "scope": 309, - "src": "1323:19:2", + "src": "1324:19:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5005,7 +5004,7 @@ "name": "MinerType", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 215, - "src": "1323:9:2", + "src": "1324:9:2", "typeDescriptions": { "typeIdentifier": "t_enum$_MinerType_$215", "typeString": "enum AlgoMiner.MinerType" @@ -5020,7 +5019,7 @@ "name": "category", "nodeType": "VariableDeclaration", "scope": 309, - "src": "1344:14:2", + "src": "1345:14:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5031,7 +5030,7 @@ "id": 241, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "1344:5:2", + "src": "1345:5:2", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -5046,7 +5045,7 @@ "name": "minerAccountAddress", "nodeType": "VariableDeclaration", "scope": 309, - "src": "1360:27:2", + "src": "1361:27:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5057,7 +5056,7 @@ "id": 243, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1360:7:2", + "src": "1361:7:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -5072,7 +5071,7 @@ "name": "referralAccountAddress", "nodeType": "VariableDeclaration", "scope": 309, - "src": "1389:30:2", + "src": "1390:30:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5083,7 +5082,7 @@ "id": 245, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1389:7:2", + "src": "1390:7:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -5098,7 +5097,7 @@ "name": "tokenAddress", "nodeType": "VariableDeclaration", "scope": 309, - "src": "1421:20:2", + "src": "1422:20:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5109,7 +5108,7 @@ "id": 247, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1421:7:2", + "src": "1422:7:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -5119,17 +5118,17 @@ "visibility": "internal" } ], - "src": "1322:120:2" + "src": "1323:120:2" }, "payable": false, "returnParameters": { "id": 259, "nodeType": "ParameterList", "parameters": [], - "src": "1583:0:2" + "src": "1584:0:2" }, "scope": 786, - "src": "1311:664:2", + "src": "1312:664:2", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" @@ -5138,7 +5137,7 @@ "body": { "id": 319, "nodeType": "Block", - "src": "2004:60:2", + "src": "2005:60:2", "statements": [ { "expression": { @@ -5163,8 +5162,8 @@ "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1532, - "src": "2023:3:2", + "referencedDeclaration": 1537, + "src": "2024:3:2", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" @@ -5178,7 +5177,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "2023:10:2", + "src": "2024:10:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -5193,13 +5192,13 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 226, - "src": "2037:6:2", + "src": "2038:6:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "2023:20:2", + "src": "2024:20:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -5217,11 +5216,11 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1535, - 1536 + 1540, + 1541 ], - "referencedDeclaration": 1535, - "src": "2015:7:2", + "referencedDeclaration": 1540, + "src": "2016:7:2", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" @@ -5235,7 +5234,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2015:29:2", + "src": "2016:29:2", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -5243,12 +5242,12 @@ }, "id": 317, "nodeType": "ExpressionStatement", - "src": "2015:29:2" + "src": "2016:29:2" }, { "id": 318, "nodeType": "PlaceholderStatement", - "src": "2055:1:2" + "src": "2056:1:2" } ] }, @@ -5260,16 +5259,16 @@ "id": 310, "nodeType": "ParameterList", "parameters": [], - "src": "2001:2:2" + "src": "2002:2:2" }, - "src": "1983:81:2", + "src": "1984:81:2", "visibility": "internal" }, { "body": { "id": 386, "nodeType": "Block", - "src": "2135:512:2", + "src": "2136:512:2", "statements": [ { "expression": { @@ -5293,7 +5292,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 230, - "src": "2154:6:2", + "src": "2155:6:2", "typeDescriptions": { "typeIdentifier": "t_enum$_MinerState_$220", "typeString": "enum AlgoMiner.MinerState" @@ -5310,7 +5309,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 220, - "src": "2164:10:2", + "src": "2165:10:2", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_MinerState_$220_$", "typeString": "type(enum AlgoMiner.MinerState)" @@ -5324,13 +5323,13 @@ "memberName": "Deactivated", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "2164:22:2", + "src": "2165:22:2", "typeDescriptions": { "typeIdentifier": "t_enum$_MinerState_$220", "typeString": "enum AlgoMiner.MinerState" } }, - "src": "2154:32:2", + "src": "2155:32:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -5348,11 +5347,11 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1535, - 1536 + 1540, + 1541 ], - "referencedDeclaration": 1535, - "src": "2146:7:2", + "referencedDeclaration": 1540, + "src": "2147:7:2", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" @@ -5366,7 +5365,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2146:41:2", + "src": "2147:41:2", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -5374,7 +5373,7 @@ }, "id": 333, "nodeType": "ExpressionStatement", - "src": "2146:41:2" + "src": "2147:41:2" }, { "condition": { @@ -5406,7 +5405,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 222, - "src": "2203:10:2", + "src": "2204:10:2", "typeDescriptions": { "typeIdentifier": "t_enum$_MinerType_$215", "typeString": "enum AlgoMiner.MinerType" @@ -5423,7 +5422,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 215, - "src": "2217:9:2", + "src": "2218:9:2", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_MinerType_$215_$", "typeString": "type(enum AlgoMiner.MinerType)" @@ -5437,13 +5436,13 @@ "memberName": "PoolBased", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "2217:19:2", + "src": "2218:19:2", "typeDescriptions": { "typeIdentifier": "t_enum$_MinerType_$215", "typeString": "enum AlgoMiner.MinerType" } }, - "src": "2203:33:2", + "src": "2204:33:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -5469,7 +5468,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 238, - "src": "2240:18:2", + "src": "2241:18:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5487,7 +5486,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2262:1:2", + "src": "2263:1:2", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -5495,13 +5494,13 @@ }, "value": "0" }, - "src": "2240:23:2", + "src": "2241:23:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "2203:60:2", + "src": "2204:60:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -5510,11 +5509,11 @@ "falseBody": null, "id": 380, "nodeType": "IfStatement", - "src": "2200:398:2", + "src": "2201:398:2", "trueBody": { "id": 379, "nodeType": "Block", - "src": "2265:333:2", + "src": "2266:333:2", "statements": [ { "assignments": [ @@ -5527,7 +5526,7 @@ "name": "capacity", "nodeType": "VariableDeclaration", "scope": 387, - "src": "2282:16:2", + "src": "2283:16:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5538,7 +5537,7 @@ "id": 342, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "2282:7:2", + "src": "2283:7:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5559,7 +5558,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 224, - "src": "2323:9:2", + "src": "2324:9:2", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -5578,7 +5577,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 96, - "src": "2301:21:2", + "src": "2302:21:2", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint8_$returns$_t_uint256_$", "typeString": "function (uint8) pure returns (uint256)" @@ -5592,14 +5591,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2301:32:2", + "src": "2302:32:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "2282:51:2" + "src": "2283:51:2" }, { "assignments": [ @@ -5612,7 +5611,7 @@ "name": "expectedBalance", "nodeType": "VariableDeclaration", "scope": 387, - "src": "2348:23:2", + "src": "2349:23:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5623,7 +5622,7 @@ "id": 348, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "2348:7:2", + "src": "2349:7:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5652,7 +5651,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 343, - "src": "2374:8:2", + "src": "2375:8:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5689,7 +5688,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 343, - "src": "2385:8:2", + "src": "2386:8:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5707,7 +5706,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2396:2:2", + "src": "2397:2:2", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_10_by_1", @@ -5715,7 +5714,7 @@ }, "value": "10" }, - "src": "2385:13:2", + "src": "2386:13:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5733,7 +5732,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2401:3:2", + "src": "2402:3:2", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_100_by_1", @@ -5741,20 +5740,20 @@ }, "value": "100" }, - "src": "2385:19:2", + "src": "2386:19:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "2374:30:2", + "src": "2375:30:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "2348:56:2" + "src": "2349:56:2" }, { "assignments": [ @@ -5767,7 +5766,7 @@ "name": "currentBalance", "nodeType": "VariableDeclaration", "scope": 387, - "src": "2421:22:2", + "src": "2422:22:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5778,7 +5777,7 @@ "id": 358, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "2421:7:2", + "src": "2422:7:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5801,8 +5800,8 @@ "name": "this", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1567, - "src": "2471:4:2", + "referencedDeclaration": 1572, + "src": "2472:4:2", "typeDescriptions": { "typeIdentifier": "t_contract$_AlgoMiner_$786", "typeString": "contract AlgoMiner" @@ -5822,7 +5821,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "2463:7:2", + "src": "2464:7:2", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" @@ -5837,7 +5836,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2463:13:2", + "src": "2464:13:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -5858,9 +5857,9 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 972, - "src": "2446:6:2", + "src": "2447:6:2", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$1373", + "typeIdentifier": "t_contract$_IERC20_$1378", "typeString": "contract IERC20" } }, @@ -5871,8 +5870,8 @@ "lValueRequested": false, "memberName": "balanceOf", "nodeType": "MemberAccess", - "referencedDeclaration": 1318, - "src": "2446:16:2", + "referencedDeclaration": 1323, + "src": "2447:16:2", "typeDescriptions": { "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", "typeString": "function (address) view external returns (uint256)" @@ -5886,14 +5885,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2446:31:2", + "src": "2447:31:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "2421:56:2" + "src": "2422:56:2" }, { "expression": { @@ -5917,7 +5916,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 359, - "src": "2502:14:2", + "src": "2503:14:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5932,13 +5931,13 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 349, - "src": "2520:15:2", + "src": "2521:15:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "2502:33:2", + "src": "2503:33:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -5956,11 +5955,11 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1535, - 1536 + 1540, + 1541 ], - "referencedDeclaration": 1535, - "src": "2494:7:2", + "referencedDeclaration": 1540, + "src": "2495:7:2", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" @@ -5974,7 +5973,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2494:42:2", + "src": "2495:42:2", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -5982,7 +5981,7 @@ }, "id": 372, "nodeType": "ExpressionStatement", - "src": "2494:42:2" + "src": "2495:42:2" }, { "expression": { @@ -5999,7 +5998,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 238, - "src": "2553:18:2", + "src": "2554:18:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6025,7 +6024,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 343, - "src": "2574:8:2", + "src": "2575:8:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6043,7 +6042,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2585:1:2", + "src": "2586:1:2", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_2_by_1", @@ -6051,13 +6050,13 @@ }, "value": "2" }, - "src": "2574:12:2", + "src": "2575:12:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "2553:33:2", + "src": "2554:33:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6065,7 +6064,7 @@ }, "id": 378, "nodeType": "ExpressionStatement", - "src": "2553:33:2" + "src": "2554:33:2" } ] } @@ -6085,7 +6084,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 230, - "src": "2610:6:2", + "src": "2611:6:2", "typeDescriptions": { "typeIdentifier": "t_enum$_MinerState_$220", "typeString": "enum AlgoMiner.MinerState" @@ -6102,7 +6101,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 220, - "src": "2619:10:2", + "src": "2620:10:2", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_MinerState_$220_$", "typeString": "type(enum AlgoMiner.MinerState)" @@ -6116,13 +6115,13 @@ "memberName": "Activated", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "2619:20:2", + "src": "2620:20:2", "typeDescriptions": { "typeIdentifier": "t_enum$_MinerState_$220", "typeString": "enum AlgoMiner.MinerState" } }, - "src": "2610:29:2", + "src": "2611:29:2", "typeDescriptions": { "typeIdentifier": "t_enum$_MinerState_$220", "typeString": "enum AlgoMiner.MinerState" @@ -6130,7 +6129,7 @@ }, "id": 385, "nodeType": "ExpressionStatement", - "src": "2610:29:2" + "src": "2611:29:2" } ] }, @@ -6149,15 +6148,15 @@ "name": "notTerminated", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1073, - "src": "2108:13:2", + "referencedDeclaration": 1078, + "src": "2109:13:2", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "2108:13:2" + "src": "2109:13:2" }, { "arguments": null, @@ -6169,14 +6168,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 125, - "src": "2122:12:2", + "src": "2123:12:2", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "2122:12:2" + "src": "2123:12:2" } ], "name": "activateMiner", @@ -6185,17 +6184,17 @@ "id": 321, "nodeType": "ParameterList", "parameters": [], - "src": "2098:2:2" + "src": "2099:2:2" }, "payable": false, "returnParameters": { "id": 326, "nodeType": "ParameterList", "parameters": [], - "src": "2135:0:2" + "src": "2136:0:2" }, "scope": 786, - "src": "2076:571:2", + "src": "2077:571:2", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" @@ -6204,7 +6203,7 @@ "body": { "id": 410, "nodeType": "Block", - "src": "2716:138:2", + "src": "2717:138:2", "statements": [ { "expression": { @@ -6228,7 +6227,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 230, - "src": "2735:6:2", + "src": "2736:6:2", "typeDescriptions": { "typeIdentifier": "t_enum$_MinerState_$220", "typeString": "enum AlgoMiner.MinerState" @@ -6245,7 +6244,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 220, - "src": "2745:10:2", + "src": "2746:10:2", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_MinerState_$220_$", "typeString": "type(enum AlgoMiner.MinerState)" @@ -6259,13 +6258,13 @@ "memberName": "Deactivated", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "2745:22:2", + "src": "2746:22:2", "typeDescriptions": { "typeIdentifier": "t_enum$_MinerState_$220", "typeString": "enum AlgoMiner.MinerState" } }, - "src": "2735:32:2", + "src": "2736:32:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -6283,11 +6282,11 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1535, - 1536 + 1540, + 1541 ], - "referencedDeclaration": 1535, - "src": "2727:7:2", + "referencedDeclaration": 1540, + "src": "2728:7:2", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" @@ -6301,7 +6300,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2727:41:2", + "src": "2728:41:2", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -6309,7 +6308,7 @@ }, "id": 400, "nodeType": "ExpressionStatement", - "src": "2727:41:2" + "src": "2728:41:2" }, { "expression": { @@ -6326,7 +6325,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 230, - "src": "2789:6:2", + "src": "2790:6:2", "typeDescriptions": { "typeIdentifier": "t_enum$_MinerState_$220", "typeString": "enum AlgoMiner.MinerState" @@ -6343,7 +6342,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 220, - "src": "2798:10:2", + "src": "2799:10:2", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_MinerState_$220_$", "typeString": "type(enum AlgoMiner.MinerState)" @@ -6357,13 +6356,13 @@ "memberName": "Deactivated", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "2798:22:2", + "src": "2799:22:2", "typeDescriptions": { "typeIdentifier": "t_enum$_MinerState_$220", "typeString": "enum AlgoMiner.MinerState" } }, - "src": "2789:31:2", + "src": "2790:31:2", "typeDescriptions": { "typeIdentifier": "t_enum$_MinerState_$220", "typeString": "enum AlgoMiner.MinerState" @@ -6371,7 +6370,7 @@ }, "id": 405, "nodeType": "ExpressionStatement", - "src": "2789:31:2" + "src": "2790:31:2" }, { "expression": { @@ -6388,7 +6387,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 232, - "src": "2831:7:2", + "src": "2832:7:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -6406,7 +6405,7 @@ "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "2841:5:2", + "src": "2842:5:2", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -6414,7 +6413,7 @@ }, "value": "false" }, - "src": "2831:15:2", + "src": "2832:15:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -6422,7 +6421,7 @@ }, "id": 409, "nodeType": "ExpressionStatement", - "src": "2831:15:2" + "src": "2832:15:2" } ] }, @@ -6441,15 +6440,15 @@ "name": "notTerminated", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1073, - "src": "2689:13:2", + "referencedDeclaration": 1078, + "src": "2690:13:2", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "2689:13:2" + "src": "2690:13:2" }, { "arguments": null, @@ -6461,14 +6460,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 125, - "src": "2703:12:2", + "src": "2704:12:2", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "2703:12:2" + "src": "2704:12:2" } ], "name": "deactivateMiner", @@ -6477,17 +6476,17 @@ "id": 388, "nodeType": "ParameterList", "parameters": [], - "src": "2679:2:2" + "src": "2680:2:2" }, "payable": false, "returnParameters": { "id": 393, "nodeType": "ParameterList", "parameters": [], - "src": "2716:0:2" + "src": "2717:0:2" }, "scope": 786, - "src": "2655:199:2", + "src": "2656:199:2", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" @@ -6496,7 +6495,7 @@ "body": { "id": 437, "nodeType": "Block", - "src": "2929:142:2", + "src": "2930:142:2", "statements": [ { "expression": { @@ -6520,7 +6519,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 230, - "src": "2948:6:2", + "src": "2949:6:2", "typeDescriptions": { "typeIdentifier": "t_enum$_MinerState_$220", "typeString": "enum AlgoMiner.MinerState" @@ -6537,7 +6536,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 220, - "src": "2958:10:2", + "src": "2959:10:2", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_MinerState_$220_$", "typeString": "type(enum AlgoMiner.MinerState)" @@ -6551,13 +6550,13 @@ "memberName": "Deactivated", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "2958:22:2", + "src": "2959:22:2", "typeDescriptions": { "typeIdentifier": "t_enum$_MinerState_$220", "typeString": "enum AlgoMiner.MinerState" } }, - "src": "2948:32:2", + "src": "2949:32:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -6575,11 +6574,11 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1535, - 1536 + 1540, + 1541 ], - "referencedDeclaration": 1535, - "src": "2940:7:2", + "referencedDeclaration": 1540, + "src": "2941:7:2", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" @@ -6593,7 +6592,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2940:41:2", + "src": "2941:41:2", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -6601,7 +6600,7 @@ }, "id": 424, "nodeType": "ExpressionStatement", - "src": "2940:41:2" + "src": "2941:41:2" }, { "expression": { @@ -6614,7 +6613,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 413, - "src": "3014:15:2", + "src": "3015:15:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -6632,8 +6631,8 @@ "name": "this", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1567, - "src": "3056:4:2", + "referencedDeclaration": 1572, + "src": "3057:4:2", "typeDescriptions": { "typeIdentifier": "t_contract$_AlgoMiner_$786", "typeString": "contract AlgoMiner" @@ -6653,7 +6652,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "3048:7:2", + "src": "3049:7:2", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" @@ -6668,7 +6667,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3048:13:2", + "src": "3049:13:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -6689,9 +6688,9 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 972, - "src": "3031:6:2", + "src": "3032:6:2", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$1373", + "typeIdentifier": "t_contract$_IERC20_$1378", "typeString": "contract IERC20" } }, @@ -6702,8 +6701,8 @@ "lValueRequested": false, "memberName": "balanceOf", "nodeType": "MemberAccess", - "referencedDeclaration": 1318, - "src": "3031:16:2", + "referencedDeclaration": 1323, + "src": "3032:16:2", "typeDescriptions": { "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", "typeString": "function (address) view external returns (uint256)" @@ -6717,7 +6716,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3031:31:2", + "src": "3032:31:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6742,9 +6741,9 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 972, - "src": "2994:6:2", + "src": "2995:6:2", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$1373", + "typeIdentifier": "t_contract$_IERC20_$1378", "typeString": "contract IERC20" } }, @@ -6755,10 +6754,10 @@ "lValueRequested": false, "memberName": "safeTransfer", "nodeType": "MemberAccess", - "referencedDeclaration": 1398, - "src": "2994:19:2", + "referencedDeclaration": 1403, + "src": "2995:19:2", "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_IERC20_$1373_$_t_address_$_t_uint256_$returns$__$bound_to$_t_contract$_IERC20_$1373_$", + "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_IERC20_$1378_$_t_address_$_t_uint256_$returns$__$bound_to$_t_contract$_IERC20_$1378_$", "typeString": "function (contract IERC20,address,uint256)" } }, @@ -6770,7 +6769,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2994:69:2", + "src": "2995:69:2", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -6778,7 +6777,7 @@ }, "id": 436, "nodeType": "ExpressionStatement", - "src": "2994:69:2" + "src": "2995:69:2" } ] }, @@ -6798,14 +6797,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 125, - "src": "2916:12:2", + "src": "2917:12:2", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "2916:12:2" + "src": "2917:12:2" } ], "name": "migrateMiner", @@ -6820,7 +6819,7 @@ "name": "newMinerAddress", "nodeType": "VariableDeclaration", "scope": 438, - "src": "2884:23:2", + "src": "2885:23:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -6831,7 +6830,7 @@ "id": 412, "name": "address", "nodeType": "ElementaryTypeName", - "src": "2884:7:2", + "src": "2885:7:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -6841,17 +6840,17 @@ "visibility": "internal" } ], - "src": "2883:25:2" + "src": "2884:25:2" }, "payable": false, "returnParameters": { "id": 417, "nodeType": "ParameterList", "parameters": [], - "src": "2929:0:2" + "src": "2930:0:2" }, "scope": 786, - "src": "2862:209:2", + "src": "2863:209:2", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" @@ -6860,7 +6859,7 @@ "body": { "id": 457, "nodeType": "Block", - "src": "3138:108:2", + "src": "3139:108:2", "statements": [ { "expression": { @@ -6884,7 +6883,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 230, - "src": "3157:6:2", + "src": "3158:6:2", "typeDescriptions": { "typeIdentifier": "t_enum$_MinerState_$220", "typeString": "enum AlgoMiner.MinerState" @@ -6901,7 +6900,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 220, - "src": "3167:10:2", + "src": "3168:10:2", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_MinerState_$220_$", "typeString": "type(enum AlgoMiner.MinerState)" @@ -6915,13 +6914,13 @@ "memberName": "Activated", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "3167:20:2", + "src": "3168:20:2", "typeDescriptions": { "typeIdentifier": "t_enum$_MinerState_$220", "typeString": "enum AlgoMiner.MinerState" } }, - "src": "3157:30:2", + "src": "3158:30:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -6939,11 +6938,11 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1535, - 1536 + 1540, + 1541 ], - "referencedDeclaration": 1535, - "src": "3149:7:2", + "referencedDeclaration": 1540, + "src": "3150:7:2", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" @@ -6957,7 +6956,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3149:39:2", + "src": "3150:39:2", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -6965,7 +6964,7 @@ }, "id": 451, "nodeType": "ExpressionStatement", - "src": "3149:39:2" + "src": "3150:39:2" }, { "expression": { @@ -6982,7 +6981,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 230, - "src": "3209:6:2", + "src": "3210:6:2", "typeDescriptions": { "typeIdentifier": "t_enum$_MinerState_$220", "typeString": "enum AlgoMiner.MinerState" @@ -6999,7 +6998,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 220, - "src": "3218:10:2", + "src": "3219:10:2", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_MinerState_$220_$", "typeString": "type(enum AlgoMiner.MinerState)" @@ -7013,13 +7012,13 @@ "memberName": "Suspended", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "3218:20:2", + "src": "3219:20:2", "typeDescriptions": { "typeIdentifier": "t_enum$_MinerState_$220", "typeString": "enum AlgoMiner.MinerState" } }, - "src": "3209:29:2", + "src": "3210:29:2", "typeDescriptions": { "typeIdentifier": "t_enum$_MinerState_$220", "typeString": "enum AlgoMiner.MinerState" @@ -7027,7 +7026,7 @@ }, "id": 456, "nodeType": "ExpressionStatement", - "src": "3209:29:2" + "src": "3210:29:2" } ] }, @@ -7046,15 +7045,15 @@ "name": "notTerminated", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1073, - "src": "3109:13:2", + "referencedDeclaration": 1078, + "src": "3110:13:2", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "3109:13:2" + "src": "3110:13:2" }, { "arguments": null, @@ -7066,14 +7065,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 814, - "src": "3123:14:2", + "src": "3124:14:2", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "3123:14:2" + "src": "3124:14:2" } ], "name": "pauseMining", @@ -7082,17 +7081,17 @@ "id": 439, "nodeType": "ParameterList", "parameters": [], - "src": "3099:2:2" + "src": "3100:2:2" }, "payable": false, "returnParameters": { "id": 444, "nodeType": "ParameterList", "parameters": [], - "src": "3138:0:2" + "src": "3139:0:2" }, "scope": 786, - "src": "3079:167:2", + "src": "3080:167:2", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" @@ -7101,7 +7100,7 @@ "body": { "id": 477, "nodeType": "Block", - "src": "3314:100:2", + "src": "3315:100:2", "statements": [ { "expression": { @@ -7125,7 +7124,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 230, - "src": "3333:6:2", + "src": "3334:6:2", "typeDescriptions": { "typeIdentifier": "t_enum$_MinerState_$220", "typeString": "enum AlgoMiner.MinerState" @@ -7142,7 +7141,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 220, - "src": "3343:10:2", + "src": "3344:10:2", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_MinerState_$220_$", "typeString": "type(enum AlgoMiner.MinerState)" @@ -7156,13 +7155,13 @@ "memberName": "Suspended", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "3343:20:2", + "src": "3344:20:2", "typeDescriptions": { "typeIdentifier": "t_enum$_MinerState_$220", "typeString": "enum AlgoMiner.MinerState" } }, - "src": "3333:30:2", + "src": "3334:30:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -7180,11 +7179,11 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1535, - 1536 + 1540, + 1541 ], - "referencedDeclaration": 1535, - "src": "3325:7:2", + "referencedDeclaration": 1540, + "src": "3326:7:2", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" @@ -7198,7 +7197,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3325:39:2", + "src": "3326:39:2", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -7206,7 +7205,7 @@ }, "id": 471, "nodeType": "ExpressionStatement", - "src": "3325:39:2" + "src": "3326:39:2" }, { "expression": { @@ -7223,7 +7222,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 230, - "src": "3377:6:2", + "src": "3378:6:2", "typeDescriptions": { "typeIdentifier": "t_enum$_MinerState_$220", "typeString": "enum AlgoMiner.MinerState" @@ -7240,7 +7239,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 220, - "src": "3386:10:2", + "src": "3387:10:2", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_MinerState_$220_$", "typeString": "type(enum AlgoMiner.MinerState)" @@ -7254,13 +7253,13 @@ "memberName": "Activated", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "3386:20:2", + "src": "3387:20:2", "typeDescriptions": { "typeIdentifier": "t_enum$_MinerState_$220", "typeString": "enum AlgoMiner.MinerState" } }, - "src": "3377:29:2", + "src": "3378:29:2", "typeDescriptions": { "typeIdentifier": "t_enum$_MinerState_$220", "typeString": "enum AlgoMiner.MinerState" @@ -7268,7 +7267,7 @@ }, "id": 476, "nodeType": "ExpressionStatement", - "src": "3377:29:2" + "src": "3378:29:2" } ] }, @@ -7287,15 +7286,15 @@ "name": "notTerminated", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1073, - "src": "3285:13:2", + "referencedDeclaration": 1078, + "src": "3286:13:2", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "3285:13:2" + "src": "3286:13:2" }, { "arguments": null, @@ -7307,14 +7306,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 814, - "src": "3299:14:2", + "src": "3300:14:2", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "3299:14:2" + "src": "3300:14:2" } ], "name": "resumeMining", @@ -7323,17 +7322,17 @@ "id": 459, "nodeType": "ParameterList", "parameters": [], - "src": "3275:2:2" + "src": "3276:2:2" }, "payable": false, "returnParameters": { "id": 464, "nodeType": "ParameterList", "parameters": [], - "src": "3314:0:2" + "src": "3315:0:2" }, "scope": 786, - "src": "3254:160:2", + "src": "3255:160:2", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" @@ -7342,7 +7341,7 @@ "body": { "id": 513, "nodeType": "Block", - "src": "3492:193:2", + "src": "3493:193:2", "statements": [ { "expression": { @@ -7366,7 +7365,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 230, - "src": "3511:6:2", + "src": "3512:6:2", "typeDescriptions": { "typeIdentifier": "t_enum$_MinerState_$220", "typeString": "enum AlgoMiner.MinerState" @@ -7383,7 +7382,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 220, - "src": "3521:10:2", + "src": "3522:10:2", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_MinerState_$220_$", "typeString": "type(enum AlgoMiner.MinerState)" @@ -7397,13 +7396,13 @@ "memberName": "Stopped", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "3521:18:2", + "src": "3522:18:2", "typeDescriptions": { "typeIdentifier": "t_enum$_MinerState_$220", "typeString": "enum AlgoMiner.MinerState" } }, - "src": "3511:28:2", + "src": "3512:28:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -7421,11 +7420,11 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1535, - 1536 + 1540, + 1541 ], - "referencedDeclaration": 1535, - "src": "3503:7:2", + "referencedDeclaration": 1540, + "src": "3504:7:2", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" @@ -7439,7 +7438,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3503:37:2", + "src": "3504:37:2", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -7447,7 +7446,7 @@ }, "id": 491, "nodeType": "ExpressionStatement", - "src": "3503:37:2" + "src": "3504:37:2" }, { "expression": { @@ -7464,7 +7463,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 230, - "src": "3561:6:2", + "src": "3562:6:2", "typeDescriptions": { "typeIdentifier": "t_enum$_MinerState_$220", "typeString": "enum AlgoMiner.MinerState" @@ -7481,7 +7480,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 220, - "src": "3570:10:2", + "src": "3571:10:2", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_MinerState_$220_$", "typeString": "type(enum AlgoMiner.MinerState)" @@ -7495,13 +7494,13 @@ "memberName": "Stopped", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "3570:18:2", + "src": "3571:18:2", "typeDescriptions": { "typeIdentifier": "t_enum$_MinerState_$220", "typeString": "enum AlgoMiner.MinerState" } }, - "src": "3561:27:2", + "src": "3562:27:2", "typeDescriptions": { "typeIdentifier": "t_enum$_MinerState_$220", "typeString": "enum AlgoMiner.MinerState" @@ -7509,7 +7508,7 @@ }, "id": 496, "nodeType": "ExpressionStatement", - "src": "3561:27:2" + "src": "3562:27:2" }, { "expression": { @@ -7526,7 +7525,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 232, - "src": "3599:7:2", + "src": "3600:7:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -7544,7 +7543,7 @@ "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "3609:5:2", + "src": "3610:5:2", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -7552,7 +7551,7 @@ }, "value": "false" }, - "src": "3599:15:2", + "src": "3600:15:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -7560,7 +7559,7 @@ }, "id": 500, "nodeType": "ExpressionStatement", - "src": "3599:15:2" + "src": "3600:15:2" }, { "expression": { @@ -7577,7 +7576,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 226, - "src": "3625:6:2", + "src": "3626:6:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -7598,7 +7597,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "3642:1:2", + "src": "3643:1:2", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -7620,7 +7619,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "3634:7:2", + "src": "3635:7:2", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" @@ -7635,13 +7634,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3634:10:2", + "src": "3635:10:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "3625:19:2", + "src": "3626:19:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -7649,7 +7648,7 @@ }, "id": 506, "nodeType": "ExpressionStatement", - "src": "3625:19:2" + "src": "3626:19:2" }, { "expression": { @@ -7666,7 +7665,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 228, - "src": "3655:9:2", + "src": "3656:9:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -7687,7 +7686,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "3675:1:2", + "src": "3676:1:2", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -7709,7 +7708,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "3667:7:2", + "src": "3668:7:2", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" @@ -7724,13 +7723,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3667:10:2", + "src": "3668:10:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "3655:22:2", + "src": "3656:22:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -7738,7 +7737,7 @@ }, "id": 512, "nodeType": "ExpressionStatement", - "src": "3655:22:2" + "src": "3656:22:2" } ] }, @@ -7757,15 +7756,15 @@ "name": "notTerminated", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1073, - "src": "3463:13:2", + "referencedDeclaration": 1078, + "src": "3464:13:2", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "3463:13:2" + "src": "3464:13:2" }, { "arguments": null, @@ -7777,14 +7776,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 814, - "src": "3477:14:2", + "src": "3478:14:2", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "3477:14:2" + "src": "3478:14:2" } ], "name": "stopAndRemoveOwnership", @@ -7793,17 +7792,17 @@ "id": 479, "nodeType": "ParameterList", "parameters": [], - "src": "3453:2:2" + "src": "3454:2:2" }, "payable": false, "returnParameters": { "id": 484, "nodeType": "ParameterList", "parameters": [], - "src": "3492:0:2" + "src": "3493:0:2" }, "scope": 786, - "src": "3422:263:2", + "src": "3423:263:2", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" @@ -7812,7 +7811,7 @@ "body": { "id": 545, "nodeType": "Block", - "src": "3802:174:2", + "src": "3803:174:2", "statements": [ { "expression": { @@ -7836,7 +7835,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 230, - "src": "3821:6:2", + "src": "3822:6:2", "typeDescriptions": { "typeIdentifier": "t_enum$_MinerState_$220", "typeString": "enum AlgoMiner.MinerState" @@ -7853,7 +7852,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 220, - "src": "3831:10:2", + "src": "3832:10:2", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_MinerState_$220_$", "typeString": "type(enum AlgoMiner.MinerState)" @@ -7867,13 +7866,13 @@ "memberName": "Stopped", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "3831:18:2", + "src": "3832:18:2", "typeDescriptions": { "typeIdentifier": "t_enum$_MinerState_$220", "typeString": "enum AlgoMiner.MinerState" } }, - "src": "3821:28:2", + "src": "3822:28:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -7891,11 +7890,11 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1535, - 1536 + 1540, + 1541 ], - "referencedDeclaration": 1535, - "src": "3813:7:2", + "referencedDeclaration": 1540, + "src": "3814:7:2", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" @@ -7909,7 +7908,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3813:37:2", + "src": "3814:37:2", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -7917,7 +7916,7 @@ }, "id": 531, "nodeType": "ExpressionStatement", - "src": "3813:37:2" + "src": "3814:37:2" }, { "expression": { @@ -7934,7 +7933,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 230, - "src": "3863:6:2", + "src": "3864:6:2", "typeDescriptions": { "typeIdentifier": "t_enum$_MinerState_$220", "typeString": "enum AlgoMiner.MinerState" @@ -7951,7 +7950,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 220, - "src": "3872:10:2", + "src": "3873:10:2", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_MinerState_$220_$", "typeString": "type(enum AlgoMiner.MinerState)" @@ -7965,13 +7964,13 @@ "memberName": "Activated", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "3872:20:2", + "src": "3873:20:2", "typeDescriptions": { "typeIdentifier": "t_enum$_MinerState_$220", "typeString": "enum AlgoMiner.MinerState" } }, - "src": "3863:29:2", + "src": "3864:29:2", "typeDescriptions": { "typeIdentifier": "t_enum$_MinerState_$220", "typeString": "enum AlgoMiner.MinerState" @@ -7979,7 +7978,7 @@ }, "id": 536, "nodeType": "ExpressionStatement", - "src": "3863:29:2" + "src": "3864:29:2" }, { "expression": { @@ -7996,7 +7995,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 226, - "src": "3903:6:2", + "src": "3904:6:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8011,13 +8010,13 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 516, - "src": "3912:15:2", + "src": "3913:15:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "3903:24:2", + "src": "3904:24:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8025,7 +8024,7 @@ }, "id": 540, "nodeType": "ExpressionStatement", - "src": "3903:24:2" + "src": "3904:24:2" }, { "expression": { @@ -8042,7 +8041,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 228, - "src": "3938:9:2", + "src": "3939:9:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8057,13 +8056,13 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 518, - "src": "3950:18:2", + "src": "3951:18:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "3938:30:2", + "src": "3939:30:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8071,7 +8070,7 @@ }, "id": 544, "nodeType": "ExpressionStatement", - "src": "3938:30:2" + "src": "3939:30:2" } ] }, @@ -8090,15 +8089,15 @@ "name": "notTerminated", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1073, - "src": "3773:13:2", + "referencedDeclaration": 1078, + "src": "3774:13:2", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "3773:13:2" + "src": "3774:13:2" }, { "arguments": null, @@ -8110,14 +8109,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 814, - "src": "3787:14:2", + "src": "3788:14:2", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "3787:14:2" + "src": "3788:14:2" } ], "name": "resetMiner", @@ -8132,7 +8131,7 @@ "name": "newOwnerAddress", "nodeType": "VariableDeclaration", "scope": 546, - "src": "3713:23:2", + "src": "3714:23:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8143,7 +8142,7 @@ "id": 515, "name": "address", "nodeType": "ElementaryTypeName", - "src": "3713:7:2", + "src": "3714:7:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8158,7 +8157,7 @@ "name": "newReferralAddress", "nodeType": "VariableDeclaration", "scope": 546, - "src": "3738:26:2", + "src": "3739:26:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8169,7 +8168,7 @@ "id": 517, "name": "address", "nodeType": "ElementaryTypeName", - "src": "3738:7:2", + "src": "3739:7:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8179,17 +8178,17 @@ "visibility": "internal" } ], - "src": "3712:53:2" + "src": "3713:53:2" }, "payable": false, "returnParameters": { "id": 524, "nodeType": "ParameterList", "parameters": [], - "src": "3802:0:2" + "src": "3803:0:2" }, "scope": 786, - "src": "3693:283:2", + "src": "3694:283:2", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" @@ -8198,7 +8197,7 @@ "body": { "id": 569, "nodeType": "Block", - "src": "4038:121:2", + "src": "4039:121:2", "statements": [ { "expression": { @@ -8222,7 +8221,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 230, - "src": "4057:6:2", + "src": "4058:6:2", "typeDescriptions": { "typeIdentifier": "t_enum$_MinerState_$220", "typeString": "enum AlgoMiner.MinerState" @@ -8239,7 +8238,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 220, - "src": "4067:10:2", + "src": "4068:10:2", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_MinerState_$220_$", "typeString": "type(enum AlgoMiner.MinerState)" @@ -8253,13 +8252,13 @@ "memberName": "Activated", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "4067:20:2", + "src": "4068:20:2", "typeDescriptions": { "typeIdentifier": "t_enum$_MinerState_$220", "typeString": "enum AlgoMiner.MinerState" } }, - "src": "4057:30:2", + "src": "4058:30:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -8277,11 +8276,11 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1535, - 1536 + 1540, + 1541 ], - "referencedDeclaration": 1535, - "src": "4049:7:2", + "referencedDeclaration": 1540, + "src": "4050:7:2", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" @@ -8295,7 +8294,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4049:39:2", + "src": "4050:39:2", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -8303,7 +8302,7 @@ }, "id": 559, "nodeType": "ExpressionStatement", - "src": "4049:39:2" + "src": "4050:39:2" }, { "expression": { @@ -8319,7 +8318,7 @@ "nodeType": "UnaryOperation", "operator": "!", "prefix": true, - "src": "4107:8:2", + "src": "4108:8:2", "subExpression": { "argumentTypes": null, "id": 561, @@ -8327,7 +8326,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 232, - "src": "4108:7:2", + "src": "4109:7:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -8350,11 +8349,11 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1535, - 1536 + 1540, + 1541 ], - "referencedDeclaration": 1535, - "src": "4099:7:2", + "referencedDeclaration": 1540, + "src": "4100:7:2", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" @@ -8368,7 +8367,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4099:17:2", + "src": "4100:17:2", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -8376,7 +8375,7 @@ }, "id": 564, "nodeType": "ExpressionStatement", - "src": "4099:17:2" + "src": "4100:17:2" }, { "expression": { @@ -8393,7 +8392,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 232, - "src": "4137:7:2", + "src": "4138:7:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -8411,7 +8410,7 @@ "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "4147:4:2", + "src": "4148:4:2", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -8419,7 +8418,7 @@ }, "value": "true" }, - "src": "4137:14:2", + "src": "4138:14:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -8427,7 +8426,7 @@ }, "id": 568, "nodeType": "ExpressionStatement", - "src": "4137:14:2" + "src": "4138:14:2" } ] }, @@ -8446,15 +8445,15 @@ "name": "notTerminated", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1073, - "src": "4014:13:2", + "referencedDeclaration": 1078, + "src": "4015:13:2", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "4014:13:2" + "src": "4015:13:2" }, { "arguments": null, @@ -8466,14 +8465,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 320, - "src": "4028:9:2", + "src": "4029:9:2", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "4028:9:2" + "src": "4029:9:2" } ], "name": "startMining", @@ -8482,17 +8481,17 @@ "id": 547, "nodeType": "ParameterList", "parameters": [], - "src": "4004:2:2" + "src": "4005:2:2" }, "payable": false, "returnParameters": { "id": 552, "nodeType": "ParameterList", "parameters": [], - "src": "4038:0:2" + "src": "4039:0:2" }, "scope": 786, - "src": "3984:175:2", + "src": "3985:175:2", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" @@ -8501,7 +8500,7 @@ "body": { "id": 592, "nodeType": "Block", - "src": "4220:121:2", + "src": "4221:121:2", "statements": [ { "expression": { @@ -8525,7 +8524,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 230, - "src": "4239:6:2", + "src": "4240:6:2", "typeDescriptions": { "typeIdentifier": "t_enum$_MinerState_$220", "typeString": "enum AlgoMiner.MinerState" @@ -8542,7 +8541,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 220, - "src": "4249:10:2", + "src": "4250:10:2", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_MinerState_$220_$", "typeString": "type(enum AlgoMiner.MinerState)" @@ -8556,13 +8555,13 @@ "memberName": "Activated", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "4249:20:2", + "src": "4250:20:2", "typeDescriptions": { "typeIdentifier": "t_enum$_MinerState_$220", "typeString": "enum AlgoMiner.MinerState" } }, - "src": "4239:30:2", + "src": "4240:30:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -8580,11 +8579,11 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1535, - 1536 + 1540, + 1541 ], - "referencedDeclaration": 1535, - "src": "4231:7:2", + "referencedDeclaration": 1540, + "src": "4232:7:2", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" @@ -8598,7 +8597,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4231:39:2", + "src": "4232:39:2", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -8606,7 +8605,7 @@ }, "id": 583, "nodeType": "ExpressionStatement", - "src": "4231:39:2" + "src": "4232:39:2" }, { "expression": { @@ -8619,7 +8618,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 232, - "src": "4289:7:2", + "src": "4290:7:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -8637,11 +8636,11 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1535, - 1536 + 1540, + 1541 ], - "referencedDeclaration": 1535, - "src": "4281:7:2", + "referencedDeclaration": 1540, + "src": "4282:7:2", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" @@ -8655,7 +8654,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4281:16:2", + "src": "4282:16:2", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -8663,7 +8662,7 @@ }, "id": 587, "nodeType": "ExpressionStatement", - "src": "4281:16:2" + "src": "4282:16:2" }, { "expression": { @@ -8680,7 +8679,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 232, - "src": "4318:7:2", + "src": "4319:7:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -8698,7 +8697,7 @@ "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "4328:5:2", + "src": "4329:5:2", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -8706,7 +8705,7 @@ }, "value": "false" }, - "src": "4318:15:2", + "src": "4319:15:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -8714,7 +8713,7 @@ }, "id": 591, "nodeType": "ExpressionStatement", - "src": "4318:15:2" + "src": "4319:15:2" } ] }, @@ -8733,15 +8732,15 @@ "name": "notTerminated", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1073, - "src": "4196:13:2", + "referencedDeclaration": 1078, + "src": "4197:13:2", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "4196:13:2" + "src": "4197:13:2" }, { "arguments": null, @@ -8753,14 +8752,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 320, - "src": "4210:9:2", + "src": "4211:9:2", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "4210:9:2" + "src": "4211:9:2" } ], "name": "stopMining", @@ -8769,17 +8768,17 @@ "id": 571, "nodeType": "ParameterList", "parameters": [], - "src": "4186:2:2" + "src": "4187:2:2" }, "payable": false, "returnParameters": { "id": 576, "nodeType": "ParameterList", "parameters": [], - "src": "4220:0:2" + "src": "4221:0:2" }, "scope": 786, - "src": "4167:174:2", + "src": "4168:174:2", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" @@ -8788,7 +8787,7 @@ "body": { "id": 696, "nodeType": "Block", - "src": "4397:800:2", + "src": "4398:800:2", "statements": [ { "expression": { @@ -8812,7 +8811,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 222, - "src": "4416:10:2", + "src": "4417:10:2", "typeDescriptions": { "typeIdentifier": "t_enum$_MinerType_$215", "typeString": "enum AlgoMiner.MinerType" @@ -8829,7 +8828,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 215, - "src": "4430:9:2", + "src": "4431:9:2", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_MinerType_$215_$", "typeString": "type(enum AlgoMiner.MinerType)" @@ -8843,13 +8842,13 @@ "memberName": "PoolBased", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "4430:19:2", + "src": "4431:19:2", "typeDescriptions": { "typeIdentifier": "t_enum$_MinerType_$215", "typeString": "enum AlgoMiner.MinerType" } }, - "src": "4416:33:2", + "src": "4417:33:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -8867,11 +8866,11 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1535, - 1536 + 1540, + 1541 ], - "referencedDeclaration": 1535, - "src": "4408:7:2", + "referencedDeclaration": 1540, + "src": "4409:7:2", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" @@ -8885,7 +8884,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4408:42:2", + "src": "4409:42:2", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -8893,7 +8892,7 @@ }, "id": 606, "nodeType": "ExpressionStatement", - "src": "4408:42:2" + "src": "4409:42:2" }, { "expression": { @@ -8917,7 +8916,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 230, - "src": "4469:6:2", + "src": "4470:6:2", "typeDescriptions": { "typeIdentifier": "t_enum$_MinerState_$220", "typeString": "enum AlgoMiner.MinerState" @@ -8934,7 +8933,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 220, - "src": "4479:10:2", + "src": "4480:10:2", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_MinerState_$220_$", "typeString": "type(enum AlgoMiner.MinerState)" @@ -8948,13 +8947,13 @@ "memberName": "Activated", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "4479:20:2", + "src": "4480:20:2", "typeDescriptions": { "typeIdentifier": "t_enum$_MinerState_$220", "typeString": "enum AlgoMiner.MinerState" } }, - "src": "4469:30:2", + "src": "4470:30:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -8972,11 +8971,11 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1535, - 1536 + 1540, + 1541 ], - "referencedDeclaration": 1535, - "src": "4461:7:2", + "referencedDeclaration": 1540, + "src": "4462:7:2", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" @@ -8990,7 +8989,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4461:39:2", + "src": "4462:39:2", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -8998,7 +8997,7 @@ }, "id": 613, "nodeType": "ExpressionStatement", - "src": "4461:39:2" + "src": "4462:39:2" }, { "expression": { @@ -9011,7 +9010,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 232, - "src": "4519:7:2", + "src": "4520:7:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -9029,11 +9028,11 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1535, - 1536 + 1540, + 1541 ], - "referencedDeclaration": 1535, - "src": "4511:7:2", + "referencedDeclaration": 1540, + "src": "4512:7:2", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" @@ -9047,7 +9046,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4511:16:2", + "src": "4512:16:2", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -9055,7 +9054,7 @@ }, "id": 617, "nodeType": "ExpressionStatement", - "src": "4511:16:2" + "src": "4512:16:2" }, { "condition": { @@ -9076,7 +9075,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 236, - "src": "4543:11:2", + "src": "4544:11:2", "typeDescriptions": { "typeIdentifier": "t_uint16", "typeString": "uint16" @@ -9094,7 +9093,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "4558:1:2", + "src": "4559:1:2", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -9102,7 +9101,7 @@ }, "value": "0" }, - "src": "4543:16:2", + "src": "4544:16:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -9111,7 +9110,7 @@ "falseBody": { "id": 654, "nodeType": "Block", - "src": "4640:238:2", + "src": "4641:238:2", "statements": [ { "expression": { @@ -9124,7 +9123,7 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "4655:13:2", + "src": "4656:13:2", "subExpression": { "argumentTypes": null, "id": 630, @@ -9132,7 +9131,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 236, - "src": "4655:11:2", + "src": "4656:11:2", "typeDescriptions": { "typeIdentifier": "t_uint16", "typeString": "uint16" @@ -9145,7 +9144,7 @@ }, "id": 632, "nodeType": "ExpressionStatement", - "src": "4655:13:2" + "src": "4656:13:2" }, { "condition": { @@ -9166,7 +9165,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 236, - "src": "4686:11:2", + "src": "4687:11:2", "typeDescriptions": { "typeIdentifier": "t_uint16", "typeString": "uint16" @@ -9195,7 +9194,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 212, - "src": "4702:13:2", + "src": "4703:13:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9213,7 +9212,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "4718:1:2", + "src": "4719:1:2", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", @@ -9221,7 +9220,7 @@ }, "value": "1" }, - "src": "4702:17:2", + "src": "4703:17:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9235,13 +9234,13 @@ "isPure": true, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "4701:19:2", + "src": "4702:19:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "4686:34:2", + "src": "4687:34:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -9250,11 +9249,11 @@ "falseBody": null, "id": 653, "nodeType": "IfStatement", - "src": "4683:184:2", + "src": "4684:184:2", "trueBody": { "id": 652, "nodeType": "Block", - "src": "4722:145:2", + "src": "4723:145:2", "statements": [ { "expression": { @@ -9267,7 +9266,7 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "4741:14:2", + "src": "4742:14:2", "subExpression": { "argumentTypes": null, "id": 639, @@ -9275,7 +9274,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 234, - "src": "4741:12:2", + "src": "4742:12:2", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -9288,7 +9287,7 @@ }, "id": 641, "nodeType": "ExpressionStatement", - "src": "4741:14:2" + "src": "4742:14:2" }, { "expression": { @@ -9305,7 +9304,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 236, - "src": "4774:11:2", + "src": "4775:11:2", "typeDescriptions": { "typeIdentifier": "t_uint16", "typeString": "uint16" @@ -9323,7 +9322,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "4788:1:2", + "src": "4789:1:2", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", @@ -9331,7 +9330,7 @@ }, "value": "1" }, - "src": "4774:15:2", + "src": "4775:15:2", "typeDescriptions": { "typeIdentifier": "t_uint16", "typeString": "uint16" @@ -9339,7 +9338,7 @@ }, "id": 645, "nodeType": "ExpressionStatement", - "src": "4774:15:2" + "src": "4775:15:2" }, { "expression": { @@ -9356,7 +9355,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 238, - "src": "4808:18:2", + "src": "4809:18:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9382,7 +9381,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 238, - "src": "4829:18:2", + "src": "4830:18:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9400,7 +9399,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "4850:1:2", + "src": "4851:1:2", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_2_by_1", @@ -9408,13 +9407,13 @@ }, "value": "2" }, - "src": "4829:22:2", + "src": "4830:22:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "4808:43:2", + "src": "4809:43:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9422,7 +9421,7 @@ }, "id": 651, "nodeType": "ExpressionStatement", - "src": "4808:43:2" + "src": "4809:43:2" } ] } @@ -9431,11 +9430,11 @@ }, "id": 655, "nodeType": "IfStatement", - "src": "4540:338:2", + "src": "4541:338:2", "trueBody": { "id": 629, "nodeType": "Block", - "src": "4561:73:2", + "src": "4562:73:2", "statements": [ { "expression": { @@ -9452,7 +9451,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 234, - "src": "4576:12:2", + "src": "4577:12:2", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -9470,7 +9469,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "4591:1:2", + "src": "4592:1:2", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", @@ -9478,7 +9477,7 @@ }, "value": "1" }, - "src": "4576:16:2", + "src": "4577:16:2", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -9486,7 +9485,7 @@ }, "id": 624, "nodeType": "ExpressionStatement", - "src": "4576:16:2" + "src": "4577:16:2" }, { "expression": { @@ -9503,7 +9502,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 236, - "src": "4607:11:2", + "src": "4608:11:2", "typeDescriptions": { "typeIdentifier": "t_uint16", "typeString": "uint16" @@ -9521,7 +9520,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "4621:1:2", + "src": "4622:1:2", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", @@ -9529,7 +9528,7 @@ }, "value": "1" }, - "src": "4607:15:2", + "src": "4608:15:2", "typeDescriptions": { "typeIdentifier": "t_uint16", "typeString": "uint16" @@ -9537,7 +9536,7 @@ }, "id": 628, "nodeType": "ExpressionStatement", - "src": "4607:15:2" + "src": "4608:15:2" } ] } @@ -9553,7 +9552,7 @@ "name": "minerTokens", "nodeType": "VariableDeclaration", "scope": 697, - "src": "4890:19:2", + "src": "4891:19:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9564,7 +9563,7 @@ "id": 656, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "4890:7:2", + "src": "4891:7:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9593,7 +9592,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 238, - "src": "4912:18:2", + "src": "4913:18:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9608,20 +9607,20 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 212, - "src": "4933:13:2", + "src": "4934:13:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "4912:34:2", + "src": "4913:34:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "4890:56:2" + "src": "4891:56:2" }, { "assignments": [ @@ -9634,7 +9633,7 @@ "name": "referralTokens", "nodeType": "VariableDeclaration", "scope": 697, - "src": "4957:22:2", + "src": "4958:22:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9645,7 +9644,7 @@ "id": 662, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "4957:7:2", + "src": "4958:7:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9685,7 +9684,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 657, - "src": "4982:11:2", + "src": "4983:11:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9703,7 +9702,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "4996:2:2", + "src": "4997:2:2", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_10_by_1", @@ -9711,7 +9710,7 @@ }, "value": "10" }, - "src": "4982:16:2", + "src": "4983:16:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9729,7 +9728,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "5001:3:2", + "src": "5002:3:2", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_100_by_1", @@ -9737,14 +9736,14 @@ }, "value": "100" }, - "src": "4982:22:2", + "src": "4983:22:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "4957:47:2" + "src": "4958:47:2" }, { "expression": { @@ -9768,7 +9767,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 657, - "src": "5025:11:2", + "src": "5026:11:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9786,7 +9785,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "5039:1:2", + "src": "5040:1:2", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -9794,7 +9793,7 @@ }, "value": "0" }, - "src": "5025:15:2", + "src": "5026:15:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -9812,11 +9811,11 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1535, - 1536 + 1540, + 1541 ], - "referencedDeclaration": 1535, - "src": "5017:7:2", + "referencedDeclaration": 1540, + "src": "5018:7:2", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" @@ -9830,7 +9829,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5017:24:2", + "src": "5018:24:2", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -9838,7 +9837,7 @@ }, "id": 675, "nodeType": "ExpressionStatement", - "src": "5017:24:2" + "src": "5018:24:2" }, { "expression": { @@ -9862,7 +9861,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 663, - "src": "5060:14:2", + "src": "5061:14:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9880,7 +9879,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "5077:1:2", + "src": "5078:1:2", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -9888,7 +9887,7 @@ }, "value": "0" }, - "src": "5060:18:2", + "src": "5061:18:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -9906,11 +9905,11 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1535, - 1536 + 1540, + 1541 ], - "referencedDeclaration": 1535, - "src": "5052:7:2", + "referencedDeclaration": 1540, + "src": "5053:7:2", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" @@ -9924,7 +9923,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5052:27:2", + "src": "5053:27:2", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -9932,7 +9931,7 @@ }, "id": 681, "nodeType": "ExpressionStatement", - "src": "5052:27:2" + "src": "5053:27:2" }, { "expression": { @@ -9945,7 +9944,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 226, - "src": "5112:6:2", + "src": "5113:6:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -9958,7 +9957,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 657, - "src": "5120:11:2", + "src": "5121:11:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9983,9 +9982,9 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 972, - "src": "5092:6:2", + "src": "5093:6:2", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$1373", + "typeIdentifier": "t_contract$_IERC20_$1378", "typeString": "contract IERC20" } }, @@ -9996,10 +9995,10 @@ "lValueRequested": false, "memberName": "safeTransfer", "nodeType": "MemberAccess", - "referencedDeclaration": 1398, - "src": "5092:19:2", + "referencedDeclaration": 1403, + "src": "5093:19:2", "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_IERC20_$1373_$_t_address_$_t_uint256_$returns$__$bound_to$_t_contract$_IERC20_$1373_$", + "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_IERC20_$1378_$_t_address_$_t_uint256_$returns$__$bound_to$_t_contract$_IERC20_$1378_$", "typeString": "function (contract IERC20,address,uint256)" } }, @@ -10011,7 +10010,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5092:40:2", + "src": "5093:40:2", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -10019,7 +10018,7 @@ }, "id": 688, "nodeType": "ExpressionStatement", - "src": "5092:40:2" + "src": "5093:40:2" }, { "expression": { @@ -10032,7 +10031,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 228, - "src": "5163:9:2", + "src": "5164:9:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -10045,7 +10044,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 663, - "src": "5174:14:2", + "src": "5175:14:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10070,9 +10069,9 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 972, - "src": "5143:6:2", + "src": "5144:6:2", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$1373", + "typeIdentifier": "t_contract$_IERC20_$1378", "typeString": "contract IERC20" } }, @@ -10083,10 +10082,10 @@ "lValueRequested": false, "memberName": "safeTransfer", "nodeType": "MemberAccess", - "referencedDeclaration": 1398, - "src": "5143:19:2", + "referencedDeclaration": 1403, + "src": "5144:19:2", "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_IERC20_$1373_$_t_address_$_t_uint256_$returns$__$bound_to$_t_contract$_IERC20_$1373_$", + "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_IERC20_$1378_$_t_address_$_t_uint256_$returns$__$bound_to$_t_contract$_IERC20_$1378_$", "typeString": "function (contract IERC20,address,uint256)" } }, @@ -10098,7 +10097,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5143:46:2", + "src": "5144:46:2", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -10106,7 +10105,7 @@ }, "id": 695, "nodeType": "ExpressionStatement", - "src": "5143:46:2" + "src": "5144:46:2" } ] }, @@ -10125,15 +10124,15 @@ "name": "notTerminated", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1073, - "src": "4372:13:2", + "referencedDeclaration": 1078, + "src": "4373:13:2", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "4372:13:2" + "src": "4373:13:2" }, { "arguments": null, @@ -10145,14 +10144,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 901, - "src": "4386:10:2", + "src": "4387:10:2", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "4386:10:2" + "src": "4387:10:2" } ], "name": "mine", @@ -10161,17 +10160,17 @@ "id": 594, "nodeType": "ParameterList", "parameters": [], - "src": "4362:2:2" + "src": "4363:2:2" }, "payable": false, "returnParameters": { "id": 599, "nodeType": "ParameterList", "parameters": [], - "src": "4397:0:2" + "src": "4398:0:2" }, "scope": 786, - "src": "4349:848:2", + "src": "4350:848:2", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" @@ -10180,7 +10179,7 @@ "body": { "id": 705, "nodeType": "Block", - "src": "5246:31:2", + "src": "5247:31:2", "statements": [ { "expression": { @@ -10195,7 +10194,7 @@ 1016 ], "referencedDeclaration": 1016, - "src": "5257:10:2", + "src": "5258:10:2", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", "typeString": "function ()" @@ -10209,7 +10208,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5257:12:2", + "src": "5258:12:2", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -10217,7 +10216,7 @@ }, "id": 704, "nodeType": "ExpressionStatement", - "src": "5257:12:2" + "src": "5258:12:2" } ] }, @@ -10237,14 +10236,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 125, - "src": "5233:12:2", + "src": "5234:12:2", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "5233:12:2" + "src": "5234:12:2" } ], "name": "terminate", @@ -10253,17 +10252,17 @@ "id": 698, "nodeType": "ParameterList", "parameters": [], - "src": "5223:2:2" + "src": "5224:2:2" }, "payable": false, "returnParameters": { "id": 701, "nodeType": "ParameterList", "parameters": [], - "src": "5246:0:2" + "src": "5247:0:2" }, "scope": 786, - "src": "5205:72:2", + "src": "5206:72:2", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" @@ -10272,7 +10271,7 @@ "body": { "id": 713, "nodeType": "Block", - "src": "5335:30:2", + "src": "5336:30:2", "statements": [ { "expression": { @@ -10285,7 +10284,7 @@ "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "5353:4:2", + "src": "5354:4:2", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -10296,7 +10295,7 @@ "functionReturnParameters": 710, "id": 712, "nodeType": "Return", - "src": "5346:11:2" + "src": "5347:11:2" } ] }, @@ -10312,7 +10311,7 @@ "id": 707, "nodeType": "ParameterList", "parameters": [], - "src": "5305:2:2" + "src": "5306:2:2" }, "payable": false, "returnParameters": { @@ -10325,7 +10324,7 @@ "name": "", "nodeType": "VariableDeclaration", "scope": 714, - "src": "5329:4:2", + "src": "5330:4:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -10336,7 +10335,7 @@ "id": 708, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "5329:4:2", + "src": "5330:4:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -10346,10 +10345,10 @@ "visibility": "internal" } ], - "src": "5328:6:2" + "src": "5329:6:2" }, "scope": 786, - "src": "5285:80:2", + "src": "5286:80:2", "stateMutability": "pure", "superFunction": 1024, "visibility": "public" @@ -10358,7 +10357,7 @@ "body": { "id": 723, "nodeType": "Block", - "src": "5425:43:2", + "src": "5426:43:2", "statements": [ { "expression": { @@ -10371,7 +10370,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 222, - "src": "5449:10:2", + "src": "5450:10:2", "typeDescriptions": { "typeIdentifier": "t_enum$_MinerType_$215", "typeString": "enum AlgoMiner.MinerType" @@ -10391,7 +10390,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "5443:5:2", + "src": "5444:5:2", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint8_$", "typeString": "type(uint8)" @@ -10406,7 +10405,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5443:17:2", + "src": "5444:17:2", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -10415,7 +10414,7 @@ "functionReturnParameters": 718, "id": 722, "nodeType": "Return", - "src": "5436:24:2" + "src": "5437:24:2" } ] }, @@ -10431,7 +10430,7 @@ "id": 715, "nodeType": "ParameterList", "parameters": [], - "src": "5394:2:2" + "src": "5395:2:2" }, "payable": false, "returnParameters": { @@ -10444,7 +10443,7 @@ "name": "", "nodeType": "VariableDeclaration", "scope": 724, - "src": "5418:5:2", + "src": "5419:5:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -10455,7 +10454,7 @@ "id": 716, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "5418:5:2", + "src": "5419:5:2", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -10465,10 +10464,10 @@ "visibility": "internal" } ], - "src": "5417:7:2" + "src": "5418:7:2" }, "scope": 786, - "src": "5373:95:2", + "src": "5374:95:2", "stateMutability": "view", "superFunction": 1029, "visibility": "public" @@ -10477,7 +10476,7 @@ "body": { "id": 731, "nodeType": "Block", - "src": "5527:35:2", + "src": "5528:35:2", "statements": [ { "expression": { @@ -10487,7 +10486,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 224, - "src": "5545:9:2", + "src": "5546:9:2", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -10496,7 +10495,7 @@ "functionReturnParameters": 728, "id": 730, "nodeType": "Return", - "src": "5538:16:2" + "src": "5539:16:2" } ] }, @@ -10512,7 +10511,7 @@ "id": 725, "nodeType": "ParameterList", "parameters": [], - "src": "5496:2:2" + "src": "5497:2:2" }, "payable": false, "returnParameters": { @@ -10525,7 +10524,7 @@ "name": "", "nodeType": "VariableDeclaration", "scope": 732, - "src": "5520:5:2", + "src": "5521:5:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -10536,7 +10535,7 @@ "id": 726, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "5520:5:2", + "src": "5521:5:2", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -10546,10 +10545,10 @@ "visibility": "internal" } ], - "src": "5519:7:2" + "src": "5520:7:2" }, "scope": 786, - "src": "5476:86:2", + "src": "5477:86:2", "stateMutability": "view", "superFunction": 1034, "visibility": "public" @@ -10558,7 +10557,7 @@ "body": { "id": 739, "nodeType": "Block", - "src": "5620:32:2", + "src": "5621:32:2", "statements": [ { "expression": { @@ -10568,7 +10567,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 226, - "src": "5638:6:2", + "src": "5639:6:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -10577,7 +10576,7 @@ "functionReturnParameters": 736, "id": 738, "nodeType": "Return", - "src": "5631:13:2" + "src": "5632:13:2" } ] }, @@ -10593,7 +10592,7 @@ "id": 733, "nodeType": "ParameterList", "parameters": [], - "src": "5587:2:2" + "src": "5588:2:2" }, "payable": false, "returnParameters": { @@ -10606,7 +10605,7 @@ "name": "", "nodeType": "VariableDeclaration", "scope": 740, - "src": "5611:7:2", + "src": "5612:7:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -10617,7 +10616,7 @@ "id": 734, "name": "address", "nodeType": "ElementaryTypeName", - "src": "5611:7:2", + "src": "5612:7:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -10627,19 +10626,19 @@ "visibility": "internal" } ], - "src": "5610:9:2" + "src": "5611:9:2" }, "scope": 786, - "src": "5570:82:2", + "src": "5571:82:2", "stateMutability": "view", - "superFunction": 1044, + "superFunction": 1039, "visibility": "public" }, { "body": { "id": 747, "nodeType": "Block", - "src": "5713:35:2", + "src": "5714:35:2", "statements": [ { "expression": { @@ -10649,7 +10648,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 228, - "src": "5731:9:2", + "src": "5732:9:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -10658,7 +10657,7 @@ "functionReturnParameters": 744, "id": 746, "nodeType": "Return", - "src": "5724:16:2" + "src": "5725:16:2" } ] }, @@ -10674,7 +10673,7 @@ "id": 741, "nodeType": "ParameterList", "parameters": [], - "src": "5680:2:2" + "src": "5681:2:2" }, "payable": false, "returnParameters": { @@ -10687,7 +10686,7 @@ "name": "", "nodeType": "VariableDeclaration", "scope": 748, - "src": "5704:7:2", + "src": "5705:7:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -10698,7 +10697,7 @@ "id": 742, "name": "address", "nodeType": "ElementaryTypeName", - "src": "5704:7:2", + "src": "5705:7:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -10708,19 +10707,19 @@ "visibility": "internal" } ], - "src": "5703:9:2" + "src": "5704:9:2" }, "scope": 786, - "src": "5660:88:2", + "src": "5661:88:2", "stateMutability": "view", - "superFunction": null, + "superFunction": 1044, "visibility": "public" }, { "body": { "id": 760, "nodeType": "Block", - "src": "5803:67:2", + "src": "5804:67:2", "statements": [ { "expression": { @@ -10752,7 +10751,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 230, - "src": "5821:6:2", + "src": "5822:6:2", "typeDescriptions": { "typeIdentifier": "t_enum$_MinerState_$220", "typeString": "enum AlgoMiner.MinerState" @@ -10769,7 +10768,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 220, - "src": "5831:10:2", + "src": "5832:10:2", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_MinerState_$220_$", "typeString": "type(enum AlgoMiner.MinerState)" @@ -10783,13 +10782,13 @@ "memberName": "Activated", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "5831:20:2", + "src": "5832:20:2", "typeDescriptions": { "typeIdentifier": "t_enum$_MinerState_$220", "typeString": "enum AlgoMiner.MinerState" } }, - "src": "5821:30:2", + "src": "5822:30:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -10804,13 +10803,13 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 232, - "src": "5855:7:2", + "src": "5856:7:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "5821:41:2", + "src": "5822:41:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -10819,7 +10818,7 @@ "functionReturnParameters": 752, "id": 759, "nodeType": "Return", - "src": "5814:48:2" + "src": "5815:48:2" } ] }, @@ -10835,7 +10834,7 @@ "id": 749, "nodeType": "ParameterList", "parameters": [], - "src": "5773:2:2" + "src": "5774:2:2" }, "payable": false, "returnParameters": { @@ -10848,7 +10847,7 @@ "name": "", "nodeType": "VariableDeclaration", "scope": 761, - "src": "5797:4:2", + "src": "5798:4:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -10859,7 +10858,7 @@ "id": 750, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "5797:4:2", + "src": "5798:4:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -10869,19 +10868,19 @@ "visibility": "internal" } ], - "src": "5796:6:2" + "src": "5797:6:2" }, "scope": 786, - "src": "5756:114:2", + "src": "5757:114:2", "stateMutability": "view", - "superFunction": 1039, + "superFunction": 1049, "visibility": "public" }, { "body": { "id": 768, "nodeType": "Block", - "src": "5932:38:2", + "src": "5933:38:2", "statements": [ { "expression": { @@ -10891,7 +10890,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 234, - "src": "5950:12:2", + "src": "5951:12:2", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -10900,7 +10899,7 @@ "functionReturnParameters": 765, "id": 767, "nodeType": "Return", - "src": "5943:19:2" + "src": "5944:19:2" } ] }, @@ -10916,7 +10915,7 @@ "id": 762, "nodeType": "ParameterList", "parameters": [], - "src": "5901:2:2" + "src": "5902:2:2" }, "payable": false, "returnParameters": { @@ -10929,7 +10928,7 @@ "name": "", "nodeType": "VariableDeclaration", "scope": 769, - "src": "5925:5:2", + "src": "5926:5:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -10940,7 +10939,7 @@ "id": 763, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "5925:5:2", + "src": "5926:5:2", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -10950,10 +10949,10 @@ "visibility": "internal" } ], - "src": "5924:7:2" + "src": "5925:7:2" }, "scope": 786, - "src": "5878:92:2", + "src": "5879:92:2", "stateMutability": "view", "superFunction": null, "visibility": "public" @@ -10962,7 +10961,7 @@ "body": { "id": 776, "nodeType": "Block", - "src": "6032:37:2", + "src": "6033:37:2", "statements": [ { "expression": { @@ -10972,7 +10971,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 236, - "src": "6050:11:2", + "src": "6051:11:2", "typeDescriptions": { "typeIdentifier": "t_uint16", "typeString": "uint16" @@ -10981,7 +10980,7 @@ "functionReturnParameters": 773, "id": 775, "nodeType": "Return", - "src": "6043:18:2" + "src": "6044:18:2" } ] }, @@ -10997,7 +10996,7 @@ "id": 770, "nodeType": "ParameterList", "parameters": [], - "src": "6000:2:2" + "src": "6001:2:2" }, "payable": false, "returnParameters": { @@ -11010,7 +11009,7 @@ "name": "", "nodeType": "VariableDeclaration", "scope": 777, - "src": "6024:6:2", + "src": "6025:6:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -11021,7 +11020,7 @@ "id": 771, "name": "uint16", "nodeType": "ElementaryTypeName", - "src": "6024:6:2", + "src": "6025:6:2", "typeDescriptions": { "typeIdentifier": "t_uint16", "typeString": "uint16" @@ -11031,10 +11030,10 @@ "visibility": "internal" } ], - "src": "6023:8:2" + "src": "6024:8:2" }, "scope": 786, - "src": "5978:91:2", + "src": "5979:91:2", "stateMutability": "view", "superFunction": null, "visibility": "public" @@ -11043,7 +11042,7 @@ "body": { "id": 784, "nodeType": "Block", - "src": "6139:44:2", + "src": "6140:44:2", "statements": [ { "expression": { @@ -11053,7 +11052,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 238, - "src": "6157:18:2", + "src": "6158:18:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11062,7 +11061,7 @@ "functionReturnParameters": 781, "id": 783, "nodeType": "Return", - "src": "6150:25:2" + "src": "6151:25:2" } ] }, @@ -11078,7 +11077,7 @@ "id": 778, "nodeType": "ParameterList", "parameters": [], - "src": "6106:2:2" + "src": "6107:2:2" }, "payable": false, "returnParameters": { @@ -11091,7 +11090,7 @@ "name": "", "nodeType": "VariableDeclaration", "scope": 785, - "src": "6130:7:2", + "src": "6131:7:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -11102,7 +11101,7 @@ "id": 779, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "6130:7:2", + "src": "6131:7:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11112,20 +11111,20 @@ "visibility": "internal" } ], - "src": "6129:9:2" + "src": "6130:9:2" }, "scope": 786, - "src": "6077:106:2", + "src": "6078:106:2", "stateMutability": "view", "superFunction": null, "visibility": "public" } ], "scope": 787, - "src": "620:5566:2" + "src": "620:5567:2" } ], - "src": "0:6188:2" + "src": "0:6189:2" }, "id": 2 }, @@ -11157,7 +11156,7 @@ "id": 789, "nodeType": "ImportDirective", "scope": 874, - "sourceUnit": 1177, + "sourceUnit": 1182, "src": "28:189:3", "symbolAliases": [], "unitAlias": "" @@ -11182,10 +11181,10 @@ "id": 790, "name": "Roles", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1176, + "referencedDeclaration": 1181, "src": "262:5:3", "typeDescriptions": { - "typeIdentifier": "t_contract$_Roles_$1176", + "typeIdentifier": "t_contract$_Roles_$1181", "typeString": "library Roles" } }, @@ -11196,10 +11195,10 @@ "id": 791, "name": "Roles.Role", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1089, + "referencedDeclaration": 1094, "src": "272:10:3", "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$1089_storage_ptr", + "typeIdentifier": "t_struct$_Role_$1094_storage_ptr", "typeString": "struct Roles.Role" } } @@ -11214,7 +11213,7 @@ "stateVariable": true, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$1089_storage", + "typeIdentifier": "t_struct$_Role_$1094_storage", "typeString": "struct Roles.Role" }, "typeName": { @@ -11222,10 +11221,10 @@ "id": 793, "name": "Roles.Role", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1089, + "referencedDeclaration": 1094, "src": "291:10:3", "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$1089_storage_ptr", + "typeIdentifier": "t_struct$_Role_$1094_storage_ptr", "typeString": "struct Roles.Role" } }, @@ -11250,7 +11249,7 @@ "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1532, + "referencedDeclaration": 1537, "src": "381:3:3", "typeDescriptions": { "typeIdentifier": "t_magic_message", @@ -11358,7 +11357,7 @@ "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1532, + "referencedDeclaration": 1537, "src": "466:3:3", "typeDescriptions": { "typeIdentifier": "t_magic_message", @@ -11424,10 +11423,10 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1535, - 1536 + 1540, + 1541 ], - "referencedDeclaration": 1535, + "referencedDeclaration": 1540, "src": "445:7:3", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", @@ -11512,7 +11511,7 @@ "referencedDeclaration": 794, "src": "590:12:3", "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$1089_storage", + "typeIdentifier": "t_struct$_Role_$1094_storage", "typeString": "struct Roles.Role storage ref" } }, @@ -11523,10 +11522,10 @@ "lValueRequested": false, "memberName": "has", "nodeType": "MemberAccess", - "referencedDeclaration": 1175, + "referencedDeclaration": 1180, "src": "590:16:3", "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_Role_$1089_storage_ptr_$_t_address_$returns$_t_bool_$bound_to$_t_struct$_Role_$1089_storage_ptr_$", + "typeIdentifier": "t_function_internal_view$_t_struct$_Role_$1094_storage_ptr_$_t_address_$returns$_t_bool_$bound_to$_t_struct$_Role_$1094_storage_ptr_$", "typeString": "function (struct Roles.Role storage pointer,address) view returns (bool)" } }, @@ -11786,7 +11785,7 @@ "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1532, + "referencedDeclaration": 1537, "src": "809:3:3", "typeDescriptions": { "typeIdentifier": "t_magic_message", @@ -11913,7 +11912,7 @@ "referencedDeclaration": 794, "src": "897:12:3", "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$1089_storage", + "typeIdentifier": "t_struct$_Role_$1094_storage", "typeString": "struct Roles.Role storage ref" } }, @@ -11924,10 +11923,10 @@ "lValueRequested": false, "memberName": "add", "nodeType": "MemberAccess", - "referencedDeclaration": 1121, + "referencedDeclaration": 1126, "src": "897:16:3", "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Role_$1089_storage_ptr_$_t_address_$returns$__$bound_to$_t_struct$_Role_$1089_storage_ptr_$", + "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Role_$1094_storage_ptr_$_t_address_$returns$__$bound_to$_t_struct$_Role_$1094_storage_ptr_$", "typeString": "function (struct Roles.Role storage pointer,address)" } }, @@ -12045,7 +12044,7 @@ "referencedDeclaration": 794, "src": "1002:12:3", "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$1089_storage", + "typeIdentifier": "t_struct$_Role_$1094_storage", "typeString": "struct Roles.Role storage ref" } }, @@ -12056,10 +12055,10 @@ "lValueRequested": false, "memberName": "remove", "nodeType": "MemberAccess", - "referencedDeclaration": 1152, + "referencedDeclaration": 1157, "src": "1002:19:3", "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Role_$1089_storage_ptr_$_t_address_$returns$__$bound_to$_t_struct$_Role_$1089_storage_ptr_$", + "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Role_$1094_storage_ptr_$_t_address_$returns$__$bound_to$_t_struct$_Role_$1094_storage_ptr_$", "typeString": "function (struct Roles.Role storage pointer,address)" } }, @@ -12174,7 +12173,7 @@ "id": 876, "nodeType": "ImportDirective", "scope": 961, - "sourceUnit": 1177, + "sourceUnit": 1182, "src": "28:189:4", "symbolAliases": [], "unitAlias": "" @@ -12199,10 +12198,10 @@ "id": 877, "name": "Roles", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1176, + "referencedDeclaration": 1181, "src": "258:5:4", "typeDescriptions": { - "typeIdentifier": "t_contract$_Roles_$1176", + "typeIdentifier": "t_contract$_Roles_$1181", "typeString": "library Roles" } }, @@ -12213,10 +12212,10 @@ "id": 878, "name": "Roles.Role", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1089, + "referencedDeclaration": 1094, "src": "268:10:4", "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$1089_storage_ptr", + "typeIdentifier": "t_struct$_Role_$1094_storage_ptr", "typeString": "struct Roles.Role" } } @@ -12231,7 +12230,7 @@ "stateVariable": true, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$1089_storage", + "typeIdentifier": "t_struct$_Role_$1094_storage", "typeString": "struct Roles.Role" }, "typeName": { @@ -12239,10 +12238,10 @@ "id": 880, "name": "Roles.Role", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1089, + "referencedDeclaration": 1094, "src": "287:10:4", "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$1089_storage_ptr", + "typeIdentifier": "t_struct$_Role_$1094_storage_ptr", "typeString": "struct Roles.Role" } }, @@ -12267,7 +12266,7 @@ "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1532, + "referencedDeclaration": 1537, "src": "375:3:4", "typeDescriptions": { "typeIdentifier": "t_magic_message", @@ -12375,7 +12374,7 @@ "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1532, + "referencedDeclaration": 1537, "src": "452:3:4", "typeDescriptions": { "typeIdentifier": "t_magic_message", @@ -12441,10 +12440,10 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1535, - 1536 + 1540, + 1541 ], - "referencedDeclaration": 1535, + "referencedDeclaration": 1540, "src": "435:7:4", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", @@ -12529,7 +12528,7 @@ "referencedDeclaration": 881, "src": "572:14:4", "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$1089_storage", + "typeIdentifier": "t_struct$_Role_$1094_storage", "typeString": "struct Roles.Role storage ref" } }, @@ -12540,10 +12539,10 @@ "lValueRequested": false, "memberName": "has", "nodeType": "MemberAccess", - "referencedDeclaration": 1175, + "referencedDeclaration": 1180, "src": "572:18:4", "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_Role_$1089_storage_ptr_$_t_address_$returns$_t_bool_$bound_to$_t_struct$_Role_$1089_storage_ptr_$", + "typeIdentifier": "t_function_internal_view$_t_struct$_Role_$1094_storage_ptr_$_t_address_$returns$_t_bool_$bound_to$_t_struct$_Role_$1094_storage_ptr_$", "typeString": "function (struct Roles.Role storage pointer,address) view returns (bool)" } }, @@ -12803,7 +12802,7 @@ "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1532, + "referencedDeclaration": 1537, "src": "773:3:4", "typeDescriptions": { "typeIdentifier": "t_magic_message", @@ -12930,7 +12929,7 @@ "referencedDeclaration": 881, "src": "857:14:4", "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$1089_storage", + "typeIdentifier": "t_struct$_Role_$1094_storage", "typeString": "struct Roles.Role storage ref" } }, @@ -12941,10 +12940,10 @@ "lValueRequested": false, "memberName": "add", "nodeType": "MemberAccess", - "referencedDeclaration": 1121, + "referencedDeclaration": 1126, "src": "857:18:4", "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Role_$1089_storage_ptr_$_t_address_$returns$__$bound_to$_t_struct$_Role_$1089_storage_ptr_$", + "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Role_$1094_storage_ptr_$_t_address_$returns$__$bound_to$_t_struct$_Role_$1094_storage_ptr_$", "typeString": "function (struct Roles.Role storage pointer,address)" } }, @@ -13062,7 +13061,7 @@ "referencedDeclaration": 881, "src": "960:14:4", "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$1089_storage", + "typeIdentifier": "t_struct$_Role_$1094_storage", "typeString": "struct Roles.Role storage ref" } }, @@ -13073,10 +13072,10 @@ "lValueRequested": false, "memberName": "remove", "nodeType": "MemberAccess", - "referencedDeclaration": 1152, + "referencedDeclaration": 1157, "src": "960:21:4", "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Role_$1089_storage_ptr_$_t_address_$returns$__$bound_to$_t_struct$_Role_$1089_storage_ptr_$", + "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Role_$1094_storage_ptr_$_t_address_$returns$__$bound_to$_t_struct$_Role_$1094_storage_ptr_$", "typeString": "function (struct Roles.Role storage pointer,address)" } }, @@ -13190,7 +13189,7 @@ "id": 963, "nodeType": "ImportDirective", "scope": 1018, - "sourceUnit": 1374, + "sourceUnit": 1379, "src": "27:195:5", "symbolAliases": [], "unitAlias": "" @@ -13201,7 +13200,7 @@ "id": 964, "nodeType": "ImportDirective", "scope": 1018, - "sourceUnit": 1518, + "sourceUnit": 1523, "src": "224:198:5", "symbolAliases": [], "unitAlias": "" @@ -13212,7 +13211,7 @@ "id": 965, "nodeType": "ImportDirective", "scope": 1018, - "sourceUnit": 1083, + "sourceUnit": 1088, "src": "426:26:5", "symbolAliases": [], "unitAlias": "" @@ -13226,10 +13225,10 @@ "id": 966, "name": "Terminable", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1082, + "referencedDeclaration": 1087, "src": "485:10:5", "typeDescriptions": { - "typeIdentifier": "t_contract$_Terminable_$1082", + "typeIdentifier": "t_contract$_Terminable_$1087", "typeString": "contract Terminable" } }, @@ -13239,7 +13238,7 @@ } ], "contractDependencies": [ - 1082 + 1087 ], "contractKind": "contract", "documentation": null, @@ -13247,7 +13246,7 @@ "id": 1017, "linearizedBaseContracts": [ 1017, - 1082 + 1087 ], "name": "ERC20TokenHolder", "nodeType": "ContractDefinition", @@ -13259,10 +13258,10 @@ "id": 968, "name": "SafeERC20", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1517, + "referencedDeclaration": 1522, "src": "509:9:5", "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeERC20_$1517", + "typeIdentifier": "t_contract$_SafeERC20_$1522", "typeString": "library SafeERC20" } }, @@ -13273,10 +13272,10 @@ "id": 969, "name": "IERC20", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1373, + "referencedDeclaration": 1378, "src": "523:6:5", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$1373", + "typeIdentifier": "t_contract$_IERC20_$1378", "typeString": "contract IERC20" } } @@ -13291,7 +13290,7 @@ "stateVariable": true, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$1373", + "typeIdentifier": "t_contract$_IERC20_$1378", "typeString": "contract IERC20" }, "typeName": { @@ -13299,10 +13298,10 @@ "id": 971, "name": "IERC20", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1373, + "referencedDeclaration": 1378, "src": "538:6:5", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$1373", + "typeIdentifier": "t_contract$_IERC20_$1378", "typeString": "contract IERC20" } }, @@ -13332,7 +13331,7 @@ "referencedDeclaration": 972, "src": "636:6:5", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$1373", + "typeIdentifier": "t_contract$_IERC20_$1378", "typeString": "contract IERC20" } }, @@ -13366,10 +13365,10 @@ "name": "IERC20", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1373, + "referencedDeclaration": 1378, "src": "645:6:5", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$1373_$", + "typeIdentifier": "t_type$_t_contract$_IERC20_$1378_$", "typeString": "type(contract IERC20)" } }, @@ -13383,13 +13382,13 @@ "nodeType": "FunctionCall", "src": "645:20:5", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$1373", + "typeIdentifier": "t_contract$_IERC20_$1378", "typeString": "contract IERC20" } }, "src": "636:29:5", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$1373", + "typeIdentifier": "t_contract$_IERC20_$1378", "typeString": "contract IERC20" } }, @@ -13414,10 +13413,10 @@ "name": "Terminable", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1082, + "referencedDeclaration": 1087, "src": "603:10:5", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Terminable_$1082_$", + "typeIdentifier": "t_type$_t_contract$_Terminable_$1087_$", "typeString": "type(contract Terminable)" } }, @@ -13524,7 +13523,7 @@ "name": "this", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1561, + "referencedDeclaration": 1566, "src": "773:4:5", "typeDescriptions": { "typeIdentifier": "t_contract$_ERC20TokenHolder_$1017", @@ -13583,7 +13582,7 @@ "referencedDeclaration": 972, "src": "748:6:5", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$1373", + "typeIdentifier": "t_contract$_IERC20_$1378", "typeString": "contract IERC20" } }, @@ -13594,7 +13593,7 @@ "lValueRequested": false, "memberName": "balanceOf", "nodeType": "MemberAccess", - "referencedDeclaration": 1318, + "referencedDeclaration": 1323, "src": "748:16:5", "typeDescriptions": { "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", @@ -13688,7 +13687,7 @@ "name": "_creator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1049, + "referencedDeclaration": 1054, "src": "848:8:5", "typeDescriptions": { "typeIdentifier": "t_address", @@ -13729,7 +13728,7 @@ "referencedDeclaration": 972, "src": "828:6:5", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$1373", + "typeIdentifier": "t_contract$_IERC20_$1378", "typeString": "contract IERC20" } }, @@ -13740,10 +13739,10 @@ "lValueRequested": false, "memberName": "safeTransfer", "nodeType": "MemberAccess", - "referencedDeclaration": 1398, + "referencedDeclaration": 1403, "src": "828:19:5", "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_IERC20_$1373_$_t_address_$_t_uint256_$returns$__$bound_to$_t_contract$_IERC20_$1373_$", + "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_IERC20_$1378_$_t_address_$_t_uint256_$returns$__$bound_to$_t_contract$_IERC20_$1378_$", "typeString": "function (contract IERC20,address,uint256)" } }, @@ -13780,10 +13779,10 @@ "name": "Terminable", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1082, + "referencedDeclaration": 1087, "src": "895:10:5", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Terminable_$1082_$", + "typeIdentifier": "t_type$_t_contract$_Terminable_$1087_$", "typeString": "type(contract Terminable)" } }, @@ -13794,7 +13793,7 @@ "lValueRequested": false, "memberName": "_terminate", "nodeType": "MemberAccess", - "referencedDeclaration": 1081, + "referencedDeclaration": 1086, "src": "895:21:5", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", @@ -13845,7 +13844,7 @@ "scope": 1017, "src": "681:245:5", "stateMutability": "nonpayable", - "superFunction": 1081, + "superFunction": 1086, "visibility": "internal" } ], @@ -13862,10 +13861,10 @@ "absolutePath": "d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/IAlgoMiner.sol", "exportedSymbols": { "IAlgoMiner": [ - 1045 + 1050 ] }, - "id": 1046, + "id": 1051, "nodeType": "SourceUnit", "nodes": [ { @@ -13884,9 +13883,9 @@ "contractKind": "contract", "documentation": null, "fullyImplemented": false, - "id": 1045, + "id": 1050, "linearizedBaseContracts": [ - 1045 + 1050 ], "name": "IAlgoMiner", "nodeType": "ContractDefinition", @@ -13941,7 +13940,7 @@ ], "src": "97:6:6" }, - "scope": 1045, + "scope": 1050, "src": "54:50:6", "stateMutability": "pure", "superFunction": null, @@ -13997,7 +13996,7 @@ ], "src": "154:7:6" }, - "scope": 1045, + "scope": 1050, "src": "110:52:6", "stateMutability": "view", "superFunction": null, @@ -14053,7 +14052,7 @@ ], "src": "211:7:6" }, - "scope": 1045, + "scope": 1050, "src": "168:51:6", "stateMutability": "view", "superFunction": null, @@ -14067,7 +14066,7 @@ "isConstructor": false, "isDeclaredConst": true, "modifiers": [], - "name": "isMining", + "name": "getMiner", "nodeType": "FunctionDefinition", "parameters": { "id": 1035, @@ -14086,31 +14085,31 @@ "name": "", "nodeType": "VariableDeclaration", "scope": 1039, - "src": "266:4:6", + "src": "266:7:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" + "typeIdentifier": "t_address", + "typeString": "address" }, "typeName": { "id": 1036, - "name": "bool", + "name": "address", "nodeType": "ElementaryTypeName", - "src": "266:4:6", + "src": "266:7:6", "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" + "typeIdentifier": "t_address", + "typeString": "address" } }, "value": null, "visibility": "internal" } ], - "src": "265:6:6" + "src": "265:9:6" }, - "scope": 1045, - "src": "225:47:6", + "scope": 1050, + "src": "225:50:6", "stateMutability": "view", "superFunction": null, "visibility": "public" @@ -14123,13 +14122,13 @@ "isConstructor": false, "isDeclaredConst": true, "modifiers": [], - "name": "getMiner", + "name": "getReferral", "nodeType": "FunctionDefinition", "parameters": { "id": 1040, "nodeType": "ParameterList", "parameters": [], - "src": "295:2:6" + "src": "301:2:6" }, "payable": false, "returnParameters": { @@ -14142,7 +14141,7 @@ "name": "", "nodeType": "VariableDeclaration", "scope": 1044, - "src": "319:7:6", + "src": "325:7:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14153,7 +14152,7 @@ "id": 1041, "name": "address", "nodeType": "ElementaryTypeName", - "src": "319:7:6", + "src": "325:7:6", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -14163,20 +14162,76 @@ "visibility": "internal" } ], - "src": "318:9:6" + "src": "324:9:6" }, - "scope": 1045, - "src": "278:50:6", + "scope": 1050, + "src": "281:53:6", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": null, + "documentation": null, + "id": 1049, + "implemented": false, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "isMining", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1045, + "nodeType": "ParameterList", + "parameters": [], + "src": "357:2:6" + }, + "payable": false, + "returnParameters": { + "id": 1048, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1047, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1049, + "src": "381:4:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1046, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "381:4:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "380:6:6" + }, + "scope": 1050, + "src": "340:47:6", "stateMutability": "view", "superFunction": null, "visibility": "public" } ], - "scope": 1046, - "src": "27:304:6" + "scope": 1051, + "src": "27:363:6" } ], - "src": "0:331:6" + "src": "0:390:6" }, "id": 6 }, @@ -14185,14 +14240,14 @@ "absolutePath": "d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/Terminable.sol", "exportedSymbols": { "Terminable": [ - 1082 + 1087 ] }, - "id": 1083, + "id": 1088, "nodeType": "SourceUnit", "nodes": [ { - "id": 1047, + "id": 1052, "literals": [ "solidity", "0.4", @@ -14207,19 +14262,19 @@ "contractKind": "contract", "documentation": null, "fullyImplemented": true, - "id": 1082, + "id": 1087, "linearizedBaseContracts": [ - 1082 + 1087 ], "name": "Terminable", "nodeType": "ContractDefinition", "nodes": [ { "constant": false, - "id": 1049, + "id": 1054, "name": "_creator", "nodeType": "VariableDeclaration", - "scope": 1082, + "scope": 1087, "src": "56:25:7", "stateVariable": true, "storageLocation": "default", @@ -14228,7 +14283,7 @@ "typeString": "address" }, "typeName": { - "id": 1048, + "id": 1053, "name": "address", "nodeType": "ElementaryTypeName", "src": "56:7:7", @@ -14242,10 +14297,10 @@ }, { "constant": false, - "id": 1051, + "id": 1056, "name": "_terminated", "nodeType": "VariableDeclaration", - "scope": 1082, + "scope": 1087, "src": "88:25:7", "stateVariable": true, "storageLocation": "default", @@ -14254,7 +14309,7 @@ "typeString": "bool" }, "typeName": { - "id": 1050, + "id": 1055, "name": "bool", "nodeType": "ElementaryTypeName", "src": "88:4:7", @@ -14268,25 +14323,25 @@ }, { "body": { - "id": 1063, + "id": 1068, "nodeType": "Block", "src": "145:70:7", "statements": [ { "expression": { "argumentTypes": null, - "id": 1057, + "id": 1062, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 1054, + "id": 1059, "name": "_creator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1049, + "referencedDeclaration": 1054, "src": "156:8:7", "typeDescriptions": { "typeIdentifier": "t_address", @@ -14299,18 +14354,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 1055, + "id": 1060, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1532, + "referencedDeclaration": 1537, "src": "167:3:7", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 1056, + "id": 1061, "isConstant": false, "isLValue": false, "isPure": false, @@ -14330,25 +14385,25 @@ "typeString": "address" } }, - "id": 1058, + "id": 1063, "nodeType": "ExpressionStatement", "src": "156:21:7" }, { "expression": { "argumentTypes": null, - "id": 1061, + "id": 1066, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 1059, + "id": 1064, "name": "_terminated", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1051, + "referencedDeclaration": 1056, "src": "188:11:7", "typeDescriptions": { "typeIdentifier": "t_bool", @@ -14360,7 +14415,7 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "66616c7365", - "id": 1060, + "id": 1065, "isConstant": false, "isLValue": false, "isPure": true, @@ -14381,14 +14436,14 @@ "typeString": "bool" } }, - "id": 1062, + "id": 1067, "nodeType": "ExpressionStatement", "src": "188:19:7" } ] }, "documentation": null, - "id": 1064, + "id": 1069, "implemented": true, "isConstructor": true, "isDeclaredConst": false, @@ -14396,19 +14451,19 @@ "name": "", "nodeType": "FunctionDefinition", "parameters": { - "id": 1052, + "id": 1057, "nodeType": "ParameterList", "parameters": [], "src": "133:2:7" }, "payable": false, "returnParameters": { - "id": 1053, + "id": 1058, "nodeType": "ParameterList", "parameters": [], "src": "145:0:7" }, - "scope": 1082, + "scope": 1087, "src": "122:93:7", "stateMutability": "nonpayable", "superFunction": null, @@ -14416,7 +14471,7 @@ }, { "body": { - "id": 1072, + "id": 1077, "nodeType": "Block", "src": "248:52:7", "statements": [ @@ -14426,7 +14481,7 @@ "arguments": [ { "argumentTypes": null, - "id": 1068, + "id": 1073, "isConstant": false, "isLValue": false, "isPure": false, @@ -14437,11 +14492,11 @@ "src": "267:12:7", "subExpression": { "argumentTypes": null, - "id": 1067, + "id": 1072, "name": "_terminated", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1051, + "referencedDeclaration": 1056, "src": "268:11:7", "typeDescriptions": { "typeIdentifier": "t_bool", @@ -14461,21 +14516,21 @@ "typeString": "bool" } ], - "id": 1066, + "id": 1071, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1535, - 1536 + 1540, + 1541 ], - "referencedDeclaration": 1535, + "referencedDeclaration": 1540, "src": "259:7:7", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 1069, + "id": 1074, "isConstant": false, "isLValue": false, "isPure": false, @@ -14489,23 +14544,23 @@ "typeString": "tuple()" } }, - "id": 1070, + "id": 1075, "nodeType": "ExpressionStatement", "src": "259:21:7" }, { - "id": 1071, + "id": 1076, "nodeType": "PlaceholderStatement", "src": "291:1:7" } ] }, "documentation": null, - "id": 1073, + "id": 1078, "name": "notTerminated", "nodeType": "ModifierDefinition", "parameters": { - "id": 1065, + "id": 1070, "nodeType": "ParameterList", "parameters": [], "src": "245:2:7" @@ -14515,25 +14570,25 @@ }, { "body": { - "id": 1080, + "id": 1085, "nodeType": "Block", "src": "339:37:7", "statements": [ { "expression": { "argumentTypes": null, - "id": 1078, + "id": 1083, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 1076, + "id": 1081, "name": "_terminated", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1051, + "referencedDeclaration": 1056, "src": "350:11:7", "typeDescriptions": { "typeIdentifier": "t_bool", @@ -14545,7 +14600,7 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "74727565", - "id": 1077, + "id": 1082, "isConstant": false, "isLValue": false, "isPure": true, @@ -14566,14 +14621,14 @@ "typeString": "bool" } }, - "id": 1079, + "id": 1084, "nodeType": "ExpressionStatement", "src": "350:18:7" } ] }, "documentation": null, - "id": 1081, + "id": 1086, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -14581,26 +14636,26 @@ "name": "_terminate", "nodeType": "FunctionDefinition", "parameters": { - "id": 1074, + "id": 1079, "nodeType": "ParameterList", "parameters": [], "src": "327:2:7" }, "payable": false, "returnParameters": { - "id": 1075, + "id": 1080, "nodeType": "ParameterList", "parameters": [], "src": "339:0:7" }, - "scope": 1082, + "scope": 1087, "src": "308:68:7", "stateMutability": "nonpayable", "superFunction": null, "visibility": "internal" } ], - "scope": 1083, + "scope": 1088, "src": "27:352:7" } ], @@ -14613,14 +14668,14 @@ "absolutePath": "d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/node_modules/openzeppelin-solidity/contracts/access/Roles.sol", "exportedSymbols": { "Roles": [ - 1176 + 1181 ] }, - "id": 1177, + "id": 1182, "nodeType": "SourceUnit", "nodes": [ { - "id": 1084, + "id": 1089, "literals": [ "solidity", "^", @@ -14636,23 +14691,23 @@ "contractKind": "library", "documentation": "@title Roles\n@dev Library for managing addresses assigned to a Role.", "fullyImplemented": true, - "id": 1176, + "id": 1181, "linearizedBaseContracts": [ - 1176 + 1181 ], "name": "Roles", "nodeType": "ContractDefinition", "nodes": [ { "canonicalName": "Roles.Role", - "id": 1089, + "id": 1094, "members": [ { "constant": false, - "id": 1088, + "id": 1093, "name": "bearer", "nodeType": "VariableDeclaration", - "scope": 1089, + "scope": 1094, "src": "145:32:8", "stateVariable": false, "storageLocation": "default", @@ -14661,9 +14716,9 @@ "typeString": "mapping(address => bool)" }, "typeName": { - "id": 1087, + "id": 1092, "keyType": { - "id": 1085, + "id": 1090, "name": "address", "nodeType": "ElementaryTypeName", "src": "154:7:8", @@ -14679,7 +14734,7 @@ "typeString": "mapping(address => bool)" }, "valueType": { - "id": 1086, + "id": 1091, "name": "bool", "nodeType": "ElementaryTypeName", "src": "165:4:8", @@ -14695,13 +14750,13 @@ ], "name": "Role", "nodeType": "StructDefinition", - "scope": 1176, + "scope": 1181, "src": "127:55:8", "visibility": "public" }, { "body": { - "id": 1120, + "id": 1125, "nodeType": "Block", "src": "302:109:8", "statements": [ @@ -14715,18 +14770,18 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 1101, + "id": 1106, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1097, + "id": 1102, "name": "account", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1093, + "referencedDeclaration": 1098, "src": "316:7:8", "typeDescriptions": { "typeIdentifier": "t_address", @@ -14741,7 +14796,7 @@ { "argumentTypes": null, "hexValue": "30", - "id": 1099, + "id": 1104, "isConstant": false, "isLValue": false, "isPure": true, @@ -14764,7 +14819,7 @@ "typeString": "int_const 0" } ], - "id": 1098, + "id": 1103, "isConstant": false, "isLValue": false, "isPure": true, @@ -14777,7 +14832,7 @@ }, "typeName": "address" }, - "id": 1100, + "id": 1105, "isConstant": false, "isLValue": false, "isPure": true, @@ -14805,21 +14860,21 @@ "typeString": "bool" } ], - "id": 1096, + "id": 1101, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1535, - 1536 + 1540, + 1541 ], - "referencedDeclaration": 1535, + "referencedDeclaration": 1540, "src": "308:7:8", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 1102, + "id": 1107, "isConstant": false, "isLValue": false, "isPure": false, @@ -14833,7 +14888,7 @@ "typeString": "tuple()" } }, - "id": 1103, + "id": 1108, "nodeType": "ExpressionStatement", "src": "308:30:8" }, @@ -14843,7 +14898,7 @@ "arguments": [ { "argumentTypes": null, - "id": 1109, + "id": 1114, "isConstant": false, "isLValue": false, "isPure": false, @@ -14857,24 +14912,24 @@ "arguments": [ { "argumentTypes": null, - "id": 1106, + "id": 1111, "name": "role", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1091, + "referencedDeclaration": 1096, "src": "357:4:8", "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$1089_storage_ptr", + "typeIdentifier": "t_struct$_Role_$1094_storage_ptr", "typeString": "struct Roles.Role storage pointer" } }, { "argumentTypes": null, - "id": 1107, + "id": 1112, "name": "account", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1093, + "referencedDeclaration": 1098, "src": "363:7:8", "typeDescriptions": { "typeIdentifier": "t_address", @@ -14885,7 +14940,7 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_struct$_Role_$1089_storage_ptr", + "typeIdentifier": "t_struct$_Role_$1094_storage_ptr", "typeString": "struct Roles.Role storage pointer" }, { @@ -14893,18 +14948,18 @@ "typeString": "address" } ], - "id": 1105, + "id": 1110, "name": "has", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1175, + "referencedDeclaration": 1180, "src": "353:3:8", "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_Role_$1089_storage_ptr_$_t_address_$returns$_t_bool_$", + "typeIdentifier": "t_function_internal_view$_t_struct$_Role_$1094_storage_ptr_$_t_address_$returns$_t_bool_$", "typeString": "function (struct Roles.Role storage pointer,address) view returns (bool)" } }, - "id": 1108, + "id": 1113, "isConstant": false, "isLValue": false, "isPure": false, @@ -14931,21 +14986,21 @@ "typeString": "bool" } ], - "id": 1104, + "id": 1109, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1535, - 1536 + 1540, + 1541 ], - "referencedDeclaration": 1535, + "referencedDeclaration": 1540, "src": "344:7:8", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 1110, + "id": 1115, "isConstant": false, "isLValue": false, "isPure": false, @@ -14959,14 +15014,14 @@ "typeString": "tuple()" } }, - "id": 1111, + "id": 1116, "nodeType": "ExpressionStatement", "src": "344:28:8" }, { "expression": { "argumentTypes": null, - "id": 1118, + "id": 1123, "isConstant": false, "isLValue": false, "isPure": false, @@ -14977,39 +15032,39 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 1112, + "id": 1117, "name": "role", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1091, + "referencedDeclaration": 1096, "src": "379:4:8", "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$1089_storage_ptr", + "typeIdentifier": "t_struct$_Role_$1094_storage_ptr", "typeString": "struct Roles.Role storage pointer" } }, - "id": 1115, + "id": 1120, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "bearer", "nodeType": "MemberAccess", - "referencedDeclaration": 1088, + "referencedDeclaration": 1093, "src": "379:11:8", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, - "id": 1116, + "id": 1121, "indexExpression": { "argumentTypes": null, - "id": 1114, + "id": 1119, "name": "account", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1093, + "referencedDeclaration": 1098, "src": "391:7:8", "typeDescriptions": { "typeIdentifier": "t_address", @@ -15032,7 +15087,7 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "74727565", - "id": 1117, + "id": 1122, "isConstant": false, "isLValue": false, "isPure": true, @@ -15053,14 +15108,14 @@ "typeString": "bool" } }, - "id": 1119, + "id": 1124, "nodeType": "ExpressionStatement", "src": "379:27:8" } ] }, "documentation": "@dev give an account access to this role", - "id": 1121, + "id": 1126, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -15068,31 +15123,31 @@ "name": "add", "nodeType": "FunctionDefinition", "parameters": { - "id": 1094, + "id": 1099, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1091, + "id": 1096, "name": "role", "nodeType": "VariableDeclaration", - "scope": 1121, + "scope": 1126, "src": "257:17:8", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$1089_storage_ptr", + "typeIdentifier": "t_struct$_Role_$1094_storage_ptr", "typeString": "struct Roles.Role" }, "typeName": { "contractScope": null, - "id": 1090, + "id": 1095, "name": "Role", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1089, + "referencedDeclaration": 1094, "src": "257:4:8", "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$1089_storage_ptr", + "typeIdentifier": "t_struct$_Role_$1094_storage_ptr", "typeString": "struct Roles.Role" } }, @@ -15101,10 +15156,10 @@ }, { "constant": false, - "id": 1093, + "id": 1098, "name": "account", "nodeType": "VariableDeclaration", - "scope": 1121, + "scope": 1126, "src": "276:15:8", "stateVariable": false, "storageLocation": "default", @@ -15113,7 +15168,7 @@ "typeString": "address" }, "typeName": { - "id": 1092, + "id": 1097, "name": "address", "nodeType": "ElementaryTypeName", "src": "276:7:8", @@ -15130,12 +15185,12 @@ }, "payable": false, "returnParameters": { - "id": 1095, + "id": 1100, "nodeType": "ParameterList", "parameters": [], "src": "302:0:8" }, - "scope": 1176, + "scope": 1181, "src": "244:167:8", "stateMutability": "nonpayable", "superFunction": null, @@ -15143,7 +15198,7 @@ }, { "body": { - "id": 1151, + "id": 1156, "nodeType": "Block", "src": "538:109:8", "statements": [ @@ -15157,18 +15212,18 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 1133, + "id": 1138, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1129, + "id": 1134, "name": "account", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1125, + "referencedDeclaration": 1130, "src": "552:7:8", "typeDescriptions": { "typeIdentifier": "t_address", @@ -15183,7 +15238,7 @@ { "argumentTypes": null, "hexValue": "30", - "id": 1131, + "id": 1136, "isConstant": false, "isLValue": false, "isPure": true, @@ -15206,7 +15261,7 @@ "typeString": "int_const 0" } ], - "id": 1130, + "id": 1135, "isConstant": false, "isLValue": false, "isPure": true, @@ -15219,7 +15274,7 @@ }, "typeName": "address" }, - "id": 1132, + "id": 1137, "isConstant": false, "isLValue": false, "isPure": true, @@ -15247,21 +15302,21 @@ "typeString": "bool" } ], - "id": 1128, + "id": 1133, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1535, - 1536 + 1540, + 1541 ], - "referencedDeclaration": 1535, + "referencedDeclaration": 1540, "src": "544:7:8", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 1134, + "id": 1139, "isConstant": false, "isLValue": false, "isPure": false, @@ -15275,7 +15330,7 @@ "typeString": "tuple()" } }, - "id": 1135, + "id": 1140, "nodeType": "ExpressionStatement", "src": "544:30:8" }, @@ -15288,24 +15343,24 @@ "arguments": [ { "argumentTypes": null, - "id": 1138, + "id": 1143, "name": "role", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1123, + "referencedDeclaration": 1128, "src": "592:4:8", "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$1089_storage_ptr", + "typeIdentifier": "t_struct$_Role_$1094_storage_ptr", "typeString": "struct Roles.Role storage pointer" } }, { "argumentTypes": null, - "id": 1139, + "id": 1144, "name": "account", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1125, + "referencedDeclaration": 1130, "src": "598:7:8", "typeDescriptions": { "typeIdentifier": "t_address", @@ -15316,7 +15371,7 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_struct$_Role_$1089_storage_ptr", + "typeIdentifier": "t_struct$_Role_$1094_storage_ptr", "typeString": "struct Roles.Role storage pointer" }, { @@ -15324,18 +15379,18 @@ "typeString": "address" } ], - "id": 1137, + "id": 1142, "name": "has", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1175, + "referencedDeclaration": 1180, "src": "588:3:8", "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_Role_$1089_storage_ptr_$_t_address_$returns$_t_bool_$", + "typeIdentifier": "t_function_internal_view$_t_struct$_Role_$1094_storage_ptr_$_t_address_$returns$_t_bool_$", "typeString": "function (struct Roles.Role storage pointer,address) view returns (bool)" } }, - "id": 1140, + "id": 1145, "isConstant": false, "isLValue": false, "isPure": false, @@ -15357,21 +15412,21 @@ "typeString": "bool" } ], - "id": 1136, + "id": 1141, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1535, - 1536 + 1540, + 1541 ], - "referencedDeclaration": 1535, + "referencedDeclaration": 1540, "src": "580:7:8", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 1141, + "id": 1146, "isConstant": false, "isLValue": false, "isPure": false, @@ -15385,14 +15440,14 @@ "typeString": "tuple()" } }, - "id": 1142, + "id": 1147, "nodeType": "ExpressionStatement", "src": "580:27:8" }, { "expression": { "argumentTypes": null, - "id": 1149, + "id": 1154, "isConstant": false, "isLValue": false, "isPure": false, @@ -15403,39 +15458,39 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 1143, + "id": 1148, "name": "role", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1123, + "referencedDeclaration": 1128, "src": "614:4:8", "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$1089_storage_ptr", + "typeIdentifier": "t_struct$_Role_$1094_storage_ptr", "typeString": "struct Roles.Role storage pointer" } }, - "id": 1146, + "id": 1151, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "bearer", "nodeType": "MemberAccess", - "referencedDeclaration": 1088, + "referencedDeclaration": 1093, "src": "614:11:8", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, - "id": 1147, + "id": 1152, "indexExpression": { "argumentTypes": null, - "id": 1145, + "id": 1150, "name": "account", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1125, + "referencedDeclaration": 1130, "src": "626:7:8", "typeDescriptions": { "typeIdentifier": "t_address", @@ -15458,7 +15513,7 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "66616c7365", - "id": 1148, + "id": 1153, "isConstant": false, "isLValue": false, "isPure": true, @@ -15479,14 +15534,14 @@ "typeString": "bool" } }, - "id": 1150, + "id": 1155, "nodeType": "ExpressionStatement", "src": "614:28:8" } ] }, "documentation": "@dev remove an account's access to this role", - "id": 1152, + "id": 1157, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -15494,31 +15549,31 @@ "name": "remove", "nodeType": "FunctionDefinition", "parameters": { - "id": 1126, + "id": 1131, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1123, + "id": 1128, "name": "role", "nodeType": "VariableDeclaration", - "scope": 1152, + "scope": 1157, "src": "493:17:8", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$1089_storage_ptr", + "typeIdentifier": "t_struct$_Role_$1094_storage_ptr", "typeString": "struct Roles.Role" }, "typeName": { "contractScope": null, - "id": 1122, + "id": 1127, "name": "Role", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1089, + "referencedDeclaration": 1094, "src": "493:4:8", "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$1089_storage_ptr", + "typeIdentifier": "t_struct$_Role_$1094_storage_ptr", "typeString": "struct Roles.Role" } }, @@ -15527,10 +15582,10 @@ }, { "constant": false, - "id": 1125, + "id": 1130, "name": "account", "nodeType": "VariableDeclaration", - "scope": 1152, + "scope": 1157, "src": "512:15:8", "stateVariable": false, "storageLocation": "default", @@ -15539,7 +15594,7 @@ "typeString": "address" }, "typeName": { - "id": 1124, + "id": 1129, "name": "address", "nodeType": "ElementaryTypeName", "src": "512:7:8", @@ -15556,12 +15611,12 @@ }, "payable": false, "returnParameters": { - "id": 1127, + "id": 1132, "nodeType": "ParameterList", "parameters": [], "src": "538:0:8" }, - "scope": 1176, + "scope": 1181, "src": "477:170:8", "stateMutability": "nonpayable", "superFunction": null, @@ -15569,7 +15624,7 @@ }, { "body": { - "id": 1174, + "id": 1179, "nodeType": "Block", "src": "817:74:8", "statements": [ @@ -15583,18 +15638,18 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 1166, + "id": 1171, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1162, + "id": 1167, "name": "account", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1156, + "referencedDeclaration": 1161, "src": "831:7:8", "typeDescriptions": { "typeIdentifier": "t_address", @@ -15609,7 +15664,7 @@ { "argumentTypes": null, "hexValue": "30", - "id": 1164, + "id": 1169, "isConstant": false, "isLValue": false, "isPure": true, @@ -15632,7 +15687,7 @@ "typeString": "int_const 0" } ], - "id": 1163, + "id": 1168, "isConstant": false, "isLValue": false, "isPure": true, @@ -15645,7 +15700,7 @@ }, "typeName": "address" }, - "id": 1165, + "id": 1170, "isConstant": false, "isLValue": false, "isPure": true, @@ -15673,21 +15728,21 @@ "typeString": "bool" } ], - "id": 1161, + "id": 1166, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1535, - 1536 + 1540, + 1541 ], - "referencedDeclaration": 1535, + "referencedDeclaration": 1540, "src": "823:7:8", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 1167, + "id": 1172, "isConstant": false, "isLValue": false, "isPure": false, @@ -15701,7 +15756,7 @@ "typeString": "tuple()" } }, - "id": 1168, + "id": 1173, "nodeType": "ExpressionStatement", "src": "823:30:8" }, @@ -15712,39 +15767,39 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 1169, + "id": 1174, "name": "role", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1154, + "referencedDeclaration": 1159, "src": "866:4:8", "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$1089_storage_ptr", + "typeIdentifier": "t_struct$_Role_$1094_storage_ptr", "typeString": "struct Roles.Role storage pointer" } }, - "id": 1170, + "id": 1175, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "bearer", "nodeType": "MemberAccess", - "referencedDeclaration": 1088, + "referencedDeclaration": 1093, "src": "866:11:8", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, - "id": 1172, + "id": 1177, "indexExpression": { "argumentTypes": null, - "id": 1171, + "id": 1176, "name": "account", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1156, + "referencedDeclaration": 1161, "src": "878:7:8", "typeDescriptions": { "typeIdentifier": "t_address", @@ -15762,15 +15817,15 @@ "typeString": "bool" } }, - "functionReturnParameters": 1160, - "id": 1173, + "functionReturnParameters": 1165, + "id": 1178, "nodeType": "Return", "src": "859:27:8" } ] }, "documentation": "@dev check if an account has this role\n@return bool", - "id": 1175, + "id": 1180, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -15778,31 +15833,31 @@ "name": "has", "nodeType": "FunctionDefinition", "parameters": { - "id": 1157, + "id": 1162, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1154, + "id": 1159, "name": "role", "nodeType": "VariableDeclaration", - "scope": 1175, + "scope": 1180, "src": "738:17:8", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$1089_storage_ptr", + "typeIdentifier": "t_struct$_Role_$1094_storage_ptr", "typeString": "struct Roles.Role" }, "typeName": { "contractScope": null, - "id": 1153, + "id": 1158, "name": "Role", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1089, + "referencedDeclaration": 1094, "src": "738:4:8", "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$1089_storage_ptr", + "typeIdentifier": "t_struct$_Role_$1094_storage_ptr", "typeString": "struct Roles.Role" } }, @@ -15811,10 +15866,10 @@ }, { "constant": false, - "id": 1156, + "id": 1161, "name": "account", "nodeType": "VariableDeclaration", - "scope": 1175, + "scope": 1180, "src": "757:15:8", "stateVariable": false, "storageLocation": "default", @@ -15823,7 +15878,7 @@ "typeString": "address" }, "typeName": { - "id": 1155, + "id": 1160, "name": "address", "nodeType": "ElementaryTypeName", "src": "757:7:8", @@ -15840,15 +15895,15 @@ }, "payable": false, "returnParameters": { - "id": 1160, + "id": 1165, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1159, + "id": 1164, "name": "", "nodeType": "VariableDeclaration", - "scope": 1175, + "scope": 1180, "src": "809:4:8", "stateVariable": false, "storageLocation": "default", @@ -15857,7 +15912,7 @@ "typeString": "bool" }, "typeName": { - "id": 1158, + "id": 1163, "name": "bool", "nodeType": "ElementaryTypeName", "src": "809:4:8", @@ -15872,14 +15927,14 @@ ], "src": "808:6:8" }, - "scope": 1176, + "scope": 1181, "src": "725:166:8", "stateMutability": "view", "superFunction": null, "visibility": "internal" } ], - "scope": 1177, + "scope": 1182, "src": "109:784:8" } ], @@ -15892,14 +15947,14 @@ "absolutePath": "d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/node_modules/openzeppelin-solidity/contracts/math/SafeMath.sol", "exportedSymbols": { "SafeMath": [ - 1304 + 1309 ] }, - "id": 1305, + "id": 1310, "nodeType": "SourceUnit", "nodes": [ { - "id": 1178, + "id": 1183, "literals": [ "solidity", "^", @@ -15915,16 +15970,16 @@ "contractKind": "library", "documentation": "@title SafeMath\n@dev Math operations with safety checks that revert on error", "fullyImplemented": true, - "id": 1304, + "id": 1309, "linearizedBaseContracts": [ - 1304 + 1309 ], "name": "SafeMath", "nodeType": "ContractDefinition", "nodes": [ { "body": { - "id": 1210, + "id": 1215, "nodeType": "Block", "src": "271:314:9", "statements": [ @@ -15935,18 +15990,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1189, + "id": 1194, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1187, + "id": 1192, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1180, + "referencedDeclaration": 1185, "src": "486:1:9", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -15958,7 +16013,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 1188, + "id": 1193, "isConstant": false, "isLValue": false, "isPure": true, @@ -15980,11 +16035,11 @@ } }, "falseBody": null, - "id": 1193, + "id": 1198, "nodeType": "IfStatement", "src": "482:35:9", "trueBody": { - "id": 1192, + "id": 1197, "nodeType": "Block", "src": "494:23:9", "statements": [ @@ -15992,7 +16047,7 @@ "expression": { "argumentTypes": null, "hexValue": "30", - "id": 1190, + "id": 1195, "isConstant": false, "isLValue": false, "isPure": true, @@ -16007,8 +16062,8 @@ }, "value": "0" }, - "functionReturnParameters": 1186, - "id": 1191, + "functionReturnParameters": 1191, + "id": 1196, "nodeType": "Return", "src": "502:8:9" } @@ -16017,15 +16072,15 @@ }, { "assignments": [ - 1195 + 1200 ], "declarations": [ { "constant": false, - "id": 1195, + "id": 1200, "name": "c", "nodeType": "VariableDeclaration", - "scope": 1211, + "scope": 1216, "src": "523:9:9", "stateVariable": false, "storageLocation": "default", @@ -16034,7 +16089,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1194, + "id": 1199, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "523:7:9", @@ -16047,25 +16102,25 @@ "visibility": "internal" } ], - "id": 1199, + "id": 1204, "initialValue": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1198, + "id": 1203, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1196, + "id": 1201, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1180, + "referencedDeclaration": 1185, "src": "535:1:9", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -16076,11 +16131,11 @@ "operator": "*", "rightExpression": { "argumentTypes": null, - "id": 1197, + "id": 1202, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1182, + "referencedDeclaration": 1187, "src": "539:1:9", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -16106,7 +16161,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1205, + "id": 1210, "isConstant": false, "isLValue": false, "isPure": false, @@ -16117,18 +16172,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1203, + "id": 1208, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1201, + "id": 1206, "name": "c", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1195, + "referencedDeclaration": 1200, "src": "554:1:9", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -16139,11 +16194,11 @@ "operator": "/", "rightExpression": { "argumentTypes": null, - "id": 1202, + "id": 1207, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1180, + "referencedDeclaration": 1185, "src": "558:1:9", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -16160,11 +16215,11 @@ "operator": "==", "rightExpression": { "argumentTypes": null, - "id": 1204, + "id": 1209, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1182, + "referencedDeclaration": 1187, "src": "563:1:9", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -16185,21 +16240,21 @@ "typeString": "bool" } ], - "id": 1200, + "id": 1205, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1535, - 1536 + 1540, + 1541 ], - "referencedDeclaration": 1535, + "referencedDeclaration": 1540, "src": "546:7:9", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 1206, + "id": 1211, "isConstant": false, "isLValue": false, "isPure": false, @@ -16213,33 +16268,33 @@ "typeString": "tuple()" } }, - "id": 1207, + "id": 1212, "nodeType": "ExpressionStatement", "src": "546:19:9" }, { "expression": { "argumentTypes": null, - "id": 1208, + "id": 1213, "name": "c", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1195, + "referencedDeclaration": 1200, "src": "579:1:9", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 1186, - "id": 1209, + "functionReturnParameters": 1191, + "id": 1214, "nodeType": "Return", "src": "572:8:9" } ] }, "documentation": "@dev Multiplies two numbers, reverts on overflow.", - "id": 1211, + "id": 1216, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -16247,15 +16302,15 @@ "name": "mul", "nodeType": "FunctionDefinition", "parameters": { - "id": 1183, + "id": 1188, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1180, + "id": 1185, "name": "a", "nodeType": "VariableDeclaration", - "scope": 1211, + "scope": 1216, "src": "217:9:9", "stateVariable": false, "storageLocation": "default", @@ -16264,7 +16319,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1179, + "id": 1184, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "217:7:9", @@ -16278,10 +16333,10 @@ }, { "constant": false, - "id": 1182, + "id": 1187, "name": "b", "nodeType": "VariableDeclaration", - "scope": 1211, + "scope": 1216, "src": "228:9:9", "stateVariable": false, "storageLocation": "default", @@ -16290,7 +16345,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1181, + "id": 1186, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "228:7:9", @@ -16307,15 +16362,15 @@ }, "payable": false, "returnParameters": { - "id": 1186, + "id": 1191, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1185, + "id": 1190, "name": "", "nodeType": "VariableDeclaration", - "scope": 1211, + "scope": 1216, "src": "262:7:9", "stateVariable": false, "storageLocation": "default", @@ -16324,7 +16379,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1184, + "id": 1189, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "262:7:9", @@ -16339,7 +16394,7 @@ ], "src": "261:9:9" }, - "scope": 1304, + "scope": 1309, "src": "204:381:9", "stateMutability": "pure", "superFunction": null, @@ -16347,7 +16402,7 @@ }, { "body": { - "id": 1234, + "id": 1239, "nodeType": "Block", "src": "762:203:9", "statements": [ @@ -16361,18 +16416,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1223, + "id": 1228, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1221, + "id": 1226, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1215, + "referencedDeclaration": 1220, "src": "776:1:9", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -16384,7 +16439,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 1222, + "id": 1227, "isConstant": false, "isLValue": false, "isPure": true, @@ -16413,21 +16468,21 @@ "typeString": "bool" } ], - "id": 1220, + "id": 1225, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1535, - 1536 + 1540, + 1541 ], - "referencedDeclaration": 1535, + "referencedDeclaration": 1540, "src": "768:7:9", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 1224, + "id": 1229, "isConstant": false, "isLValue": false, "isPure": false, @@ -16441,21 +16496,21 @@ "typeString": "tuple()" } }, - "id": 1225, + "id": 1230, "nodeType": "ExpressionStatement", "src": "768:14:9" }, { "assignments": [ - 1227 + 1232 ], "declarations": [ { "constant": false, - "id": 1227, + "id": 1232, "name": "c", "nodeType": "VariableDeclaration", - "scope": 1235, + "scope": 1240, "src": "846:9:9", "stateVariable": false, "storageLocation": "default", @@ -16464,7 +16519,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1226, + "id": 1231, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "846:7:9", @@ -16477,25 +16532,25 @@ "visibility": "internal" } ], - "id": 1231, + "id": 1236, "initialValue": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1230, + "id": 1235, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1228, + "id": 1233, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1213, + "referencedDeclaration": 1218, "src": "858:1:9", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -16506,11 +16561,11 @@ "operator": "/", "rightExpression": { "argumentTypes": null, - "id": 1229, + "id": 1234, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1215, + "referencedDeclaration": 1220, "src": "862:1:9", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -16529,26 +16584,26 @@ { "expression": { "argumentTypes": null, - "id": 1232, + "id": 1237, "name": "c", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1227, + "referencedDeclaration": 1232, "src": "959:1:9", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 1219, - "id": 1233, + "functionReturnParameters": 1224, + "id": 1238, "nodeType": "Return", "src": "952:8:9" } ] }, "documentation": "@dev Integer division of two numbers truncating the quotient, reverts on division by zero.", - "id": 1235, + "id": 1240, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -16556,15 +16611,15 @@ "name": "div", "nodeType": "FunctionDefinition", "parameters": { - "id": 1216, + "id": 1221, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1213, + "id": 1218, "name": "a", "nodeType": "VariableDeclaration", - "scope": 1235, + "scope": 1240, "src": "708:9:9", "stateVariable": false, "storageLocation": "default", @@ -16573,7 +16628,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1212, + "id": 1217, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "708:7:9", @@ -16587,10 +16642,10 @@ }, { "constant": false, - "id": 1215, + "id": 1220, "name": "b", "nodeType": "VariableDeclaration", - "scope": 1235, + "scope": 1240, "src": "719:9:9", "stateVariable": false, "storageLocation": "default", @@ -16599,7 +16654,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1214, + "id": 1219, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "719:7:9", @@ -16616,15 +16671,15 @@ }, "payable": false, "returnParameters": { - "id": 1219, + "id": 1224, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1218, + "id": 1223, "name": "", "nodeType": "VariableDeclaration", - "scope": 1235, + "scope": 1240, "src": "753:7:9", "stateVariable": false, "storageLocation": "default", @@ -16633,7 +16688,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1217, + "id": 1222, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "753:7:9", @@ -16648,7 +16703,7 @@ ], "src": "752:9:9" }, - "scope": 1304, + "scope": 1309, "src": "695:270:9", "stateMutability": "pure", "superFunction": null, @@ -16656,7 +16711,7 @@ }, { "body": { - "id": 1258, + "id": 1263, "nodeType": "Block", "src": "1145:64:9", "statements": [ @@ -16670,18 +16725,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1247, + "id": 1252, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1245, + "id": 1250, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1239, + "referencedDeclaration": 1244, "src": "1159:1:9", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -16692,11 +16747,11 @@ "operator": "<=", "rightExpression": { "argumentTypes": null, - "id": 1246, + "id": 1251, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1237, + "referencedDeclaration": 1242, "src": "1164:1:9", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -16717,21 +16772,21 @@ "typeString": "bool" } ], - "id": 1244, + "id": 1249, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1535, - 1536 + 1540, + 1541 ], - "referencedDeclaration": 1535, + "referencedDeclaration": 1540, "src": "1151:7:9", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 1248, + "id": 1253, "isConstant": false, "isLValue": false, "isPure": false, @@ -16745,21 +16800,21 @@ "typeString": "tuple()" } }, - "id": 1249, + "id": 1254, "nodeType": "ExpressionStatement", "src": "1151:15:9" }, { "assignments": [ - 1251 + 1256 ], "declarations": [ { "constant": false, - "id": 1251, + "id": 1256, "name": "c", "nodeType": "VariableDeclaration", - "scope": 1259, + "scope": 1264, "src": "1172:9:9", "stateVariable": false, "storageLocation": "default", @@ -16768,7 +16823,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1250, + "id": 1255, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1172:7:9", @@ -16781,25 +16836,25 @@ "visibility": "internal" } ], - "id": 1255, + "id": 1260, "initialValue": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1254, + "id": 1259, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1252, + "id": 1257, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1237, + "referencedDeclaration": 1242, "src": "1184:1:9", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -16810,11 +16865,11 @@ "operator": "-", "rightExpression": { "argumentTypes": null, - "id": 1253, + "id": 1258, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1239, + "referencedDeclaration": 1244, "src": "1188:1:9", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -16833,26 +16888,26 @@ { "expression": { "argumentTypes": null, - "id": 1256, + "id": 1261, "name": "c", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1251, + "referencedDeclaration": 1256, "src": "1203:1:9", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 1243, - "id": 1257, + "functionReturnParameters": 1248, + "id": 1262, "nodeType": "Return", "src": "1196:8:9" } ] }, "documentation": "@dev Subtracts two numbers, reverts on overflow (i.e. if subtrahend is greater than minuend).", - "id": 1259, + "id": 1264, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -16860,15 +16915,15 @@ "name": "sub", "nodeType": "FunctionDefinition", "parameters": { - "id": 1240, + "id": 1245, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1237, + "id": 1242, "name": "a", "nodeType": "VariableDeclaration", - "scope": 1259, + "scope": 1264, "src": "1091:9:9", "stateVariable": false, "storageLocation": "default", @@ -16877,7 +16932,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1236, + "id": 1241, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1091:7:9", @@ -16891,10 +16946,10 @@ }, { "constant": false, - "id": 1239, + "id": 1244, "name": "b", "nodeType": "VariableDeclaration", - "scope": 1259, + "scope": 1264, "src": "1102:9:9", "stateVariable": false, "storageLocation": "default", @@ -16903,7 +16958,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1238, + "id": 1243, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1102:7:9", @@ -16920,15 +16975,15 @@ }, "payable": false, "returnParameters": { - "id": 1243, + "id": 1248, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1242, + "id": 1247, "name": "", "nodeType": "VariableDeclaration", - "scope": 1259, + "scope": 1264, "src": "1136:7:9", "stateVariable": false, "storageLocation": "default", @@ -16937,7 +16992,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1241, + "id": 1246, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1136:7:9", @@ -16952,7 +17007,7 @@ ], "src": "1135:9:9" }, - "scope": 1304, + "scope": 1309, "src": "1078:131:9", "stateMutability": "pure", "superFunction": null, @@ -16960,21 +17015,21 @@ }, { "body": { - "id": 1282, + "id": 1287, "nodeType": "Block", "src": "1339:64:9", "statements": [ { "assignments": [ - 1269 + 1274 ], "declarations": [ { "constant": false, - "id": 1269, + "id": 1274, "name": "c", "nodeType": "VariableDeclaration", - "scope": 1283, + "scope": 1288, "src": "1345:9:9", "stateVariable": false, "storageLocation": "default", @@ -16983,7 +17038,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1268, + "id": 1273, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1345:7:9", @@ -16996,25 +17051,25 @@ "visibility": "internal" } ], - "id": 1273, + "id": 1278, "initialValue": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1272, + "id": 1277, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1270, + "id": 1275, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1261, + "referencedDeclaration": 1266, "src": "1357:1:9", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -17025,11 +17080,11 @@ "operator": "+", "rightExpression": { "argumentTypes": null, - "id": 1271, + "id": 1276, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1263, + "referencedDeclaration": 1268, "src": "1361:1:9", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -17055,18 +17110,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1277, + "id": 1282, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1275, + "id": 1280, "name": "c", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1269, + "referencedDeclaration": 1274, "src": "1376:1:9", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -17077,11 +17132,11 @@ "operator": ">=", "rightExpression": { "argumentTypes": null, - "id": 1276, + "id": 1281, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1261, + "referencedDeclaration": 1266, "src": "1381:1:9", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -17102,21 +17157,21 @@ "typeString": "bool" } ], - "id": 1274, + "id": 1279, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1535, - 1536 + 1540, + 1541 ], - "referencedDeclaration": 1535, + "referencedDeclaration": 1540, "src": "1368:7:9", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 1278, + "id": 1283, "isConstant": false, "isLValue": false, "isPure": false, @@ -17130,33 +17185,33 @@ "typeString": "tuple()" } }, - "id": 1279, + "id": 1284, "nodeType": "ExpressionStatement", "src": "1368:15:9" }, { "expression": { "argumentTypes": null, - "id": 1280, + "id": 1285, "name": "c", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1269, + "referencedDeclaration": 1274, "src": "1397:1:9", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 1267, - "id": 1281, + "functionReturnParameters": 1272, + "id": 1286, "nodeType": "Return", "src": "1390:8:9" } ] }, "documentation": "@dev Adds two numbers, reverts on overflow.", - "id": 1283, + "id": 1288, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -17164,15 +17219,15 @@ "name": "add", "nodeType": "FunctionDefinition", "parameters": { - "id": 1264, + "id": 1269, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1261, + "id": 1266, "name": "a", "nodeType": "VariableDeclaration", - "scope": 1283, + "scope": 1288, "src": "1285:9:9", "stateVariable": false, "storageLocation": "default", @@ -17181,7 +17236,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1260, + "id": 1265, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1285:7:9", @@ -17195,10 +17250,10 @@ }, { "constant": false, - "id": 1263, + "id": 1268, "name": "b", "nodeType": "VariableDeclaration", - "scope": 1283, + "scope": 1288, "src": "1296:9:9", "stateVariable": false, "storageLocation": "default", @@ -17207,7 +17262,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1262, + "id": 1267, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1296:7:9", @@ -17224,15 +17279,15 @@ }, "payable": false, "returnParameters": { - "id": 1267, + "id": 1272, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1266, + "id": 1271, "name": "", "nodeType": "VariableDeclaration", - "scope": 1283, + "scope": 1288, "src": "1330:7:9", "stateVariable": false, "storageLocation": "default", @@ -17241,7 +17296,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1265, + "id": 1270, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1330:7:9", @@ -17256,7 +17311,7 @@ ], "src": "1329:9:9" }, - "scope": 1304, + "scope": 1309, "src": "1272:131:9", "stateMutability": "pure", "superFunction": null, @@ -17264,7 +17319,7 @@ }, { "body": { - "id": 1302, + "id": 1307, "nodeType": "Block", "src": "1602:44:9", "statements": [ @@ -17278,18 +17333,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1295, + "id": 1300, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1293, + "id": 1298, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1287, + "referencedDeclaration": 1292, "src": "1616:1:9", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -17301,7 +17356,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 1294, + "id": 1299, "isConstant": false, "isLValue": false, "isPure": true, @@ -17330,21 +17385,21 @@ "typeString": "bool" } ], - "id": 1292, + "id": 1297, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1535, - 1536 + 1540, + 1541 ], - "referencedDeclaration": 1535, + "referencedDeclaration": 1540, "src": "1608:7:9", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 1296, + "id": 1301, "isConstant": false, "isLValue": false, "isPure": false, @@ -17358,7 +17413,7 @@ "typeString": "tuple()" } }, - "id": 1297, + "id": 1302, "nodeType": "ExpressionStatement", "src": "1608:15:9" }, @@ -17369,18 +17424,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1300, + "id": 1305, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1298, + "id": 1303, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1285, + "referencedDeclaration": 1290, "src": "1636:1:9", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -17391,11 +17446,11 @@ "operator": "%", "rightExpression": { "argumentTypes": null, - "id": 1299, + "id": 1304, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1287, + "referencedDeclaration": 1292, "src": "1640:1:9", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -17408,15 +17463,15 @@ "typeString": "uint256" } }, - "functionReturnParameters": 1291, - "id": 1301, + "functionReturnParameters": 1296, + "id": 1306, "nodeType": "Return", "src": "1629:12:9" } ] }, "documentation": "@dev Divides two numbers and returns the remainder (unsigned integer modulo),\nreverts when dividing by zero.", - "id": 1303, + "id": 1308, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -17424,15 +17479,15 @@ "name": "mod", "nodeType": "FunctionDefinition", "parameters": { - "id": 1288, + "id": 1293, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1285, + "id": 1290, "name": "a", "nodeType": "VariableDeclaration", - "scope": 1303, + "scope": 1308, "src": "1548:9:9", "stateVariable": false, "storageLocation": "default", @@ -17441,7 +17496,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1284, + "id": 1289, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1548:7:9", @@ -17455,10 +17510,10 @@ }, { "constant": false, - "id": 1287, + "id": 1292, "name": "b", "nodeType": "VariableDeclaration", - "scope": 1303, + "scope": 1308, "src": "1559:9:9", "stateVariable": false, "storageLocation": "default", @@ -17467,7 +17522,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1286, + "id": 1291, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1559:7:9", @@ -17484,15 +17539,15 @@ }, "payable": false, "returnParameters": { - "id": 1291, + "id": 1296, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1290, + "id": 1295, "name": "", "nodeType": "VariableDeclaration", - "scope": 1303, + "scope": 1308, "src": "1593:7:9", "stateVariable": false, "storageLocation": "default", @@ -17501,7 +17556,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1289, + "id": 1294, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1593:7:9", @@ -17516,14 +17571,14 @@ ], "src": "1592:9:9" }, - "scope": 1304, + "scope": 1309, "src": "1535:111:9", "stateMutability": "pure", "superFunction": null, "visibility": "internal" } ], - "scope": 1305, + "scope": 1310, "src": "117:1531:9" } ], @@ -17536,14 +17591,14 @@ "absolutePath": "d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/node_modules/openzeppelin-solidity/contracts/token/ERC20/IERC20.sol", "exportedSymbols": { "IERC20": [ - 1373 + 1378 ] }, - "id": 1374, + "id": 1379, "nodeType": "SourceUnit", "nodes": [ { - "id": 1306, + "id": 1311, "literals": [ "solidity", "^", @@ -17559,9 +17614,9 @@ "contractKind": "interface", "documentation": "@title ERC20 interface\n@dev see https://github.com/ethereum/EIPs/issues/20", "fullyImplemented": false, - "id": 1373, + "id": 1378, "linearizedBaseContracts": [ - 1373 + 1378 ], "name": "IERC20", "nodeType": "ContractDefinition", @@ -17569,7 +17624,7 @@ { "body": null, "documentation": null, - "id": 1311, + "id": 1316, "implemented": false, "isConstructor": false, "isDeclaredConst": true, @@ -17577,22 +17632,22 @@ "name": "totalSupply", "nodeType": "FunctionDefinition", "parameters": { - "id": 1307, + "id": 1312, "nodeType": "ParameterList", "parameters": [], "src": "156:2:10" }, "payable": false, "returnParameters": { - "id": 1310, + "id": 1315, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1309, + "id": 1314, "name": "", "nodeType": "VariableDeclaration", - "scope": 1311, + "scope": 1316, "src": "182:7:10", "stateVariable": false, "storageLocation": "default", @@ -17601,7 +17656,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1308, + "id": 1313, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "182:7:10", @@ -17616,7 +17671,7 @@ ], "src": "181:9:10" }, - "scope": 1373, + "scope": 1378, "src": "136:55:10", "stateMutability": "view", "superFunction": null, @@ -17625,7 +17680,7 @@ { "body": null, "documentation": null, - "id": 1318, + "id": 1323, "implemented": false, "isConstructor": false, "isDeclaredConst": true, @@ -17633,15 +17688,15 @@ "name": "balanceOf", "nodeType": "FunctionDefinition", "parameters": { - "id": 1314, + "id": 1319, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1313, + "id": 1318, "name": "who", "nodeType": "VariableDeclaration", - "scope": 1318, + "scope": 1323, "src": "214:11:10", "stateVariable": false, "storageLocation": "default", @@ -17650,7 +17705,7 @@ "typeString": "address" }, "typeName": { - "id": 1312, + "id": 1317, "name": "address", "nodeType": "ElementaryTypeName", "src": "214:7:10", @@ -17667,15 +17722,15 @@ }, "payable": false, "returnParameters": { - "id": 1317, + "id": 1322, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1316, + "id": 1321, "name": "", "nodeType": "VariableDeclaration", - "scope": 1318, + "scope": 1323, "src": "250:7:10", "stateVariable": false, "storageLocation": "default", @@ -17684,7 +17739,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1315, + "id": 1320, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "250:7:10", @@ -17699,7 +17754,7 @@ ], "src": "249:9:10" }, - "scope": 1373, + "scope": 1378, "src": "195:64:10", "stateMutability": "view", "superFunction": null, @@ -17708,7 +17763,7 @@ { "body": null, "documentation": null, - "id": 1327, + "id": 1332, "implemented": false, "isConstructor": false, "isDeclaredConst": true, @@ -17716,15 +17771,15 @@ "name": "allowance", "nodeType": "FunctionDefinition", "parameters": { - "id": 1323, + "id": 1328, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1320, + "id": 1325, "name": "owner", "nodeType": "VariableDeclaration", - "scope": 1327, + "scope": 1332, "src": "282:13:10", "stateVariable": false, "storageLocation": "default", @@ -17733,7 +17788,7 @@ "typeString": "address" }, "typeName": { - "id": 1319, + "id": 1324, "name": "address", "nodeType": "ElementaryTypeName", "src": "282:7:10", @@ -17747,10 +17802,10 @@ }, { "constant": false, - "id": 1322, + "id": 1327, "name": "spender", "nodeType": "VariableDeclaration", - "scope": 1327, + "scope": 1332, "src": "297:15:10", "stateVariable": false, "storageLocation": "default", @@ -17759,7 +17814,7 @@ "typeString": "address" }, "typeName": { - "id": 1321, + "id": 1326, "name": "address", "nodeType": "ElementaryTypeName", "src": "297:7:10", @@ -17776,15 +17831,15 @@ }, "payable": false, "returnParameters": { - "id": 1326, + "id": 1331, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1325, + "id": 1330, "name": "", "nodeType": "VariableDeclaration", - "scope": 1327, + "scope": 1332, "src": "341:7:10", "stateVariable": false, "storageLocation": "default", @@ -17793,7 +17848,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1324, + "id": 1329, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "341:7:10", @@ -17808,7 +17863,7 @@ ], "src": "340:9:10" }, - "scope": 1373, + "scope": 1378, "src": "263:87:10", "stateMutability": "view", "superFunction": null, @@ -17817,7 +17872,7 @@ { "body": null, "documentation": null, - "id": 1336, + "id": 1341, "implemented": false, "isConstructor": false, "isDeclaredConst": false, @@ -17825,15 +17880,15 @@ "name": "transfer", "nodeType": "FunctionDefinition", "parameters": { - "id": 1332, + "id": 1337, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1329, + "id": 1334, "name": "to", "nodeType": "VariableDeclaration", - "scope": 1336, + "scope": 1341, "src": "372:10:10", "stateVariable": false, "storageLocation": "default", @@ -17842,7 +17897,7 @@ "typeString": "address" }, "typeName": { - "id": 1328, + "id": 1333, "name": "address", "nodeType": "ElementaryTypeName", "src": "372:7:10", @@ -17856,10 +17911,10 @@ }, { "constant": false, - "id": 1331, + "id": 1336, "name": "value", "nodeType": "VariableDeclaration", - "scope": 1336, + "scope": 1341, "src": "384:13:10", "stateVariable": false, "storageLocation": "default", @@ -17868,7 +17923,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1330, + "id": 1335, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "384:7:10", @@ -17885,15 +17940,15 @@ }, "payable": false, "returnParameters": { - "id": 1335, + "id": 1340, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1334, + "id": 1339, "name": "", "nodeType": "VariableDeclaration", - "scope": 1336, + "scope": 1341, "src": "417:4:10", "stateVariable": false, "storageLocation": "default", @@ -17902,7 +17957,7 @@ "typeString": "bool" }, "typeName": { - "id": 1333, + "id": 1338, "name": "bool", "nodeType": "ElementaryTypeName", "src": "417:4:10", @@ -17917,7 +17972,7 @@ ], "src": "416:6:10" }, - "scope": 1373, + "scope": 1378, "src": "354:69:10", "stateMutability": "nonpayable", "superFunction": null, @@ -17926,7 +17981,7 @@ { "body": null, "documentation": null, - "id": 1345, + "id": 1350, "implemented": false, "isConstructor": false, "isDeclaredConst": false, @@ -17934,15 +17989,15 @@ "name": "approve", "nodeType": "FunctionDefinition", "parameters": { - "id": 1341, + "id": 1346, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1338, + "id": 1343, "name": "spender", "nodeType": "VariableDeclaration", - "scope": 1345, + "scope": 1350, "src": "444:15:10", "stateVariable": false, "storageLocation": "default", @@ -17951,7 +18006,7 @@ "typeString": "address" }, "typeName": { - "id": 1337, + "id": 1342, "name": "address", "nodeType": "ElementaryTypeName", "src": "444:7:10", @@ -17965,10 +18020,10 @@ }, { "constant": false, - "id": 1340, + "id": 1345, "name": "value", "nodeType": "VariableDeclaration", - "scope": 1345, + "scope": 1350, "src": "461:13:10", "stateVariable": false, "storageLocation": "default", @@ -17977,7 +18032,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1339, + "id": 1344, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "461:7:10", @@ -17994,15 +18049,15 @@ }, "payable": false, "returnParameters": { - "id": 1344, + "id": 1349, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1343, + "id": 1348, "name": "", "nodeType": "VariableDeclaration", - "scope": 1345, + "scope": 1350, "src": "498:4:10", "stateVariable": false, "storageLocation": "default", @@ -18011,7 +18066,7 @@ "typeString": "bool" }, "typeName": { - "id": 1342, + "id": 1347, "name": "bool", "nodeType": "ElementaryTypeName", "src": "498:4:10", @@ -18026,7 +18081,7 @@ ], "src": "497:6:10" }, - "scope": 1373, + "scope": 1378, "src": "427:77:10", "stateMutability": "nonpayable", "superFunction": null, @@ -18035,7 +18090,7 @@ { "body": null, "documentation": null, - "id": 1356, + "id": 1361, "implemented": false, "isConstructor": false, "isDeclaredConst": false, @@ -18043,15 +18098,15 @@ "name": "transferFrom", "nodeType": "FunctionDefinition", "parameters": { - "id": 1352, + "id": 1357, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1347, + "id": 1352, "name": "from", "nodeType": "VariableDeclaration", - "scope": 1356, + "scope": 1361, "src": "530:12:10", "stateVariable": false, "storageLocation": "default", @@ -18060,7 +18115,7 @@ "typeString": "address" }, "typeName": { - "id": 1346, + "id": 1351, "name": "address", "nodeType": "ElementaryTypeName", "src": "530:7:10", @@ -18074,10 +18129,10 @@ }, { "constant": false, - "id": 1349, + "id": 1354, "name": "to", "nodeType": "VariableDeclaration", - "scope": 1356, + "scope": 1361, "src": "544:10:10", "stateVariable": false, "storageLocation": "default", @@ -18086,7 +18141,7 @@ "typeString": "address" }, "typeName": { - "id": 1348, + "id": 1353, "name": "address", "nodeType": "ElementaryTypeName", "src": "544:7:10", @@ -18100,10 +18155,10 @@ }, { "constant": false, - "id": 1351, + "id": 1356, "name": "value", "nodeType": "VariableDeclaration", - "scope": 1356, + "scope": 1361, "src": "556:13:10", "stateVariable": false, "storageLocation": "default", @@ -18112,7 +18167,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1350, + "id": 1355, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "556:7:10", @@ -18129,15 +18184,15 @@ }, "payable": false, "returnParameters": { - "id": 1355, + "id": 1360, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1354, + "id": 1359, "name": "", "nodeType": "VariableDeclaration", - "scope": 1356, + "scope": 1361, "src": "593:4:10", "stateVariable": false, "storageLocation": "default", @@ -18146,7 +18201,7 @@ "typeString": "bool" }, "typeName": { - "id": 1353, + "id": 1358, "name": "bool", "nodeType": "ElementaryTypeName", "src": "593:4:10", @@ -18161,7 +18216,7 @@ ], "src": "592:6:10" }, - "scope": 1373, + "scope": 1378, "src": "508:91:10", "stateMutability": "nonpayable", "superFunction": null, @@ -18170,20 +18225,20 @@ { "anonymous": false, "documentation": null, - "id": 1364, + "id": 1369, "name": "Transfer", "nodeType": "EventDefinition", "parameters": { - "id": 1363, + "id": 1368, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1358, + "id": 1363, "indexed": true, "name": "from", "nodeType": "VariableDeclaration", - "scope": 1364, + "scope": 1369, "src": "623:20:10", "stateVariable": false, "storageLocation": "default", @@ -18192,7 +18247,7 @@ "typeString": "address" }, "typeName": { - "id": 1357, + "id": 1362, "name": "address", "nodeType": "ElementaryTypeName", "src": "623:7:10", @@ -18206,11 +18261,11 @@ }, { "constant": false, - "id": 1360, + "id": 1365, "indexed": true, "name": "to", "nodeType": "VariableDeclaration", - "scope": 1364, + "scope": 1369, "src": "649:18:10", "stateVariable": false, "storageLocation": "default", @@ -18219,7 +18274,7 @@ "typeString": "address" }, "typeName": { - "id": 1359, + "id": 1364, "name": "address", "nodeType": "ElementaryTypeName", "src": "649:7:10", @@ -18233,11 +18288,11 @@ }, { "constant": false, - "id": 1362, + "id": 1367, "indexed": false, "name": "value", "nodeType": "VariableDeclaration", - "scope": 1364, + "scope": 1369, "src": "673:13:10", "stateVariable": false, "storageLocation": "default", @@ -18246,7 +18301,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1361, + "id": 1366, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "673:7:10", @@ -18266,20 +18321,20 @@ { "anonymous": false, "documentation": null, - "id": 1372, + "id": 1377, "name": "Approval", "nodeType": "EventDefinition", "parameters": { - "id": 1371, + "id": 1376, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1366, + "id": 1371, "indexed": true, "name": "owner", "nodeType": "VariableDeclaration", - "scope": 1372, + "scope": 1377, "src": "715:21:10", "stateVariable": false, "storageLocation": "default", @@ -18288,7 +18343,7 @@ "typeString": "address" }, "typeName": { - "id": 1365, + "id": 1370, "name": "address", "nodeType": "ElementaryTypeName", "src": "715:7:10", @@ -18302,11 +18357,11 @@ }, { "constant": false, - "id": 1368, + "id": 1373, "indexed": true, "name": "spender", "nodeType": "VariableDeclaration", - "scope": 1372, + "scope": 1377, "src": "742:23:10", "stateVariable": false, "storageLocation": "default", @@ -18315,7 +18370,7 @@ "typeString": "address" }, "typeName": { - "id": 1367, + "id": 1372, "name": "address", "nodeType": "ElementaryTypeName", "src": "742:7:10", @@ -18329,11 +18384,11 @@ }, { "constant": false, - "id": 1370, + "id": 1375, "indexed": false, "name": "value", "nodeType": "VariableDeclaration", - "scope": 1372, + "scope": 1377, "src": "771:13:10", "stateVariable": false, "storageLocation": "default", @@ -18342,7 +18397,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1369, + "id": 1374, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "771:7:10", @@ -18360,7 +18415,7 @@ "src": "695:94:10" } ], - "scope": 1374, + "scope": 1379, "src": "115:676:10" } ], @@ -18373,14 +18428,14 @@ "absolutePath": "d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/node_modules/openzeppelin-solidity/contracts/token/ERC20/SafeERC20.sol", "exportedSymbols": { "SafeERC20": [ - 1517 + 1522 ] }, - "id": 1518, + "id": 1523, "nodeType": "SourceUnit", "nodes": [ { - "id": 1375, + "id": 1380, "literals": [ "solidity", "^", @@ -18393,10 +18448,10 @@ { "absolutePath": "d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/node_modules/openzeppelin-solidity/contracts/token/ERC20/IERC20.sol", "file": "./IERC20.sol", - "id": 1376, + "id": 1381, "nodeType": "ImportDirective", - "scope": 1518, - "sourceUnit": 1374, + "scope": 1523, + "sourceUnit": 1379, "src": "26:22:11", "symbolAliases": [], "unitAlias": "" @@ -18404,10 +18459,10 @@ { "absolutePath": "d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/node_modules/openzeppelin-solidity/contracts/math/SafeMath.sol", "file": "../../math/SafeMath.sol", - "id": 1377, + "id": 1382, "nodeType": "ImportDirective", - "scope": 1518, - "sourceUnit": 1305, + "scope": 1523, + "sourceUnit": 1310, "src": "49:33:11", "symbolAliases": [], "unitAlias": "" @@ -18418,31 +18473,31 @@ "contractKind": "library", "documentation": "@title SafeERC20\n@dev Wrappers around ERC20 operations that throw on failure.\nTo use this library you can add a `using SafeERC20 for ERC20;` statement to your contract,\nwhich allows you to call the safe operations as `token.safeTransfer(...)`, etc.", "fullyImplemented": true, - "id": 1517, + "id": 1522, "linearizedBaseContracts": [ - 1517 + 1522 ], "name": "SafeERC20", "nodeType": "ContractDefinition", "nodes": [ { - "id": 1380, + "id": 1385, "libraryName": { "contractScope": null, - "id": 1378, + "id": 1383, "name": "SafeMath", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1304, + "referencedDeclaration": 1309, "src": "382:8:11", "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeMath_$1304", + "typeIdentifier": "t_contract$_SafeMath_$1309", "typeString": "library SafeMath" } }, "nodeType": "UsingForDirective", "src": "376:27:11", "typeName": { - "id": 1379, + "id": 1384, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "395:7:11", @@ -18454,7 +18509,7 @@ }, { "body": { - "id": 1397, + "id": 1402, "nodeType": "Block", "src": "501:45:11", "statements": [ @@ -18467,11 +18522,11 @@ "arguments": [ { "argumentTypes": null, - "id": 1392, + "id": 1397, "name": "to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1384, + "referencedDeclaration": 1389, "src": "530:2:11", "typeDescriptions": { "typeIdentifier": "t_address", @@ -18480,11 +18535,11 @@ }, { "argumentTypes": null, - "id": 1393, + "id": 1398, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1386, + "referencedDeclaration": 1391, "src": "534:5:11", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -18505,32 +18560,32 @@ ], "expression": { "argumentTypes": null, - "id": 1390, + "id": 1395, "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1382, + "referencedDeclaration": 1387, "src": "515:5:11", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$1373", + "typeIdentifier": "t_contract$_IERC20_$1378", "typeString": "contract IERC20" } }, - "id": 1391, + "id": 1396, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "transfer", "nodeType": "MemberAccess", - "referencedDeclaration": 1336, + "referencedDeclaration": 1341, "src": "515:14:11", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", "typeString": "function (address,uint256) external returns (bool)" } }, - "id": 1394, + "id": 1399, "isConstant": false, "isLValue": false, "isPure": false, @@ -18552,21 +18607,21 @@ "typeString": "bool" } ], - "id": 1389, + "id": 1394, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1535, - 1536 + 1540, + 1541 ], - "referencedDeclaration": 1535, + "referencedDeclaration": 1540, "src": "507:7:11", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 1395, + "id": 1400, "isConstant": false, "isLValue": false, "isPure": false, @@ -18580,14 +18635,14 @@ "typeString": "tuple()" } }, - "id": 1396, + "id": 1401, "nodeType": "ExpressionStatement", "src": "507:34:11" } ] }, "documentation": null, - "id": 1398, + "id": 1403, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -18595,31 +18650,31 @@ "name": "safeTransfer", "nodeType": "FunctionDefinition", "parameters": { - "id": 1387, + "id": 1392, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1382, + "id": 1387, "name": "token", "nodeType": "VariableDeclaration", - "scope": 1398, + "scope": 1403, "src": "434:12:11", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$1373", + "typeIdentifier": "t_contract$_IERC20_$1378", "typeString": "contract IERC20" }, "typeName": { "contractScope": null, - "id": 1381, + "id": 1386, "name": "IERC20", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1373, + "referencedDeclaration": 1378, "src": "434:6:11", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$1373", + "typeIdentifier": "t_contract$_IERC20_$1378", "typeString": "contract IERC20" } }, @@ -18628,10 +18683,10 @@ }, { "constant": false, - "id": 1384, + "id": 1389, "name": "to", "nodeType": "VariableDeclaration", - "scope": 1398, + "scope": 1403, "src": "452:10:11", "stateVariable": false, "storageLocation": "default", @@ -18640,7 +18695,7 @@ "typeString": "address" }, "typeName": { - "id": 1383, + "id": 1388, "name": "address", "nodeType": "ElementaryTypeName", "src": "452:7:11", @@ -18654,10 +18709,10 @@ }, { "constant": false, - "id": 1386, + "id": 1391, "name": "value", "nodeType": "VariableDeclaration", - "scope": 1398, + "scope": 1403, "src": "468:13:11", "stateVariable": false, "storageLocation": "default", @@ -18666,7 +18721,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1385, + "id": 1390, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "468:7:11", @@ -18683,12 +18738,12 @@ }, "payable": false, "returnParameters": { - "id": 1388, + "id": 1393, "nodeType": "ParameterList", "parameters": [], "src": "501:0:11" }, - "scope": 1517, + "scope": 1522, "src": "407:139:11", "stateMutability": "nonpayable", "superFunction": null, @@ -18696,7 +18751,7 @@ }, { "body": { - "id": 1418, + "id": 1423, "nodeType": "Block", "src": "666:55:11", "statements": [ @@ -18709,11 +18764,11 @@ "arguments": [ { "argumentTypes": null, - "id": 1412, + "id": 1417, "name": "from", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1402, + "referencedDeclaration": 1407, "src": "699:4:11", "typeDescriptions": { "typeIdentifier": "t_address", @@ -18722,11 +18777,11 @@ }, { "argumentTypes": null, - "id": 1413, + "id": 1418, "name": "to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1404, + "referencedDeclaration": 1409, "src": "705:2:11", "typeDescriptions": { "typeIdentifier": "t_address", @@ -18735,11 +18790,11 @@ }, { "argumentTypes": null, - "id": 1414, + "id": 1419, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1406, + "referencedDeclaration": 1411, "src": "709:5:11", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -18764,32 +18819,32 @@ ], "expression": { "argumentTypes": null, - "id": 1410, + "id": 1415, "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1400, + "referencedDeclaration": 1405, "src": "680:5:11", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$1373", + "typeIdentifier": "t_contract$_IERC20_$1378", "typeString": "contract IERC20" } }, - "id": 1411, + "id": 1416, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "transferFrom", "nodeType": "MemberAccess", - "referencedDeclaration": 1356, + "referencedDeclaration": 1361, "src": "680:18:11", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", "typeString": "function (address,address,uint256) external returns (bool)" } }, - "id": 1415, + "id": 1420, "isConstant": false, "isLValue": false, "isPure": false, @@ -18811,21 +18866,21 @@ "typeString": "bool" } ], - "id": 1409, + "id": 1414, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1535, - 1536 + 1540, + 1541 ], - "referencedDeclaration": 1535, + "referencedDeclaration": 1540, "src": "672:7:11", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 1416, + "id": 1421, "isConstant": false, "isLValue": false, "isPure": false, @@ -18839,14 +18894,14 @@ "typeString": "tuple()" } }, - "id": 1417, + "id": 1422, "nodeType": "ExpressionStatement", "src": "672:44:11" } ] }, "documentation": null, - "id": 1419, + "id": 1424, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -18854,31 +18909,31 @@ "name": "safeTransferFrom", "nodeType": "FunctionDefinition", "parameters": { - "id": 1407, + "id": 1412, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1400, + "id": 1405, "name": "token", "nodeType": "VariableDeclaration", - "scope": 1419, + "scope": 1424, "src": "581:12:11", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$1373", + "typeIdentifier": "t_contract$_IERC20_$1378", "typeString": "contract IERC20" }, "typeName": { "contractScope": null, - "id": 1399, + "id": 1404, "name": "IERC20", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1373, + "referencedDeclaration": 1378, "src": "581:6:11", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$1373", + "typeIdentifier": "t_contract$_IERC20_$1378", "typeString": "contract IERC20" } }, @@ -18887,10 +18942,10 @@ }, { "constant": false, - "id": 1402, + "id": 1407, "name": "from", "nodeType": "VariableDeclaration", - "scope": 1419, + "scope": 1424, "src": "599:12:11", "stateVariable": false, "storageLocation": "default", @@ -18899,7 +18954,7 @@ "typeString": "address" }, "typeName": { - "id": 1401, + "id": 1406, "name": "address", "nodeType": "ElementaryTypeName", "src": "599:7:11", @@ -18913,10 +18968,10 @@ }, { "constant": false, - "id": 1404, + "id": 1409, "name": "to", "nodeType": "VariableDeclaration", - "scope": 1419, + "scope": 1424, "src": "617:10:11", "stateVariable": false, "storageLocation": "default", @@ -18925,7 +18980,7 @@ "typeString": "address" }, "typeName": { - "id": 1403, + "id": 1408, "name": "address", "nodeType": "ElementaryTypeName", "src": "617:7:11", @@ -18939,10 +18994,10 @@ }, { "constant": false, - "id": 1406, + "id": 1411, "name": "value", "nodeType": "VariableDeclaration", - "scope": 1419, + "scope": 1424, "src": "633:13:11", "stateVariable": false, "storageLocation": "default", @@ -18951,7 +19006,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1405, + "id": 1410, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "633:7:11", @@ -18968,12 +19023,12 @@ }, "payable": false, "returnParameters": { - "id": 1408, + "id": 1413, "nodeType": "ParameterList", "parameters": [], "src": "666:0:11" }, - "scope": 1517, + "scope": 1522, "src": "550:171:11", "stateMutability": "nonpayable", "superFunction": null, @@ -18981,7 +19036,7 @@ }, { "body": { - "id": 1453, + "id": 1458, "nodeType": "Block", "src": "823:330:11", "statements": [ @@ -18995,7 +19050,7 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 1442, + "id": 1447, "isConstant": false, "isLValue": false, "isPure": false, @@ -19009,18 +19064,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1431, + "id": 1436, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1429, + "id": 1434, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1425, + "referencedDeclaration": 1430, "src": "1045:5:11", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -19032,7 +19087,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 1430, + "id": 1435, "isConstant": false, "isLValue": false, "isPure": true, @@ -19054,7 +19109,7 @@ } } ], - "id": 1432, + "id": 1437, "isConstant": false, "isInlineArray": false, "isLValue": false, @@ -19078,7 +19133,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1440, + "id": 1445, "isConstant": false, "isLValue": false, "isPure": false, @@ -19090,18 +19145,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 1435, + "id": 1440, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1532, + "referencedDeclaration": 1537, "src": "1077:3:11", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 1436, + "id": 1441, "isConstant": false, "isLValue": false, "isPure": false, @@ -19117,11 +19172,11 @@ }, { "argumentTypes": null, - "id": 1437, + "id": 1442, "name": "spender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1423, + "referencedDeclaration": 1428, "src": "1089:7:11", "typeDescriptions": { "typeIdentifier": "t_address", @@ -19142,32 +19197,32 @@ ], "expression": { "argumentTypes": null, - "id": 1433, + "id": 1438, "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1421, + "referencedDeclaration": 1426, "src": "1061:5:11", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$1373", + "typeIdentifier": "t_contract$_IERC20_$1378", "typeString": "contract IERC20" } }, - "id": 1434, + "id": 1439, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "allowance", "nodeType": "MemberAccess", - "referencedDeclaration": 1327, + "referencedDeclaration": 1332, "src": "1061:15:11", "typeDescriptions": { "typeIdentifier": "t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$", "typeString": "function (address,address) view external returns (uint256)" } }, - "id": 1438, + "id": 1443, "isConstant": false, "isLValue": false, "isPure": false, @@ -19186,7 +19241,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 1439, + "id": 1444, "isConstant": false, "isLValue": false, "isPure": true, @@ -19208,7 +19263,7 @@ } } ], - "id": 1441, + "id": 1446, "isConstant": false, "isInlineArray": false, "isLValue": false, @@ -19235,21 +19290,21 @@ "typeString": "bool" } ], - "id": 1428, + "id": 1433, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1535, - 1536 + 1540, + 1541 ], - "referencedDeclaration": 1535, + "referencedDeclaration": 1540, "src": "1036:7:11", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 1443, + "id": 1448, "isConstant": false, "isLValue": false, "isPure": false, @@ -19263,7 +19318,7 @@ "typeString": "tuple()" } }, - "id": 1444, + "id": 1449, "nodeType": "ExpressionStatement", "src": "1036:68:11" }, @@ -19276,11 +19331,11 @@ "arguments": [ { "argumentTypes": null, - "id": 1448, + "id": 1453, "name": "spender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1423, + "referencedDeclaration": 1428, "src": "1132:7:11", "typeDescriptions": { "typeIdentifier": "t_address", @@ -19289,11 +19344,11 @@ }, { "argumentTypes": null, - "id": 1449, + "id": 1454, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1425, + "referencedDeclaration": 1430, "src": "1141:5:11", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -19314,32 +19369,32 @@ ], "expression": { "argumentTypes": null, - "id": 1446, + "id": 1451, "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1421, + "referencedDeclaration": 1426, "src": "1118:5:11", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$1373", + "typeIdentifier": "t_contract$_IERC20_$1378", "typeString": "contract IERC20" } }, - "id": 1447, + "id": 1452, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "approve", "nodeType": "MemberAccess", - "referencedDeclaration": 1345, + "referencedDeclaration": 1350, "src": "1118:13:11", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", "typeString": "function (address,uint256) external returns (bool)" } }, - "id": 1450, + "id": 1455, "isConstant": false, "isLValue": false, "isPure": false, @@ -19361,21 +19416,21 @@ "typeString": "bool" } ], - "id": 1445, + "id": 1450, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1535, - 1536 + 1540, + 1541 ], - "referencedDeclaration": 1535, + "referencedDeclaration": 1540, "src": "1110:7:11", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 1451, + "id": 1456, "isConstant": false, "isLValue": false, "isPure": false, @@ -19389,14 +19444,14 @@ "typeString": "tuple()" } }, - "id": 1452, + "id": 1457, "nodeType": "ExpressionStatement", "src": "1110:38:11" } ] }, "documentation": null, - "id": 1454, + "id": 1459, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -19404,31 +19459,31 @@ "name": "safeApprove", "nodeType": "FunctionDefinition", "parameters": { - "id": 1426, + "id": 1431, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1421, + "id": 1426, "name": "token", "nodeType": "VariableDeclaration", - "scope": 1454, + "scope": 1459, "src": "751:12:11", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$1373", + "typeIdentifier": "t_contract$_IERC20_$1378", "typeString": "contract IERC20" }, "typeName": { "contractScope": null, - "id": 1420, + "id": 1425, "name": "IERC20", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1373, + "referencedDeclaration": 1378, "src": "751:6:11", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$1373", + "typeIdentifier": "t_contract$_IERC20_$1378", "typeString": "contract IERC20" } }, @@ -19437,10 +19492,10 @@ }, { "constant": false, - "id": 1423, + "id": 1428, "name": "spender", "nodeType": "VariableDeclaration", - "scope": 1454, + "scope": 1459, "src": "769:15:11", "stateVariable": false, "storageLocation": "default", @@ -19449,7 +19504,7 @@ "typeString": "address" }, "typeName": { - "id": 1422, + "id": 1427, "name": "address", "nodeType": "ElementaryTypeName", "src": "769:7:11", @@ -19463,10 +19518,10 @@ }, { "constant": false, - "id": 1425, + "id": 1430, "name": "value", "nodeType": "VariableDeclaration", - "scope": 1454, + "scope": 1459, "src": "790:13:11", "stateVariable": false, "storageLocation": "default", @@ -19475,7 +19530,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1424, + "id": 1429, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "790:7:11", @@ -19492,12 +19547,12 @@ }, "payable": false, "returnParameters": { - "id": 1427, + "id": 1432, "nodeType": "ParameterList", "parameters": [], "src": "823:0:11" }, - "scope": 1517, + "scope": 1522, "src": "725:428:11", "stateMutability": "nonpayable", "superFunction": null, @@ -19505,21 +19560,21 @@ }, { "body": { - "id": 1484, + "id": 1489, "nodeType": "Block", "src": "1265:135:11", "statements": [ { "assignments": [ - 1464 + 1469 ], "declarations": [ { "constant": false, - "id": 1464, + "id": 1469, "name": "newAllowance", "nodeType": "VariableDeclaration", - "scope": 1485, + "scope": 1490, "src": "1271:20:11", "stateVariable": false, "storageLocation": "default", @@ -19528,7 +19583,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1463, + "id": 1468, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1271:7:11", @@ -19541,17 +19596,17 @@ "visibility": "internal" } ], - "id": 1475, + "id": 1480, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 1473, + "id": 1478, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1460, + "referencedDeclaration": 1465, "src": "1338:5:11", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -19574,14 +19629,14 @@ "arguments": [ { "argumentTypes": null, - "id": 1468, + "id": 1473, "name": "this", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1555, + "referencedDeclaration": 1560, "src": "1318:4:11", "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeERC20_$1517", + "typeIdentifier": "t_contract$_SafeERC20_$1522", "typeString": "library SafeERC20" } } @@ -19589,11 +19644,11 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_SafeERC20_$1517", + "typeIdentifier": "t_contract$_SafeERC20_$1522", "typeString": "library SafeERC20" } ], - "id": 1467, + "id": 1472, "isConstant": false, "isLValue": false, "isPure": true, @@ -19606,7 +19661,7 @@ }, "typeName": "address" }, - "id": 1469, + "id": 1474, "isConstant": false, "isLValue": false, "isPure": false, @@ -19622,11 +19677,11 @@ }, { "argumentTypes": null, - "id": 1470, + "id": 1475, "name": "spender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1458, + "referencedDeclaration": 1463, "src": "1325:7:11", "typeDescriptions": { "typeIdentifier": "t_address", @@ -19647,32 +19702,32 @@ ], "expression": { "argumentTypes": null, - "id": 1465, + "id": 1470, "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1456, + "referencedDeclaration": 1461, "src": "1294:5:11", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$1373", + "typeIdentifier": "t_contract$_IERC20_$1378", "typeString": "contract IERC20" } }, - "id": 1466, + "id": 1471, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "allowance", "nodeType": "MemberAccess", - "referencedDeclaration": 1327, + "referencedDeclaration": 1332, "src": "1294:15:11", "typeDescriptions": { "typeIdentifier": "t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$", "typeString": "function (address,address) view external returns (uint256)" } }, - "id": 1471, + "id": 1476, "isConstant": false, "isLValue": false, "isPure": false, @@ -19686,21 +19741,21 @@ "typeString": "uint256" } }, - "id": 1472, + "id": 1477, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "add", "nodeType": "MemberAccess", - "referencedDeclaration": 1283, + "referencedDeclaration": 1288, "src": "1294:43:11", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 1474, + "id": 1479, "isConstant": false, "isLValue": false, "isPure": false, @@ -19726,11 +19781,11 @@ "arguments": [ { "argumentTypes": null, - "id": 1479, + "id": 1484, "name": "spender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1458, + "referencedDeclaration": 1463, "src": "1372:7:11", "typeDescriptions": { "typeIdentifier": "t_address", @@ -19739,11 +19794,11 @@ }, { "argumentTypes": null, - "id": 1480, + "id": 1485, "name": "newAllowance", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1464, + "referencedDeclaration": 1469, "src": "1381:12:11", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -19764,32 +19819,32 @@ ], "expression": { "argumentTypes": null, - "id": 1477, + "id": 1482, "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1456, + "referencedDeclaration": 1461, "src": "1358:5:11", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$1373", + "typeIdentifier": "t_contract$_IERC20_$1378", "typeString": "contract IERC20" } }, - "id": 1478, + "id": 1483, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "approve", "nodeType": "MemberAccess", - "referencedDeclaration": 1345, + "referencedDeclaration": 1350, "src": "1358:13:11", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", "typeString": "function (address,uint256) external returns (bool)" } }, - "id": 1481, + "id": 1486, "isConstant": false, "isLValue": false, "isPure": false, @@ -19811,21 +19866,21 @@ "typeString": "bool" } ], - "id": 1476, + "id": 1481, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1535, - 1536 + 1540, + 1541 ], - "referencedDeclaration": 1535, + "referencedDeclaration": 1540, "src": "1350:7:11", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 1482, + "id": 1487, "isConstant": false, "isLValue": false, "isPure": false, @@ -19839,14 +19894,14 @@ "typeString": "tuple()" } }, - "id": 1483, + "id": 1488, "nodeType": "ExpressionStatement", "src": "1350:45:11" } ] }, "documentation": null, - "id": 1485, + "id": 1490, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -19854,31 +19909,31 @@ "name": "safeIncreaseAllowance", "nodeType": "FunctionDefinition", "parameters": { - "id": 1461, + "id": 1466, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1456, + "id": 1461, "name": "token", "nodeType": "VariableDeclaration", - "scope": 1485, + "scope": 1490, "src": "1193:12:11", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$1373", + "typeIdentifier": "t_contract$_IERC20_$1378", "typeString": "contract IERC20" }, "typeName": { "contractScope": null, - "id": 1455, + "id": 1460, "name": "IERC20", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1373, + "referencedDeclaration": 1378, "src": "1193:6:11", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$1373", + "typeIdentifier": "t_contract$_IERC20_$1378", "typeString": "contract IERC20" } }, @@ -19887,10 +19942,10 @@ }, { "constant": false, - "id": 1458, + "id": 1463, "name": "spender", "nodeType": "VariableDeclaration", - "scope": 1485, + "scope": 1490, "src": "1211:15:11", "stateVariable": false, "storageLocation": "default", @@ -19899,7 +19954,7 @@ "typeString": "address" }, "typeName": { - "id": 1457, + "id": 1462, "name": "address", "nodeType": "ElementaryTypeName", "src": "1211:7:11", @@ -19913,10 +19968,10 @@ }, { "constant": false, - "id": 1460, + "id": 1465, "name": "value", "nodeType": "VariableDeclaration", - "scope": 1485, + "scope": 1490, "src": "1232:13:11", "stateVariable": false, "storageLocation": "default", @@ -19925,7 +19980,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1459, + "id": 1464, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1232:7:11", @@ -19942,12 +19997,12 @@ }, "payable": false, "returnParameters": { - "id": 1462, + "id": 1467, "nodeType": "ParameterList", "parameters": [], "src": "1265:0:11" }, - "scope": 1517, + "scope": 1522, "src": "1157:243:11", "stateMutability": "nonpayable", "superFunction": null, @@ -19955,21 +20010,21 @@ }, { "body": { - "id": 1515, + "id": 1520, "nodeType": "Block", "src": "1512:135:11", "statements": [ { "assignments": [ - 1495 + 1500 ], "declarations": [ { "constant": false, - "id": 1495, + "id": 1500, "name": "newAllowance", "nodeType": "VariableDeclaration", - "scope": 1516, + "scope": 1521, "src": "1518:20:11", "stateVariable": false, "storageLocation": "default", @@ -19978,7 +20033,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1494, + "id": 1499, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1518:7:11", @@ -19991,17 +20046,17 @@ "visibility": "internal" } ], - "id": 1506, + "id": 1511, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 1504, + "id": 1509, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1491, + "referencedDeclaration": 1496, "src": "1585:5:11", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -20024,14 +20079,14 @@ "arguments": [ { "argumentTypes": null, - "id": 1499, + "id": 1504, "name": "this", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1555, + "referencedDeclaration": 1560, "src": "1565:4:11", "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeERC20_$1517", + "typeIdentifier": "t_contract$_SafeERC20_$1522", "typeString": "library SafeERC20" } } @@ -20039,11 +20094,11 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_SafeERC20_$1517", + "typeIdentifier": "t_contract$_SafeERC20_$1522", "typeString": "library SafeERC20" } ], - "id": 1498, + "id": 1503, "isConstant": false, "isLValue": false, "isPure": true, @@ -20056,7 +20111,7 @@ }, "typeName": "address" }, - "id": 1500, + "id": 1505, "isConstant": false, "isLValue": false, "isPure": false, @@ -20072,11 +20127,11 @@ }, { "argumentTypes": null, - "id": 1501, + "id": 1506, "name": "spender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1489, + "referencedDeclaration": 1494, "src": "1572:7:11", "typeDescriptions": { "typeIdentifier": "t_address", @@ -20097,32 +20152,32 @@ ], "expression": { "argumentTypes": null, - "id": 1496, + "id": 1501, "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1487, + "referencedDeclaration": 1492, "src": "1541:5:11", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$1373", + "typeIdentifier": "t_contract$_IERC20_$1378", "typeString": "contract IERC20" } }, - "id": 1497, + "id": 1502, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "allowance", "nodeType": "MemberAccess", - "referencedDeclaration": 1327, + "referencedDeclaration": 1332, "src": "1541:15:11", "typeDescriptions": { "typeIdentifier": "t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$", "typeString": "function (address,address) view external returns (uint256)" } }, - "id": 1502, + "id": 1507, "isConstant": false, "isLValue": false, "isPure": false, @@ -20136,21 +20191,21 @@ "typeString": "uint256" } }, - "id": 1503, + "id": 1508, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sub", "nodeType": "MemberAccess", - "referencedDeclaration": 1259, + "referencedDeclaration": 1264, "src": "1541:43:11", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 1505, + "id": 1510, "isConstant": false, "isLValue": false, "isPure": false, @@ -20176,11 +20231,11 @@ "arguments": [ { "argumentTypes": null, - "id": 1510, + "id": 1515, "name": "spender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1489, + "referencedDeclaration": 1494, "src": "1619:7:11", "typeDescriptions": { "typeIdentifier": "t_address", @@ -20189,11 +20244,11 @@ }, { "argumentTypes": null, - "id": 1511, + "id": 1516, "name": "newAllowance", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1495, + "referencedDeclaration": 1500, "src": "1628:12:11", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -20214,32 +20269,32 @@ ], "expression": { "argumentTypes": null, - "id": 1508, + "id": 1513, "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1487, + "referencedDeclaration": 1492, "src": "1605:5:11", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$1373", + "typeIdentifier": "t_contract$_IERC20_$1378", "typeString": "contract IERC20" } }, - "id": 1509, + "id": 1514, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "approve", "nodeType": "MemberAccess", - "referencedDeclaration": 1345, + "referencedDeclaration": 1350, "src": "1605:13:11", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", "typeString": "function (address,uint256) external returns (bool)" } }, - "id": 1512, + "id": 1517, "isConstant": false, "isLValue": false, "isPure": false, @@ -20261,21 +20316,21 @@ "typeString": "bool" } ], - "id": 1507, + "id": 1512, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1535, - 1536 + 1540, + 1541 ], - "referencedDeclaration": 1535, + "referencedDeclaration": 1540, "src": "1597:7:11", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 1513, + "id": 1518, "isConstant": false, "isLValue": false, "isPure": false, @@ -20289,14 +20344,14 @@ "typeString": "tuple()" } }, - "id": 1514, + "id": 1519, "nodeType": "ExpressionStatement", "src": "1597:45:11" } ] }, "documentation": null, - "id": 1516, + "id": 1521, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -20304,31 +20359,31 @@ "name": "safeDecreaseAllowance", "nodeType": "FunctionDefinition", "parameters": { - "id": 1492, + "id": 1497, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1487, + "id": 1492, "name": "token", "nodeType": "VariableDeclaration", - "scope": 1516, + "scope": 1521, "src": "1440:12:11", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$1373", + "typeIdentifier": "t_contract$_IERC20_$1378", "typeString": "contract IERC20" }, "typeName": { "contractScope": null, - "id": 1486, + "id": 1491, "name": "IERC20", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1373, + "referencedDeclaration": 1378, "src": "1440:6:11", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$1373", + "typeIdentifier": "t_contract$_IERC20_$1378", "typeString": "contract IERC20" } }, @@ -20337,10 +20392,10 @@ }, { "constant": false, - "id": 1489, + "id": 1494, "name": "spender", "nodeType": "VariableDeclaration", - "scope": 1516, + "scope": 1521, "src": "1458:15:11", "stateVariable": false, "storageLocation": "default", @@ -20349,7 +20404,7 @@ "typeString": "address" }, "typeName": { - "id": 1488, + "id": 1493, "name": "address", "nodeType": "ElementaryTypeName", "src": "1458:7:11", @@ -20363,10 +20418,10 @@ }, { "constant": false, - "id": 1491, + "id": 1496, "name": "value", "nodeType": "VariableDeclaration", - "scope": 1516, + "scope": 1521, "src": "1479:13:11", "stateVariable": false, "storageLocation": "default", @@ -20375,7 +20430,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1490, + "id": 1495, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1479:7:11", @@ -20392,19 +20447,19 @@ }, "payable": false, "returnParameters": { - "id": 1493, + "id": 1498, "nodeType": "ParameterList", "parameters": [], "src": "1512:0:11" }, - "scope": 1517, + "scope": 1522, "src": "1404:243:11", "stateMutability": "nonpayable", "superFunction": null, "visibility": "internal" } ], - "scope": 1518, + "scope": 1523, "src": "353:1296:11" } ], diff --git a/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/bin/AlgoMiner.abi b/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/bin/AlgoMiner.abi index 3e4826eae..8f3d1e3d2 100644 --- a/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/bin/AlgoMiner.abi +++ b/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/bin/AlgoMiner.abi @@ -1 +1 @@ -[{"constant":false,"inputs":[],"name":"terminate","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"pauseMining","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"isAlgoMiner","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"pure","type":"function"},{"constant":true,"inputs":[],"name":"isMining","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"startMining","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"newMinerAddress","type":"address"}],"name":"migrateMiner","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"account","type":"address"}],"name":"addSupervisor","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"account","type":"address"}],"name":"addCoreTeam","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"getMiner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"getReferral","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"account","type":"address"}],"name":"isSystem","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"stopAndRemoveOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"getCurrentDay","outputs":[{"name":"","type":"uint16"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"resumeMining","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"getMinerType","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"account","type":"address"}],"name":"isCoreTeam","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"account","type":"address"}],"name":"addSystem","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"getCategory","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"account","type":"address"}],"name":"isSupervisor","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"newOwnerAddress","type":"address"},{"name":"newReferralAddress","type":"address"}],"name":"resetMiner","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"mine","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"deactivateMiner","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"activateMiner","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"renounceSupervisor","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"DAYS_PER_YEAR","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"getCurrentYearSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"getCurrentYear","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"renounceCoreTeam","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"stopMining","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"renounceSystem","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[{"name":"minerType","type":"uint8"},{"name":"category","type":"uint8"},{"name":"minerAccountAddress","type":"address"},{"name":"referralAccountAddress","type":"address"},{"name":"tokenAddress","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"}] \ No newline at end of file +[{"constant":false,"inputs":[],"name":"terminate","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"pauseMining","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"isAlgoMiner","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"pure","type":"function"},{"constant":true,"inputs":[],"name":"isMining","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"startMining","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"newMinerAddress","type":"address"}],"name":"migrateMiner","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"account","type":"address"}],"name":"addSupervisor","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"account","type":"address"}],"name":"addCoreTeam","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"getMiner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"getReferral","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"account","type":"address"}],"name":"isSystem","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"stopAndRemoveOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"getCurrentDay","outputs":[{"name":"","type":"uint16"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"resumeMining","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"getMinerType","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"account","type":"address"}],"name":"isCoreTeam","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"account","type":"address"}],"name":"addSystem","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"getCategory","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"account","type":"address"}],"name":"isSupervisor","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"newOwnerAddress","type":"address"},{"name":"newReferralAddress","type":"address"}],"name":"resetMiner","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"mine","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"deactivateMiner","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"activateMiner","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"renounceSupervisor","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"getCurrentYearSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"getCurrentYear","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"renounceCoreTeam","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"stopMining","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"renounceSystem","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[{"name":"minerType","type":"uint8"},{"name":"category","type":"uint8"},{"name":"minerAccountAddress","type":"address"},{"name":"referralAccountAddress","type":"address"},{"name":"tokenAddress","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"}] \ No newline at end of file diff --git a/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/bin/AlgoMiner.bin b/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/bin/AlgoMiner.bin index 1b1c9971d..a36c0e042 100644 --- a/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/bin/AlgoMiner.bin +++ b/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/bin/AlgoMiner.bin @@ -1 +1 @@ -60806040523480156200001157600080fd5b5060405160a080620014f7833981016040908152815160208301519183015160608401516080909401516000805433600160a060020a0319918216811760a060020a60ff02191690925560018054909116600160a060020a0384161790559294919262000087906401000000006200018e810204565b6200009b33640100000000620001ac810204565b620000af33640100000000620001c7810204565b60008460ff1610158015620000c8575060058460ff1611155b1515620000d457600080fd5b600160a060020a0383161515620000ea57600080fd5b6000856001811115620000f957fe5b14156200011657600160a060020a03821615156200011657600080fd5b6005805486919060ff1916600183818111156200012f57fe5b0217905550506005805461ff00191661010060ff9590951694909402939093176201000060b060020a03191662010000600160a060020a03938416021790925560068054600160a060020a031916929091169190911790555062000275565b620001a9600282640100000000620011ac620001e282021704565b50565b620001a9600382640100000000620011ac620001e282021704565b620001a9600482640100000000620011ac620001e282021704565b600160a060020a0381161515620001f857600080fd5b6200020d82826401000000006200023d810204565b156200021857600080fd5b600160a060020a0316600090815260209190915260409020805460ff19166001179055565b6000600160a060020a03821615156200025557600080fd5b50600160a060020a03166000908152602091909152604090205460ff1690565b61127280620002856000396000f30060806040526004361061017f5763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416630c08bf888114610184578063162f986d1461019b5780631777fb4b146101b057806319a74ab3146101d957806321b79d98146101ee578063231d4e2a1461020357806329d10b6e146102245780632e6b684914610245578063302c11ca14610266578063329b1c921461029757806334cdcf26146102ac578063363aa6c7146102cd5780633e6968b6146102e2578063427534a41461030e5780634969ae7014610323578063608d3d3d1461034e57806374be75921461036f57806380258e471461039057806381a24459146103a55780638329138f146103c657806399f4b251146103ed5780639e614ca014610402578063b2a32cd514610417578063be9524941461042c578063c6846ef814610441578063cdfd0f6414610468578063ce41607a1461047d578063d43acc7914610492578063da408679146104a7578063e9d61859146104bc575b600080fd5b34801561019057600080fd5b506101996104d1565b005b3480156101a757600080fd5b506101996104ef565b3480156101bc57600080fd5b506101c561055e565b604080519115158252519081900360200190f35b3480156101e557600080fd5b506101c5610563565b3480156101fa57600080fd5b5061019961059a565b34801561020f57600080fd5b50610199600160a060020a0360043516610630565b34801561023057600080fd5b50610199600160a060020a036004351661071c565b34801561025157600080fd5b50610199600160a060020a0360043516610739565b34801561027257600080fd5b5061027b610756565b60408051600160a060020a039092168252519081900360200190f35b3480156102a357600080fd5b5061027b61076b565b3480156102b857600080fd5b506101c5600160a060020a036004351661077a565b3480156102d957600080fd5b50610199610795565b3480156102ee57600080fd5b506102f7610846565b6040805161ffff9092168252519081900360200190f35b34801561031a57600080fd5b50610199610857565b34801561032f57600080fd5b506103386108c3565b6040805160ff9092168252519081900360200190f35b34801561035a57600080fd5b506101c5600160a060020a03600435166108d7565b34801561037b57600080fd5b50610199600160a060020a03600435166108ea565b34801561039c57600080fd5b50610338610907565b3480156103b157600080fd5b506101c5600160a060020a0360043516610915565b3480156103d257600080fd5b50610199600160a060020a0360043581169060243516610928565b3480156103f957600080fd5b506101996109db565b34801561040e57600080fd5b50610199610c1c565b34801561042357600080fd5b50610199610c8d565b34801561043857600080fd5b50610199610deb565b34801561044d57600080fd5b50610456610df4565b60408051918252519081900360200190f35b34801561047457600080fd5b50610456610dfa565b34801561048957600080fd5b50610338610e00565b34801561049e57600080fd5b50610199610e23565b3480156104b357600080fd5b50610199610e2c565b3480156104c857600080fd5b50610199610ebd565b6104da336108d7565b15156104e557600080fd5b6104ed610ec6565b565b60005460a060020a900460ff161561050657600080fd5b61050f33610915565b151561051a57600080fd5b600160065460a060020a900460ff16600381111561053457fe5b1461053e57600080fd5b600680546002919060a060020a60ff02191660a060020a835b0217905550565b600190565b6000600160065460a060020a900460ff16600381111561057f57fe5b148015610595575060065460a860020a900460ff165b905090565b60005460a060020a900460ff16156105b157600080fd5b600554620100009004600160a060020a031633146105ce57600080fd5b600160065460a060020a900460ff1660038111156105e857fe5b146105f257600080fd5b60065460a860020a900460ff161561060957600080fd5b6006805475ff000000000000000000000000000000000000000000191660a860020a179055565b610639336108d7565b151561064457600080fd5b600060065460a060020a900460ff16600381111561065e57fe5b1461066857600080fd5b600154604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051610719928492600160a060020a03909116916370a08231916024808201926020929091908290030181600087803b1580156106d457600080fd5b505af11580156106e8573d6000803e3d6000fd5b505050506040513d60208110156106fe57600080fd5b5051600154600160a060020a0316919063ffffffff610f8d16565b50565b61072533610915565b151561073057600080fd5b61071981611045565b610742336108d7565b151561074d57600080fd5b61071981611056565b600554620100009004600160a060020a031690565b600654600160a060020a031690565b600061078d60028363ffffffff61106716565b90505b919050565b60005460a060020a900460ff16156107ac57600080fd5b6107b533610915565b15156107c057600080fd5b600360065460a060020a900460ff1660038111156107da57fe5b14156107e557600080fd5b600680546005805475ffffffffffffffffffffffffffffffffffffffff00001916905560a060020a60ff021916740300000000000000000000000000000000000000001775ff00ffffffffffffffffffffffffffffffffffffffff19169055565b60065460b860020a900461ffff1690565b60005460a060020a900460ff161561086e57600080fd5b61087733610915565b151561088257600080fd5b600260065460a060020a900460ff16600381111561089c57fe5b146108a657600080fd5b600680546001919060a060020a60ff02191660a060020a83610557565b60055460009060ff16600181111561059557fe5b600061078d60038363ffffffff61106716565b6108f33361077a565b15156108fe57600080fd5b6107198161109e565b600554610100900460ff1690565b600061078d60048363ffffffff61106716565b60005460a060020a900460ff161561093f57600080fd5b61094833610915565b151561095357600080fd5b600360065460a060020a900460ff16600381111561096d57fe5b1461097757600080fd5b600680546005805475ffffffffffffffffffffffffffffffffffffffff0000191662010000600160a060020a039687160217905560a060020a60ff02191660a060020a1773ffffffffffffffffffffffffffffffffffffffff191691909216179055565b60008054819060a060020a900460ff16156109f557600080fd5b6109fe3361077a565b1515610a0957600080fd5b600060055460ff166001811115610a1c57fe5b14610a2657600080fd5b600160065460a060020a900460ff166003811115610a4057fe5b14610a4a57600080fd5b60065460a860020a900460ff161515610a6257600080fd5b60065460b860020a900461ffff161515610ad8576006805478ffff00000000000000000000000000000000000000000000001976ff0000000000000000000000000000000000000000000019909116760100000000000000000000000000000000000000000000171660b860020a179055610ba0565b60068054600161ffff60b860020a8084048216929092018116820278ffff00000000000000000000000000000000000000000000001990931692909217928390559091041661016e1415610ba0576006805478ffff000000000000000000000000000000000000000000000019600160ff760100000000000000000000000000000000000000000000808504821692909201160276ff0000000000000000000000000000000000000000000019909216919091171660b860020a179055600754600290046007555b505060075461016d90046064600a82020460008211610bbe57600080fd5b60008111610bcb57600080fd5b600554600154610bf591600160a060020a039182169162010000909104168463ffffffff610f8d16565b600654600154610c1891600160a060020a0391821691168363ffffffff610f8d16565b5050565b60005460a060020a900460ff1615610c3357600080fd5b610c3c336108d7565b1515610c4757600080fd5b600060065460a060020a900460ff166003811115610c6157fe5b1415610c6c57600080fd5b6006805475ffff000000000000000000000000000000000000000019169055565b600080548190819060a060020a900460ff1615610ca957600080fd5b610cb2336108d7565b1515610cbd57600080fd5b600060065460a060020a900460ff166003811115610cd757fe5b14610ce157600080fd5b600060055460ff166001811115610cf457fe5b148015610d015750600754155b15610dd057600554610d1a90610100900460ff166110af565b92506064600a8402600154604080517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015290519390920486019450600160a060020a0316916370a08231916024808201926020929091908290030181600087803b158015610d8e57600080fd5b505af1158015610da2573d6000803e3d6000fd5b505050506040513d6020811015610db857600080fd5b50519050818114610dc857600080fd5b600283046007555b50506006805460a060020a60ff02191660a060020a17905550565b6104ed33611161565b61016d81565b60075490565b600654760100000000000000000000000000000000000000000000900460ff1690565b6104ed33611172565b60005460a060020a900460ff1615610e4357600080fd5b600554620100009004600160a060020a03163314610e6057600080fd5b600160065460a060020a900460ff166003811115610e7a57fe5b14610e8457600080fd5b60065460a860020a900460ff161515610e9c57600080fd5b6006805475ff00000000000000000000000000000000000000000019169055565b6104ed33611183565b600154604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051600092600160a060020a0316916370a0823191602480830192602092919082900301818787803b158015610f2b57600080fd5b505af1158015610f3f573d6000803e3d6000fd5b505050506040513d6020811015610f5557600080fd5b505190506000811115610f8557600054600154610f8591600160a060020a0391821691168363ffffffff610f8d16565b610719611194565b82600160a060020a031663a9059cbb83836040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083600160a060020a0316600160a060020a0316815260200182815260200192505050602060405180830381600087803b15801561100957600080fd5b505af115801561101d573d6000803e3d6000fd5b505050506040513d602081101561103357600080fd5b5051151561104057600080fd5b505050565b61071960048263ffffffff6111ac16565b61071960038263ffffffff6111ac16565b6000600160a060020a038216151561107e57600080fd5b50600160a060020a03166000908152602091909152604090205460ff1690565b61071960028263ffffffff6111ac16565b600060ff821615156110cc575069152d02c7e14af6800000610790565b8160ff16600114156110e9575069d3c21bcecceda1000000610790565b8160ff166002141561110757506a01a784379d99db42000000610790565b8160ff166003141561112557506a027b46536c66c8e3000000610790565b8160ff166004141561114357506a034f086f3b33b684000000610790565b8160ff166005141561079057506a0422ca8b0a00a425000000610790565b61071960048263ffffffff6111fa16565b61071960038263ffffffff6111fa16565b61071960028263ffffffff6111fa16565b6000805460a060020a60ff02191660a060020a179055565b600160a060020a03811615156111c157600080fd5b6111cb8282611067565b156111d557600080fd5b600160a060020a0316600090815260209190915260409020805460ff19166001179055565b600160a060020a038116151561120f57600080fd5b6112198282611067565b151561122457600080fd5b600160a060020a0316600090815260209190915260409020805460ff191690555600a165627a7a723058205f527260d789022d74031e68eb390ff4f3057e6fce4f2adde7c12af38948fde60029 \ No newline at end of file +60806040523480156200001157600080fd5b5060405160a080620014d1833981016040908152815160208301519183015160608401516080909401516000805433600160a060020a0319918216811760a060020a60ff02191690925560018054909116600160a060020a0384161790559294919262000087906401000000006200018e810204565b6200009b33640100000000620001ac810204565b620000af33640100000000620001c7810204565b60008460ff1610158015620000c8575060058460ff1611155b1515620000d457600080fd5b600160a060020a0383161515620000ea57600080fd5b6000856001811115620000f957fe5b14156200011657600160a060020a03821615156200011657600080fd5b6005805486919060ff1916600183818111156200012f57fe5b0217905550506005805461ff00191661010060ff9590951694909402939093176201000060b060020a03191662010000600160a060020a03938416021790925560068054600160a060020a031916929091169190911790555062000275565b620001a960028264010000000062001186620001e282021704565b50565b620001a960038264010000000062001186620001e282021704565b620001a960048264010000000062001186620001e282021704565b600160a060020a0381161515620001f857600080fd5b6200020d82826401000000006200023d810204565b156200021857600080fd5b600160a060020a0316600090815260209190915260409020805460ff19166001179055565b6000600160a060020a03821615156200025557600080fd5b50600160a060020a03166000908152602091909152604090205460ff1690565b61124c80620002856000396000f3006080604052600436106101745763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416630c08bf888114610179578063162f986d146101905780631777fb4b146101a557806319a74ab3146101ce57806321b79d98146101e3578063231d4e2a146101f857806329d10b6e146102195780632e6b68491461023a578063302c11ca1461025b578063329b1c921461028c57806334cdcf26146102a1578063363aa6c7146102c25780633e6968b6146102d7578063427534a4146103035780634969ae7014610318578063608d3d3d1461034357806374be75921461036457806380258e471461038557806381a244591461039a5780638329138f146103bb57806399f4b251146103e25780639e614ca0146103f7578063b2a32cd51461040c578063be95249414610421578063cdfd0f6414610436578063ce41607a1461045d578063d43acc7914610472578063da40867914610487578063e9d618591461049c575b600080fd5b34801561018557600080fd5b5061018e6104b1565b005b34801561019c57600080fd5b5061018e6104cf565b3480156101b157600080fd5b506101ba61053e565b604080519115158252519081900360200190f35b3480156101da57600080fd5b506101ba610543565b3480156101ef57600080fd5b5061018e61057a565b34801561020457600080fd5b5061018e600160a060020a0360043516610610565b34801561022557600080fd5b5061018e600160a060020a03600435166106fc565b34801561024657600080fd5b5061018e600160a060020a0360043516610719565b34801561026757600080fd5b50610270610736565b60408051600160a060020a039092168252519081900360200190f35b34801561029857600080fd5b5061027061074b565b3480156102ad57600080fd5b506101ba600160a060020a036004351661075a565b3480156102ce57600080fd5b5061018e610775565b3480156102e357600080fd5b506102ec610826565b6040805161ffff9092168252519081900360200190f35b34801561030f57600080fd5b5061018e610837565b34801561032457600080fd5b5061032d6108a3565b6040805160ff9092168252519081900360200190f35b34801561034f57600080fd5b506101ba600160a060020a03600435166108b7565b34801561037057600080fd5b5061018e600160a060020a03600435166108ca565b34801561039157600080fd5b5061032d6108e7565b3480156103a657600080fd5b506101ba600160a060020a03600435166108f5565b3480156103c757600080fd5b5061018e600160a060020a0360043581169060243516610908565b3480156103ee57600080fd5b5061018e6109bb565b34801561040357600080fd5b5061018e610bfc565b34801561041857600080fd5b5061018e610c6d565b34801561042d57600080fd5b5061018e610dcb565b34801561044257600080fd5b5061044b610dd4565b60408051918252519081900360200190f35b34801561046957600080fd5b5061032d610dda565b34801561047e57600080fd5b5061018e610dfd565b34801561049357600080fd5b5061018e610e06565b3480156104a857600080fd5b5061018e610e97565b6104ba336108b7565b15156104c557600080fd5b6104cd610ea0565b565b60005460a060020a900460ff16156104e657600080fd5b6104ef336108f5565b15156104fa57600080fd5b600160065460a060020a900460ff16600381111561051457fe5b1461051e57600080fd5b600680546002919060a060020a60ff02191660a060020a835b0217905550565b600190565b6000600160065460a060020a900460ff16600381111561055f57fe5b148015610575575060065460a860020a900460ff165b905090565b60005460a060020a900460ff161561059157600080fd5b600554620100009004600160a060020a031633146105ae57600080fd5b600160065460a060020a900460ff1660038111156105c857fe5b146105d257600080fd5b60065460a860020a900460ff16156105e957600080fd5b6006805475ff000000000000000000000000000000000000000000191660a860020a179055565b610619336108b7565b151561062457600080fd5b600060065460a060020a900460ff16600381111561063e57fe5b1461064857600080fd5b600154604080517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015290516106f9928492600160a060020a03909116916370a08231916024808201926020929091908290030181600087803b1580156106b457600080fd5b505af11580156106c8573d6000803e3d6000fd5b505050506040513d60208110156106de57600080fd5b5051600154600160a060020a0316919063ffffffff610f6716565b50565b610705336108f5565b151561071057600080fd5b6106f98161101f565b610722336108b7565b151561072d57600080fd5b6106f981611030565b600554620100009004600160a060020a031690565b600654600160a060020a031690565b600061076d60028363ffffffff61104116565b90505b919050565b60005460a060020a900460ff161561078c57600080fd5b610795336108f5565b15156107a057600080fd5b600360065460a060020a900460ff1660038111156107ba57fe5b14156107c557600080fd5b600680546005805475ffffffffffffffffffffffffffffffffffffffff00001916905560a060020a60ff021916740300000000000000000000000000000000000000001775ff00ffffffffffffffffffffffffffffffffffffffff19169055565b60065460b860020a900461ffff1690565b60005460a060020a900460ff161561084e57600080fd5b610857336108f5565b151561086257600080fd5b600260065460a060020a900460ff16600381111561087c57fe5b1461088657600080fd5b600680546001919060a060020a60ff02191660a060020a83610537565b60055460009060ff16600181111561057557fe5b600061076d60038363ffffffff61104116565b6108d33361075a565b15156108de57600080fd5b6106f981611078565b600554610100900460ff1690565b600061076d60048363ffffffff61104116565b60005460a060020a900460ff161561091f57600080fd5b610928336108f5565b151561093357600080fd5b600360065460a060020a900460ff16600381111561094d57fe5b1461095757600080fd5b600680546005805475ffffffffffffffffffffffffffffffffffffffff0000191662010000600160a060020a039687160217905560a060020a60ff02191660a060020a1773ffffffffffffffffffffffffffffffffffffffff191691909216179055565b60008054819060a060020a900460ff16156109d557600080fd5b6109de3361075a565b15156109e957600080fd5b600060055460ff1660018111156109fc57fe5b14610a0657600080fd5b600160065460a060020a900460ff166003811115610a2057fe5b14610a2a57600080fd5b60065460a860020a900460ff161515610a4257600080fd5b60065460b860020a900461ffff161515610ab8576006805478ffff00000000000000000000000000000000000000000000001976ff0000000000000000000000000000000000000000000019909116760100000000000000000000000000000000000000000000171660b860020a179055610b80565b60068054600161ffff60b860020a8084048216929092018116820278ffff00000000000000000000000000000000000000000000001990931692909217928390559091041661016e1415610b80576006805478ffff000000000000000000000000000000000000000000000019600160ff760100000000000000000000000000000000000000000000808504821692909201160276ff0000000000000000000000000000000000000000000019909216919091171660b860020a179055600754600290046007555b505060075461016d90046064600a82020460008211610b9e57600080fd5b60008111610bab57600080fd5b600554600154610bd591600160a060020a039182169162010000909104168463ffffffff610f6716565b600654600154610bf891600160a060020a0391821691168363ffffffff610f6716565b5050565b60005460a060020a900460ff1615610c1357600080fd5b610c1c336108b7565b1515610c2757600080fd5b600060065460a060020a900460ff166003811115610c4157fe5b1415610c4c57600080fd5b6006805475ffff000000000000000000000000000000000000000019169055565b600080548190819060a060020a900460ff1615610c8957600080fd5b610c92336108b7565b1515610c9d57600080fd5b600060065460a060020a900460ff166003811115610cb757fe5b14610cc157600080fd5b600060055460ff166001811115610cd457fe5b148015610ce15750600754155b15610db057600554610cfa90610100900460ff16611089565b92506064600a8402600154604080517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015290519390920486019450600160a060020a0316916370a08231916024808201926020929091908290030181600087803b158015610d6e57600080fd5b505af1158015610d82573d6000803e3d6000fd5b505050506040513d6020811015610d9857600080fd5b50519050818114610da857600080fd5b600283046007555b50506006805460a060020a60ff02191660a060020a17905550565b6104cd3361113b565b60075490565b600654760100000000000000000000000000000000000000000000900460ff1690565b6104cd3361114c565b60005460a060020a900460ff1615610e1d57600080fd5b600554620100009004600160a060020a03163314610e3a57600080fd5b600160065460a060020a900460ff166003811115610e5457fe5b14610e5e57600080fd5b60065460a860020a900460ff161515610e7657600080fd5b6006805475ff00000000000000000000000000000000000000000019169055565b6104cd3361115d565b600154604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051600092600160a060020a0316916370a0823191602480830192602092919082900301818787803b158015610f0557600080fd5b505af1158015610f19573d6000803e3d6000fd5b505050506040513d6020811015610f2f57600080fd5b505190506000811115610f5f57600054600154610f5f91600160a060020a0391821691168363ffffffff610f6716565b6106f961116e565b82600160a060020a031663a9059cbb83836040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083600160a060020a0316600160a060020a0316815260200182815260200192505050602060405180830381600087803b158015610fe357600080fd5b505af1158015610ff7573d6000803e3d6000fd5b505050506040513d602081101561100d57600080fd5b5051151561101a57600080fd5b505050565b6106f960048263ffffffff61118616565b6106f960038263ffffffff61118616565b6000600160a060020a038216151561105857600080fd5b50600160a060020a03166000908152602091909152604090205460ff1690565b6106f960028263ffffffff61118616565b600060ff821615156110a6575069152d02c7e14af6800000610770565b8160ff16600114156110c3575069d3c21bcecceda1000000610770565b8160ff16600214156110e157506a01a784379d99db42000000610770565b8160ff16600314156110ff57506a027b46536c66c8e3000000610770565b8160ff166004141561111d57506a034f086f3b33b684000000610770565b8160ff166005141561077057506a0422ca8b0a00a425000000610770565b6106f960048263ffffffff6111d416565b6106f960038263ffffffff6111d416565b6106f960028263ffffffff6111d416565b6000805460a060020a60ff02191660a060020a179055565b600160a060020a038116151561119b57600080fd5b6111a58282611041565b156111af57600080fd5b600160a060020a0316600090815260209190915260409020805460ff19166001179055565b600160a060020a03811615156111e957600080fd5b6111f38282611041565b15156111fe57600080fd5b600160a060020a0316600090815260209190915260409020805460ff191690555600a165627a7a723058202935a8fadd5caa8f5a9312cd903c07814b3de5662642cabdc9018c364221db570029 \ No newline at end of file diff --git a/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/bin/AlgoMiner.json b/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/bin/AlgoMiner.json index dd71448e2..8cf00d50a 100644 --- a/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/bin/AlgoMiner.json +++ b/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/bin/AlgoMiner.json @@ -310,20 +310,6 @@ "stateMutability": "nonpayable", "type": "function" }, - { - "constant": true, - "inputs": [], - "name": "DAYS_PER_YEAR", - "outputs": [ - { - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, { "constant": true, "inputs": [], @@ -407,9 +393,8 @@ "type": "constructor" } ], - "bytecode": "60806040523480156200001157600080fd5b5060405160a080620014f7833981016040908152815160208301519183015160608401516080909401516000805433600160a060020a0319918216811760a060020a60ff02191690925560018054909116600160a060020a0384161790559294919262000087906401000000006200018e810204565b6200009b33640100000000620001ac810204565b620000af33640100000000620001c7810204565b60008460ff1610158015620000c8575060058460ff1611155b1515620000d457600080fd5b600160a060020a0383161515620000ea57600080fd5b6000856001811115620000f957fe5b14156200011657600160a060020a03821615156200011657600080fd5b6005805486919060ff1916600183818111156200012f57fe5b0217905550506005805461ff00191661010060ff9590951694909402939093176201000060b060020a03191662010000600160a060020a03938416021790925560068054600160a060020a031916929091169190911790555062000275565b620001a9600282640100000000620011ac620001e282021704565b50565b620001a9600382640100000000620011ac620001e282021704565b620001a9600482640100000000620011ac620001e282021704565b600160a060020a0381161515620001f857600080fd5b6200020d82826401000000006200023d810204565b156200021857600080fd5b600160a060020a0316600090815260209190915260409020805460ff19166001179055565b6000600160a060020a03821615156200025557600080fd5b50600160a060020a03166000908152602091909152604090205460ff1690565b61127280620002856000396000f30060806040526004361061017f5763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416630c08bf888114610184578063162f986d1461019b5780631777fb4b146101b057806319a74ab3146101d957806321b79d98146101ee578063231d4e2a1461020357806329d10b6e146102245780632e6b684914610245578063302c11ca14610266578063329b1c921461029757806334cdcf26146102ac578063363aa6c7146102cd5780633e6968b6146102e2578063427534a41461030e5780634969ae7014610323578063608d3d3d1461034e57806374be75921461036f57806380258e471461039057806381a24459146103a55780638329138f146103c657806399f4b251146103ed5780639e614ca014610402578063b2a32cd514610417578063be9524941461042c578063c6846ef814610441578063cdfd0f6414610468578063ce41607a1461047d578063d43acc7914610492578063da408679146104a7578063e9d61859146104bc575b600080fd5b34801561019057600080fd5b506101996104d1565b005b3480156101a757600080fd5b506101996104ef565b3480156101bc57600080fd5b506101c561055e565b604080519115158252519081900360200190f35b3480156101e557600080fd5b506101c5610563565b3480156101fa57600080fd5b5061019961059a565b34801561020f57600080fd5b50610199600160a060020a0360043516610630565b34801561023057600080fd5b50610199600160a060020a036004351661071c565b34801561025157600080fd5b50610199600160a060020a0360043516610739565b34801561027257600080fd5b5061027b610756565b60408051600160a060020a039092168252519081900360200190f35b3480156102a357600080fd5b5061027b61076b565b3480156102b857600080fd5b506101c5600160a060020a036004351661077a565b3480156102d957600080fd5b50610199610795565b3480156102ee57600080fd5b506102f7610846565b6040805161ffff9092168252519081900360200190f35b34801561031a57600080fd5b50610199610857565b34801561032f57600080fd5b506103386108c3565b6040805160ff9092168252519081900360200190f35b34801561035a57600080fd5b506101c5600160a060020a03600435166108d7565b34801561037b57600080fd5b50610199600160a060020a03600435166108ea565b34801561039c57600080fd5b50610338610907565b3480156103b157600080fd5b506101c5600160a060020a0360043516610915565b3480156103d257600080fd5b50610199600160a060020a0360043581169060243516610928565b3480156103f957600080fd5b506101996109db565b34801561040e57600080fd5b50610199610c1c565b34801561042357600080fd5b50610199610c8d565b34801561043857600080fd5b50610199610deb565b34801561044d57600080fd5b50610456610df4565b60408051918252519081900360200190f35b34801561047457600080fd5b50610456610dfa565b34801561048957600080fd5b50610338610e00565b34801561049e57600080fd5b50610199610e23565b3480156104b357600080fd5b50610199610e2c565b3480156104c857600080fd5b50610199610ebd565b6104da336108d7565b15156104e557600080fd5b6104ed610ec6565b565b60005460a060020a900460ff161561050657600080fd5b61050f33610915565b151561051a57600080fd5b600160065460a060020a900460ff16600381111561053457fe5b1461053e57600080fd5b600680546002919060a060020a60ff02191660a060020a835b0217905550565b600190565b6000600160065460a060020a900460ff16600381111561057f57fe5b148015610595575060065460a860020a900460ff165b905090565b60005460a060020a900460ff16156105b157600080fd5b600554620100009004600160a060020a031633146105ce57600080fd5b600160065460a060020a900460ff1660038111156105e857fe5b146105f257600080fd5b60065460a860020a900460ff161561060957600080fd5b6006805475ff000000000000000000000000000000000000000000191660a860020a179055565b610639336108d7565b151561064457600080fd5b600060065460a060020a900460ff16600381111561065e57fe5b1461066857600080fd5b600154604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051610719928492600160a060020a03909116916370a08231916024808201926020929091908290030181600087803b1580156106d457600080fd5b505af11580156106e8573d6000803e3d6000fd5b505050506040513d60208110156106fe57600080fd5b5051600154600160a060020a0316919063ffffffff610f8d16565b50565b61072533610915565b151561073057600080fd5b61071981611045565b610742336108d7565b151561074d57600080fd5b61071981611056565b600554620100009004600160a060020a031690565b600654600160a060020a031690565b600061078d60028363ffffffff61106716565b90505b919050565b60005460a060020a900460ff16156107ac57600080fd5b6107b533610915565b15156107c057600080fd5b600360065460a060020a900460ff1660038111156107da57fe5b14156107e557600080fd5b600680546005805475ffffffffffffffffffffffffffffffffffffffff00001916905560a060020a60ff021916740300000000000000000000000000000000000000001775ff00ffffffffffffffffffffffffffffffffffffffff19169055565b60065460b860020a900461ffff1690565b60005460a060020a900460ff161561086e57600080fd5b61087733610915565b151561088257600080fd5b600260065460a060020a900460ff16600381111561089c57fe5b146108a657600080fd5b600680546001919060a060020a60ff02191660a060020a83610557565b60055460009060ff16600181111561059557fe5b600061078d60038363ffffffff61106716565b6108f33361077a565b15156108fe57600080fd5b6107198161109e565b600554610100900460ff1690565b600061078d60048363ffffffff61106716565b60005460a060020a900460ff161561093f57600080fd5b61094833610915565b151561095357600080fd5b600360065460a060020a900460ff16600381111561096d57fe5b1461097757600080fd5b600680546005805475ffffffffffffffffffffffffffffffffffffffff0000191662010000600160a060020a039687160217905560a060020a60ff02191660a060020a1773ffffffffffffffffffffffffffffffffffffffff191691909216179055565b60008054819060a060020a900460ff16156109f557600080fd5b6109fe3361077a565b1515610a0957600080fd5b600060055460ff166001811115610a1c57fe5b14610a2657600080fd5b600160065460a060020a900460ff166003811115610a4057fe5b14610a4a57600080fd5b60065460a860020a900460ff161515610a6257600080fd5b60065460b860020a900461ffff161515610ad8576006805478ffff00000000000000000000000000000000000000000000001976ff0000000000000000000000000000000000000000000019909116760100000000000000000000000000000000000000000000171660b860020a179055610ba0565b60068054600161ffff60b860020a8084048216929092018116820278ffff00000000000000000000000000000000000000000000001990931692909217928390559091041661016e1415610ba0576006805478ffff000000000000000000000000000000000000000000000019600160ff760100000000000000000000000000000000000000000000808504821692909201160276ff0000000000000000000000000000000000000000000019909216919091171660b860020a179055600754600290046007555b505060075461016d90046064600a82020460008211610bbe57600080fd5b60008111610bcb57600080fd5b600554600154610bf591600160a060020a039182169162010000909104168463ffffffff610f8d16565b600654600154610c1891600160a060020a0391821691168363ffffffff610f8d16565b5050565b60005460a060020a900460ff1615610c3357600080fd5b610c3c336108d7565b1515610c4757600080fd5b600060065460a060020a900460ff166003811115610c6157fe5b1415610c6c57600080fd5b6006805475ffff000000000000000000000000000000000000000019169055565b600080548190819060a060020a900460ff1615610ca957600080fd5b610cb2336108d7565b1515610cbd57600080fd5b600060065460a060020a900460ff166003811115610cd757fe5b14610ce157600080fd5b600060055460ff166001811115610cf457fe5b148015610d015750600754155b15610dd057600554610d1a90610100900460ff166110af565b92506064600a8402600154604080517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015290519390920486019450600160a060020a0316916370a08231916024808201926020929091908290030181600087803b158015610d8e57600080fd5b505af1158015610da2573d6000803e3d6000fd5b505050506040513d6020811015610db857600080fd5b50519050818114610dc857600080fd5b600283046007555b50506006805460a060020a60ff02191660a060020a17905550565b6104ed33611161565b61016d81565b60075490565b600654760100000000000000000000000000000000000000000000900460ff1690565b6104ed33611172565b60005460a060020a900460ff1615610e4357600080fd5b600554620100009004600160a060020a03163314610e6057600080fd5b600160065460a060020a900460ff166003811115610e7a57fe5b14610e8457600080fd5b60065460a860020a900460ff161515610e9c57600080fd5b6006805475ff00000000000000000000000000000000000000000019169055565b6104ed33611183565b600154604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051600092600160a060020a0316916370a0823191602480830192602092919082900301818787803b158015610f2b57600080fd5b505af1158015610f3f573d6000803e3d6000fd5b505050506040513d6020811015610f5557600080fd5b505190506000811115610f8557600054600154610f8591600160a060020a0391821691168363ffffffff610f8d16565b610719611194565b82600160a060020a031663a9059cbb83836040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083600160a060020a0316600160a060020a0316815260200182815260200192505050602060405180830381600087803b15801561100957600080fd5b505af115801561101d573d6000803e3d6000fd5b505050506040513d602081101561103357600080fd5b5051151561104057600080fd5b505050565b61071960048263ffffffff6111ac16565b61071960038263ffffffff6111ac16565b6000600160a060020a038216151561107e57600080fd5b50600160a060020a03166000908152602091909152604090205460ff1690565b61071960028263ffffffff6111ac16565b600060ff821615156110cc575069152d02c7e14af6800000610790565b8160ff16600114156110e9575069d3c21bcecceda1000000610790565b8160ff166002141561110757506a01a784379d99db42000000610790565b8160ff166003141561112557506a027b46536c66c8e3000000610790565b8160ff166004141561114357506a034f086f3b33b684000000610790565b8160ff166005141561079057506a0422ca8b0a00a425000000610790565b61071960048263ffffffff6111fa16565b61071960038263ffffffff6111fa16565b61071960028263ffffffff6111fa16565b6000805460a060020a60ff02191660a060020a179055565b600160a060020a03811615156111c157600080fd5b6111cb8282611067565b156111d557600080fd5b600160a060020a0316600090815260209190915260409020805460ff19166001179055565b600160a060020a038116151561120f57600080fd5b6112198282611067565b151561122457600080fd5b600160a060020a0316600090815260209190915260409020805460ff191690555600a165627a7a723058205f527260d789022d74031e68eb390ff4f3057e6fce4f2adde7c12af38948fde60029", + "bytecode": "60806040523480156200001157600080fd5b5060405160a080620014d1833981016040908152815160208301519183015160608401516080909401516000805433600160a060020a0319918216811760a060020a60ff02191690925560018054909116600160a060020a0384161790559294919262000087906401000000006200018e810204565b6200009b33640100000000620001ac810204565b620000af33640100000000620001c7810204565b60008460ff1610158015620000c8575060058460ff1611155b1515620000d457600080fd5b600160a060020a0383161515620000ea57600080fd5b6000856001811115620000f957fe5b14156200011657600160a060020a03821615156200011657600080fd5b6005805486919060ff1916600183818111156200012f57fe5b0217905550506005805461ff00191661010060ff9590951694909402939093176201000060b060020a03191662010000600160a060020a03938416021790925560068054600160a060020a031916929091169190911790555062000275565b620001a960028264010000000062001186620001e282021704565b50565b620001a960038264010000000062001186620001e282021704565b620001a960048264010000000062001186620001e282021704565b600160a060020a0381161515620001f857600080fd5b6200020d82826401000000006200023d810204565b156200021857600080fd5b600160a060020a0316600090815260209190915260409020805460ff19166001179055565b6000600160a060020a03821615156200025557600080fd5b50600160a060020a03166000908152602091909152604090205460ff1690565b61124c80620002856000396000f3006080604052600436106101745763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416630c08bf888114610179578063162f986d146101905780631777fb4b146101a557806319a74ab3146101ce57806321b79d98146101e3578063231d4e2a146101f857806329d10b6e146102195780632e6b68491461023a578063302c11ca1461025b578063329b1c921461028c57806334cdcf26146102a1578063363aa6c7146102c25780633e6968b6146102d7578063427534a4146103035780634969ae7014610318578063608d3d3d1461034357806374be75921461036457806380258e471461038557806381a244591461039a5780638329138f146103bb57806399f4b251146103e25780639e614ca0146103f7578063b2a32cd51461040c578063be95249414610421578063cdfd0f6414610436578063ce41607a1461045d578063d43acc7914610472578063da40867914610487578063e9d618591461049c575b600080fd5b34801561018557600080fd5b5061018e6104b1565b005b34801561019c57600080fd5b5061018e6104cf565b3480156101b157600080fd5b506101ba61053e565b604080519115158252519081900360200190f35b3480156101da57600080fd5b506101ba610543565b3480156101ef57600080fd5b5061018e61057a565b34801561020457600080fd5b5061018e600160a060020a0360043516610610565b34801561022557600080fd5b5061018e600160a060020a03600435166106fc565b34801561024657600080fd5b5061018e600160a060020a0360043516610719565b34801561026757600080fd5b50610270610736565b60408051600160a060020a039092168252519081900360200190f35b34801561029857600080fd5b5061027061074b565b3480156102ad57600080fd5b506101ba600160a060020a036004351661075a565b3480156102ce57600080fd5b5061018e610775565b3480156102e357600080fd5b506102ec610826565b6040805161ffff9092168252519081900360200190f35b34801561030f57600080fd5b5061018e610837565b34801561032457600080fd5b5061032d6108a3565b6040805160ff9092168252519081900360200190f35b34801561034f57600080fd5b506101ba600160a060020a03600435166108b7565b34801561037057600080fd5b5061018e600160a060020a03600435166108ca565b34801561039157600080fd5b5061032d6108e7565b3480156103a657600080fd5b506101ba600160a060020a03600435166108f5565b3480156103c757600080fd5b5061018e600160a060020a0360043581169060243516610908565b3480156103ee57600080fd5b5061018e6109bb565b34801561040357600080fd5b5061018e610bfc565b34801561041857600080fd5b5061018e610c6d565b34801561042d57600080fd5b5061018e610dcb565b34801561044257600080fd5b5061044b610dd4565b60408051918252519081900360200190f35b34801561046957600080fd5b5061032d610dda565b34801561047e57600080fd5b5061018e610dfd565b34801561049357600080fd5b5061018e610e06565b3480156104a857600080fd5b5061018e610e97565b6104ba336108b7565b15156104c557600080fd5b6104cd610ea0565b565b60005460a060020a900460ff16156104e657600080fd5b6104ef336108f5565b15156104fa57600080fd5b600160065460a060020a900460ff16600381111561051457fe5b1461051e57600080fd5b600680546002919060a060020a60ff02191660a060020a835b0217905550565b600190565b6000600160065460a060020a900460ff16600381111561055f57fe5b148015610575575060065460a860020a900460ff165b905090565b60005460a060020a900460ff161561059157600080fd5b600554620100009004600160a060020a031633146105ae57600080fd5b600160065460a060020a900460ff1660038111156105c857fe5b146105d257600080fd5b60065460a860020a900460ff16156105e957600080fd5b6006805475ff000000000000000000000000000000000000000000191660a860020a179055565b610619336108b7565b151561062457600080fd5b600060065460a060020a900460ff16600381111561063e57fe5b1461064857600080fd5b600154604080517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015290516106f9928492600160a060020a03909116916370a08231916024808201926020929091908290030181600087803b1580156106b457600080fd5b505af11580156106c8573d6000803e3d6000fd5b505050506040513d60208110156106de57600080fd5b5051600154600160a060020a0316919063ffffffff610f6716565b50565b610705336108f5565b151561071057600080fd5b6106f98161101f565b610722336108b7565b151561072d57600080fd5b6106f981611030565b600554620100009004600160a060020a031690565b600654600160a060020a031690565b600061076d60028363ffffffff61104116565b90505b919050565b60005460a060020a900460ff161561078c57600080fd5b610795336108f5565b15156107a057600080fd5b600360065460a060020a900460ff1660038111156107ba57fe5b14156107c557600080fd5b600680546005805475ffffffffffffffffffffffffffffffffffffffff00001916905560a060020a60ff021916740300000000000000000000000000000000000000001775ff00ffffffffffffffffffffffffffffffffffffffff19169055565b60065460b860020a900461ffff1690565b60005460a060020a900460ff161561084e57600080fd5b610857336108f5565b151561086257600080fd5b600260065460a060020a900460ff16600381111561087c57fe5b1461088657600080fd5b600680546001919060a060020a60ff02191660a060020a83610537565b60055460009060ff16600181111561057557fe5b600061076d60038363ffffffff61104116565b6108d33361075a565b15156108de57600080fd5b6106f981611078565b600554610100900460ff1690565b600061076d60048363ffffffff61104116565b60005460a060020a900460ff161561091f57600080fd5b610928336108f5565b151561093357600080fd5b600360065460a060020a900460ff16600381111561094d57fe5b1461095757600080fd5b600680546005805475ffffffffffffffffffffffffffffffffffffffff0000191662010000600160a060020a039687160217905560a060020a60ff02191660a060020a1773ffffffffffffffffffffffffffffffffffffffff191691909216179055565b60008054819060a060020a900460ff16156109d557600080fd5b6109de3361075a565b15156109e957600080fd5b600060055460ff1660018111156109fc57fe5b14610a0657600080fd5b600160065460a060020a900460ff166003811115610a2057fe5b14610a2a57600080fd5b60065460a860020a900460ff161515610a4257600080fd5b60065460b860020a900461ffff161515610ab8576006805478ffff00000000000000000000000000000000000000000000001976ff0000000000000000000000000000000000000000000019909116760100000000000000000000000000000000000000000000171660b860020a179055610b80565b60068054600161ffff60b860020a8084048216929092018116820278ffff00000000000000000000000000000000000000000000001990931692909217928390559091041661016e1415610b80576006805478ffff000000000000000000000000000000000000000000000019600160ff760100000000000000000000000000000000000000000000808504821692909201160276ff0000000000000000000000000000000000000000000019909216919091171660b860020a179055600754600290046007555b505060075461016d90046064600a82020460008211610b9e57600080fd5b60008111610bab57600080fd5b600554600154610bd591600160a060020a039182169162010000909104168463ffffffff610f6716565b600654600154610bf891600160a060020a0391821691168363ffffffff610f6716565b5050565b60005460a060020a900460ff1615610c1357600080fd5b610c1c336108b7565b1515610c2757600080fd5b600060065460a060020a900460ff166003811115610c4157fe5b1415610c4c57600080fd5b6006805475ffff000000000000000000000000000000000000000019169055565b600080548190819060a060020a900460ff1615610c8957600080fd5b610c92336108b7565b1515610c9d57600080fd5b600060065460a060020a900460ff166003811115610cb757fe5b14610cc157600080fd5b600060055460ff166001811115610cd457fe5b148015610ce15750600754155b15610db057600554610cfa90610100900460ff16611089565b92506064600a8402600154604080517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015290519390920486019450600160a060020a0316916370a08231916024808201926020929091908290030181600087803b158015610d6e57600080fd5b505af1158015610d82573d6000803e3d6000fd5b505050506040513d6020811015610d9857600080fd5b50519050818114610da857600080fd5b600283046007555b50506006805460a060020a60ff02191660a060020a17905550565b6104cd3361113b565b60075490565b600654760100000000000000000000000000000000000000000000900460ff1690565b6104cd3361114c565b60005460a060020a900460ff1615610e1d57600080fd5b600554620100009004600160a060020a03163314610e3a57600080fd5b600160065460a060020a900460ff166003811115610e5457fe5b14610e5e57600080fd5b60065460a860020a900460ff161515610e7657600080fd5b6006805475ff00000000000000000000000000000000000000000019169055565b6104cd3361115d565b600154604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051600092600160a060020a0316916370a0823191602480830192602092919082900301818787803b158015610f0557600080fd5b505af1158015610f19573d6000803e3d6000fd5b505050506040513d6020811015610f2f57600080fd5b505190506000811115610f5f57600054600154610f5f91600160a060020a0391821691168363ffffffff610f6716565b6106f961116e565b82600160a060020a031663a9059cbb83836040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083600160a060020a0316600160a060020a0316815260200182815260200192505050602060405180830381600087803b158015610fe357600080fd5b505af1158015610ff7573d6000803e3d6000fd5b505050506040513d602081101561100d57600080fd5b5051151561101a57600080fd5b505050565b6106f960048263ffffffff61118616565b6106f960038263ffffffff61118616565b6000600160a060020a038216151561105857600080fd5b50600160a060020a03166000908152602091909152604090205460ff1690565b6106f960028263ffffffff61118616565b600060ff821615156110a6575069152d02c7e14af6800000610770565b8160ff16600114156110c3575069d3c21bcecceda1000000610770565b8160ff16600214156110e157506a01a784379d99db42000000610770565b8160ff16600314156110ff57506a027b46536c66c8e3000000610770565b8160ff166004141561111d57506a034f086f3b33b684000000610770565b8160ff166005141561077057506a0422ca8b0a00a425000000610770565b6106f960048263ffffffff6111d416565b6106f960038263ffffffff6111d416565b6106f960028263ffffffff6111d416565b6000805460a060020a60ff02191660a060020a179055565b600160a060020a038116151561119b57600080fd5b6111a58282611041565b156111af57600080fd5b600160a060020a0316600090815260209190915260409020805460ff19166001179055565b600160a060020a03811615156111e957600080fd5b6111f38282611041565b15156111fe57600080fd5b600160a060020a0316600090815260209190915260409020805460ff191690555600a165627a7a723058202935a8fadd5caa8f5a9312cd903c07814b3de5662642cabdc9018c364221db570029", "functionHashes": { - "DAYS_PER_YEAR()": "c6846ef8", "activateMiner()": "b2a32cd5", "addCoreTeam(address)": "2e6b6849", "addSupervisor(address)": "29d10b6e", @@ -442,12 +427,11 @@ }, "gasEstimates": { "creation": { - "codeDepositCost": "944400", + "codeDepositCost": "936800", "executionCost": "infinite", "totalCost": "infinite" }, "external": { - "DAYS_PER_YEAR()": "712", "activateMiner()": "infinite", "addCoreTeam(address)": "infinite", "addSupervisor(address)": "infinite", @@ -455,8 +439,8 @@ "deactivateMiner()": "infinite", "getCategory()": "784", "getCurrentDay()": "737", - "getCurrentYear()": "982", - "getCurrentYearSupply()": "934", + "getCurrentYear()": "960", + "getCurrentYearSupply()": "912", "getMiner()": "724", "getMinerType()": "744", "getReferral()": "735", @@ -475,7 +459,7 @@ "resumeMining()": "infinite", "startMining()": "21742", "stopAndRemoveOwnership()": "infinite", - "stopMining()": "22204", + "stopMining()": "22182", "terminate()": "infinite" } } diff --git a/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/bin/AlgoPool-sol-output.json b/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/bin/AlgoPool-sol-output.json index 037fd2a45..fd6a01337 100644 --- a/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/bin/AlgoPool-sol-output.json +++ b/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/bin/AlgoPool-sol-output.json @@ -196,9 +196,9 @@ "evm": { "bytecode": { "linkReferences": {}, - "object": "608060405234801561001057600080fd5b506040516040806107f28339810160405280516020909101516000805433600160a060020a0319918216811760a060020a60ff02191690925560018054909116600160a060020a03841617905561006f90640100000000610093810204565b6003805483919060ff19166001838181111561008757fe5b0217905550505061013c565b6100ab6002826401000000006105e16100ae82021704565b50565b600160a060020a03811615156100c357600080fd5b6100d68282640100000000610105810204565b156100e057600080fd5b600160a060020a0316600090815260209190915260409020805460ff19166001179055565b6000600160a060020a038216151561011c57600080fd5b50600160a060020a03166000908152602091909152604090205460ff1690565b6106a78061014b6000396000f3006080604052600436106100535763ffffffff60e060020a6000350416630c08bf8881146100585780632e6b68491461006f578063608d3d3d14610090578063d43acc79146100c5578063fe4028bb146100da575b600080fd5b34801561006457600080fd5b5061006d6100fb565b005b34801561007b57600080fd5b5061006d600160a060020a0360043516610119565b34801561009c57600080fd5b506100b1600160a060020a0360043516610139565b604080519115158252519081900360200190f35b3480156100d157600080fd5b5061006d610154565b3480156100e657600080fd5b5061006d600160a060020a036004351661015d565b61010433610139565b151561010f57600080fd5b610117610339565b565b61012233610139565b151561012d57600080fd5b61013681610400565b50565b600061014c60028363ffffffff61041116565b90505b919050565b61011733610448565b600080548190819074010000000000000000000000000000000000000000900460ff161561018a57600080fd5b61019333610139565b151561019e57600080fd5b600160a060020a03841660009081526004602052604090205460ff16156101c457600080fd5b83925082600160a060020a0316631777fb4b6040518163ffffffff1660e060020a028152600401602060405180830381600087803b15801561020557600080fd5b505af1158015610219573d6000803e3d6000fd5b505050506040513d602081101561022f57600080fd5b5051151561023c57600080fd5b82600160a060020a03166380258e476040518163ffffffff1660e060020a028152600401602060405180830381600087803b15801561027a57600080fd5b505af115801561028e573d6000803e3d6000fd5b505050506040513d60208110156102a457600080fd5b50519150600060ff8316108015906102c0575060058260ff1611155b15156102cb57600080fd5b6102d482610459565b9050600160035460ff1660018111156102e957fe5b14156102f9576064600a82020490505b600160a060020a038085166000908152600460205260409020805460ff19166001908117909155546103339116858363ffffffff61050b16565b50505050565b600154604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051600092600160a060020a0316916370a0823191602480830192602092919082900301818787803b15801561039e57600080fd5b505af11580156103b2573d6000803e3d6000fd5b505050506040513d60208110156103c857600080fd5b5051905060008111156103f8576000546001546103f891600160a060020a0391821691168363ffffffff61050b16565b6101366105aa565b61013660028263ffffffff6105e116565b6000600160a060020a038216151561042857600080fd5b50600160a060020a03166000908152602091909152604090205460ff1690565b61013660028263ffffffff61062f16565b600060ff82161515610476575069152d02c7e14af680000061014f565b8160ff1660011415610493575069d3c21bcecceda100000061014f565b8160ff16600214156104b157506a01a784379d99db4200000061014f565b8160ff16600314156104cf57506a027b46536c66c8e300000061014f565b8160ff16600414156104ed57506a034f086f3b33b68400000061014f565b8160ff166005141561014f57506a0422ca8b0a00a42500000061014f565b82600160a060020a031663a9059cbb83836040518363ffffffff1660e060020a0281526004018083600160a060020a0316600160a060020a0316815260200182815260200192505050602060405180830381600087803b15801561056e57600080fd5b505af1158015610582573d6000803e3d6000fd5b505050506040513d602081101561059857600080fd5b505115156105a557600080fd5b505050565b6000805474ff0000000000000000000000000000000000000000191674010000000000000000000000000000000000000000179055565b600160a060020a03811615156105f657600080fd5b6106008282610411565b1561060a57600080fd5b600160a060020a0316600090815260209190915260409020805460ff19166001179055565b600160a060020a038116151561064457600080fd5b61064e8282610411565b151561065957600080fd5b600160a060020a0316600090815260209190915260409020805460ff191690555600a165627a7a72305820308aff6f9dcaa30d375fb4263114be30ddb9e7b07df39a8a98ba43cf3e23cf7e0029", - "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x40 MLOAD PUSH1 0x40 DUP1 PUSH2 0x7F2 DUP4 CODECOPY DUP2 ADD PUSH1 0x40 MSTORE DUP1 MLOAD PUSH1 0x20 SWAP1 SWAP2 ADD MLOAD PUSH1 0x0 DUP1 SLOAD CALLER PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB NOT SWAP2 DUP3 AND DUP2 OR PUSH1 0xA0 PUSH1 0x2 EXP PUSH1 0xFF MUL NOT AND SWAP1 SWAP3 SSTORE PUSH1 0x1 DUP1 SLOAD SWAP1 SWAP2 AND PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB DUP5 AND OR SWAP1 SSTORE PUSH2 0x6F SWAP1 PUSH5 0x100000000 PUSH2 0x93 DUP2 MUL DIV JUMP JUMPDEST PUSH1 0x3 DUP1 SLOAD DUP4 SWAP2 SWAP1 PUSH1 0xFF NOT AND PUSH1 0x1 DUP4 DUP2 DUP2 GT ISZERO PUSH2 0x87 JUMPI INVALID JUMPDEST MUL OR SWAP1 SSTORE POP POP POP PUSH2 0x13C JUMP JUMPDEST PUSH2 0xAB PUSH1 0x2 DUP3 PUSH5 0x100000000 PUSH2 0x5E1 PUSH2 0xAE DUP3 MUL OR DIV JUMP JUMPDEST POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB DUP2 AND ISZERO ISZERO PUSH2 0xC3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xD6 DUP3 DUP3 PUSH5 0x100000000 PUSH2 0x105 DUP2 MUL DIV JUMP JUMPDEST ISZERO PUSH2 0xE0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0x1 OR SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB DUP3 AND ISZERO ISZERO PUSH2 0x11C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND SWAP1 JUMP JUMPDEST PUSH2 0x6A7 DUP1 PUSH2 0x14B PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN STOP PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x53 JUMPI PUSH4 0xFFFFFFFF PUSH1 0xE0 PUSH1 0x2 EXP PUSH1 0x0 CALLDATALOAD DIV AND PUSH4 0xC08BF88 DUP2 EQ PUSH2 0x58 JUMPI DUP1 PUSH4 0x2E6B6849 EQ PUSH2 0x6F JUMPI DUP1 PUSH4 0x608D3D3D EQ PUSH2 0x90 JUMPI DUP1 PUSH4 0xD43ACC79 EQ PUSH2 0xC5 JUMPI DUP1 PUSH4 0xFE4028BB EQ PUSH2 0xDA JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x64 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x6D PUSH2 0xFB JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x7B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x6D PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB PUSH1 0x4 CALLDATALOAD AND PUSH2 0x119 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x9C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xB1 PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB PUSH1 0x4 CALLDATALOAD AND PUSH2 0x139 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD SWAP2 ISZERO ISZERO DUP3 MSTORE MLOAD SWAP1 DUP2 SWAP1 SUB PUSH1 0x20 ADD SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xD1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x6D PUSH2 0x154 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xE6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x6D PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB PUSH1 0x4 CALLDATALOAD AND PUSH2 0x15D JUMP JUMPDEST PUSH2 0x104 CALLER PUSH2 0x139 JUMP JUMPDEST ISZERO ISZERO PUSH2 0x10F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x117 PUSH2 0x339 JUMP JUMPDEST JUMP JUMPDEST PUSH2 0x122 CALLER PUSH2 0x139 JUMP JUMPDEST ISZERO ISZERO PUSH2 0x12D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x136 DUP2 PUSH2 0x400 JUMP JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x14C PUSH1 0x2 DUP4 PUSH4 0xFFFFFFFF PUSH2 0x411 AND JUMP JUMPDEST SWAP1 POP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x117 CALLER PUSH2 0x448 JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD DUP2 SWAP1 DUP2 SWAP1 PUSH21 0x10000000000000000000000000000000000000000 SWAP1 DIV PUSH1 0xFF AND ISZERO PUSH2 0x18A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x193 CALLER PUSH2 0x139 JUMP JUMPDEST ISZERO ISZERO PUSH2 0x19E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB DUP5 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x4 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND ISZERO PUSH2 0x1C4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 SWAP3 POP DUP3 PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB AND PUSH4 0x1777FB4B PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 PUSH1 0x2 EXP MUL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x205 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x219 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x20 DUP2 LT ISZERO PUSH2 0x22F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP MLOAD ISZERO ISZERO PUSH2 0x23C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB AND PUSH4 0x80258E47 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 PUSH1 0x2 EXP MUL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x27A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x28E JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x20 DUP2 LT ISZERO PUSH2 0x2A4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP MLOAD SWAP2 POP PUSH1 0x0 PUSH1 0xFF DUP4 AND LT DUP1 ISZERO SWAP1 PUSH2 0x2C0 JUMPI POP PUSH1 0x5 DUP3 PUSH1 0xFF AND GT ISZERO JUMPDEST ISZERO ISZERO PUSH2 0x2CB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2D4 DUP3 PUSH2 0x459 JUMP JUMPDEST SWAP1 POP PUSH1 0x1 PUSH1 0x3 SLOAD PUSH1 0xFF AND PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x2E9 JUMPI INVALID JUMPDEST EQ ISZERO PUSH2 0x2F9 JUMPI PUSH1 0x64 PUSH1 0xA DUP3 MUL DIV SWAP1 POP JUMPDEST PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB DUP1 DUP6 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x4 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0x1 SWAP1 DUP2 OR SWAP1 SWAP2 SSTORE SLOAD PUSH2 0x333 SWAP2 AND DUP6 DUP4 PUSH4 0xFFFFFFFF PUSH2 0x50B AND JUMP JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x1 SLOAD PUSH1 0x40 DUP1 MLOAD PUSH32 0x70A0823100000000000000000000000000000000000000000000000000000000 DUP2 MSTORE ADDRESS PUSH1 0x4 DUP3 ADD MSTORE SWAP1 MLOAD PUSH1 0x0 SWAP3 PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB AND SWAP2 PUSH4 0x70A08231 SWAP2 PUSH1 0x24 DUP1 DUP4 ADD SWAP3 PUSH1 0x20 SWAP3 SWAP2 SWAP1 DUP3 SWAP1 SUB ADD DUP2 DUP8 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x39E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x3B2 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x20 DUP2 LT ISZERO PUSH2 0x3C8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP MLOAD SWAP1 POP PUSH1 0x0 DUP2 GT ISZERO PUSH2 0x3F8 JUMPI PUSH1 0x0 SLOAD PUSH1 0x1 SLOAD PUSH2 0x3F8 SWAP2 PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB SWAP2 DUP3 AND SWAP2 AND DUP4 PUSH4 0xFFFFFFFF PUSH2 0x50B AND JUMP JUMPDEST PUSH2 0x136 PUSH2 0x5AA JUMP JUMPDEST PUSH2 0x136 PUSH1 0x2 DUP3 PUSH4 0xFFFFFFFF PUSH2 0x5E1 AND JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB DUP3 AND ISZERO ISZERO PUSH2 0x428 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND SWAP1 JUMP JUMPDEST PUSH2 0x136 PUSH1 0x2 DUP3 PUSH4 0xFFFFFFFF PUSH2 0x62F AND JUMP JUMPDEST PUSH1 0x0 PUSH1 0xFF DUP3 AND ISZERO ISZERO PUSH2 0x476 JUMPI POP PUSH10 0x152D02C7E14AF6800000 PUSH2 0x14F JUMP JUMPDEST DUP2 PUSH1 0xFF AND PUSH1 0x1 EQ ISZERO PUSH2 0x493 JUMPI POP PUSH10 0xD3C21BCECCEDA1000000 PUSH2 0x14F JUMP JUMPDEST DUP2 PUSH1 0xFF AND PUSH1 0x2 EQ ISZERO PUSH2 0x4B1 JUMPI POP PUSH11 0x1A784379D99DB42000000 PUSH2 0x14F JUMP JUMPDEST DUP2 PUSH1 0xFF AND PUSH1 0x3 EQ ISZERO PUSH2 0x4CF JUMPI POP PUSH11 0x27B46536C66C8E3000000 PUSH2 0x14F JUMP JUMPDEST DUP2 PUSH1 0xFF AND PUSH1 0x4 EQ ISZERO PUSH2 0x4ED JUMPI POP PUSH11 0x34F086F3B33B684000000 PUSH2 0x14F JUMP JUMPDEST DUP2 PUSH1 0xFF AND PUSH1 0x5 EQ ISZERO PUSH2 0x14F JUMPI POP PUSH11 0x422CA8B0A00A425000000 PUSH2 0x14F JUMP JUMPDEST DUP3 PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB AND PUSH4 0xA9059CBB DUP4 DUP4 PUSH1 0x40 MLOAD DUP4 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 PUSH1 0x2 EXP MUL DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP4 PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB AND PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB AND DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP3 POP POP POP PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x56E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x582 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x20 DUP2 LT ISZERO PUSH2 0x598 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP MLOAD ISZERO ISZERO PUSH2 0x5A5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD PUSH21 0xFF0000000000000000000000000000000000000000 NOT AND PUSH21 0x10000000000000000000000000000000000000000 OR SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB DUP2 AND ISZERO ISZERO PUSH2 0x5F6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x600 DUP3 DUP3 PUSH2 0x411 JUMP JUMPDEST ISZERO PUSH2 0x60A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0x1 OR SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB DUP2 AND ISZERO ISZERO PUSH2 0x644 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x64E DUP3 DUP3 PUSH2 0x411 JUMP JUMPDEST ISZERO ISZERO PUSH2 0x659 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND SWAP1 SSTORE JUMP STOP LOG1 PUSH6 0x627A7A723058 KECCAK256 ADDRESS DUP11 SELFDESTRUCT PUSH16 0x9DCAA30D375FB4263114BE30DDB9E7B0 PUSH30 0xF39A8A98BA43CF3E23CF7E00290000000000000000000000000000000000 ", - "sourceMap": "552:1251:2:-;;;814:176;8:9:-1;5:2;;;30:1;27;20:12;5:2;814:176:2;;;;;;;;;;;;;;;;;;;156:8:5;:21;;167:10;-1:-1:-1;;;;;;156:21:5;;;;;-1:-1:-1;;;;;;188:19:5;;;;-1:-1:-1;636:29:3;;;;;-1:-1:-1;;;;;636:29:3;;;;;368:24:1;;:12;;;;:24;:::i;:::-;962:9:2;:20;;974:8;;962:9;-1:-1:-1;;962:20:2;;974:8;962:20;;;;;;;;;;;;;814:176;;552:1251;;824:96:1;883:29;:16;904:7;883:20;;;;;;:29;:::i;:::-;824:96;:::o;244:167:6:-;-1:-1:-1;;;;;316:21:6;;;;308:30;;;;;;353:18;357:4;363:7;353:3;;;;:18;:::i;:::-;352:19;344:28;;;;;;-1:-1:-1;;;;;379:20:6;:11;:20;;;;;;;;;;;:27;;-1:-1:-1;;379:27:6;402:4;379:27;;;244:167::o;725:166::-;809:4;-1:-1:-1;;;;;831:21:6;;;;823:30;;;;;;-1:-1:-1;;;;;;866:20:6;:11;:20;;;;;;;;;;;;;;;725:166::o;552:1251:2:-;;;;;;;" + "object": "608060405234801561001057600080fd5b506040516040806107f28339810160405280516020909101516000805433600160a060020a0319918216811760a060020a60ff02191690925560018054909116600160a060020a03841617905561006f90640100000000610093810204565b6003805483919060ff19166001838181111561008757fe5b0217905550505061013c565b6100ab6002826401000000006105e16100ae82021704565b50565b600160a060020a03811615156100c357600080fd5b6100d68282640100000000610105810204565b156100e057600080fd5b600160a060020a0316600090815260209190915260409020805460ff19166001179055565b6000600160a060020a038216151561011c57600080fd5b50600160a060020a03166000908152602091909152604090205460ff1690565b6106a78061014b6000396000f3006080604052600436106100535763ffffffff60e060020a6000350416630c08bf8881146100585780632e6b68491461006f578063608d3d3d14610090578063d43acc79146100c5578063fe4028bb146100da575b600080fd5b34801561006457600080fd5b5061006d6100fb565b005b34801561007b57600080fd5b5061006d600160a060020a0360043516610119565b34801561009c57600080fd5b506100b1600160a060020a0360043516610139565b604080519115158252519081900360200190f35b3480156100d157600080fd5b5061006d610154565b3480156100e657600080fd5b5061006d600160a060020a036004351661015d565b61010433610139565b151561010f57600080fd5b610117610339565b565b61012233610139565b151561012d57600080fd5b61013681610400565b50565b600061014c60028363ffffffff61041116565b90505b919050565b61011733610448565b600080548190819074010000000000000000000000000000000000000000900460ff161561018a57600080fd5b61019333610139565b151561019e57600080fd5b600160a060020a03841660009081526004602052604090205460ff16156101c457600080fd5b83925082600160a060020a0316631777fb4b6040518163ffffffff1660e060020a028152600401602060405180830381600087803b15801561020557600080fd5b505af1158015610219573d6000803e3d6000fd5b505050506040513d602081101561022f57600080fd5b5051151561023c57600080fd5b82600160a060020a03166380258e476040518163ffffffff1660e060020a028152600401602060405180830381600087803b15801561027a57600080fd5b505af115801561028e573d6000803e3d6000fd5b505050506040513d60208110156102a457600080fd5b50519150600060ff8316108015906102c0575060058260ff1611155b15156102cb57600080fd5b6102d482610459565b9050600160035460ff1660018111156102e957fe5b14156102f9576064600a82020490505b600160a060020a038085166000908152600460205260409020805460ff19166001908117909155546103339116858363ffffffff61050b16565b50505050565b600154604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051600092600160a060020a0316916370a0823191602480830192602092919082900301818787803b15801561039e57600080fd5b505af11580156103b2573d6000803e3d6000fd5b505050506040513d60208110156103c857600080fd5b5051905060008111156103f8576000546001546103f891600160a060020a0391821691168363ffffffff61050b16565b6101366105aa565b61013660028263ffffffff6105e116565b6000600160a060020a038216151561042857600080fd5b50600160a060020a03166000908152602091909152604090205460ff1690565b61013660028263ffffffff61062f16565b600060ff82161515610476575069152d02c7e14af680000061014f565b8160ff1660011415610493575069d3c21bcecceda100000061014f565b8160ff16600214156104b157506a01a784379d99db4200000061014f565b8160ff16600314156104cf57506a027b46536c66c8e300000061014f565b8160ff16600414156104ed57506a034f086f3b33b68400000061014f565b8160ff166005141561014f57506a0422ca8b0a00a42500000061014f565b82600160a060020a031663a9059cbb83836040518363ffffffff1660e060020a0281526004018083600160a060020a0316600160a060020a0316815260200182815260200192505050602060405180830381600087803b15801561056e57600080fd5b505af1158015610582573d6000803e3d6000fd5b505050506040513d602081101561059857600080fd5b505115156105a557600080fd5b505050565b6000805474ff0000000000000000000000000000000000000000191674010000000000000000000000000000000000000000179055565b600160a060020a03811615156105f657600080fd5b6106008282610411565b1561060a57600080fd5b600160a060020a0316600090815260209190915260409020805460ff19166001179055565b600160a060020a038116151561064457600080fd5b61064e8282610411565b151561065957600080fd5b600160a060020a0316600090815260209190915260409020805460ff191690555600a165627a7a72305820607cdb7d48cff40583123be547a706873bba6b846ef7d5e3d0130e7698d76c6e0029", + "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x40 MLOAD PUSH1 0x40 DUP1 PUSH2 0x7F2 DUP4 CODECOPY DUP2 ADD PUSH1 0x40 MSTORE DUP1 MLOAD PUSH1 0x20 SWAP1 SWAP2 ADD MLOAD PUSH1 0x0 DUP1 SLOAD CALLER PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB NOT SWAP2 DUP3 AND DUP2 OR PUSH1 0xA0 PUSH1 0x2 EXP PUSH1 0xFF MUL NOT AND SWAP1 SWAP3 SSTORE PUSH1 0x1 DUP1 SLOAD SWAP1 SWAP2 AND PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB DUP5 AND OR SWAP1 SSTORE PUSH2 0x6F SWAP1 PUSH5 0x100000000 PUSH2 0x93 DUP2 MUL DIV JUMP JUMPDEST PUSH1 0x3 DUP1 SLOAD DUP4 SWAP2 SWAP1 PUSH1 0xFF NOT AND PUSH1 0x1 DUP4 DUP2 DUP2 GT ISZERO PUSH2 0x87 JUMPI INVALID JUMPDEST MUL OR SWAP1 SSTORE POP POP POP PUSH2 0x13C JUMP JUMPDEST PUSH2 0xAB PUSH1 0x2 DUP3 PUSH5 0x100000000 PUSH2 0x5E1 PUSH2 0xAE DUP3 MUL OR DIV JUMP JUMPDEST POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB DUP2 AND ISZERO ISZERO PUSH2 0xC3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xD6 DUP3 DUP3 PUSH5 0x100000000 PUSH2 0x105 DUP2 MUL DIV JUMP JUMPDEST ISZERO PUSH2 0xE0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0x1 OR SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB DUP3 AND ISZERO ISZERO PUSH2 0x11C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND SWAP1 JUMP JUMPDEST PUSH2 0x6A7 DUP1 PUSH2 0x14B PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN STOP PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x53 JUMPI PUSH4 0xFFFFFFFF PUSH1 0xE0 PUSH1 0x2 EXP PUSH1 0x0 CALLDATALOAD DIV AND PUSH4 0xC08BF88 DUP2 EQ PUSH2 0x58 JUMPI DUP1 PUSH4 0x2E6B6849 EQ PUSH2 0x6F JUMPI DUP1 PUSH4 0x608D3D3D EQ PUSH2 0x90 JUMPI DUP1 PUSH4 0xD43ACC79 EQ PUSH2 0xC5 JUMPI DUP1 PUSH4 0xFE4028BB EQ PUSH2 0xDA JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x64 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x6D PUSH2 0xFB JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x7B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x6D PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB PUSH1 0x4 CALLDATALOAD AND PUSH2 0x119 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x9C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xB1 PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB PUSH1 0x4 CALLDATALOAD AND PUSH2 0x139 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD SWAP2 ISZERO ISZERO DUP3 MSTORE MLOAD SWAP1 DUP2 SWAP1 SUB PUSH1 0x20 ADD SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xD1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x6D PUSH2 0x154 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xE6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x6D PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB PUSH1 0x4 CALLDATALOAD AND PUSH2 0x15D JUMP JUMPDEST PUSH2 0x104 CALLER PUSH2 0x139 JUMP JUMPDEST ISZERO ISZERO PUSH2 0x10F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x117 PUSH2 0x339 JUMP JUMPDEST JUMP JUMPDEST PUSH2 0x122 CALLER PUSH2 0x139 JUMP JUMPDEST ISZERO ISZERO PUSH2 0x12D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x136 DUP2 PUSH2 0x400 JUMP JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x14C PUSH1 0x2 DUP4 PUSH4 0xFFFFFFFF PUSH2 0x411 AND JUMP JUMPDEST SWAP1 POP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x117 CALLER PUSH2 0x448 JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD DUP2 SWAP1 DUP2 SWAP1 PUSH21 0x10000000000000000000000000000000000000000 SWAP1 DIV PUSH1 0xFF AND ISZERO PUSH2 0x18A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x193 CALLER PUSH2 0x139 JUMP JUMPDEST ISZERO ISZERO PUSH2 0x19E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB DUP5 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x4 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND ISZERO PUSH2 0x1C4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 SWAP3 POP DUP3 PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB AND PUSH4 0x1777FB4B PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 PUSH1 0x2 EXP MUL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x205 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x219 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x20 DUP2 LT ISZERO PUSH2 0x22F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP MLOAD ISZERO ISZERO PUSH2 0x23C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB AND PUSH4 0x80258E47 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 PUSH1 0x2 EXP MUL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x27A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x28E JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x20 DUP2 LT ISZERO PUSH2 0x2A4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP MLOAD SWAP2 POP PUSH1 0x0 PUSH1 0xFF DUP4 AND LT DUP1 ISZERO SWAP1 PUSH2 0x2C0 JUMPI POP PUSH1 0x5 DUP3 PUSH1 0xFF AND GT ISZERO JUMPDEST ISZERO ISZERO PUSH2 0x2CB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2D4 DUP3 PUSH2 0x459 JUMP JUMPDEST SWAP1 POP PUSH1 0x1 PUSH1 0x3 SLOAD PUSH1 0xFF AND PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x2E9 JUMPI INVALID JUMPDEST EQ ISZERO PUSH2 0x2F9 JUMPI PUSH1 0x64 PUSH1 0xA DUP3 MUL DIV SWAP1 POP JUMPDEST PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB DUP1 DUP6 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x4 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0x1 SWAP1 DUP2 OR SWAP1 SWAP2 SSTORE SLOAD PUSH2 0x333 SWAP2 AND DUP6 DUP4 PUSH4 0xFFFFFFFF PUSH2 0x50B AND JUMP JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x1 SLOAD PUSH1 0x40 DUP1 MLOAD PUSH32 0x70A0823100000000000000000000000000000000000000000000000000000000 DUP2 MSTORE ADDRESS PUSH1 0x4 DUP3 ADD MSTORE SWAP1 MLOAD PUSH1 0x0 SWAP3 PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB AND SWAP2 PUSH4 0x70A08231 SWAP2 PUSH1 0x24 DUP1 DUP4 ADD SWAP3 PUSH1 0x20 SWAP3 SWAP2 SWAP1 DUP3 SWAP1 SUB ADD DUP2 DUP8 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x39E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x3B2 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x20 DUP2 LT ISZERO PUSH2 0x3C8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP MLOAD SWAP1 POP PUSH1 0x0 DUP2 GT ISZERO PUSH2 0x3F8 JUMPI PUSH1 0x0 SLOAD PUSH1 0x1 SLOAD PUSH2 0x3F8 SWAP2 PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB SWAP2 DUP3 AND SWAP2 AND DUP4 PUSH4 0xFFFFFFFF PUSH2 0x50B AND JUMP JUMPDEST PUSH2 0x136 PUSH2 0x5AA JUMP JUMPDEST PUSH2 0x136 PUSH1 0x2 DUP3 PUSH4 0xFFFFFFFF PUSH2 0x5E1 AND JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB DUP3 AND ISZERO ISZERO PUSH2 0x428 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND SWAP1 JUMP JUMPDEST PUSH2 0x136 PUSH1 0x2 DUP3 PUSH4 0xFFFFFFFF PUSH2 0x62F AND JUMP JUMPDEST PUSH1 0x0 PUSH1 0xFF DUP3 AND ISZERO ISZERO PUSH2 0x476 JUMPI POP PUSH10 0x152D02C7E14AF6800000 PUSH2 0x14F JUMP JUMPDEST DUP2 PUSH1 0xFF AND PUSH1 0x1 EQ ISZERO PUSH2 0x493 JUMPI POP PUSH10 0xD3C21BCECCEDA1000000 PUSH2 0x14F JUMP JUMPDEST DUP2 PUSH1 0xFF AND PUSH1 0x2 EQ ISZERO PUSH2 0x4B1 JUMPI POP PUSH11 0x1A784379D99DB42000000 PUSH2 0x14F JUMP JUMPDEST DUP2 PUSH1 0xFF AND PUSH1 0x3 EQ ISZERO PUSH2 0x4CF JUMPI POP PUSH11 0x27B46536C66C8E3000000 PUSH2 0x14F JUMP JUMPDEST DUP2 PUSH1 0xFF AND PUSH1 0x4 EQ ISZERO PUSH2 0x4ED JUMPI POP PUSH11 0x34F086F3B33B684000000 PUSH2 0x14F JUMP JUMPDEST DUP2 PUSH1 0xFF AND PUSH1 0x5 EQ ISZERO PUSH2 0x14F JUMPI POP PUSH11 0x422CA8B0A00A425000000 PUSH2 0x14F JUMP JUMPDEST DUP3 PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB AND PUSH4 0xA9059CBB DUP4 DUP4 PUSH1 0x40 MLOAD DUP4 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 PUSH1 0x2 EXP MUL DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP4 PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB AND PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB AND DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP3 POP POP POP PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x56E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x582 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x20 DUP2 LT ISZERO PUSH2 0x598 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP MLOAD ISZERO ISZERO PUSH2 0x5A5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD PUSH21 0xFF0000000000000000000000000000000000000000 NOT AND PUSH21 0x10000000000000000000000000000000000000000 OR SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB DUP2 AND ISZERO ISZERO PUSH2 0x5F6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x600 DUP3 DUP3 PUSH2 0x411 JUMP JUMPDEST ISZERO PUSH2 0x60A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0x1 OR SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB DUP2 AND ISZERO ISZERO PUSH2 0x644 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x64E DUP3 DUP3 PUSH2 0x411 JUMP JUMPDEST ISZERO ISZERO PUSH2 0x659 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND SWAP1 SSTORE JUMP STOP LOG1 PUSH6 0x627A7A723058 KECCAK256 PUSH1 0x7C 0xdb PUSH30 0x48CFF40583123BE547A706873BBA6B846EF7D5E3D0130E7698D76C6E0029 ", + "sourceMap": "552:1259:2:-;;;822:176;8:9:-1;5:2;;;30:1;27;20:12;5:2;822:176:2;;;;;;;;;;;;;;;;;;;156:8:5;:21;;167:10;-1:-1:-1;;;;;;156:21:5;;;;;-1:-1:-1;;;;;;188:19:5;;;;-1:-1:-1;636:29:3;;;;;-1:-1:-1;;;;;636:29:3;;;;;368:24:1;;:12;;;;:24;:::i;:::-;970:9:2;:20;;982:8;;970:9;-1:-1:-1;;970:20:2;;982:8;970:20;;;;;;;;;;;;;822:176;;552:1259;;824:96:1;883:29;:16;904:7;883:20;;;;;;:29;:::i;:::-;824:96;:::o;244:167:6:-;-1:-1:-1;;;;;316:21:6;;;;308:30;;;;;;353:18;357:4;363:7;353:3;;;;:18;:::i;:::-;352:19;344:28;;;;;;-1:-1:-1;;;;;379:20:6;:11;:20;;;;;;;;;;;:27;;-1:-1:-1;;379:27:6;402:4;379:27;;;244:167::o;725:166::-;809:4;-1:-1:-1;;;;;831:21:6;;;;823:30;;;;;;-1:-1:-1;;;;;;866:20:6;:11;:20;;;;;;;;;;;;;;;725:166::o;552:1259:2:-;;;;;;;" }, "gasEstimates": { "creation": { @@ -222,7 +222,7 @@ "transferToMiner(address)": "fe4028bb" } }, - "metadata": "{\"compiler\":{\"version\":\"0.4.24+commit.e67f0147\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"constant\":false,\"inputs\":[],\"name\":\"terminate\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"account\",\"type\":\"address\"}],\"name\":\"addCoreTeam\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"account\",\"type\":\"address\"}],\"name\":\"isCoreTeam\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"renounceCoreTeam\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"minerAddress\",\"type\":\"address\"}],\"name\":\"transferToMiner\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"name\":\"poolType\",\"type\":\"uint8\"},{\"name\":\"tokenAddress\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"}],\"devdoc\":{\"methods\":{}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/AlgoPool.sol\":\"AlgoPool\"},\"evmVersion\":\"byzantium\",\"libraries\":{},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/AlgoCommon.sol\":{\"keccak256\":\"0x2314139702cc63c8daa379e521abea3be32730ba896f68f3f865749907e64539\",\"urls\":[\"bzzr://b945e0ec5a4ca8a52b5e816c5bb00807d0ca43c5363102821b36c8c4ee98a2d5\"]},\"d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/AlgoCoreTeamRole.sol\":{\"keccak256\":\"0xe6fc9b275c7a4c4f00337d2a388cc97a64ad82e5a23c24c59a4593e85a05b08a\",\"urls\":[\"bzzr://40c7674b2a3543a2b2606c70df215a876bd1a064d249e658d2bbd6fe25969c2e\"]},\"d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/AlgoPool.sol\":{\"keccak256\":\"0x179545317a5a90b291e06fe2b272fe9a130a477c23e3b697d0c68c3242056541\",\"urls\":[\"bzzr://4c635d92bb64d5df527aaaa1b16ec83bfbbdbe4b2f2b4759fa806d27478be2a3\"]},\"d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/ERC20TokenHolder.sol\":{\"keccak256\":\"0x71adbf7f060599239b7a981594e43dc8fbe8597fd2853b6fe9e70ff39883d73a\",\"urls\":[\"bzzr://70691c1638cdc0f744f8c5b5a94e4f857ba40ad053816cfbd15e13ed41a3bc66\"]},\"d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/IAlgoMiner.sol\":{\"keccak256\":\"0x1b1359f75f7d5a943ab06caea36824f0a6448c5ffa1a32ed7e26cee81cf3683a\",\"urls\":[\"bzzr://26177d59d0c84fa4e632538fbd44802f219e6501b0828533badcf80701cea0f5\"]},\"d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/Terminable.sol\":{\"keccak256\":\"0x29a8fa3204dbd204355714601ce21d7d717a586a4de21009d8f2a3ca7981963f\",\"urls\":[\"bzzr://55d9b762620cef1e6f7b11a26d6cc123f5b608a59e0d36f9bc0a1e8ff0ff5c42\"]},\"d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/node_modules/openzeppelin-solidity/contracts/access/Roles.sol\":{\"keccak256\":\"0xa6e47d62e68903c8fff23500d80e7cc8085b9127995803478d9982cd8a6d49e4\",\"urls\":[\"bzzr://7c87eb3c145fe7592c97baa287501faff7e81c1965333c9b042ffb6b387e94a1\"]},\"d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/node_modules/openzeppelin-solidity/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xdd18f05c74536a06166c90a17ec3c6932853764f292bed314ceb23e730ff83af\",\"urls\":[\"bzzr://1d8a608339978ac18782f7051816cf23b4072d8814979e3ef74788cc6025cca0\"]},\"d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/node_modules/openzeppelin-solidity/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xc8a7f15fa44eb10057f8bcb58418d3aed6f5267d211d18f93f3d4e0293e3da44\",\"urls\":[\"bzzr://8825e2508348b01a091ff47b8525e583b6e5604f6679684f805d67a9a6a2a7e9\"]},\"d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/node_modules/openzeppelin-solidity/contracts/token/ERC20/SafeERC20.sol\":{\"keccak256\":\"0x0a172a0ef8681d4a7d8034d003670a9b1968d914b0bfa64e13ddca289a85d24a\",\"urls\":[\"bzzr://733b6203c967b44d6de90b5c6b144e58a380a3f29befb2dc70e765dae2f1ca18\"]}},\"version\":1}", + "metadata": "{\"compiler\":{\"version\":\"0.4.24+commit.e67f0147\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"constant\":false,\"inputs\":[],\"name\":\"terminate\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"account\",\"type\":\"address\"}],\"name\":\"addCoreTeam\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"account\",\"type\":\"address\"}],\"name\":\"isCoreTeam\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"renounceCoreTeam\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"minerAddress\",\"type\":\"address\"}],\"name\":\"transferToMiner\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"name\":\"poolType\",\"type\":\"uint8\"},{\"name\":\"tokenAddress\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"}],\"devdoc\":{\"methods\":{}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/AlgoPool.sol\":\"AlgoPool\"},\"evmVersion\":\"byzantium\",\"libraries\":{},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/AlgoCommon.sol\":{\"keccak256\":\"0x2314139702cc63c8daa379e521abea3be32730ba896f68f3f865749907e64539\",\"urls\":[\"bzzr://b945e0ec5a4ca8a52b5e816c5bb00807d0ca43c5363102821b36c8c4ee98a2d5\"]},\"d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/AlgoCoreTeamRole.sol\":{\"keccak256\":\"0xe6fc9b275c7a4c4f00337d2a388cc97a64ad82e5a23c24c59a4593e85a05b08a\",\"urls\":[\"bzzr://40c7674b2a3543a2b2606c70df215a876bd1a064d249e658d2bbd6fe25969c2e\"]},\"d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/AlgoPool.sol\":{\"keccak256\":\"0x044738efccefb3e008461bf78cc7bf52d39172dffd6bde0dd26446fc2e739866\",\"urls\":[\"bzzr://e8c3fa402a1f5c222df47b0b9dd0c10ea6f62afc2d269133a330f0ee7aa7297e\"]},\"d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/ERC20TokenHolder.sol\":{\"keccak256\":\"0x71adbf7f060599239b7a981594e43dc8fbe8597fd2853b6fe9e70ff39883d73a\",\"urls\":[\"bzzr://70691c1638cdc0f744f8c5b5a94e4f857ba40ad053816cfbd15e13ed41a3bc66\"]},\"d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/IAlgoMiner.sol\":{\"keccak256\":\"0x1b1359f75f7d5a943ab06caea36824f0a6448c5ffa1a32ed7e26cee81cf3683a\",\"urls\":[\"bzzr://26177d59d0c84fa4e632538fbd44802f219e6501b0828533badcf80701cea0f5\"]},\"d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/Terminable.sol\":{\"keccak256\":\"0x29a8fa3204dbd204355714601ce21d7d717a586a4de21009d8f2a3ca7981963f\",\"urls\":[\"bzzr://55d9b762620cef1e6f7b11a26d6cc123f5b608a59e0d36f9bc0a1e8ff0ff5c42\"]},\"d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/node_modules/openzeppelin-solidity/contracts/access/Roles.sol\":{\"keccak256\":\"0xa6e47d62e68903c8fff23500d80e7cc8085b9127995803478d9982cd8a6d49e4\",\"urls\":[\"bzzr://7c87eb3c145fe7592c97baa287501faff7e81c1965333c9b042ffb6b387e94a1\"]},\"d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/node_modules/openzeppelin-solidity/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xdd18f05c74536a06166c90a17ec3c6932853764f292bed314ceb23e730ff83af\",\"urls\":[\"bzzr://1d8a608339978ac18782f7051816cf23b4072d8814979e3ef74788cc6025cca0\"]},\"d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/node_modules/openzeppelin-solidity/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xc8a7f15fa44eb10057f8bcb58418d3aed6f5267d211d18f93f3d4e0293e3da44\",\"urls\":[\"bzzr://8825e2508348b01a091ff47b8525e583b6e5604f6679684f805d67a9a6a2a7e9\"]},\"d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/node_modules/openzeppelin-solidity/contracts/token/ERC20/SafeERC20.sol\":{\"keccak256\":\"0x0a172a0ef8681d4a7d8034d003670a9b1968d914b0bfa64e13ddca289a85d24a\",\"urls\":[\"bzzr://733b6203c967b44d6de90b5c6b144e58a380a3f29befb2dc70e765dae2f1ca18\"]}},\"version\":1}", "userdoc": { "methods": {} } @@ -3215,8 +3215,8 @@ ], "contractDependencies": [ 97, - 184, 372, + 184, 442 ], "contractKind": "contract", @@ -3317,7 +3317,7 @@ "name": "_fundedMiners", "nodeType": "VariableDeclaration", "scope": 315, - "src": "767:38:2", + "src": "767:46:2", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -3354,13 +3354,13 @@ } }, "value": null, - "visibility": "internal" + "visibility": "private" }, { "body": { "id": 226, "nodeType": "Block", - "src": "951:39:2", + "src": "959:39:2", "statements": [ { "expression": { @@ -3377,7 +3377,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 206, - "src": "962:9:2", + "src": "970:9:2", "typeDescriptions": { "typeIdentifier": "t_enum$_PoolType_$204", "typeString": "enum AlgoPool.PoolType" @@ -3392,13 +3392,13 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 212, - "src": "974:8:2", + "src": "982:8:2", "typeDescriptions": { "typeIdentifier": "t_enum$_PoolType_$204", "typeString": "enum AlgoPool.PoolType" } }, - "src": "962:20:2", + "src": "970:20:2", "typeDescriptions": { "typeIdentifier": "t_enum$_PoolType_$204", "typeString": "enum AlgoPool.PoolType" @@ -3406,7 +3406,7 @@ }, "id": 225, "nodeType": "ExpressionStatement", - "src": "962:20:2" + "src": "970:20:2" } ] }, @@ -3425,7 +3425,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 214, - "src": "893:12:2", + "src": "901:12:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3440,14 +3440,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 372, - "src": "876:16:2", + "src": "884:16:2", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_ERC20TokenHolder_$372_$", "typeString": "type(contract ERC20TokenHolder)" } }, "nodeType": "ModifierInvocation", - "src": "876:30:2" + "src": "884:30:2" }, { "arguments": [], @@ -3459,14 +3459,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 184, - "src": "916:16:2", + "src": "924:16:2", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_AlgoCoreTeamRole_$184_$", "typeString": "type(contract AlgoCoreTeamRole)" } }, "nodeType": "ModifierInvocation", - "src": "916:18:2" + "src": "924:18:2" } ], "name": "", @@ -3481,7 +3481,7 @@ "name": "poolType", "nodeType": "VariableDeclaration", "scope": 227, - "src": "826:17:2", + "src": "834:17:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3494,7 +3494,7 @@ "name": "PoolType", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 204, - "src": "826:8:2", + "src": "834:8:2", "typeDescriptions": { "typeIdentifier": "t_enum$_PoolType_$204", "typeString": "enum AlgoPool.PoolType" @@ -3509,7 +3509,7 @@ "name": "tokenAddress", "nodeType": "VariableDeclaration", "scope": 227, - "src": "845:20:2", + "src": "853:20:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3520,7 +3520,7 @@ "id": 213, "name": "address", "nodeType": "ElementaryTypeName", - "src": "845:7:2", + "src": "853:7:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3530,17 +3530,17 @@ "visibility": "internal" } ], - "src": "825:41:2" + "src": "833:41:2" }, "payable": false, "returnParameters": { "id": 221, "nodeType": "ParameterList", "parameters": [], - "src": "951:0:2" + "src": "959:0:2" }, "scope": 315, - "src": "814:176:2", + "src": "822:176:2", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" @@ -3549,7 +3549,7 @@ "body": { "id": 304, "nodeType": "Block", - "src": "1079:641:2", + "src": "1087:641:2", "statements": [ { "expression": { @@ -3565,7 +3565,7 @@ "nodeType": "UnaryOperation", "operator": "!", "prefix": true, - "src": "1098:28:2", + "src": "1106:28:2", "subExpression": { "argumentTypes": null, "baseExpression": { @@ -3575,7 +3575,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 210, - "src": "1099:13:2", + "src": "1107:13:2", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -3589,7 +3589,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 229, - "src": "1113:12:2", + "src": "1121:12:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3600,7 +3600,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "1099:27:2", + "src": "1107:27:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -3627,7 +3627,7 @@ 896 ], "referencedDeclaration": 895, - "src": "1090:7:2", + "src": "1098:7:2", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" @@ -3641,7 +3641,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1090:37:2", + "src": "1098:37:2", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -3649,7 +3649,7 @@ }, "id": 242, "nodeType": "ExpressionStatement", - "src": "1090:37:2" + "src": "1098:37:2" }, { "assignments": [ @@ -3662,7 +3662,7 @@ "name": "algoMiner", "nodeType": "VariableDeclaration", "scope": 305, - "src": "1140:20:2", + "src": "1148:20:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3675,7 +3675,7 @@ "name": "IAlgoMiner", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 405, - "src": "1140:10:2", + "src": "1148:10:2", "typeDescriptions": { "typeIdentifier": "t_contract$_IAlgoMiner_$405", "typeString": "contract IAlgoMiner" @@ -3696,7 +3696,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 229, - "src": "1174:12:2", + "src": "1182:12:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3715,7 +3715,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 405, - "src": "1163:10:2", + "src": "1171:10:2", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_IAlgoMiner_$405_$", "typeString": "type(contract IAlgoMiner)" @@ -3729,14 +3729,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1163:24:2", + "src": "1171:24:2", "typeDescriptions": { "typeIdentifier": "t_contract$_IAlgoMiner_$405", "typeString": "contract IAlgoMiner" } }, "nodeType": "VariableDeclarationStatement", - "src": "1140:47:2" + "src": "1148:47:2" }, { "expression": { @@ -3754,7 +3754,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 244, - "src": "1216:9:2", + "src": "1224:9:2", "typeDescriptions": { "typeIdentifier": "t_contract$_IAlgoMiner_$405", "typeString": "contract IAlgoMiner" @@ -3768,7 +3768,7 @@ "memberName": "isAlgoMiner", "nodeType": "MemberAccess", "referencedDeclaration": 379, - "src": "1216:21:2", + "src": "1224:21:2", "typeDescriptions": { "typeIdentifier": "t_function_external_pure$__$returns$_t_bool_$", "typeString": "function () pure external returns (bool)" @@ -3782,7 +3782,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1216:23:2", + "src": "1224:23:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -3804,7 +3804,7 @@ 896 ], "referencedDeclaration": 895, - "src": "1208:7:2", + "src": "1216:7:2", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" @@ -3818,7 +3818,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1208:32:2", + "src": "1216:32:2", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -3826,7 +3826,7 @@ }, "id": 254, "nodeType": "ExpressionStatement", - "src": "1208:32:2" + "src": "1216:32:2" }, { "assignments": [ @@ -3839,7 +3839,7 @@ "name": "minerCategory", "nodeType": "VariableDeclaration", "scope": 305, - "src": "1261:19:2", + "src": "1269:19:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3850,7 +3850,7 @@ "id": 255, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "1261:5:2", + "src": "1269:5:2", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -3873,7 +3873,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 244, - "src": "1283:9:2", + "src": "1291:9:2", "typeDescriptions": { "typeIdentifier": "t_contract$_IAlgoMiner_$405", "typeString": "contract IAlgoMiner" @@ -3887,7 +3887,7 @@ "memberName": "getCategory", "nodeType": "MemberAccess", "referencedDeclaration": 389, - "src": "1283:21:2", + "src": "1291:21:2", "typeDescriptions": { "typeIdentifier": "t_function_external_view$__$returns$_t_uint8_$", "typeString": "function () view external returns (uint8)" @@ -3901,14 +3901,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1283:23:2", + "src": "1291:23:2", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, "nodeType": "VariableDeclarationStatement", - "src": "1261:45:2" + "src": "1269:45:2" }, { "expression": { @@ -3943,7 +3943,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 256, - "src": "1327:13:2", + "src": "1335:13:2", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -3961,7 +3961,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1344:1:2", + "src": "1352:1:2", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -3969,7 +3969,7 @@ }, "value": "0" }, - "src": "1327:18:2", + "src": "1335:18:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -3995,7 +3995,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 256, - "src": "1349:13:2", + "src": "1357:13:2", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -4013,7 +4013,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1366:1:2", + "src": "1374:1:2", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_5_by_1", @@ -4021,13 +4021,13 @@ }, "value": "5" }, - "src": "1349:18:2", + "src": "1357:18:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "1327:40:2", + "src": "1335:40:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -4049,7 +4049,7 @@ 896 ], "referencedDeclaration": 895, - "src": "1319:7:2", + "src": "1327:7:2", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" @@ -4063,7 +4063,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1319:49:2", + "src": "1327:49:2", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -4071,7 +4071,7 @@ }, "id": 270, "nodeType": "ExpressionStatement", - "src": "1319:49:2" + "src": "1327:49:2" }, { "assignments": [ @@ -4084,7 +4084,7 @@ "name": "value", "nodeType": "VariableDeclaration", "scope": 305, - "src": "1381:13:2", + "src": "1389:13:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4095,7 +4095,7 @@ "id": 271, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1381:7:2", + "src": "1389:7:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4116,7 +4116,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 256, - "src": "1419:13:2", + "src": "1427:13:2", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -4135,7 +4135,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 96, - "src": "1397:21:2", + "src": "1405:21:2", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint8_$returns$_t_uint256_$", "typeString": "function (uint8) pure returns (uint256)" @@ -4149,14 +4149,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1397:36:2", + "src": "1405:36:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "1381:52:2" + "src": "1389:52:2" }, { "condition": { @@ -4177,7 +4177,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 206, - "src": "1528:9:2", + "src": "1536:9:2", "typeDescriptions": { "typeIdentifier": "t_enum$_PoolType_$204", "typeString": "enum AlgoPool.PoolType" @@ -4194,7 +4194,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 204, - "src": "1541:8:2", + "src": "1549:8:2", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_PoolType_$204_$", "typeString": "type(enum AlgoPool.PoolType)" @@ -4208,13 +4208,13 @@ "memberName": "ReferralPool", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "1541:21:2", + "src": "1549:21:2", "typeDescriptions": { "typeIdentifier": "t_enum$_PoolType_$204", "typeString": "enum AlgoPool.PoolType" } }, - "src": "1528:34:2", + "src": "1536:34:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -4223,11 +4223,11 @@ "falseBody": null, "id": 290, "nodeType": "IfStatement", - "src": "1525:90:2", + "src": "1533:90:2", "trueBody": { "id": 289, "nodeType": "Block", - "src": "1564:51:2", + "src": "1572:51:2", "statements": [ { "expression": { @@ -4244,7 +4244,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 272, - "src": "1579:5:2", + "src": "1587:5:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4281,7 +4281,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 272, - "src": "1587:5:2", + "src": "1595:5:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4299,7 +4299,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1595:2:2", + "src": "1603:2:2", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_10_by_1", @@ -4307,7 +4307,7 @@ }, "value": "10" }, - "src": "1587:10:2", + "src": "1595:10:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4325,7 +4325,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1600:3:2", + "src": "1608:3:2", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_100_by_1", @@ -4333,13 +4333,13 @@ }, "value": "100" }, - "src": "1587:16:2", + "src": "1595:16:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "1579:24:2", + "src": "1587:24:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4347,7 +4347,7 @@ }, "id": 288, "nodeType": "ExpressionStatement", - "src": "1579:24:2" + "src": "1587:24:2" } ] } @@ -4369,7 +4369,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 210, - "src": "1627:13:2", + "src": "1635:13:2", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -4383,7 +4383,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 229, - "src": "1641:12:2", + "src": "1649:12:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4394,7 +4394,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "1627:27:2", + "src": "1635:27:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -4412,7 +4412,7 @@ "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "1657:4:2", + "src": "1665:4:2", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -4420,7 +4420,7 @@ }, "value": "true" }, - "src": "1627:34:2", + "src": "1635:34:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -4428,7 +4428,7 @@ }, "id": 296, "nodeType": "ExpressionStatement", - "src": "1627:34:2" + "src": "1635:34:2" }, { "expression": { @@ -4441,7 +4441,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 229, - "src": "1692:12:2", + "src": "1700:12:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4454,7 +4454,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 272, - "src": "1706:5:2", + "src": "1714:5:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4479,7 +4479,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 327, - "src": "1672:6:2", + "src": "1680:6:2", "typeDescriptions": { "typeIdentifier": "t_contract$_IERC20_$733", "typeString": "contract IERC20" @@ -4493,7 +4493,7 @@ "memberName": "safeTransfer", "nodeType": "MemberAccess", "referencedDeclaration": 758, - "src": "1672:19:2", + "src": "1680:19:2", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_IERC20_$733_$_t_address_$_t_uint256_$returns$__$bound_to$_t_contract$_IERC20_$733_$", "typeString": "function (contract IERC20,address,uint256)" @@ -4507,7 +4507,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1672:40:2", + "src": "1680:40:2", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -4515,7 +4515,7 @@ }, "id": 303, "nodeType": "ExpressionStatement", - "src": "1672:40:2" + "src": "1680:40:2" } ] }, @@ -4535,14 +4535,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 433, - "src": "1052:13:2", + "src": "1060:13:2", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "1052:13:2" + "src": "1060:13:2" }, { "arguments": null, @@ -4554,14 +4554,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 125, - "src": "1066:12:2", + "src": "1074:12:2", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "1066:12:2" + "src": "1074:12:2" } ], "name": "transferToMiner", @@ -4576,7 +4576,7 @@ "name": "minerAddress", "nodeType": "VariableDeclaration", "scope": 305, - "src": "1023:20:2", + "src": "1031:20:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4587,7 +4587,7 @@ "id": 228, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1023:7:2", + "src": "1031:7:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4597,17 +4597,17 @@ "visibility": "internal" } ], - "src": "1022:22:2" + "src": "1030:22:2" }, "payable": false, "returnParameters": { "id": 235, "nodeType": "ParameterList", "parameters": [], - "src": "1079:0:2" + "src": "1087:0:2" }, "scope": 315, - "src": "998:722:2", + "src": "1006:722:2", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" @@ -4616,7 +4616,7 @@ "body": { "id": 313, "nodeType": "Block", - "src": "1769:31:2", + "src": "1777:31:2", "statements": [ { "expression": { @@ -4631,7 +4631,7 @@ 371 ], "referencedDeclaration": 371, - "src": "1780:10:2", + "src": "1788:10:2", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", "typeString": "function ()" @@ -4645,7 +4645,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1780:12:2", + "src": "1788:12:2", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -4653,7 +4653,7 @@ }, "id": 312, "nodeType": "ExpressionStatement", - "src": "1780:12:2" + "src": "1788:12:2" } ] }, @@ -4673,14 +4673,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 125, - "src": "1756:12:2", + "src": "1764:12:2", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "1756:12:2" + "src": "1764:12:2" } ], "name": "terminate", @@ -4689,27 +4689,27 @@ "id": 306, "nodeType": "ParameterList", "parameters": [], - "src": "1746:2:2" + "src": "1754:2:2" }, "payable": false, "returnParameters": { "id": 309, "nodeType": "ParameterList", "parameters": [], - "src": "1769:0:2" + "src": "1777:0:2" }, "scope": 315, - "src": "1728:72:2", + "src": "1736:72:2", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" } ], "scope": 316, - "src": "552:1251:2" + "src": "552:1259:2" } ], - "src": "0:1805:2" + "src": "0:1813:2" }, "id": 2 }, diff --git a/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/bin/AlgoPool.bin b/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/bin/AlgoPool.bin index 09d3a38b5..e02c608ef 100644 --- a/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/bin/AlgoPool.bin +++ b/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/bin/AlgoPool.bin @@ -1 +1 @@ -608060405234801561001057600080fd5b506040516040806107f28339810160405280516020909101516000805433600160a060020a0319918216811760a060020a60ff02191690925560018054909116600160a060020a03841617905561006f90640100000000610093810204565b6003805483919060ff19166001838181111561008757fe5b0217905550505061013c565b6100ab6002826401000000006105e16100ae82021704565b50565b600160a060020a03811615156100c357600080fd5b6100d68282640100000000610105810204565b156100e057600080fd5b600160a060020a0316600090815260209190915260409020805460ff19166001179055565b6000600160a060020a038216151561011c57600080fd5b50600160a060020a03166000908152602091909152604090205460ff1690565b6106a78061014b6000396000f3006080604052600436106100535763ffffffff60e060020a6000350416630c08bf8881146100585780632e6b68491461006f578063608d3d3d14610090578063d43acc79146100c5578063fe4028bb146100da575b600080fd5b34801561006457600080fd5b5061006d6100fb565b005b34801561007b57600080fd5b5061006d600160a060020a0360043516610119565b34801561009c57600080fd5b506100b1600160a060020a0360043516610139565b604080519115158252519081900360200190f35b3480156100d157600080fd5b5061006d610154565b3480156100e657600080fd5b5061006d600160a060020a036004351661015d565b61010433610139565b151561010f57600080fd5b610117610339565b565b61012233610139565b151561012d57600080fd5b61013681610400565b50565b600061014c60028363ffffffff61041116565b90505b919050565b61011733610448565b600080548190819074010000000000000000000000000000000000000000900460ff161561018a57600080fd5b61019333610139565b151561019e57600080fd5b600160a060020a03841660009081526004602052604090205460ff16156101c457600080fd5b83925082600160a060020a0316631777fb4b6040518163ffffffff1660e060020a028152600401602060405180830381600087803b15801561020557600080fd5b505af1158015610219573d6000803e3d6000fd5b505050506040513d602081101561022f57600080fd5b5051151561023c57600080fd5b82600160a060020a03166380258e476040518163ffffffff1660e060020a028152600401602060405180830381600087803b15801561027a57600080fd5b505af115801561028e573d6000803e3d6000fd5b505050506040513d60208110156102a457600080fd5b50519150600060ff8316108015906102c0575060058260ff1611155b15156102cb57600080fd5b6102d482610459565b9050600160035460ff1660018111156102e957fe5b14156102f9576064600a82020490505b600160a060020a038085166000908152600460205260409020805460ff19166001908117909155546103339116858363ffffffff61050b16565b50505050565b600154604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051600092600160a060020a0316916370a0823191602480830192602092919082900301818787803b15801561039e57600080fd5b505af11580156103b2573d6000803e3d6000fd5b505050506040513d60208110156103c857600080fd5b5051905060008111156103f8576000546001546103f891600160a060020a0391821691168363ffffffff61050b16565b6101366105aa565b61013660028263ffffffff6105e116565b6000600160a060020a038216151561042857600080fd5b50600160a060020a03166000908152602091909152604090205460ff1690565b61013660028263ffffffff61062f16565b600060ff82161515610476575069152d02c7e14af680000061014f565b8160ff1660011415610493575069d3c21bcecceda100000061014f565b8160ff16600214156104b157506a01a784379d99db4200000061014f565b8160ff16600314156104cf57506a027b46536c66c8e300000061014f565b8160ff16600414156104ed57506a034f086f3b33b68400000061014f565b8160ff166005141561014f57506a0422ca8b0a00a42500000061014f565b82600160a060020a031663a9059cbb83836040518363ffffffff1660e060020a0281526004018083600160a060020a0316600160a060020a0316815260200182815260200192505050602060405180830381600087803b15801561056e57600080fd5b505af1158015610582573d6000803e3d6000fd5b505050506040513d602081101561059857600080fd5b505115156105a557600080fd5b505050565b6000805474ff0000000000000000000000000000000000000000191674010000000000000000000000000000000000000000179055565b600160a060020a03811615156105f657600080fd5b6106008282610411565b1561060a57600080fd5b600160a060020a0316600090815260209190915260409020805460ff19166001179055565b600160a060020a038116151561064457600080fd5b61064e8282610411565b151561065957600080fd5b600160a060020a0316600090815260209190915260409020805460ff191690555600a165627a7a72305820308aff6f9dcaa30d375fb4263114be30ddb9e7b07df39a8a98ba43cf3e23cf7e0029 \ No newline at end of file +608060405234801561001057600080fd5b506040516040806107f28339810160405280516020909101516000805433600160a060020a0319918216811760a060020a60ff02191690925560018054909116600160a060020a03841617905561006f90640100000000610093810204565b6003805483919060ff19166001838181111561008757fe5b0217905550505061013c565b6100ab6002826401000000006105e16100ae82021704565b50565b600160a060020a03811615156100c357600080fd5b6100d68282640100000000610105810204565b156100e057600080fd5b600160a060020a0316600090815260209190915260409020805460ff19166001179055565b6000600160a060020a038216151561011c57600080fd5b50600160a060020a03166000908152602091909152604090205460ff1690565b6106a78061014b6000396000f3006080604052600436106100535763ffffffff60e060020a6000350416630c08bf8881146100585780632e6b68491461006f578063608d3d3d14610090578063d43acc79146100c5578063fe4028bb146100da575b600080fd5b34801561006457600080fd5b5061006d6100fb565b005b34801561007b57600080fd5b5061006d600160a060020a0360043516610119565b34801561009c57600080fd5b506100b1600160a060020a0360043516610139565b604080519115158252519081900360200190f35b3480156100d157600080fd5b5061006d610154565b3480156100e657600080fd5b5061006d600160a060020a036004351661015d565b61010433610139565b151561010f57600080fd5b610117610339565b565b61012233610139565b151561012d57600080fd5b61013681610400565b50565b600061014c60028363ffffffff61041116565b90505b919050565b61011733610448565b600080548190819074010000000000000000000000000000000000000000900460ff161561018a57600080fd5b61019333610139565b151561019e57600080fd5b600160a060020a03841660009081526004602052604090205460ff16156101c457600080fd5b83925082600160a060020a0316631777fb4b6040518163ffffffff1660e060020a028152600401602060405180830381600087803b15801561020557600080fd5b505af1158015610219573d6000803e3d6000fd5b505050506040513d602081101561022f57600080fd5b5051151561023c57600080fd5b82600160a060020a03166380258e476040518163ffffffff1660e060020a028152600401602060405180830381600087803b15801561027a57600080fd5b505af115801561028e573d6000803e3d6000fd5b505050506040513d60208110156102a457600080fd5b50519150600060ff8316108015906102c0575060058260ff1611155b15156102cb57600080fd5b6102d482610459565b9050600160035460ff1660018111156102e957fe5b14156102f9576064600a82020490505b600160a060020a038085166000908152600460205260409020805460ff19166001908117909155546103339116858363ffffffff61050b16565b50505050565b600154604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051600092600160a060020a0316916370a0823191602480830192602092919082900301818787803b15801561039e57600080fd5b505af11580156103b2573d6000803e3d6000fd5b505050506040513d60208110156103c857600080fd5b5051905060008111156103f8576000546001546103f891600160a060020a0391821691168363ffffffff61050b16565b6101366105aa565b61013660028263ffffffff6105e116565b6000600160a060020a038216151561042857600080fd5b50600160a060020a03166000908152602091909152604090205460ff1690565b61013660028263ffffffff61062f16565b600060ff82161515610476575069152d02c7e14af680000061014f565b8160ff1660011415610493575069d3c21bcecceda100000061014f565b8160ff16600214156104b157506a01a784379d99db4200000061014f565b8160ff16600314156104cf57506a027b46536c66c8e300000061014f565b8160ff16600414156104ed57506a034f086f3b33b68400000061014f565b8160ff166005141561014f57506a0422ca8b0a00a42500000061014f565b82600160a060020a031663a9059cbb83836040518363ffffffff1660e060020a0281526004018083600160a060020a0316600160a060020a0316815260200182815260200192505050602060405180830381600087803b15801561056e57600080fd5b505af1158015610582573d6000803e3d6000fd5b505050506040513d602081101561059857600080fd5b505115156105a557600080fd5b505050565b6000805474ff0000000000000000000000000000000000000000191674010000000000000000000000000000000000000000179055565b600160a060020a03811615156105f657600080fd5b6106008282610411565b1561060a57600080fd5b600160a060020a0316600090815260209190915260409020805460ff19166001179055565b600160a060020a038116151561064457600080fd5b61064e8282610411565b151561065957600080fd5b600160a060020a0316600090815260209190915260409020805460ff191690555600a165627a7a72305820607cdb7d48cff40583123be547a706873bba6b846ef7d5e3d0130e7698d76c6e0029 \ No newline at end of file diff --git a/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/bin/AlgoPool.json b/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/bin/AlgoPool.json index 3d3e99dc6..011ad68c3 100644 --- a/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/bin/AlgoPool.json +++ b/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/bin/AlgoPool.json @@ -81,7 +81,7 @@ "type": "constructor" } ], - "bytecode": "608060405234801561001057600080fd5b506040516040806107f28339810160405280516020909101516000805433600160a060020a0319918216811760a060020a60ff02191690925560018054909116600160a060020a03841617905561006f90640100000000610093810204565b6003805483919060ff19166001838181111561008757fe5b0217905550505061013c565b6100ab6002826401000000006105e16100ae82021704565b50565b600160a060020a03811615156100c357600080fd5b6100d68282640100000000610105810204565b156100e057600080fd5b600160a060020a0316600090815260209190915260409020805460ff19166001179055565b6000600160a060020a038216151561011c57600080fd5b50600160a060020a03166000908152602091909152604090205460ff1690565b6106a78061014b6000396000f3006080604052600436106100535763ffffffff60e060020a6000350416630c08bf8881146100585780632e6b68491461006f578063608d3d3d14610090578063d43acc79146100c5578063fe4028bb146100da575b600080fd5b34801561006457600080fd5b5061006d6100fb565b005b34801561007b57600080fd5b5061006d600160a060020a0360043516610119565b34801561009c57600080fd5b506100b1600160a060020a0360043516610139565b604080519115158252519081900360200190f35b3480156100d157600080fd5b5061006d610154565b3480156100e657600080fd5b5061006d600160a060020a036004351661015d565b61010433610139565b151561010f57600080fd5b610117610339565b565b61012233610139565b151561012d57600080fd5b61013681610400565b50565b600061014c60028363ffffffff61041116565b90505b919050565b61011733610448565b600080548190819074010000000000000000000000000000000000000000900460ff161561018a57600080fd5b61019333610139565b151561019e57600080fd5b600160a060020a03841660009081526004602052604090205460ff16156101c457600080fd5b83925082600160a060020a0316631777fb4b6040518163ffffffff1660e060020a028152600401602060405180830381600087803b15801561020557600080fd5b505af1158015610219573d6000803e3d6000fd5b505050506040513d602081101561022f57600080fd5b5051151561023c57600080fd5b82600160a060020a03166380258e476040518163ffffffff1660e060020a028152600401602060405180830381600087803b15801561027a57600080fd5b505af115801561028e573d6000803e3d6000fd5b505050506040513d60208110156102a457600080fd5b50519150600060ff8316108015906102c0575060058260ff1611155b15156102cb57600080fd5b6102d482610459565b9050600160035460ff1660018111156102e957fe5b14156102f9576064600a82020490505b600160a060020a038085166000908152600460205260409020805460ff19166001908117909155546103339116858363ffffffff61050b16565b50505050565b600154604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051600092600160a060020a0316916370a0823191602480830192602092919082900301818787803b15801561039e57600080fd5b505af11580156103b2573d6000803e3d6000fd5b505050506040513d60208110156103c857600080fd5b5051905060008111156103f8576000546001546103f891600160a060020a0391821691168363ffffffff61050b16565b6101366105aa565b61013660028263ffffffff6105e116565b6000600160a060020a038216151561042857600080fd5b50600160a060020a03166000908152602091909152604090205460ff1690565b61013660028263ffffffff61062f16565b600060ff82161515610476575069152d02c7e14af680000061014f565b8160ff1660011415610493575069d3c21bcecceda100000061014f565b8160ff16600214156104b157506a01a784379d99db4200000061014f565b8160ff16600314156104cf57506a027b46536c66c8e300000061014f565b8160ff16600414156104ed57506a034f086f3b33b68400000061014f565b8160ff166005141561014f57506a0422ca8b0a00a42500000061014f565b82600160a060020a031663a9059cbb83836040518363ffffffff1660e060020a0281526004018083600160a060020a0316600160a060020a0316815260200182815260200192505050602060405180830381600087803b15801561056e57600080fd5b505af1158015610582573d6000803e3d6000fd5b505050506040513d602081101561059857600080fd5b505115156105a557600080fd5b505050565b6000805474ff0000000000000000000000000000000000000000191674010000000000000000000000000000000000000000179055565b600160a060020a03811615156105f657600080fd5b6106008282610411565b1561060a57600080fd5b600160a060020a0316600090815260209190915260409020805460ff19166001179055565b600160a060020a038116151561064457600080fd5b61064e8282610411565b151561065957600080fd5b600160a060020a0316600090815260209190915260409020805460ff191690555600a165627a7a72305820308aff6f9dcaa30d375fb4263114be30ddb9e7b07df39a8a98ba43cf3e23cf7e0029", + "bytecode": "608060405234801561001057600080fd5b506040516040806107f28339810160405280516020909101516000805433600160a060020a0319918216811760a060020a60ff02191690925560018054909116600160a060020a03841617905561006f90640100000000610093810204565b6003805483919060ff19166001838181111561008757fe5b0217905550505061013c565b6100ab6002826401000000006105e16100ae82021704565b50565b600160a060020a03811615156100c357600080fd5b6100d68282640100000000610105810204565b156100e057600080fd5b600160a060020a0316600090815260209190915260409020805460ff19166001179055565b6000600160a060020a038216151561011c57600080fd5b50600160a060020a03166000908152602091909152604090205460ff1690565b6106a78061014b6000396000f3006080604052600436106100535763ffffffff60e060020a6000350416630c08bf8881146100585780632e6b68491461006f578063608d3d3d14610090578063d43acc79146100c5578063fe4028bb146100da575b600080fd5b34801561006457600080fd5b5061006d6100fb565b005b34801561007b57600080fd5b5061006d600160a060020a0360043516610119565b34801561009c57600080fd5b506100b1600160a060020a0360043516610139565b604080519115158252519081900360200190f35b3480156100d157600080fd5b5061006d610154565b3480156100e657600080fd5b5061006d600160a060020a036004351661015d565b61010433610139565b151561010f57600080fd5b610117610339565b565b61012233610139565b151561012d57600080fd5b61013681610400565b50565b600061014c60028363ffffffff61041116565b90505b919050565b61011733610448565b600080548190819074010000000000000000000000000000000000000000900460ff161561018a57600080fd5b61019333610139565b151561019e57600080fd5b600160a060020a03841660009081526004602052604090205460ff16156101c457600080fd5b83925082600160a060020a0316631777fb4b6040518163ffffffff1660e060020a028152600401602060405180830381600087803b15801561020557600080fd5b505af1158015610219573d6000803e3d6000fd5b505050506040513d602081101561022f57600080fd5b5051151561023c57600080fd5b82600160a060020a03166380258e476040518163ffffffff1660e060020a028152600401602060405180830381600087803b15801561027a57600080fd5b505af115801561028e573d6000803e3d6000fd5b505050506040513d60208110156102a457600080fd5b50519150600060ff8316108015906102c0575060058260ff1611155b15156102cb57600080fd5b6102d482610459565b9050600160035460ff1660018111156102e957fe5b14156102f9576064600a82020490505b600160a060020a038085166000908152600460205260409020805460ff19166001908117909155546103339116858363ffffffff61050b16565b50505050565b600154604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051600092600160a060020a0316916370a0823191602480830192602092919082900301818787803b15801561039e57600080fd5b505af11580156103b2573d6000803e3d6000fd5b505050506040513d60208110156103c857600080fd5b5051905060008111156103f8576000546001546103f891600160a060020a0391821691168363ffffffff61050b16565b6101366105aa565b61013660028263ffffffff6105e116565b6000600160a060020a038216151561042857600080fd5b50600160a060020a03166000908152602091909152604090205460ff1690565b61013660028263ffffffff61062f16565b600060ff82161515610476575069152d02c7e14af680000061014f565b8160ff1660011415610493575069d3c21bcecceda100000061014f565b8160ff16600214156104b157506a01a784379d99db4200000061014f565b8160ff16600314156104cf57506a027b46536c66c8e300000061014f565b8160ff16600414156104ed57506a034f086f3b33b68400000061014f565b8160ff166005141561014f57506a0422ca8b0a00a42500000061014f565b82600160a060020a031663a9059cbb83836040518363ffffffff1660e060020a0281526004018083600160a060020a0316600160a060020a0316815260200182815260200192505050602060405180830381600087803b15801561056e57600080fd5b505af1158015610582573d6000803e3d6000fd5b505050506040513d602081101561059857600080fd5b505115156105a557600080fd5b505050565b6000805474ff0000000000000000000000000000000000000000191674010000000000000000000000000000000000000000179055565b600160a060020a03811615156105f657600080fd5b6106008282610411565b1561060a57600080fd5b600160a060020a0316600090815260209190915260409020805460ff19166001179055565b600160a060020a038116151561064457600080fd5b61064e8282610411565b151561065957600080fd5b600160a060020a0316600090815260209190915260409020805460ff191690555600a165627a7a72305820607cdb7d48cff40583123be547a706873bba6b846ef7d5e3d0130e7698d76c6e0029", "functionHashes": { "addCoreTeam(address)": "2e6b6849", "isCoreTeam(address)": "608d3d3d", diff --git a/labs/framework/src/AdvancedAlgos.AlgoToken.Framework.Ethereum.IntegrationTest/EthNetwork.cs b/labs/framework/src/AdvancedAlgos.AlgoToken.Framework.Ethereum.IntegrationTest/EthNetwork.cs index 908600832..4ff2462e3 100644 --- a/labs/framework/src/AdvancedAlgos.AlgoToken.Framework.Ethereum.IntegrationTest/EthNetwork.cs +++ b/labs/framework/src/AdvancedAlgos.AlgoToken.Framework.Ethereum.IntegrationTest/EthNetwork.cs @@ -26,7 +26,7 @@ namespace AdvancedAlgos.AlgoToken.Framework.Ethereum.IntegrationTest public IGasPriceProvider GasPriceProvider { get; private set; } public BigInteger TxBaseFeeWei => GasPriceProvider.GetGasPrice() * TRANSACTION_BASE_FEE; - public static void UseDefaultTestNet() => UseGethTestNet(); + public static void UseDefaultTestNet() => UseGanacheTestNet(); public static void UseGanacheTestNet() {