From 9eb756081401b3bac8c8e29cdb6455bc9d4ee8f0 Mon Sep 17 00:00:00 2001 From: tiltom Date: Mon, 18 Sep 2023 13:39:27 +0200 Subject: [PATCH 01/10] Do not check live version --- .../lib-ethers/abi/CommunityIssuance.json | 212 +--- packages/lib-ethers/abi/StabilityPool.json | 95 +- packages/lib-ethers/hardhat.config.ts | 11 +- packages/lib-ethers/live/ActivePool.json | 90 +- .../lib-ethers/live/ActivePoolStorage.json | 121 ++ .../lib-ethers/live/ActivePoolTester.json | 92 +- packages/lib-ethers/live/Address.json | 10 - .../live/AggregatorV3Interface.json | 122 -- packages/lib-ethers/live/BaseMath.json | 4 +- .../lib-ethers/live/BorrowerOperations.json | 424 +++++-- .../live/BorrowerOperationsScript.json | 10 +- .../live/BorrowerOperationsStorage.json | 160 +++ .../live/BorrowerOperationsTester.json | 458 +++++-- .../live/BorrowerWrappersScript.json | 34 +- packages/lib-ethers/live/CheckContract.json | 4 +- packages/lib-ethers/live/CollSurplusPool.json | 34 +- .../live/CollSurplusPoolStorage.json | 108 ++ .../lib-ethers/live/CommunityIssuance.json | 142 ++- .../live/CommunityIssuanceStorage.json | 173 +++ .../live/CommunityIssuanceTester.json | 153 ++- packages/lib-ethers/live/DSAuth.json | 73 +- packages/lib-ethers/live/DSAuthEvents.json | 6 +- packages/lib-ethers/live/DSAuthority.json | 6 +- packages/lib-ethers/live/DSNote.json | 10 +- packages/lib-ethers/live/DSProxy.json | 234 ++-- packages/lib-ethers/live/DSProxyCache.json | 24 +- packages/lib-ethers/live/DSProxyFactory.json | 96 +- packages/lib-ethers/live/DefaultPool.json | 90 +- .../lib-ethers/live/DefaultPoolStorage.json | 95 ++ .../lib-ethers/live/DefaultPoolTester.json | 92 +- packages/lib-ethers/live/Destructible.json | 4 +- packages/lib-ethers/live/ERC20Mock.json | 389 ------ .../lib-ethers/live/ETHTransferScript.json | 4 +- packages/lib-ethers/live/EchidnaProxy.json | 14 +- packages/lib-ethers/live/EchidnaTester.json | 46 +- .../live/ExternalPriceFeedTester.json | 47 + packages/lib-ethers/live/FeeDistributor.json | 357 ++++++ .../live/FeeDistributorStorage.json | 173 +++ packages/lib-ethers/live/FunctionCaller.json | 4 +- packages/lib-ethers/live/GasPool.json | 4 +- packages/lib-ethers/live/HintHelpers.json | 110 +- .../lib-ethers/live/HintHelpersStorage.json | 95 ++ packages/lib-ethers/live/IActivePool.json | 30 +- .../live/IBalanceRedirectPresale.json | 24 + .../lib-ethers/live/IBorrowerOperations.json | 341 ++++- .../lib-ethers/live/ICommunityIssuance.json | 59 +- packages/lib-ethers/live/IDLLR.json | 347 ++++++ packages/lib-ethers/live/IDefaultPool.json | 30 +- .../lib-ethers/live/IExternalPriceFeed.json | 29 + packages/lib-ethers/live/IFeeDistributor.json | 178 +++ .../lib-ethers/live/IFeeSharingCollector.json | 72 ++ packages/lib-ethers/live/ILPTokenWrapper.json | 69 -- packages/lib-ethers/live/ILiquityBase.json | 13 + .../lib-ethers/live/ILiquityBaseParams.json | 89 ++ .../live/ILockupContractFactory.json | 105 -- .../{IUnipool.json => IMassetManager.json} | 73 +- packages/lib-ethers/live/IMoCBaseOracle.json | 29 + packages/lib-ethers/live/IPool.json | 22 +- .../{ITellorCaller.json => IRSKOracle.json} | 19 +- packages/lib-ethers/live/IStabilityPool.json | 197 ++- packages/lib-ethers/live/ITellor.json | 1104 ----------------- packages/lib-ethers/live/ITroveManager.json | 375 ++++-- packages/lib-ethers/live/IWrbtc.json | 301 +++++ .../{ILQTYStaking.json => IZEROStaking.json} | 80 +- .../live/{ILQTYToken.json => IZEROToken.json} | 58 +- .../live/{ILUSDToken.json => IZUSDToken.json} | 42 +- packages/lib-ethers/live/Initializable.json | 10 + packages/lib-ethers/live/LPTokenWrapper.json | 82 -- packages/lib-ethers/live/LQTYStaking.json | 548 -------- .../lib-ethers/live/LQTYStakingTester.json | 555 --------- packages/lib-ethers/live/LQTYToken.json | 566 --------- packages/lib-ethers/live/LQTYTokenTester.json | 673 ---------- packages/lib-ethers/live/LUSDToken.json | 582 --------- packages/lib-ethers/live/LUSDTokenCaller.json | 106 -- packages/lib-ethers/live/LUSDTokenTester.json | 779 ------------ packages/lib-ethers/live/LiquityBase.json | 71 +- .../lib-ethers/live/LiquityBaseParams.json | 232 ++++ packages/lib-ethers/live/LiquityMath.json | 4 +- .../lib-ethers/live/LiquityMathTester.json | 4 +- .../lib-ethers/live/LiquitySafeMath128.json | 4 +- .../live/LiquitySafeMath128Tester.json | 4 +- packages/lib-ethers/live/LockupContract.json | 136 -- .../live/LockupContractFactory.json | 208 ---- .../lib-ethers/live/MassetManagerTester.json | 100 ++ packages/lib-ethers/live/Migrations.json | 68 - packages/lib-ethers/live/MoCMedianizer.json | 40 + packages/lib-ethers/live/MockAggregator.json | 234 ---- .../live/MockBalanceRedirectPresale.json | 38 + .../live/MockFeeSharingCollector.json | 36 + .../live/MockIFeeSharingCollector.json | 29 + packages/lib-ethers/live/MockTellor.json | 124 -- .../lib-ethers/live/MultiTroveGetter.json | 65 +- .../live/MultiTroveGetterStorage.json | 82 ++ packages/lib-ethers/live/MyntLib.json | 10 + packages/lib-ethers/live/NonPayable.json | 4 +- packages/lib-ethers/live/NueMockToken.json | 498 ++++++++ packages/lib-ethers/live/Ownable.json | 18 +- packages/lib-ethers/live/PriceFeed.json | 175 +-- .../lib-ethers/live/PriceFeedStorage.json | 82 ++ packages/lib-ethers/live/PriceFeedTester.json | 184 +-- .../lib-ethers/live/PriceFeedTestnet.json | 4 +- .../lib-ethers/live/ProxiableContract.json | 37 + .../lib-ethers/live/ProxiableContract2.json | 76 ++ packages/lib-ethers/live/Proxy.json | 96 ++ packages/lib-ethers/live/RskOracle.json | 40 + packages/lib-ethers/live/SafeERC20.json | 10 - packages/lib-ethers/live/SafeMath.json | 4 +- packages/lib-ethers/live/SortedTroves.json | 56 +- .../lib-ethers/live/SortedTrovesStorage.json | 123 ++ .../lib-ethers/live/SortedTrovesTester.json | 4 +- packages/lib-ethers/live/StabilityPool.json | 266 ++-- .../lib-ethers/live/StabilityPoolScript.json | 4 +- .../lib-ethers/live/StabilityPoolStorage.json | 431 +++++++ .../lib-ethers/live/StabilityPoolTester.json | 266 ++-- packages/lib-ethers/live/Storage.json | 10 + packages/lib-ethers/live/Storage2.json | 10 + packages/lib-ethers/live/TellorCaller.json | 64 - packages/lib-ethers/live/TokenScript.json | 4 +- packages/lib-ethers/live/TroveManager.json | 638 +++++++--- .../lib-ethers/live/TroveManagerBase.json | 904 ++++++++++++++ .../live/TroveManagerRedeemOps.json | 1017 +++++++++++++++ .../lib-ethers/live/TroveManagerScript.json | 6 +- .../lib-ethers/live/TroveManagerStorage.json | 385 ++++++ .../lib-ethers/live/TroveManagerTester.json | 671 ++++++---- packages/lib-ethers/live/Unipool.json | 434 ------- packages/lib-ethers/live/UpgradableProxy.json | 109 ++ .../live/UpgradableProxyTester.json | 109 ++ .../lib-ethers/live/WRBTCTokenTester.json | 331 +++++ packages/lib-ethers/live/ZEROStaking.json | 530 ++++++++ ...kingScript.json => ZEROStakingScript.json} | 10 +- .../lib-ethers/live/ZEROStakingStorage.json | 203 +++ .../lib-ethers/live/ZEROStakingTester.json | 537 ++++++++ packages/lib-ethers/live/ZEROToken.json | 524 ++++++++ .../lib-ethers/live/ZEROTokenStorage.json | 63 + packages/lib-ethers/live/ZEROTokenTester.json | 652 ++++++++++ packages/lib-ethers/live/ZUSDToken.json | 590 +++++++++ packages/lib-ethers/live/ZUSDTokenCaller.json | 106 ++ .../lib-ethers/live/ZUSDTokenStorage.json | 10 + packages/lib-ethers/live/ZUSDTokenTester.json | 808 ++++++++++++ .../lib-ethers/live/ZUSDTokenTestnet.json | 590 +++++++++ packages/lib-ethers/live/console.json | 4 +- packages/lib-ethers/live/version | 1 - packages/lib-ethers/package.json | 3 - .../lib-ethers/scripts/check-live-version.ts | 51 - .../lib-ethers/scripts/save-live-version.ts | 1 - packages/lib-ethers/types/index.ts | 63 +- 146 files changed, 15745 insertions(+), 9577 deletions(-) create mode 100644 packages/lib-ethers/live/ActivePoolStorage.json delete mode 100644 packages/lib-ethers/live/Address.json delete mode 100644 packages/lib-ethers/live/AggregatorV3Interface.json create mode 100644 packages/lib-ethers/live/BorrowerOperationsStorage.json create mode 100644 packages/lib-ethers/live/CollSurplusPoolStorage.json create mode 100644 packages/lib-ethers/live/CommunityIssuanceStorage.json create mode 100644 packages/lib-ethers/live/DefaultPoolStorage.json delete mode 100644 packages/lib-ethers/live/ERC20Mock.json create mode 100644 packages/lib-ethers/live/ExternalPriceFeedTester.json create mode 100644 packages/lib-ethers/live/FeeDistributor.json create mode 100644 packages/lib-ethers/live/FeeDistributorStorage.json create mode 100644 packages/lib-ethers/live/HintHelpersStorage.json create mode 100644 packages/lib-ethers/live/IBalanceRedirectPresale.json create mode 100644 packages/lib-ethers/live/IDLLR.json create mode 100644 packages/lib-ethers/live/IExternalPriceFeed.json create mode 100644 packages/lib-ethers/live/IFeeDistributor.json create mode 100644 packages/lib-ethers/live/IFeeSharingCollector.json delete mode 100644 packages/lib-ethers/live/ILPTokenWrapper.json create mode 100644 packages/lib-ethers/live/ILiquityBaseParams.json delete mode 100644 packages/lib-ethers/live/ILockupContractFactory.json rename packages/lib-ethers/live/{IUnipool.json => IMassetManager.json} (60%) create mode 100644 packages/lib-ethers/live/IMoCBaseOracle.json rename packages/lib-ethers/live/{ITellorCaller.json => IRSKOracle.json} (55%) delete mode 100644 packages/lib-ethers/live/ITellor.json create mode 100644 packages/lib-ethers/live/IWrbtc.json rename packages/lib-ethers/live/{ILQTYStaking.json => IZEROStaking.json} (84%) rename packages/lib-ethers/live/{ILQTYToken.json => IZEROToken.json} (86%) rename packages/lib-ethers/live/{ILUSDToken.json => IZUSDToken.json} (98%) create mode 100644 packages/lib-ethers/live/Initializable.json delete mode 100644 packages/lib-ethers/live/LPTokenWrapper.json delete mode 100644 packages/lib-ethers/live/LQTYStaking.json delete mode 100644 packages/lib-ethers/live/LQTYStakingTester.json delete mode 100644 packages/lib-ethers/live/LQTYToken.json delete mode 100644 packages/lib-ethers/live/LQTYTokenTester.json delete mode 100644 packages/lib-ethers/live/LUSDToken.json delete mode 100644 packages/lib-ethers/live/LUSDTokenCaller.json delete mode 100644 packages/lib-ethers/live/LUSDTokenTester.json create mode 100644 packages/lib-ethers/live/LiquityBaseParams.json delete mode 100644 packages/lib-ethers/live/LockupContract.json delete mode 100644 packages/lib-ethers/live/LockupContractFactory.json create mode 100644 packages/lib-ethers/live/MassetManagerTester.json delete mode 100644 packages/lib-ethers/live/Migrations.json create mode 100644 packages/lib-ethers/live/MoCMedianizer.json delete mode 100644 packages/lib-ethers/live/MockAggregator.json create mode 100644 packages/lib-ethers/live/MockBalanceRedirectPresale.json create mode 100644 packages/lib-ethers/live/MockFeeSharingCollector.json create mode 100644 packages/lib-ethers/live/MockIFeeSharingCollector.json delete mode 100644 packages/lib-ethers/live/MockTellor.json create mode 100644 packages/lib-ethers/live/MultiTroveGetterStorage.json create mode 100644 packages/lib-ethers/live/MyntLib.json create mode 100644 packages/lib-ethers/live/NueMockToken.json create mode 100644 packages/lib-ethers/live/PriceFeedStorage.json create mode 100644 packages/lib-ethers/live/ProxiableContract.json create mode 100644 packages/lib-ethers/live/ProxiableContract2.json create mode 100644 packages/lib-ethers/live/Proxy.json create mode 100644 packages/lib-ethers/live/RskOracle.json delete mode 100644 packages/lib-ethers/live/SafeERC20.json create mode 100644 packages/lib-ethers/live/SortedTrovesStorage.json create mode 100644 packages/lib-ethers/live/StabilityPoolStorage.json create mode 100644 packages/lib-ethers/live/Storage.json create mode 100644 packages/lib-ethers/live/Storage2.json delete mode 100644 packages/lib-ethers/live/TellorCaller.json create mode 100644 packages/lib-ethers/live/TroveManagerBase.json create mode 100644 packages/lib-ethers/live/TroveManagerRedeemOps.json create mode 100644 packages/lib-ethers/live/TroveManagerStorage.json delete mode 100644 packages/lib-ethers/live/Unipool.json create mode 100644 packages/lib-ethers/live/UpgradableProxy.json create mode 100644 packages/lib-ethers/live/UpgradableProxyTester.json create mode 100644 packages/lib-ethers/live/WRBTCTokenTester.json create mode 100644 packages/lib-ethers/live/ZEROStaking.json rename packages/lib-ethers/live/{LQTYStakingScript.json => ZEROStakingScript.json} (84%) create mode 100644 packages/lib-ethers/live/ZEROStakingStorage.json create mode 100644 packages/lib-ethers/live/ZEROStakingTester.json create mode 100644 packages/lib-ethers/live/ZEROToken.json create mode 100644 packages/lib-ethers/live/ZEROTokenStorage.json create mode 100644 packages/lib-ethers/live/ZEROTokenTester.json create mode 100644 packages/lib-ethers/live/ZUSDToken.json create mode 100644 packages/lib-ethers/live/ZUSDTokenCaller.json create mode 100644 packages/lib-ethers/live/ZUSDTokenStorage.json create mode 100644 packages/lib-ethers/live/ZUSDTokenTester.json create mode 100644 packages/lib-ethers/live/ZUSDTokenTestnet.json delete mode 100644 packages/lib-ethers/live/version delete mode 100644 packages/lib-ethers/scripts/check-live-version.ts diff --git a/packages/lib-ethers/abi/CommunityIssuance.json b/packages/lib-ethers/abi/CommunityIssuance.json index 9359da439..f165e24dd 100644 --- a/packages/lib-ethers/abi/CommunityIssuance.json +++ b/packages/lib-ethers/abi/CommunityIssuance.json @@ -4,31 +4,12 @@ "inputs": [ { "indexed": false, - "internalType": "uint256", - "name": "_APR", - "type": "uint256" - } - ], - "name": "APRSet", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, "internalType": "address", - "name": "previousOwner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "newOwner", + "name": "_communityPotAddress", "type": "address" } ], - "name": "OwnershipTransferred", + "name": "CommunityPotAddressSet", "type": "event" }, { @@ -37,50 +18,30 @@ { "indexed": false, "internalType": "address", - "name": "_priceFeed", + "name": "_zeroTokenAddress", "type": "address" } ], - "name": "PriceFeedAddressSet", + "name": "FundingWalletAddressSet", "type": "event" }, { "anonymous": false, "inputs": [ { - "indexed": false, - "internalType": "address", - "name": "_rewardManagerAddress", - "type": "address" - } - ], - "name": "RewardManagerAddressSet", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, + "indexed": true, "internalType": "address", - "name": "_sovTokenAddress", + "name": "previousOwner", "type": "address" - } - ], - "name": "SOVTokenAddressSet", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ + }, { - "indexed": false, + "indexed": true, "internalType": "address", - "name": "_stabilityPoolAddress", + "name": "newOwner", "type": "address" } ], - "name": "StabilityPoolAddressSet", + "name": "OwnershipTransferred", "type": "event" }, { @@ -89,11 +50,11 @@ { "indexed": false, "internalType": "uint256", - "name": "_latestSOVIssued", + "name": "_fundingWalletAddress", "type": "uint256" } ], - "name": "TotalSOVIssuedUpdated", + "name": "TotalZEROIssuedUpdated", "type": "event" }, { @@ -102,16 +63,16 @@ { "indexed": false, "internalType": "address", - "name": "_zusdTokenAddress", + "name": "_zeroTokenAddress", "type": "address" } ], - "name": "ZUSDTokenAddressSet", + "name": "ZEROTokenAddressSet", "type": "event" }, { "inputs": [], - "name": "APR", + "name": "DECIMAL_PRECISION", "outputs": [ { "internalType": "uint256", @@ -124,7 +85,7 @@ }, { "inputs": [], - "name": "DECIMAL_PRECISION", + "name": "ISSUANCE_FACTOR", "outputs": [ { "internalType": "uint256", @@ -150,72 +111,46 @@ }, { "inputs": [], - "name": "getOwner", + "name": "SECONDS_IN_ONE_MINUTE", "outputs": [ { - "internalType": "address", - "name": "_owner", - "type": "address" + "internalType": "uint256", + "name": "", + "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { - "inputs": [ - { - "internalType": "address", - "name": "_sovTokenAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_zusdTokenAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_stabilityPoolAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_priceFeed", - "type": "address" - }, + "inputs": [], + "name": "ZEROSupplyCap", + "outputs": [ { "internalType": "uint256", - "name": "_APR", + "name": "", "type": "uint256" } ], - "name": "initialize", - "outputs": [], - "stateMutability": "nonpayable", + "stateMutability": "view", "type": "function" }, { - "inputs": [ - { - "internalType": "uint256", - "name": "_totalZUSDDeposits", - "type": "uint256" - } - ], - "name": "issueSOV", + "inputs": [], + "name": "communityPotAddress", "outputs": [ { - "internalType": "uint256", + "internalType": "address", "name": "", - "type": "uint256" + "type": "address" } ], - "stateMutability": "nonpayable", + "stateMutability": "view", "type": "function" }, { "inputs": [], - "name": "lastIssuanceTime", + "name": "deploymentTime", "outputs": [ { "internalType": "uint256", @@ -228,10 +163,10 @@ }, { "inputs": [], - "name": "priceFeed", + "name": "fundingWalletAddress", "outputs": [ { - "internalType": "contract IPriceFeedSovryn", + "internalType": "address", "name": "", "type": "address" } @@ -241,11 +176,11 @@ }, { "inputs": [], - "name": "rewardManager", + "name": "getOwner", "outputs": [ { "internalType": "address", - "name": "", + "name": "_owner", "type": "address" } ], @@ -256,30 +191,35 @@ "inputs": [ { "internalType": "address", - "name": "_account", + "name": "_zeroTokenAddress", "type": "address" }, { - "internalType": "uint256", - "name": "_SOVamount", - "type": "uint256" + "internalType": "address", + "name": "_communityPotAddress", + "type": "address" + }, + { + "internalType": "address", + "name": "_fundingWalletAddress", + "type": "address" } ], - "name": "sendSOV", + "name": "initialize", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { - "inputs": [ + "inputs": [], + "name": "issueZERO", + "outputs": [ { "internalType": "uint256", - "name": "_APR", + "name": "", "type": "uint256" } ], - "name": "setAPR", - "outputs": [], "stateMutability": "nonpayable", "type": "function" }, @@ -287,11 +227,16 @@ "inputs": [ { "internalType": "address", - "name": "_owner", + "name": "_account", "type": "address" + }, + { + "internalType": "uint256", + "name": "_ZEROamount", + "type": "uint256" } ], - "name": "setOwner", + "name": "receiveZero", "outputs": [], "stateMutability": "nonpayable", "type": "function" @@ -300,11 +245,16 @@ "inputs": [ { "internalType": "address", - "name": "_priceFeedAddress", + "name": "_account", "type": "address" + }, + { + "internalType": "uint256", + "name": "_ZEROamount", + "type": "uint256" } ], - "name": "setPriceFeed", + "name": "sendZERO", "outputs": [], "stateMutability": "nonpayable", "type": "function" @@ -313,44 +263,18 @@ "inputs": [ { "internalType": "address", - "name": "_rewardManagerAddress", + "name": "_owner", "type": "address" } ], - "name": "setRewardManager", + "name": "setOwner", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], - "name": "sovToken", - "outputs": [ - { - "internalType": "contract IERC20", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "stabilityPoolAddress", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "totalSOVIssued", + "name": "totalZEROIssued", "outputs": [ { "internalType": "uint256", @@ -363,10 +287,10 @@ }, { "inputs": [], - "name": "zusdToken", + "name": "zeroToken", "outputs": [ { - "internalType": "contract IERC20", + "internalType": "contract IZEROToken", "name": "", "type": "address" } diff --git a/packages/lib-ethers/abi/StabilityPool.json b/packages/lib-ethers/abi/StabilityPool.json index 461f44b19..6b4eb08c1 100644 --- a/packages/lib-ethers/abi/StabilityPool.json +++ b/packages/lib-ethers/abi/StabilityPool.json @@ -297,44 +297,6 @@ "name": "PriceFeedAddressChanged", "type": "event" }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "_depositor", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_SOV", - "type": "uint256" - } - ], - "name": "SOVPaidToDepositor", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "_frontEnd", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_SOV", - "type": "uint256" - } - ], - "name": "SOVPaidToFrontEnd", - "type": "event" - }, { "anonymous": false, "inputs": [ @@ -469,6 +431,44 @@ "name": "WithdrawFromSpAndConvertToDLLR", "type": "event" }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "_depositor", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "_ZERO", + "type": "uint256" + } + ], + "name": "ZEROPaidToDepositor", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "_frontEnd", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "_ZERO", + "type": "uint256" + } + ], + "name": "ZEROPaidToFrontEnd", + "type": "event" + }, { "anonymous": false, "inputs": [ @@ -909,7 +909,7 @@ "type": "address" } ], - "name": "getDepositorSOVGain", + "name": "getDepositorZEROGain", "outputs": [ { "internalType": "uint256", @@ -967,7 +967,7 @@ "type": "address" } ], - "name": "getFrontEndSOVGain", + "name": "getFrontEndZEROGain", "outputs": [ { "internalType": "uint256", @@ -1019,7 +1019,7 @@ }, { "inputs": [], - "name": "lastSOVError", + "name": "lastZEROError", "outputs": [ { "internalType": "uint256", @@ -1206,19 +1206,6 @@ "stateMutability": "nonpayable", "type": "function" }, - { - "inputs": [ - { - "internalType": "address", - "name": "_communityIssuanceAddress", - "type": "address" - } - ], - "name": "setCommunityIssuanceAddress", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, { "inputs": [ { diff --git a/packages/lib-ethers/hardhat.config.ts b/packages/lib-ethers/hardhat.config.ts index 61c6cf92e..c0c1a8e9a 100644 --- a/packages/lib-ethers/hardhat.config.ts +++ b/packages/lib-ethers/hardhat.config.ts @@ -43,15 +43,6 @@ const contractsDir = path.join("..", "contracts"); const artifacts = path.join(contractsDir, "artifacts"); const cache = path.join(contractsDir, "cache"); -const contractsVersion = fs - .readFileSync(path.join(useLiveVersion ? "live" : artifacts, "version")) - .toString() - .trim(); - -if (useLiveVersion) { - console.log(`Using live version of contracts (${contractsVersion}).`.cyan); -} - const generateRandomAccounts = (numberOfAccounts: number) => { const accounts = new Array(numberOfAccounts); @@ -358,7 +349,7 @@ extendEnvironment(env => { overrides ); - return { ...deployment, version: contractsVersion }; + return { ...deployment }; }; }); diff --git a/packages/lib-ethers/live/ActivePool.json b/packages/lib-ethers/live/ActivePool.json index 9a38e2027..38d1fb666 100644 --- a/packages/lib-ethers/live/ActivePool.json +++ b/packages/lib-ethers/live/ActivePool.json @@ -35,11 +35,11 @@ { "indexed": false, "internalType": "uint256", - "name": "_LUSDDebt", + "name": "_ZUSDDebt", "type": "uint256" } ], - "name": "ActivePoolLUSDDebtUpdated", + "name": "ActivePoolZUSDDebtUpdated", "type": "event" }, { @@ -100,19 +100,6 @@ "name": "EtherSent", "type": "event" }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "_newBalance", - "type": "uint256" - } - ], - "name": "LUSDBalanceUpdated", - "type": "event" - }, { "anonymous": false, "inputs": [ @@ -158,6 +145,19 @@ "name": "TroveManagerAddressChanged", "type": "event" }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "_newBalance", + "type": "uint256" + } + ], + "name": "ZUSDBalanceUpdated", + "type": "event" + }, { "inputs": [], "name": "NAME", @@ -192,7 +192,7 @@ "type": "uint256" } ], - "name": "decreaseLUSDDebt", + "name": "decreaseZUSDDebt", "outputs": [], "stateMutability": "nonpayable", "type": "function" @@ -225,54 +225,41 @@ }, { "inputs": [], - "name": "getLUSDDebt", + "name": "getOwner", "outputs": [ { - "internalType": "uint256", - "name": "", - "type": "uint256" + "internalType": "address", + "name": "_owner", + "type": "address" } ], "stateMutability": "view", "type": "function" }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "name": "increaseLUSDDebt", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, { "inputs": [], - "name": "isOwner", + "name": "getZUSDDebt", "outputs": [ { - "internalType": "bool", + "internalType": "uint256", "name": "", - "type": "bool" + "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { - "inputs": [], - "name": "owner", - "outputs": [ + "inputs": [ { - "internalType": "address", - "name": "", - "type": "address" + "internalType": "uint256", + "name": "_amount", + "type": "uint256" } ], - "stateMutability": "view", + "name": "increaseZUSDDebt", + "outputs": [], + "stateMutability": "nonpayable", "type": "function" }, { @@ -321,6 +308,19 @@ "stateMutability": "nonpayable", "type": "function" }, + { + "inputs": [ + { + "internalType": "address", + "name": "_owner", + "type": "address" + } + ], + "name": "setOwner", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, { "inputs": [], "name": "stabilityPoolAddress", @@ -352,8 +352,8 @@ "type": "receive" } ], - "bytecode": "0x608060405234801561001057600080fd5b50600080546001600160a01b0319163390811782556040519091907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3610bbd8061005f6000396000f3fe6080604052600436106100b65760003560e01c806364a197f31161006f57806364a197f31461020d5780638da5cb5b146102465780638f32d59b1461025b578063a3f4df7e14610284578063aac1846f1461030e578063b7f8cf9b14610323578063cfb9329a146103385761010f565b80630b622ab21461011457806314f6c3be1461014557806338d995a81461016c5780634a945f8d146101985780635a4d28bb146101e35780635eb52fca146101f85761010f565b3661010f576100c3610362565b6005546100d6903463ffffffff6103c216565b600581905560408051918252517fca232b5abb988c540b959ff6c3bfae3e97fff964fd098c508f9613c0a6bf1a809181900360200190a1005b600080fd5b34801561012057600080fd5b50610129610423565b604080516001600160a01b039092168252519081900360200190f35b34801561015157600080fd5b5061015a610432565b60408051918252519081900360200190f35b34801561017857600080fd5b506101966004803603602081101561018f57600080fd5b5035610438565b005b3480156101a457600080fd5b50610196600480360360808110156101bb57600080fd5b506001600160a01b03813581169160208101358216916040820135811691606001351661048d565b3480156101ef57600080fd5b50610129610646565b34801561020457600080fd5b5061015a610655565b34801561021957600080fd5b506101966004803603604081101561023057600080fd5b506001600160a01b03813516906020013561065b565b34801561025257600080fd5b5061012961079c565b34801561026757600080fd5b506102706107ab565b604080519115158252519081900360200190f35b34801561029057600080fd5b506102996107bc565b6040805160208082528351818301528351919283929083019185019080838360005b838110156102d35781810151838201526020016102bb565b50505050905090810190601f1680156103005780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561031a57600080fd5b506101296107e2565b34801561032f57600080fd5b506101296107f1565b34801561034457600080fd5b506101966004803603602081101561035b57600080fd5b5035610800565b6001546001600160a01b031633148061038557506004546001600160a01b031633145b6103c05760405162461bcd60e51b8152600401808060200182810382526031815260200180610b576031913960400191505060405180910390fd5b565b60008282018381101561041c576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b6003546001600160a01b031681565b60055490565b61044061081b565b600654610453908263ffffffff61088e16565b600681905560408051918252517f0d4c964e4ceac5d740869d39789a7b91888a787b9c33e9365b1a658a21ffb6969181900360200190a150565b6104956107ab565b6104e6576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b6104ef846108d0565b6104f8836108d0565b610501826108d0565b61050a816108d0565b600180546001600160a01b038087166001600160a01b031992831681179093556002805487831690841617905560038054868316908416179055600480549185169190921617905560408051918252517f3ca631ffcd2a9b5d9ae18543fc82f58eb4ca33af9e6ab01b7a8e95331e6ed9859181900360200190a1604080516001600160a01b038516815290517f143219c9e69b09e07e095fcc889b43d8f46ca892bba65f08dc3a0050869a56789181900360200190a1604080516001600160a01b038416815290517f82966d27eea39b038ee0fa30cd16532bb24f6e65d31cb58fb227aa5766cdcc7f9181900360200190a1604080516001600160a01b038316815290517f5ee0cae2f063ed938bb55046f6a932fb6ae792bf43624806bb90abe68a50be9b9181900360200190a1610640610983565b50505050565b6002546001600160a01b031681565b60065490565b61066361081b565b600554610676908263ffffffff61088e16565b600581905560408051918252517fca232b5abb988c540b959ff6c3bfae3e97fff964fd098c508f9613c0a6bf1a809181900360200190a1604080516001600160a01b03841681526020810183905281517f6109e2559dfa766aaec7118351d48a523f0a4157f49c8d68749c8ac41318ad12929181900390910190a16040516000906001600160a01b0384169083908381818185875af1925050503d806000811461073c576040519150601f19603f3d011682016040523d82523d6000602084013e610741565b606091505b5050905080610797576040805162461bcd60e51b815260206004820152601e60248201527f416374697665506f6f6c3a2073656e64696e6720455448206661696c65640000604482015290519081900360640190fd5b505050565b6000546001600160a01b031690565b6000546001600160a01b0316331490565b6040518060400160405280600a8152602001691058dd1a5d99541bdbdb60b21b81525081565b6004546001600160a01b031681565b6001546001600160a01b031681565b6108086109cd565b600654610453908263ffffffff6103c216565b6001546001600160a01b031633148061083e57506002546001600160a01b031633145b8061085357506003546001600160a01b031633145b6103c05760405162461bcd60e51b8152600401808060200182810382526053815260200180610b046053913960600191505060405180910390fd5b600061041c83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610a2b565b6001600160a01b03811661092b576040805162461bcd60e51b815260206004820152601e60248201527f4163636f756e742063616e6e6f74206265207a65726f20616464726573730000604482015290519081900360640190fd5b803b8061097f576040805162461bcd60e51b815260206004820181905260248201527f4163636f756e7420636f64652073697a652063616e6e6f74206265207a65726f604482015290519081900360640190fd5b5050565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6001546001600160a01b03163314806109f057506002546001600160a01b031633145b6103c05760405162461bcd60e51b8152600401808060200182810382526041815260200180610ac36041913960600191505060405180910390fd5b60008184841115610aba5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610a7f578181015183820152602001610a67565b50505050905090810190601f168015610aac5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50505090039056fe416374697665506f6f6c3a2043616c6c6572206973206e65697468657220426f72726f7765724f7065726174696f6e73206e6f722054726f76654d616e61676572416374697665506f6f6c3a2043616c6c6572206973206e65697468657220426f72726f7765724f7065726174696f6e73206e6f722054726f76654d616e61676572206e6f722053746162696c697479506f6f6c416374697665506f6f6c3a2043616c6c6572206973206e65697468657220424f206e6f722044656661756c7420506f6f6ca26469706673582212203aea0a6deebfc6f5960c1b84c7730ae5dd92ccf877d605d81e8467142b51aa7764736f6c634300060b0033", - "deployedBytecode": "0x6080604052600436106100b65760003560e01c806364a197f31161006f57806364a197f31461020d5780638da5cb5b146102465780638f32d59b1461025b578063a3f4df7e14610284578063aac1846f1461030e578063b7f8cf9b14610323578063cfb9329a146103385761010f565b80630b622ab21461011457806314f6c3be1461014557806338d995a81461016c5780634a945f8d146101985780635a4d28bb146101e35780635eb52fca146101f85761010f565b3661010f576100c3610362565b6005546100d6903463ffffffff6103c216565b600581905560408051918252517fca232b5abb988c540b959ff6c3bfae3e97fff964fd098c508f9613c0a6bf1a809181900360200190a1005b600080fd5b34801561012057600080fd5b50610129610423565b604080516001600160a01b039092168252519081900360200190f35b34801561015157600080fd5b5061015a610432565b60408051918252519081900360200190f35b34801561017857600080fd5b506101966004803603602081101561018f57600080fd5b5035610438565b005b3480156101a457600080fd5b50610196600480360360808110156101bb57600080fd5b506001600160a01b03813581169160208101358216916040820135811691606001351661048d565b3480156101ef57600080fd5b50610129610646565b34801561020457600080fd5b5061015a610655565b34801561021957600080fd5b506101966004803603604081101561023057600080fd5b506001600160a01b03813516906020013561065b565b34801561025257600080fd5b5061012961079c565b34801561026757600080fd5b506102706107ab565b604080519115158252519081900360200190f35b34801561029057600080fd5b506102996107bc565b6040805160208082528351818301528351919283929083019185019080838360005b838110156102d35781810151838201526020016102bb565b50505050905090810190601f1680156103005780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561031a57600080fd5b506101296107e2565b34801561032f57600080fd5b506101296107f1565b34801561034457600080fd5b506101966004803603602081101561035b57600080fd5b5035610800565b6001546001600160a01b031633148061038557506004546001600160a01b031633145b6103c05760405162461bcd60e51b8152600401808060200182810382526031815260200180610b576031913960400191505060405180910390fd5b565b60008282018381101561041c576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b6003546001600160a01b031681565b60055490565b61044061081b565b600654610453908263ffffffff61088e16565b600681905560408051918252517f0d4c964e4ceac5d740869d39789a7b91888a787b9c33e9365b1a658a21ffb6969181900360200190a150565b6104956107ab565b6104e6576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b6104ef846108d0565b6104f8836108d0565b610501826108d0565b61050a816108d0565b600180546001600160a01b038087166001600160a01b031992831681179093556002805487831690841617905560038054868316908416179055600480549185169190921617905560408051918252517f3ca631ffcd2a9b5d9ae18543fc82f58eb4ca33af9e6ab01b7a8e95331e6ed9859181900360200190a1604080516001600160a01b038516815290517f143219c9e69b09e07e095fcc889b43d8f46ca892bba65f08dc3a0050869a56789181900360200190a1604080516001600160a01b038416815290517f82966d27eea39b038ee0fa30cd16532bb24f6e65d31cb58fb227aa5766cdcc7f9181900360200190a1604080516001600160a01b038316815290517f5ee0cae2f063ed938bb55046f6a932fb6ae792bf43624806bb90abe68a50be9b9181900360200190a1610640610983565b50505050565b6002546001600160a01b031681565b60065490565b61066361081b565b600554610676908263ffffffff61088e16565b600581905560408051918252517fca232b5abb988c540b959ff6c3bfae3e97fff964fd098c508f9613c0a6bf1a809181900360200190a1604080516001600160a01b03841681526020810183905281517f6109e2559dfa766aaec7118351d48a523f0a4157f49c8d68749c8ac41318ad12929181900390910190a16040516000906001600160a01b0384169083908381818185875af1925050503d806000811461073c576040519150601f19603f3d011682016040523d82523d6000602084013e610741565b606091505b5050905080610797576040805162461bcd60e51b815260206004820152601e60248201527f416374697665506f6f6c3a2073656e64696e6720455448206661696c65640000604482015290519081900360640190fd5b505050565b6000546001600160a01b031690565b6000546001600160a01b0316331490565b6040518060400160405280600a8152602001691058dd1a5d99541bdbdb60b21b81525081565b6004546001600160a01b031681565b6001546001600160a01b031681565b6108086109cd565b600654610453908263ffffffff6103c216565b6001546001600160a01b031633148061083e57506002546001600160a01b031633145b8061085357506003546001600160a01b031633145b6103c05760405162461bcd60e51b8152600401808060200182810382526053815260200180610b046053913960600191505060405180910390fd5b600061041c83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610a2b565b6001600160a01b03811661092b576040805162461bcd60e51b815260206004820152601e60248201527f4163636f756e742063616e6e6f74206265207a65726f20616464726573730000604482015290519081900360640190fd5b803b8061097f576040805162461bcd60e51b815260206004820181905260248201527f4163636f756e7420636f64652073697a652063616e6e6f74206265207a65726f604482015290519081900360640190fd5b5050565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6001546001600160a01b03163314806109f057506002546001600160a01b031633145b6103c05760405162461bcd60e51b8152600401808060200182810382526041815260200180610ac36041913960600191505060405180910390fd5b60008184841115610aba5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610a7f578181015183820152602001610a67565b50505050905090810190601f168015610aac5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50505090039056fe416374697665506f6f6c3a2043616c6c6572206973206e65697468657220426f72726f7765724f7065726174696f6e73206e6f722054726f76654d616e61676572416374697665506f6f6c3a2043616c6c6572206973206e65697468657220426f72726f7765724f7065726174696f6e73206e6f722054726f76654d616e61676572206e6f722053746162696c697479506f6f6c416374697665506f6f6c3a2043616c6c6572206973206e65697468657220424f206e6f722044656661756c7420506f6f6ca26469706673582212203aea0a6deebfc6f5960c1b84c7730ae5dd92ccf877d605d81e8467142b51aa7764736f6c634300060b0033", + "bytecode": "0x608060405234801561001057600080fd5b50610023336001600160e01b0361002816565b610110565b6001600160a01b03811661006d5760405162461bcd60e51b8152600401808060200182810382526022815260200180610df66022913960400191505060405180910390fd5b6001600160a01b0381166100886001600160e01b036100e616565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3604080517035b2bc9737bbb730b136329737bbb732b960791b8152905190819003601101902055565b604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205490565b610cd78061011f6000396000f3fe6080604052600436106100b65760003560e01c80635a4d28bb1161006f5780635a4d28bb1461022b57806364a197f314610240578063893d20e814610279578063a3f4df7e1461028e578063aac1846f14610318578063b7f8cf9b1461032d578063f2e91d71146103425761010f565b80630b622ab21461011457806313af40351461014557806314f6c3be1461017a5780632439789a146101a15780633963e980146101cb5780634a945f8d146101e05761010f565b3661010f576100c361036c565b6004546100d6903463ffffffff6103cc16565b600481905560408051918252517fca232b5abb988c540b959ff6c3bfae3e97fff964fd098c508f9613c0a6bf1a809181900360200190a1005b600080fd5b34801561012057600080fd5b5061012961042d565b604080516001600160a01b039092168252519081900360200190f35b34801561015157600080fd5b506101786004803603602081101561016857600080fd5b50356001600160a01b031661043c565b005b34801561018657600080fd5b5061018f6104af565b60408051918252519081900360200190f35b3480156101ad57600080fd5b50610178600480360360208110156101c457600080fd5b50356104b5565b3480156101d757600080fd5b5061018f61050a565b3480156101ec57600080fd5b506101786004803603608081101561020357600080fd5b506001600160a01b038135811691602081013582169160408201358116916060013516610510565b34801561023757600080fd5b506101296106cf565b34801561024c57600080fd5b506101786004803603604081101561026357600080fd5b506001600160a01b0381351690602001356106de565b34801561028557600080fd5b5061012961081f565b34801561029a57600080fd5b506102a3610849565b6040805160208082528351818301528351919283929083019185019080838360005b838110156102dd5781810151838201526020016102c5565b50505050905090810190601f16801561030a5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561032457600080fd5b5061012961086f565b34801561033957600080fd5b5061012961087e565b34801561034e57600080fd5b506101786004803603602081101561036557600080fd5b503561088d565b6000546001600160a01b031633148061038f57506003546001600160a01b031633145b6103ca5760405162461bcd60e51b8152600401808060200182810382526031815260200180610c716031913960400191505060405180910390fd5b565b600082820183811015610426576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b6002546001600160a01b031681565b61044461081f565b6001600160a01b0316336001600160a01b0316146104a3576040805162461bcd60e51b815260206004820152601760248201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604482015290519081900360640190fd5b6104ac816108a8565b50565b60045490565b6104bd61095d565b6005546104d0908263ffffffff6109d016565b600581905560408051918252517fc179e77847def189a2838a920a4d2d78f966467c47494a7fb5fbd1477a2cf4f59181900360200190a150565b60055490565b61051861081f565b6001600160a01b0316336001600160a01b031614610577576040805162461bcd60e51b815260206004820152601760248201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604482015290519081900360640190fd5b61058084610a12565b61058983610a12565b61059282610a12565b61059b81610a12565b600080546001600160a01b038087166001600160a01b031992831681179093556001805487831690841617905560028054868316908416179055600380549185169190921617905560408051918252517f3ca631ffcd2a9b5d9ae18543fc82f58eb4ca33af9e6ab01b7a8e95331e6ed9859181900360200190a1604080516001600160a01b038516815290517f143219c9e69b09e07e095fcc889b43d8f46ca892bba65f08dc3a0050869a56789181900360200190a1604080516001600160a01b038416815290517f82966d27eea39b038ee0fa30cd16532bb24f6e65d31cb58fb227aa5766cdcc7f9181900360200190a1604080516001600160a01b038316815290517f5ee0cae2f063ed938bb55046f6a932fb6ae792bf43624806bb90abe68a50be9b9181900360200190a150505050565b6001546001600160a01b031681565b6106e661095d565b6004546106f9908263ffffffff6109d016565b600481905560408051918252517fca232b5abb988c540b959ff6c3bfae3e97fff964fd098c508f9613c0a6bf1a809181900360200190a1604080516001600160a01b03841681526020810183905281517f6109e2559dfa766aaec7118351d48a523f0a4157f49c8d68749c8ac41318ad12929181900390910190a16040516000906001600160a01b0384169083908381818185875af1925050503d80600081146107bf576040519150601f19603f3d011682016040523d82523d6000602084013e6107c4565b606091505b505090508061081a576040805162461bcd60e51b815260206004820152601e60248201527f416374697665506f6f6c3a2073656e64696e6720455448206661696c65640000604482015290519081900360640190fd5b505050565b604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205490565b6040518060400160405280600a8152602001691058dd1a5d99541bdbdb60b21b81525081565b6003546001600160a01b031681565b6000546001600160a01b031681565b610895610ac5565b6005546104d0908263ffffffff6103cc16565b6001600160a01b0381166108ed5760405162461bcd60e51b8152600401808060200182810382526022815260200180610bfc6022913960400191505060405180910390fd5b806001600160a01b03166108ff61081f565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3604080517035b2bc9737bbb730b136329737bbb732b960791b8152905190819003601101902055565b6000546001600160a01b031633148061098057506001546001600160a01b031633145b8061099557506002546001600160a01b031633145b6103ca5760405162461bcd60e51b8152600401808060200182810382526053815260200180610c1e6053913960600191505060405180910390fd5b600061042683836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610b23565b6001600160a01b038116610a6d576040805162461bcd60e51b815260206004820152601e60248201527f4163636f756e742063616e6e6f74206265207a65726f20616464726573730000604482015290519081900360640190fd5b803b80610ac1576040805162461bcd60e51b815260206004820181905260248201527f4163636f756e7420636f64652073697a652063616e6e6f74206265207a65726f604482015290519081900360640190fd5b5050565b6000546001600160a01b0316331480610ae857506001546001600160a01b031633145b6103ca5760405162461bcd60e51b8152600401808060200182810382526041815260200180610bbb6041913960600191505060405180910390fd5b60008184841115610bb25760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610b77578181015183820152602001610b5f565b50505050905090810190601f168015610ba45780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50505090039056fe416374697665506f6f6c3a2043616c6c6572206973206e65697468657220426f72726f7765724f7065726174696f6e73206e6f722054726f76654d616e616765724f776e61626c653a3a7365744f776e65723a20696e76616c69642061646472657373416374697665506f6f6c3a2043616c6c6572206973206e65697468657220426f72726f7765724f7065726174696f6e73206e6f722054726f76654d616e61676572206e6f722053746162696c697479506f6f6c416374697665506f6f6c3a2043616c6c6572206973206e65697468657220424f206e6f722044656661756c7420506f6f6ca26469706673582212209b05c372200c8127ca513fb34ec2474a15cb2a4151e9268b0749f3eb662cb88b64736f6c634300060b00334f776e61626c653a3a7365744f776e65723a20696e76616c69642061646472657373", + "deployedBytecode": "0x6080604052600436106100b65760003560e01c80635a4d28bb1161006f5780635a4d28bb1461022b57806364a197f314610240578063893d20e814610279578063a3f4df7e1461028e578063aac1846f14610318578063b7f8cf9b1461032d578063f2e91d71146103425761010f565b80630b622ab21461011457806313af40351461014557806314f6c3be1461017a5780632439789a146101a15780633963e980146101cb5780634a945f8d146101e05761010f565b3661010f576100c361036c565b6004546100d6903463ffffffff6103cc16565b600481905560408051918252517fca232b5abb988c540b959ff6c3bfae3e97fff964fd098c508f9613c0a6bf1a809181900360200190a1005b600080fd5b34801561012057600080fd5b5061012961042d565b604080516001600160a01b039092168252519081900360200190f35b34801561015157600080fd5b506101786004803603602081101561016857600080fd5b50356001600160a01b031661043c565b005b34801561018657600080fd5b5061018f6104af565b60408051918252519081900360200190f35b3480156101ad57600080fd5b50610178600480360360208110156101c457600080fd5b50356104b5565b3480156101d757600080fd5b5061018f61050a565b3480156101ec57600080fd5b506101786004803603608081101561020357600080fd5b506001600160a01b038135811691602081013582169160408201358116916060013516610510565b34801561023757600080fd5b506101296106cf565b34801561024c57600080fd5b506101786004803603604081101561026357600080fd5b506001600160a01b0381351690602001356106de565b34801561028557600080fd5b5061012961081f565b34801561029a57600080fd5b506102a3610849565b6040805160208082528351818301528351919283929083019185019080838360005b838110156102dd5781810151838201526020016102c5565b50505050905090810190601f16801561030a5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561032457600080fd5b5061012961086f565b34801561033957600080fd5b5061012961087e565b34801561034e57600080fd5b506101786004803603602081101561036557600080fd5b503561088d565b6000546001600160a01b031633148061038f57506003546001600160a01b031633145b6103ca5760405162461bcd60e51b8152600401808060200182810382526031815260200180610c716031913960400191505060405180910390fd5b565b600082820183811015610426576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b6002546001600160a01b031681565b61044461081f565b6001600160a01b0316336001600160a01b0316146104a3576040805162461bcd60e51b815260206004820152601760248201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604482015290519081900360640190fd5b6104ac816108a8565b50565b60045490565b6104bd61095d565b6005546104d0908263ffffffff6109d016565b600581905560408051918252517fc179e77847def189a2838a920a4d2d78f966467c47494a7fb5fbd1477a2cf4f59181900360200190a150565b60055490565b61051861081f565b6001600160a01b0316336001600160a01b031614610577576040805162461bcd60e51b815260206004820152601760248201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604482015290519081900360640190fd5b61058084610a12565b61058983610a12565b61059282610a12565b61059b81610a12565b600080546001600160a01b038087166001600160a01b031992831681179093556001805487831690841617905560028054868316908416179055600380549185169190921617905560408051918252517f3ca631ffcd2a9b5d9ae18543fc82f58eb4ca33af9e6ab01b7a8e95331e6ed9859181900360200190a1604080516001600160a01b038516815290517f143219c9e69b09e07e095fcc889b43d8f46ca892bba65f08dc3a0050869a56789181900360200190a1604080516001600160a01b038416815290517f82966d27eea39b038ee0fa30cd16532bb24f6e65d31cb58fb227aa5766cdcc7f9181900360200190a1604080516001600160a01b038316815290517f5ee0cae2f063ed938bb55046f6a932fb6ae792bf43624806bb90abe68a50be9b9181900360200190a150505050565b6001546001600160a01b031681565b6106e661095d565b6004546106f9908263ffffffff6109d016565b600481905560408051918252517fca232b5abb988c540b959ff6c3bfae3e97fff964fd098c508f9613c0a6bf1a809181900360200190a1604080516001600160a01b03841681526020810183905281517f6109e2559dfa766aaec7118351d48a523f0a4157f49c8d68749c8ac41318ad12929181900390910190a16040516000906001600160a01b0384169083908381818185875af1925050503d80600081146107bf576040519150601f19603f3d011682016040523d82523d6000602084013e6107c4565b606091505b505090508061081a576040805162461bcd60e51b815260206004820152601e60248201527f416374697665506f6f6c3a2073656e64696e6720455448206661696c65640000604482015290519081900360640190fd5b505050565b604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205490565b6040518060400160405280600a8152602001691058dd1a5d99541bdbdb60b21b81525081565b6003546001600160a01b031681565b6000546001600160a01b031681565b610895610ac5565b6005546104d0908263ffffffff6103cc16565b6001600160a01b0381166108ed5760405162461bcd60e51b8152600401808060200182810382526022815260200180610bfc6022913960400191505060405180910390fd5b806001600160a01b03166108ff61081f565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3604080517035b2bc9737bbb730b136329737bbb732b960791b8152905190819003601101902055565b6000546001600160a01b031633148061098057506001546001600160a01b031633145b8061099557506002546001600160a01b031633145b6103ca5760405162461bcd60e51b8152600401808060200182810382526053815260200180610c1e6053913960600191505060405180910390fd5b600061042683836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610b23565b6001600160a01b038116610a6d576040805162461bcd60e51b815260206004820152601e60248201527f4163636f756e742063616e6e6f74206265207a65726f20616464726573730000604482015290519081900360640190fd5b803b80610ac1576040805162461bcd60e51b815260206004820181905260248201527f4163636f756e7420636f64652073697a652063616e6e6f74206265207a65726f604482015290519081900360640190fd5b5050565b6000546001600160a01b0316331480610ae857506001546001600160a01b031633145b6103ca5760405162461bcd60e51b8152600401808060200182810382526041815260200180610bbb6041913960600191505060405180910390fd5b60008184841115610bb25760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610b77578181015183820152602001610b5f565b50505050905090810190601f168015610ba45780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50505090039056fe416374697665506f6f6c3a2043616c6c6572206973206e65697468657220426f72726f7765724f7065726174696f6e73206e6f722054726f76654d616e616765724f776e61626c653a3a7365744f776e65723a20696e76616c69642061646472657373416374697665506f6f6c3a2043616c6c6572206973206e65697468657220426f72726f7765724f7065726174696f6e73206e6f722054726f76654d616e61676572206e6f722053746162696c697479506f6f6c416374697665506f6f6c3a2043616c6c6572206973206e65697468657220424f206e6f722044656661756c7420506f6f6ca26469706673582212209b05c372200c8127ca513fb34ec2474a15cb2a4151e9268b0749f3eb662cb88b64736f6c634300060b0033", "linkReferences": {}, "deployedLinkReferences": {} } diff --git a/packages/lib-ethers/live/ActivePoolStorage.json b/packages/lib-ethers/live/ActivePoolStorage.json new file mode 100644 index 000000000..cc3d86d86 --- /dev/null +++ b/packages/lib-ethers/live/ActivePoolStorage.json @@ -0,0 +1,121 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "ActivePoolStorage", + "sourceName": "contracts/ActivePoolStorage.sol", + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousOwner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnershipTransferred", + "type": "event" + }, + { + "inputs": [], + "name": "NAME", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "borrowerOperationsAddress", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "defaultPoolAddress", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getOwner", + "outputs": [ + { + "internalType": "address", + "name": "_owner", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_owner", + "type": "address" + } + ], + "name": "setOwner", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "stabilityPoolAddress", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "troveManagerAddress", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + } + ], + "bytecode": "0x608060405234801561001057600080fd5b50610023336001600160e01b0361002816565b610110565b6001600160a01b03811661006d5760405162461bcd60e51b81526004018080602001828103825260228152602001806104866022913960400191505060405180910390fd5b6001600160a01b0381166100886001600160e01b036100e616565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3604080517035b2bc9737bbb730b136329737bbb732b960791b8152905190819003601101902055565b604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205490565b6103678061011f6000396000f3fe608060405234801561001057600080fd5b506004361061006d5760003560e01c80630b622ab21461007257806313af4035146100965780635a4d28bb146100be578063893d20e8146100c6578063a3f4df7e146100ce578063aac1846f1461014b578063b7f8cf9b14610153575b600080fd5b61007a61015b565b604080516001600160a01b039092168252519081900360200190f35b6100bc600480360360208110156100ac57600080fd5b50356001600160a01b031661016a565b005b61007a6101dd565b61007a6101ec565b6100d6610216565b6040805160208082528351818301528351919283929083019185019080838360005b838110156101105781810151838201526020016100f8565b50505050905090810190601f16801561013d5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61007a61023c565b61007a61024b565b6002546001600160a01b031681565b6101726101ec565b6001600160a01b0316336001600160a01b0316146101d1576040805162461bcd60e51b815260206004820152601760248201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604482015290519081900360640190fd5b6101da8161025a565b50565b6001546001600160a01b031681565b604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205490565b6040518060400160405280600a8152602001691058dd1a5d99541bdbdb60b21b81525081565b6003546001600160a01b031681565b6000546001600160a01b031681565b6001600160a01b03811661029f5760405162461bcd60e51b81526004018080602001828103825260228152602001806103106022913960400191505060405180910390fd5b806001600160a01b03166102b16101ec565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205556fe4f776e61626c653a3a7365744f776e65723a20696e76616c69642061646472657373a2646970667358221220e3bab5859254037e945d50fb7c134fa429d0e2120d7757cdb71244649ed9971864736f6c634300060b00334f776e61626c653a3a7365744f776e65723a20696e76616c69642061646472657373", + "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061006d5760003560e01c80630b622ab21461007257806313af4035146100965780635a4d28bb146100be578063893d20e8146100c6578063a3f4df7e146100ce578063aac1846f1461014b578063b7f8cf9b14610153575b600080fd5b61007a61015b565b604080516001600160a01b039092168252519081900360200190f35b6100bc600480360360208110156100ac57600080fd5b50356001600160a01b031661016a565b005b61007a6101dd565b61007a6101ec565b6100d6610216565b6040805160208082528351818301528351919283929083019185019080838360005b838110156101105781810151838201526020016100f8565b50505050905090810190601f16801561013d5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61007a61023c565b61007a61024b565b6002546001600160a01b031681565b6101726101ec565b6001600160a01b0316336001600160a01b0316146101d1576040805162461bcd60e51b815260206004820152601760248201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604482015290519081900360640190fd5b6101da8161025a565b50565b6001546001600160a01b031681565b604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205490565b6040518060400160405280600a8152602001691058dd1a5d99541bdbdb60b21b81525081565b6003546001600160a01b031681565b6000546001600160a01b031681565b6001600160a01b03811661029f5760405162461bcd60e51b81526004018080602001828103825260228152602001806103106022913960400191505060405180910390fd5b806001600160a01b03166102b16101ec565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205556fe4f776e61626c653a3a7365744f776e65723a20696e76616c69642061646472657373a2646970667358221220e3bab5859254037e945d50fb7c134fa429d0e2120d7757cdb71244649ed9971864736f6c634300060b0033", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/packages/lib-ethers/live/ActivePoolTester.json b/packages/lib-ethers/live/ActivePoolTester.json index 4c312bec0..f38686123 100644 --- a/packages/lib-ethers/live/ActivePoolTester.json +++ b/packages/lib-ethers/live/ActivePoolTester.json @@ -35,11 +35,11 @@ { "indexed": false, "internalType": "uint256", - "name": "_LUSDDebt", + "name": "_ZUSDDebt", "type": "uint256" } ], - "name": "ActivePoolLUSDDebtUpdated", + "name": "ActivePoolZUSDDebtUpdated", "type": "event" }, { @@ -100,19 +100,6 @@ "name": "EtherSent", "type": "event" }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "_newBalance", - "type": "uint256" - } - ], - "name": "LUSDBalanceUpdated", - "type": "event" - }, { "anonymous": false, "inputs": [ @@ -158,6 +145,19 @@ "name": "TroveManagerAddressChanged", "type": "event" }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "_newBalance", + "type": "uint256" + } + ], + "name": "ZUSDBalanceUpdated", + "type": "event" + }, { "inputs": [], "name": "NAME", @@ -192,7 +192,7 @@ "type": "uint256" } ], - "name": "decreaseLUSDDebt", + "name": "decreaseZUSDDebt", "outputs": [], "stateMutability": "nonpayable", "type": "function" @@ -225,54 +225,41 @@ }, { "inputs": [], - "name": "getLUSDDebt", + "name": "getOwner", "outputs": [ { - "internalType": "uint256", - "name": "", - "type": "uint256" + "internalType": "address", + "name": "_owner", + "type": "address" } ], "stateMutability": "view", "type": "function" }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "name": "increaseLUSDDebt", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, { "inputs": [], - "name": "isOwner", + "name": "getZUSDDebt", "outputs": [ { - "internalType": "bool", + "internalType": "uint256", "name": "", - "type": "bool" + "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { - "inputs": [], - "name": "owner", - "outputs": [ + "inputs": [ { - "internalType": "address", - "name": "", - "type": "address" + "internalType": "uint256", + "name": "_amount", + "type": "uint256" } ], - "stateMutability": "view", + "name": "increaseZUSDDebt", + "outputs": [], + "stateMutability": "nonpayable", "type": "function" }, { @@ -321,6 +308,19 @@ "stateMutability": "nonpayable", "type": "function" }, + { + "inputs": [ + { + "internalType": "address", + "name": "_owner", + "type": "address" + } + ], + "name": "setOwner", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, { "inputs": [], "name": "stabilityPoolAddress", @@ -355,7 +355,7 @@ "type": "uint256" } ], - "name": "unprotectedIncreaseLUSDDebt", + "name": "unprotectedIncreaseZUSDDebt", "outputs": [], "stateMutability": "nonpayable", "type": "function" @@ -372,8 +372,8 @@ "type": "receive" } ], - "bytecode": "0x608060405234801561001057600080fd5b50600080546001600160a01b0319163390811782556040519091907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3610c368061005f6000396000f3fe6080604052600436106100cc5760003560e01c806364a197f31161007a57806364a197f31461024d5780638da5cb5b146102865780638f32d59b1461029b578063a3f4df7e146102c4578063aac1846f1461034e578063b7f8cf9b14610363578063cfb9329a14610378578063f3af7c3b146103a257610125565b80630b622ab21461012a57806314f6c3be1461015b57806338d995a81461018257806344a57242146101ae5780634a945f8d146101d85780635a4d28bb146102235780635eb52fca1461023857610125565b36610125576100d96103aa565b6005546100ec903463ffffffff61040a16565b600581905560408051918252517fca232b5abb988c540b959ff6c3bfae3e97fff964fd098c508f9613c0a6bf1a809181900360200190a1005b600080fd5b34801561013657600080fd5b5061013f61046b565b604080516001600160a01b039092168252519081900360200190f35b34801561016757600080fd5b5061017061047a565b60408051918252519081900360200190f35b34801561018e57600080fd5b506101ac600480360360208110156101a557600080fd5b5035610480565b005b3480156101ba57600080fd5b506101ac600480360360208110156101d157600080fd5b50356104d5565b3480156101e457600080fd5b506101ac600480360360808110156101fb57600080fd5b506001600160a01b0381358116916020810135821691604082013581169160600135166104ee565b34801561022f57600080fd5b5061013f6106a7565b34801561024457600080fd5b506101706106b6565b34801561025957600080fd5b506101ac6004803603604081101561027057600080fd5b506001600160a01b0381351690602001356106bc565b34801561029257600080fd5b5061013f6107fd565b3480156102a757600080fd5b506102b061080c565b604080519115158252519081900360200190f35b3480156102d057600080fd5b506102d961081d565b6040805160208082528351818301528351919283929083019185019080838360005b838110156103135781810151838201526020016102fb565b50505050905090810190601f1680156103405780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561035a57600080fd5b5061013f610843565b34801561036f57600080fd5b5061013f610852565b34801561038457600080fd5b506101ac6004803603602081101561039b57600080fd5b5035610861565b6101ac61087c565b6001546001600160a01b03163314806103cd57506004546001600160a01b031633145b6104085760405162461bcd60e51b8152600401808060200182810382526031815260200180610bd06031913960400191505060405180910390fd5b565b600082820183811015610464576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b6003546001600160a01b031681565b60055490565b610488610894565b60065461049b908263ffffffff61090716565b600681905560408051918252517f0d4c964e4ceac5d740869d39789a7b91888a787b9c33e9365b1a658a21ffb6969181900360200190a150565b6006546104e8908263ffffffff61040a16565b60065550565b6104f661080c565b610547576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b61055084610949565b61055983610949565b61056282610949565b61056b81610949565b600180546001600160a01b038087166001600160a01b031992831681179093556002805487831690841617905560038054868316908416179055600480549185169190921617905560408051918252517f3ca631ffcd2a9b5d9ae18543fc82f58eb4ca33af9e6ab01b7a8e95331e6ed9859181900360200190a1604080516001600160a01b038516815290517f143219c9e69b09e07e095fcc889b43d8f46ca892bba65f08dc3a0050869a56789181900360200190a1604080516001600160a01b038416815290517f82966d27eea39b038ee0fa30cd16532bb24f6e65d31cb58fb227aa5766cdcc7f9181900360200190a1604080516001600160a01b038316815290517f5ee0cae2f063ed938bb55046f6a932fb6ae792bf43624806bb90abe68a50be9b9181900360200190a16106a16109fc565b50505050565b6002546001600160a01b031681565b60065490565b6106c4610894565b6005546106d7908263ffffffff61090716565b600581905560408051918252517fca232b5abb988c540b959ff6c3bfae3e97fff964fd098c508f9613c0a6bf1a809181900360200190a1604080516001600160a01b03841681526020810183905281517f6109e2559dfa766aaec7118351d48a523f0a4157f49c8d68749c8ac41318ad12929181900390910190a16040516000906001600160a01b0384169083908381818185875af1925050503d806000811461079d576040519150601f19603f3d011682016040523d82523d6000602084013e6107a2565b606091505b50509050806107f8576040805162461bcd60e51b815260206004820152601e60248201527f416374697665506f6f6c3a2073656e64696e6720455448206661696c65640000604482015290519081900360640190fd5b505050565b6000546001600160a01b031690565b6000546001600160a01b0316331490565b6040518060400160405280600a8152602001691058dd1a5d99541bdbdb60b21b81525081565b6004546001600160a01b031681565b6001546001600160a01b031681565b610869610a46565b60065461049b908263ffffffff61040a16565b60055461088f903463ffffffff61040a16565b600555565b6001546001600160a01b03163314806108b757506002546001600160a01b031633145b806108cc57506003546001600160a01b031633145b6104085760405162461bcd60e51b8152600401808060200182810382526053815260200180610b7d6053913960600191505060405180910390fd5b600061046483836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610aa4565b6001600160a01b0381166109a4576040805162461bcd60e51b815260206004820152601e60248201527f4163636f756e742063616e6e6f74206265207a65726f20616464726573730000604482015290519081900360640190fd5b803b806109f8576040805162461bcd60e51b815260206004820181905260248201527f4163636f756e7420636f64652073697a652063616e6e6f74206265207a65726f604482015290519081900360640190fd5b5050565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6001546001600160a01b0316331480610a6957506002546001600160a01b031633145b6104085760405162461bcd60e51b8152600401808060200182810382526041815260200180610b3c6041913960600191505060405180910390fd5b60008184841115610b335760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610af8578181015183820152602001610ae0565b50505050905090810190601f168015610b255780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50505090039056fe416374697665506f6f6c3a2043616c6c6572206973206e65697468657220426f72726f7765724f7065726174696f6e73206e6f722054726f76654d616e61676572416374697665506f6f6c3a2043616c6c6572206973206e65697468657220426f72726f7765724f7065726174696f6e73206e6f722054726f76654d616e61676572206e6f722053746162696c697479506f6f6c416374697665506f6f6c3a2043616c6c6572206973206e65697468657220424f206e6f722044656661756c7420506f6f6ca264697066735822122099c5c7616b9b456ad12d5a873c66063d3848ba5050a110b30c970753f3180f6e64736f6c634300060b0033", - "deployedBytecode": "0x6080604052600436106100cc5760003560e01c806364a197f31161007a57806364a197f31461024d5780638da5cb5b146102865780638f32d59b1461029b578063a3f4df7e146102c4578063aac1846f1461034e578063b7f8cf9b14610363578063cfb9329a14610378578063f3af7c3b146103a257610125565b80630b622ab21461012a57806314f6c3be1461015b57806338d995a81461018257806344a57242146101ae5780634a945f8d146101d85780635a4d28bb146102235780635eb52fca1461023857610125565b36610125576100d96103aa565b6005546100ec903463ffffffff61040a16565b600581905560408051918252517fca232b5abb988c540b959ff6c3bfae3e97fff964fd098c508f9613c0a6bf1a809181900360200190a1005b600080fd5b34801561013657600080fd5b5061013f61046b565b604080516001600160a01b039092168252519081900360200190f35b34801561016757600080fd5b5061017061047a565b60408051918252519081900360200190f35b34801561018e57600080fd5b506101ac600480360360208110156101a557600080fd5b5035610480565b005b3480156101ba57600080fd5b506101ac600480360360208110156101d157600080fd5b50356104d5565b3480156101e457600080fd5b506101ac600480360360808110156101fb57600080fd5b506001600160a01b0381358116916020810135821691604082013581169160600135166104ee565b34801561022f57600080fd5b5061013f6106a7565b34801561024457600080fd5b506101706106b6565b34801561025957600080fd5b506101ac6004803603604081101561027057600080fd5b506001600160a01b0381351690602001356106bc565b34801561029257600080fd5b5061013f6107fd565b3480156102a757600080fd5b506102b061080c565b604080519115158252519081900360200190f35b3480156102d057600080fd5b506102d961081d565b6040805160208082528351818301528351919283929083019185019080838360005b838110156103135781810151838201526020016102fb565b50505050905090810190601f1680156103405780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561035a57600080fd5b5061013f610843565b34801561036f57600080fd5b5061013f610852565b34801561038457600080fd5b506101ac6004803603602081101561039b57600080fd5b5035610861565b6101ac61087c565b6001546001600160a01b03163314806103cd57506004546001600160a01b031633145b6104085760405162461bcd60e51b8152600401808060200182810382526031815260200180610bd06031913960400191505060405180910390fd5b565b600082820183811015610464576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b6003546001600160a01b031681565b60055490565b610488610894565b60065461049b908263ffffffff61090716565b600681905560408051918252517f0d4c964e4ceac5d740869d39789a7b91888a787b9c33e9365b1a658a21ffb6969181900360200190a150565b6006546104e8908263ffffffff61040a16565b60065550565b6104f661080c565b610547576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b61055084610949565b61055983610949565b61056282610949565b61056b81610949565b600180546001600160a01b038087166001600160a01b031992831681179093556002805487831690841617905560038054868316908416179055600480549185169190921617905560408051918252517f3ca631ffcd2a9b5d9ae18543fc82f58eb4ca33af9e6ab01b7a8e95331e6ed9859181900360200190a1604080516001600160a01b038516815290517f143219c9e69b09e07e095fcc889b43d8f46ca892bba65f08dc3a0050869a56789181900360200190a1604080516001600160a01b038416815290517f82966d27eea39b038ee0fa30cd16532bb24f6e65d31cb58fb227aa5766cdcc7f9181900360200190a1604080516001600160a01b038316815290517f5ee0cae2f063ed938bb55046f6a932fb6ae792bf43624806bb90abe68a50be9b9181900360200190a16106a16109fc565b50505050565b6002546001600160a01b031681565b60065490565b6106c4610894565b6005546106d7908263ffffffff61090716565b600581905560408051918252517fca232b5abb988c540b959ff6c3bfae3e97fff964fd098c508f9613c0a6bf1a809181900360200190a1604080516001600160a01b03841681526020810183905281517f6109e2559dfa766aaec7118351d48a523f0a4157f49c8d68749c8ac41318ad12929181900390910190a16040516000906001600160a01b0384169083908381818185875af1925050503d806000811461079d576040519150601f19603f3d011682016040523d82523d6000602084013e6107a2565b606091505b50509050806107f8576040805162461bcd60e51b815260206004820152601e60248201527f416374697665506f6f6c3a2073656e64696e6720455448206661696c65640000604482015290519081900360640190fd5b505050565b6000546001600160a01b031690565b6000546001600160a01b0316331490565b6040518060400160405280600a8152602001691058dd1a5d99541bdbdb60b21b81525081565b6004546001600160a01b031681565b6001546001600160a01b031681565b610869610a46565b60065461049b908263ffffffff61040a16565b60055461088f903463ffffffff61040a16565b600555565b6001546001600160a01b03163314806108b757506002546001600160a01b031633145b806108cc57506003546001600160a01b031633145b6104085760405162461bcd60e51b8152600401808060200182810382526053815260200180610b7d6053913960600191505060405180910390fd5b600061046483836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610aa4565b6001600160a01b0381166109a4576040805162461bcd60e51b815260206004820152601e60248201527f4163636f756e742063616e6e6f74206265207a65726f20616464726573730000604482015290519081900360640190fd5b803b806109f8576040805162461bcd60e51b815260206004820181905260248201527f4163636f756e7420636f64652073697a652063616e6e6f74206265207a65726f604482015290519081900360640190fd5b5050565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6001546001600160a01b0316331480610a6957506002546001600160a01b031633145b6104085760405162461bcd60e51b8152600401808060200182810382526041815260200180610b3c6041913960600191505060405180910390fd5b60008184841115610b335760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610af8578181015183820152602001610ae0565b50505050905090810190601f168015610b255780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50505090039056fe416374697665506f6f6c3a2043616c6c6572206973206e65697468657220426f72726f7765724f7065726174696f6e73206e6f722054726f76654d616e61676572416374697665506f6f6c3a2043616c6c6572206973206e65697468657220426f72726f7765724f7065726174696f6e73206e6f722054726f76654d616e61676572206e6f722053746162696c697479506f6f6c416374697665506f6f6c3a2043616c6c6572206973206e65697468657220424f206e6f722044656661756c7420506f6f6ca264697066735822122099c5c7616b9b456ad12d5a873c66063d3848ba5050a110b30c970753f3180f6e64736f6c634300060b0033", + "bytecode": "0x608060405234801561001057600080fd5b50610023336001600160e01b0361002816565b610110565b6001600160a01b03811661006d5760405162461bcd60e51b8152600401808060200182810382526022815260200180610e6f6022913960400191505060405180910390fd5b6001600160a01b0381166100886001600160e01b036100e616565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3604080517035b2bc9737bbb730b136329737bbb732b960791b8152905190819003601101902055565b604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205490565b610d508061011f6000396000f3fe6080604052600436106100cc5760003560e01c806364a197f31161007a57806364a197f314610256578063893d20e81461028f57806393eaa714146102a4578063a3f4df7e146102ce578063aac1846f14610358578063b7f8cf9b1461036d578063f2e91d7114610382578063f3af7c3b146103ac57610125565b80630b622ab21461012a57806313af40351461015b57806314f6c3be146101905780632439789a146101b75780633963e980146101e15780634a945f8d146101f65780635a4d28bb1461024157610125565b36610125576100d96103b4565b6004546100ec903463ffffffff61041416565b600481905560408051918252517fca232b5abb988c540b959ff6c3bfae3e97fff964fd098c508f9613c0a6bf1a809181900360200190a1005b600080fd5b34801561013657600080fd5b5061013f610475565b604080516001600160a01b039092168252519081900360200190f35b34801561016757600080fd5b5061018e6004803603602081101561017e57600080fd5b50356001600160a01b0316610484565b005b34801561019c57600080fd5b506101a56104f7565b60408051918252519081900360200190f35b3480156101c357600080fd5b5061018e600480360360208110156101da57600080fd5b50356104fd565b3480156101ed57600080fd5b506101a5610552565b34801561020257600080fd5b5061018e6004803603608081101561021957600080fd5b506001600160a01b038135811691602081013582169160408201358116916060013516610558565b34801561024d57600080fd5b5061013f610717565b34801561026257600080fd5b5061018e6004803603604081101561027957600080fd5b506001600160a01b038135169060200135610726565b34801561029b57600080fd5b5061013f610867565b3480156102b057600080fd5b5061018e600480360360208110156102c757600080fd5b5035610891565b3480156102da57600080fd5b506102e36108aa565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561031d578181015183820152602001610305565b50505050905090810190601f16801561034a5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561036457600080fd5b5061013f6108d0565b34801561037957600080fd5b5061013f6108df565b34801561038e57600080fd5b5061018e600480360360208110156103a557600080fd5b50356108ee565b61018e610909565b6000546001600160a01b03163314806103d757506003546001600160a01b031633145b6104125760405162461bcd60e51b8152600401808060200182810382526031815260200180610cea6031913960400191505060405180910390fd5b565b60008282018381101561046e576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b6002546001600160a01b031681565b61048c610867565b6001600160a01b0316336001600160a01b0316146104eb576040805162461bcd60e51b815260206004820152601760248201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604482015290519081900360640190fd5b6104f481610921565b50565b60045490565b6105056109d6565b600554610518908263ffffffff610a4916565b600581905560408051918252517fc179e77847def189a2838a920a4d2d78f966467c47494a7fb5fbd1477a2cf4f59181900360200190a150565b60055490565b610560610867565b6001600160a01b0316336001600160a01b0316146105bf576040805162461bcd60e51b815260206004820152601760248201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604482015290519081900360640190fd5b6105c884610a8b565b6105d183610a8b565b6105da82610a8b565b6105e381610a8b565b600080546001600160a01b038087166001600160a01b031992831681179093556001805487831690841617905560028054868316908416179055600380549185169190921617905560408051918252517f3ca631ffcd2a9b5d9ae18543fc82f58eb4ca33af9e6ab01b7a8e95331e6ed9859181900360200190a1604080516001600160a01b038516815290517f143219c9e69b09e07e095fcc889b43d8f46ca892bba65f08dc3a0050869a56789181900360200190a1604080516001600160a01b038416815290517f82966d27eea39b038ee0fa30cd16532bb24f6e65d31cb58fb227aa5766cdcc7f9181900360200190a1604080516001600160a01b038316815290517f5ee0cae2f063ed938bb55046f6a932fb6ae792bf43624806bb90abe68a50be9b9181900360200190a150505050565b6001546001600160a01b031681565b61072e6109d6565b600454610741908263ffffffff610a4916565b600481905560408051918252517fca232b5abb988c540b959ff6c3bfae3e97fff964fd098c508f9613c0a6bf1a809181900360200190a1604080516001600160a01b03841681526020810183905281517f6109e2559dfa766aaec7118351d48a523f0a4157f49c8d68749c8ac41318ad12929181900390910190a16040516000906001600160a01b0384169083908381818185875af1925050503d8060008114610807576040519150601f19603f3d011682016040523d82523d6000602084013e61080c565b606091505b5050905080610862576040805162461bcd60e51b815260206004820152601e60248201527f416374697665506f6f6c3a2073656e64696e6720455448206661696c65640000604482015290519081900360640190fd5b505050565b604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205490565b6005546108a4908263ffffffff61041416565b60055550565b6040518060400160405280600a8152602001691058dd1a5d99541bdbdb60b21b81525081565b6003546001600160a01b031681565b6000546001600160a01b031681565b6108f6610b3e565b600554610518908263ffffffff61041416565b60045461091c903463ffffffff61041416565b600455565b6001600160a01b0381166109665760405162461bcd60e51b8152600401808060200182810382526022815260200180610c756022913960400191505060405180910390fd5b806001600160a01b0316610978610867565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3604080517035b2bc9737bbb730b136329737bbb732b960791b8152905190819003601101902055565b6000546001600160a01b03163314806109f957506001546001600160a01b031633145b80610a0e57506002546001600160a01b031633145b6104125760405162461bcd60e51b8152600401808060200182810382526053815260200180610c976053913960600191505060405180910390fd5b600061046e83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610b9c565b6001600160a01b038116610ae6576040805162461bcd60e51b815260206004820152601e60248201527f4163636f756e742063616e6e6f74206265207a65726f20616464726573730000604482015290519081900360640190fd5b803b80610b3a576040805162461bcd60e51b815260206004820181905260248201527f4163636f756e7420636f64652073697a652063616e6e6f74206265207a65726f604482015290519081900360640190fd5b5050565b6000546001600160a01b0316331480610b6157506001546001600160a01b031633145b6104125760405162461bcd60e51b8152600401808060200182810382526041815260200180610c346041913960600191505060405180910390fd5b60008184841115610c2b5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610bf0578181015183820152602001610bd8565b50505050905090810190601f168015610c1d5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50505090039056fe416374697665506f6f6c3a2043616c6c6572206973206e65697468657220426f72726f7765724f7065726174696f6e73206e6f722054726f76654d616e616765724f776e61626c653a3a7365744f776e65723a20696e76616c69642061646472657373416374697665506f6f6c3a2043616c6c6572206973206e65697468657220426f72726f7765724f7065726174696f6e73206e6f722054726f76654d616e61676572206e6f722053746162696c697479506f6f6c416374697665506f6f6c3a2043616c6c6572206973206e65697468657220424f206e6f722044656661756c7420506f6f6ca2646970667358221220db86a41ab5529a43b6289c9b0e6fefdd5940acbc72fe4f717b6917db5ba6c9f264736f6c634300060b00334f776e61626c653a3a7365744f776e65723a20696e76616c69642061646472657373", + "deployedBytecode": "0x6080604052600436106100cc5760003560e01c806364a197f31161007a57806364a197f314610256578063893d20e81461028f57806393eaa714146102a4578063a3f4df7e146102ce578063aac1846f14610358578063b7f8cf9b1461036d578063f2e91d7114610382578063f3af7c3b146103ac57610125565b80630b622ab21461012a57806313af40351461015b57806314f6c3be146101905780632439789a146101b75780633963e980146101e15780634a945f8d146101f65780635a4d28bb1461024157610125565b36610125576100d96103b4565b6004546100ec903463ffffffff61041416565b600481905560408051918252517fca232b5abb988c540b959ff6c3bfae3e97fff964fd098c508f9613c0a6bf1a809181900360200190a1005b600080fd5b34801561013657600080fd5b5061013f610475565b604080516001600160a01b039092168252519081900360200190f35b34801561016757600080fd5b5061018e6004803603602081101561017e57600080fd5b50356001600160a01b0316610484565b005b34801561019c57600080fd5b506101a56104f7565b60408051918252519081900360200190f35b3480156101c357600080fd5b5061018e600480360360208110156101da57600080fd5b50356104fd565b3480156101ed57600080fd5b506101a5610552565b34801561020257600080fd5b5061018e6004803603608081101561021957600080fd5b506001600160a01b038135811691602081013582169160408201358116916060013516610558565b34801561024d57600080fd5b5061013f610717565b34801561026257600080fd5b5061018e6004803603604081101561027957600080fd5b506001600160a01b038135169060200135610726565b34801561029b57600080fd5b5061013f610867565b3480156102b057600080fd5b5061018e600480360360208110156102c757600080fd5b5035610891565b3480156102da57600080fd5b506102e36108aa565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561031d578181015183820152602001610305565b50505050905090810190601f16801561034a5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561036457600080fd5b5061013f6108d0565b34801561037957600080fd5b5061013f6108df565b34801561038e57600080fd5b5061018e600480360360208110156103a557600080fd5b50356108ee565b61018e610909565b6000546001600160a01b03163314806103d757506003546001600160a01b031633145b6104125760405162461bcd60e51b8152600401808060200182810382526031815260200180610cea6031913960400191505060405180910390fd5b565b60008282018381101561046e576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b6002546001600160a01b031681565b61048c610867565b6001600160a01b0316336001600160a01b0316146104eb576040805162461bcd60e51b815260206004820152601760248201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604482015290519081900360640190fd5b6104f481610921565b50565b60045490565b6105056109d6565b600554610518908263ffffffff610a4916565b600581905560408051918252517fc179e77847def189a2838a920a4d2d78f966467c47494a7fb5fbd1477a2cf4f59181900360200190a150565b60055490565b610560610867565b6001600160a01b0316336001600160a01b0316146105bf576040805162461bcd60e51b815260206004820152601760248201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604482015290519081900360640190fd5b6105c884610a8b565b6105d183610a8b565b6105da82610a8b565b6105e381610a8b565b600080546001600160a01b038087166001600160a01b031992831681179093556001805487831690841617905560028054868316908416179055600380549185169190921617905560408051918252517f3ca631ffcd2a9b5d9ae18543fc82f58eb4ca33af9e6ab01b7a8e95331e6ed9859181900360200190a1604080516001600160a01b038516815290517f143219c9e69b09e07e095fcc889b43d8f46ca892bba65f08dc3a0050869a56789181900360200190a1604080516001600160a01b038416815290517f82966d27eea39b038ee0fa30cd16532bb24f6e65d31cb58fb227aa5766cdcc7f9181900360200190a1604080516001600160a01b038316815290517f5ee0cae2f063ed938bb55046f6a932fb6ae792bf43624806bb90abe68a50be9b9181900360200190a150505050565b6001546001600160a01b031681565b61072e6109d6565b600454610741908263ffffffff610a4916565b600481905560408051918252517fca232b5abb988c540b959ff6c3bfae3e97fff964fd098c508f9613c0a6bf1a809181900360200190a1604080516001600160a01b03841681526020810183905281517f6109e2559dfa766aaec7118351d48a523f0a4157f49c8d68749c8ac41318ad12929181900390910190a16040516000906001600160a01b0384169083908381818185875af1925050503d8060008114610807576040519150601f19603f3d011682016040523d82523d6000602084013e61080c565b606091505b5050905080610862576040805162461bcd60e51b815260206004820152601e60248201527f416374697665506f6f6c3a2073656e64696e6720455448206661696c65640000604482015290519081900360640190fd5b505050565b604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205490565b6005546108a4908263ffffffff61041416565b60055550565b6040518060400160405280600a8152602001691058dd1a5d99541bdbdb60b21b81525081565b6003546001600160a01b031681565b6000546001600160a01b031681565b6108f6610b3e565b600554610518908263ffffffff61041416565b60045461091c903463ffffffff61041416565b600455565b6001600160a01b0381166109665760405162461bcd60e51b8152600401808060200182810382526022815260200180610c756022913960400191505060405180910390fd5b806001600160a01b0316610978610867565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3604080517035b2bc9737bbb730b136329737bbb732b960791b8152905190819003601101902055565b6000546001600160a01b03163314806109f957506001546001600160a01b031633145b80610a0e57506002546001600160a01b031633145b6104125760405162461bcd60e51b8152600401808060200182810382526053815260200180610c976053913960600191505060405180910390fd5b600061046e83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610b9c565b6001600160a01b038116610ae6576040805162461bcd60e51b815260206004820152601e60248201527f4163636f756e742063616e6e6f74206265207a65726f20616464726573730000604482015290519081900360640190fd5b803b80610b3a576040805162461bcd60e51b815260206004820181905260248201527f4163636f756e7420636f64652073697a652063616e6e6f74206265207a65726f604482015290519081900360640190fd5b5050565b6000546001600160a01b0316331480610b6157506001546001600160a01b031633145b6104125760405162461bcd60e51b8152600401808060200182810382526041815260200180610c346041913960600191505060405180910390fd5b60008184841115610c2b5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610bf0578181015183820152602001610bd8565b50505050905090810190601f168015610c1d5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50505090039056fe416374697665506f6f6c3a2043616c6c6572206973206e65697468657220426f72726f7765724f7065726174696f6e73206e6f722054726f76654d616e616765724f776e61626c653a3a7365744f776e65723a20696e76616c69642061646472657373416374697665506f6f6c3a2043616c6c6572206973206e65697468657220426f72726f7765724f7065726174696f6e73206e6f722054726f76654d616e61676572206e6f722053746162696c697479506f6f6c416374697665506f6f6c3a2043616c6c6572206973206e65697468657220424f206e6f722044656661756c7420506f6f6ca2646970667358221220db86a41ab5529a43b6289c9b0e6fefdd5940acbc72fe4f717b6917db5ba6c9f264736f6c634300060b0033", "linkReferences": {}, "deployedLinkReferences": {} } diff --git a/packages/lib-ethers/live/Address.json b/packages/lib-ethers/live/Address.json deleted file mode 100644 index 324c6db56..000000000 --- a/packages/lib-ethers/live/Address.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "Address", - "sourceName": "contracts/LPRewards/Dependencies/Address.sol", - "abi": [], - "bytecode": "0x60566023600b82828239805160001a607314601657fe5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212203d8e04e4f3e7efc836523c4044216c1713c83f406f3ff11344f6fd412bd92fb664736f6c634300060b0033", - "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212203d8e04e4f3e7efc836523c4044216c1713c83f406f3ff11344f6fd412bd92fb664736f6c634300060b0033", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/packages/lib-ethers/live/AggregatorV3Interface.json b/packages/lib-ethers/live/AggregatorV3Interface.json deleted file mode 100644 index f50f300d4..000000000 --- a/packages/lib-ethers/live/AggregatorV3Interface.json +++ /dev/null @@ -1,122 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "AggregatorV3Interface", - "sourceName": "contracts/Dependencies/AggregatorV3Interface.sol", - "abi": [ - { - "inputs": [], - "name": "decimals", - "outputs": [ - { - "internalType": "uint8", - "name": "", - "type": "uint8" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "description", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint80", - "name": "_roundId", - "type": "uint80" - } - ], - "name": "getRoundData", - "outputs": [ - { - "internalType": "uint80", - "name": "roundId", - "type": "uint80" - }, - { - "internalType": "int256", - "name": "answer", - "type": "int256" - }, - { - "internalType": "uint256", - "name": "startedAt", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "updatedAt", - "type": "uint256" - }, - { - "internalType": "uint80", - "name": "answeredInRound", - "type": "uint80" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "latestRoundData", - "outputs": [ - { - "internalType": "uint80", - "name": "roundId", - "type": "uint80" - }, - { - "internalType": "int256", - "name": "answer", - "type": "int256" - }, - { - "internalType": "uint256", - "name": "startedAt", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "updatedAt", - "type": "uint256" - }, - { - "internalType": "uint80", - "name": "answeredInRound", - "type": "uint80" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "version", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": "0x", - "deployedBytecode": "0x", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/packages/lib-ethers/live/BaseMath.json b/packages/lib-ethers/live/BaseMath.json index b2bab6e22..1fd9eafb5 100644 --- a/packages/lib-ethers/live/BaseMath.json +++ b/packages/lib-ethers/live/BaseMath.json @@ -17,8 +17,8 @@ "type": "function" } ], - "bytecode": "0x6080604052348015600f57600080fd5b5060878061001e6000396000f3fe6080604052348015600f57600080fd5b506004361060285760003560e01c8063a20baee614602d575b600080fd5b60336045565b60408051918252519081900360200190f35b670de0b6b3a76400008156fea26469706673582212203fb2d993a2b5a960b76fd70521614e4fd75bcdcef0a985be398c063af89b4a3064736f6c634300060b0033", - "deployedBytecode": "0x6080604052348015600f57600080fd5b506004361060285760003560e01c8063a20baee614602d575b600080fd5b60336045565b60408051918252519081900360200190f35b670de0b6b3a76400008156fea26469706673582212203fb2d993a2b5a960b76fd70521614e4fd75bcdcef0a985be398c063af89b4a3064736f6c634300060b0033", + "bytecode": "0x6080604052348015600f57600080fd5b5060878061001e6000396000f3fe6080604052348015600f57600080fd5b506004361060285760003560e01c8063a20baee614602d575b600080fd5b60336045565b60408051918252519081900360200190f35b670de0b6b3a76400008156fea2646970667358221220157e3ea15bcb1769d56dddedf125e3b0aecc073b0ad1dd73256964871b1337ed64736f6c634300060b0033", + "deployedBytecode": "0x6080604052348015600f57600080fd5b506004361060285760003560e01c8063a20baee614602d575b600080fd5b60336045565b60408051918252519081900360200190f35b670de0b6b3a76400008156fea2646970667358221220157e3ea15bcb1769d56dddedf125e3b0aecc073b0ad1dd73256964871b1337ed64736f6c634300060b0033", "linkReferences": {}, "deployedLinkReferences": {} } diff --git a/packages/lib-ethers/live/BorrowerOperations.json b/packages/lib-ethers/live/BorrowerOperations.json index 4ce852f46..8bb5979cf 100644 --- a/packages/lib-ethers/live/BorrowerOperations.json +++ b/packages/lib-ethers/live/BorrowerOperations.json @@ -48,11 +48,11 @@ { "indexed": false, "internalType": "address", - "name": "_gasPoolAddress", + "name": "_feeDistributorAddress", "type": "address" } ], - "name": "GasPoolAddressChanged", + "name": "FeeDistributorAddressChanged", "type": "event" }, { @@ -61,30 +61,11 @@ { "indexed": false, "internalType": "address", - "name": "_zeroStakingAddress", - "type": "address" - } - ], - "name": "LQTYStakingAddressChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "_borrower", + "name": "_gasPoolAddress", "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_LUSDFee", - "type": "uint256" } ], - "name": "LUSDBorrowingFeePaid", + "name": "GasPoolAddressChanged", "type": "event" }, { @@ -93,11 +74,11 @@ { "indexed": false, "internalType": "address", - "name": "_zusdTokenAddress", + "name": "_massetManagerAddress", "type": "address" } ], - "name": "LUSDTokenAddressChanged", + "name": "MassetManagerAddressChanged", "type": "event" }, { @@ -228,47 +209,53 @@ "type": "event" }, { - "inputs": [], - "name": "BORROWING_FEE_FLOOR", - "outputs": [ + "anonymous": false, + "inputs": [ { - "internalType": "uint256", - "name": "", - "type": "uint256" + "indexed": false, + "internalType": "address", + "name": "_zeroStakingAddress", + "type": "address" } ], - "stateMutability": "view", - "type": "function" + "name": "ZEROStakingAddressChanged", + "type": "event" }, { - "inputs": [], - "name": "CCR", - "outputs": [ + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "_borrower", + "type": "address" + }, { + "indexed": false, "internalType": "uint256", - "name": "", + "name": "_ZUSDFee", "type": "uint256" } ], - "stateMutability": "view", - "type": "function" + "name": "ZUSDBorrowingFeePaid", + "type": "event" }, { - "inputs": [], - "name": "DECIMAL_PRECISION", - "outputs": [ + "anonymous": false, + "inputs": [ { - "internalType": "uint256", - "name": "", - "type": "uint256" + "indexed": false, + "internalType": "address", + "name": "_zusdTokenAddress", + "type": "address" } ], - "stateMutability": "view", - "type": "function" + "name": "ZUSDTokenAddressChanged", + "type": "event" }, { "inputs": [], - "name": "LUSD_GAS_COMPENSATION", + "name": "BORROWING_FEE_FLOOR", "outputs": [ { "internalType": "uint256", @@ -281,7 +268,7 @@ }, { "inputs": [], - "name": "MCR", + "name": "DECIMAL_PRECISION", "outputs": [ { "internalType": "uint256", @@ -320,7 +307,7 @@ }, { "inputs": [], - "name": "PERCENT_DIVISOR", + "name": "ZUSD_GAS_COMPENSATION", "outputs": [ { "internalType": "uint256", @@ -389,7 +376,72 @@ }, { "internalType": "uint256", - "name": "_LUSDChange", + "name": "_ZUSDChange", + "type": "uint256" + }, + { + "internalType": "bool", + "name": "_isDebtIncrease", + "type": "bool" + }, + { + "internalType": "address", + "name": "_upperHint", + "type": "address" + }, + { + "internalType": "address", + "name": "_lowerHint", + "type": "address" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "deadline", + "type": "uint256" + }, + { + "internalType": "uint8", + "name": "v", + "type": "uint8" + }, + { + "internalType": "bytes32", + "name": "r", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "s", + "type": "bytes32" + } + ], + "internalType": "struct IMassetManager.PermitParams", + "name": "_permitParams", + "type": "tuple" + } + ], + "name": "adjustNueTrove", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_maxFeePercentage", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_collWithdrawal", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_ZUSDChange", "type": "uint256" }, { @@ -420,6 +472,41 @@ "stateMutability": "nonpayable", "type": "function" }, + { + "inputs": [ + { + "components": [ + { + "internalType": "uint256", + "name": "deadline", + "type": "uint256" + }, + { + "internalType": "uint8", + "name": "v", + "type": "uint8" + }, + { + "internalType": "bytes32", + "name": "r", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "s", + "type": "bytes32" + } + ], + "internalType": "struct IMassetManager.PermitParams", + "name": "_permitParams", + "type": "tuple" + } + ], + "name": "closeNueTrove", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, { "inputs": [], "name": "closeTrove", @@ -440,6 +527,19 @@ "stateMutability": "view", "type": "function" }, + { + "inputs": [], + "name": "feeDistributor", + "outputs": [ + { + "internalType": "contract IFeeDistributor", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, { "inputs": [ { @@ -456,7 +556,7 @@ "type": "uint256" } ], - "stateMutability": "pure", + "stateMutability": "view", "type": "function" }, { @@ -487,12 +587,12 @@ }, { "inputs": [], - "name": "isOwner", + "name": "getMassetManager", "outputs": [ { - "internalType": "bool", + "internalType": "contract IMassetManager", "name": "", - "type": "bool" + "type": "address" } ], "stateMutability": "view", @@ -500,11 +600,11 @@ }, { "inputs": [], - "name": "zeroStaking", + "name": "getOwner", "outputs": [ { - "internalType": "contract ILQTYStaking", - "name": "", + "internalType": "address", + "name": "_owner", "type": "address" } ], @@ -513,10 +613,10 @@ }, { "inputs": [], - "name": "zeroStakingAddress", + "name": "liquityBaseParams", "outputs": [ { - "internalType": "address", + "internalType": "contract ILiquityBaseParams", "name": "", "type": "address" } @@ -526,10 +626,10 @@ }, { "inputs": [], - "name": "zusdToken", + "name": "massetManager", "outputs": [ { - "internalType": "contract ILUSDToken", + "internalType": "contract IMassetManager", "name": "", "type": "address" } @@ -569,7 +669,7 @@ }, { "internalType": "uint256", - "name": "_LUSDAmount", + "name": "_ZUSDAmount", "type": "uint256" }, { @@ -583,22 +683,37 @@ "type": "address" } ], - "name": "openTrove", + "name": "openNueTrove", "outputs": [], "stateMutability": "payable", "type": "function" }, { - "inputs": [], - "name": "owner", - "outputs": [ + "inputs": [ + { + "internalType": "uint256", + "name": "_maxFeePercentage", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_ZUSDAmount", + "type": "uint256" + }, { "internalType": "address", - "name": "", + "name": "_upperHint", + "type": "address" + }, + { + "internalType": "address", + "name": "_lowerHint", "type": "address" } ], - "stateMutability": "view", + "name": "openTrove", + "outputs": [], + "stateMutability": "payable", "type": "function" }, { @@ -618,7 +733,7 @@ "inputs": [ { "internalType": "uint256", - "name": "_LUSDAmount", + "name": "_ZUSDAmount", "type": "uint256" }, { @@ -632,13 +747,73 @@ "type": "address" } ], - "name": "repayLUSD", + "name": "repayZUSD", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ + { + "internalType": "uint256", + "name": "_dllrAmount", + "type": "uint256" + }, + { + "internalType": "address", + "name": "_upperHint", + "type": "address" + }, + { + "internalType": "address", + "name": "_lowerHint", + "type": "address" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "deadline", + "type": "uint256" + }, + { + "internalType": "uint8", + "name": "v", + "type": "uint8" + }, + { + "internalType": "bytes32", + "name": "r", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "s", + "type": "bytes32" + } + ], + "internalType": "struct IMassetManager.PermitParams", + "name": "_permitParams", + "type": "tuple" + } + ], + "name": "repayZusdFromDLLR", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_feeDistributorAddress", + "type": "address" + }, + { + "internalType": "address", + "name": "_liquityBaseParamsAddress", + "type": "address" + }, { "internalType": "address", "name": "_troveManagerAddress", @@ -695,6 +870,32 @@ "stateMutability": "nonpayable", "type": "function" }, + { + "inputs": [ + { + "internalType": "address", + "name": "_massetManagerAddress", + "type": "address" + } + ], + "name": "setMassetManagerAddress", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_owner", + "type": "address" + } + ], + "name": "setOwner", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, { "inputs": [], "name": "sortedTroves", @@ -753,7 +954,7 @@ }, { "internalType": "uint256", - "name": "_LUSDAmount", + "name": "_ZUSDAmount", "type": "uint256" }, { @@ -767,14 +968,87 @@ "type": "address" } ], - "name": "withdrawLUSD", + "name": "withdrawZUSD", "outputs": [], "stateMutability": "nonpayable", "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_maxFeePercentage", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_ZUSDAmount", + "type": "uint256" + }, + { + "internalType": "address", + "name": "_upperHint", + "type": "address" + }, + { + "internalType": "address", + "name": "_lowerHint", + "type": "address" + } + ], + "name": "withdrawZusdAndConvertToDLLR", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "zeroStaking", + "outputs": [ + { + "internalType": "contract IZEROStaking", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "zeroStakingAddress", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "zusdToken", + "outputs": [ + { + "internalType": "contract IZUSDToken", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" } ], - "bytecode": "0x608060405234801561001057600080fd5b50600380546001600160a01b031916339081179091556040516000907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3613731806100606000396000f3fe6080604052600436106101a35760003560e01c8063761ab22c116100e2578063a20baee611610085578063a20baee61461041f578063a3a640171461052a578063a3f4df7e1461053f578063ae918754146105c9578063b83f91a2146105de578063c6a6cf20146105f3578063ea9638bf1461063b578063f92d343314610673576101a3565b8063761ab22c14610449578063794e57241461045e578063795d26c3146104735780637f7dde4a14610488578063860665b31461049d578063887105d3146104d75780638da5cb5b146104ec5780638f32d59b14610501576101a3565b80634ff814431161014a5780634ff81443146102de5780635530273c146103085780635733d58f1461034957806368647db11461035e5780636c37a4af1461038c5780636f0b0c1c1461040a57806372fe25aa1461041f578063741bef1a14610434576101a3565b806304491fa7146101a85780630e704d50146101eb5780631184e5f8146102005780631bf43555146102475780632e86bbd81461026e5780633cc74225146102835780633d83908a146102b45780634870dd9a146102c9575b600080fd5b3480156101b457600080fd5b506101e9600480360360608110156101cb57600080fd5b508035906001600160a01b0360208201358116916040013516610688565b005b3480156101f757600080fd5b506101e961069f565b34801561020c57600080fd5b506101e96004803603608081101561022357600080fd5b508035906020810135906001600160a01b0360408201358116916060013516610a9a565b34801561025357600080fd5b5061025c610ab1565b60408051918252519081900360200190f35b34801561027a57600080fd5b5061025c610abe565b34801561028f57600080fd5b50610298610acb565b604080516001600160a01b039092168252519081900360200190f35b3480156102c057600080fd5b50610298610ada565b3480156102d557600080fd5b5061025c610ae9565b3480156102ea57600080fd5b5061025c6004803603602081101561030157600080fd5b5035610aee565b34801561031457600080fd5b506101e96004803603606081101561032b57600080fd5b508035906001600160a01b0360208201358116916040013516610aff565b34801561035557600080fd5b5061025c610b10565b6101e96004803603604081101561037457600080fd5b506001600160a01b0381358116916020013516610b1c565b34801561039857600080fd5b506101e960048036036101408110156103b057600080fd5b506001600160a01b038135811691602081013582169160408201358116916060810135821691608082013581169160a081013582169160c082013581169160e0810135821691610100820135811691610120013516610b32565b34801561041657600080fd5b506101e9610ee3565b34801561042b57600080fd5b5061025c610f43565b34801561044057600080fd5b50610298610f4f565b34801561045557600080fd5b50610298610f5e565b34801561046a57600080fd5b5061025c610f6d565b34801561047f57600080fd5b5061025c610f79565b34801561049457600080fd5b5061029861107a565b6101e9600480360360808110156104b357600080fd5b508035906020810135906001600160a01b0360408201358116916060013516611089565b3480156104e357600080fd5b5061025c6116be565b3480156104f857600080fd5b5061029861177a565b34801561050d57600080fd5b50610516611789565b604080519115158252519081900360200190f35b34801561053657600080fd5b5061029861179a565b34801561054b57600080fd5b506105546117a9565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561058e578181015183820152602001610576565b50505050905090810190601f1680156105bb5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156105d557600080fd5b506102986117d7565b3480156105ea57600080fd5b506102986117e6565b6101e9600480360360c081101561060957600080fd5b5080359060208101359060408101359060608101351515906001600160a01b03608082013581169160a00135166117f5565b6101e96004803603606081101561065157600080fd5b506001600160a01b03813581169160208101358216916040909101351661180c565b34801561067f57600080fd5b5061025c611826565b61069a33600085600086866000611831565b505050565b600454600054600a546001600160a01b039283169291821691166106c38333611e2e565b60025460408051630fdb11cf60e01b815290516000926001600160a01b031691630fdb11cf91600480830192602092919082900301818787803b15801561070957600080fd5b505af115801561071d573d6000803e3d6000fd5b505050506040513d602081101561073357600080fd5b5051905061074081611ef3565b60408051630b07655760e01b815233600482015290516001600160a01b03861691630b07655791602480830192600092919082900301818387803b15801561078757600080fd5b505af115801561079b573d6000803e3d6000fd5b5050604080516309019aaf60e31b81523360048201529051600093506001600160a01b038816925063480cd57891602480820192602092909190829003018186803b1580156107e957600080fd5b505afa1580156107fd573d6000803e3d6000fd5b505050506040513d602081101561081357600080fd5b50516040805163d66a255360e01b815233600482015290519192506000916001600160a01b0388169163d66a2553916024808301926020929190829003018186803b15801561086157600080fd5b505afa158015610875573d6000803e3d6000fd5b505050506040513d602081101561088b57600080fd5b505190506108b284336108ad84680ad78ebc5ac620000063ffffffff611f3b16565b611f84565b60006108c383600084600088612044565b90506108ce816120cf565b60408051631fc5750960e31b815233600482015290516001600160a01b0389169163fe2ba84891602480830192600092919082900301818387803b15801561091557600080fd5b505af1158015610929573d6000803e3d6000fd5b5050604080516365e89c5760e11b815233600482015290516001600160a01b038b16935063cbd138ae9250602480830192600092919082900301818387803b15801561097457600080fd5b505af1158015610988573d6000803e3d6000fd5b50505050336001600160a01b03166000805160206134cd83398151915260008060006001604051808581526020018481526020018381526020018260028111156109ce57fe5b60ff16815260200194505050505060405180910390a2610a08868633610a0386680ad78ebc5ac620000063ffffffff611f3b16565b612116565b600654610a2b90879087906001600160a01b0316680ad78ebc5ac6200000612116565b604080516364a197f360e01b81523360048201526024810185905290516001600160a01b038816916364a197f391604480830192600092919082900301818387803b158015610a7957600080fd5b505af1158015610a8d573d6000803e3d6000fd5b5050505050505050505050565b610aab33600085600186868a611831565b50505050565b686194049f30f720000081565b680ad78ebc5ac620000081565b6001546001600160a01b031681565b6004546001600160a01b031681565b60c881565b6000610af9826121f2565b92915050565b61069a338460008086866000611831565b6714d1120d7b16000081565b610b2e33600080600086866000611831565b5050565b610b3a611789565b610b8b576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b610b948a61220d565b610b9d8961220d565b610ba68861220d565b610baf8761220d565b610bb88661220d565b610bc18561220d565b610bca8461220d565b610bd38361220d565b610bdc8261220d565b610be58161220d565b600480546001600160a01b03199081166001600160a01b038d81169182179093556000805483168d85161790556001805483168c85161790556005805483168b85161790556006805483168a8516179055600780548316898516179055600280548316888516179055600b80548316878516179055600a80548316868516179055600980548316938516938417905560088054909216909217905560408051918252517f143219c9e69b09e07e095fcc889b43d8f46ca892bba65f08dc3a0050869a5678916020908290030190a1604080516001600160a01b038b16815290517f78f058b189175430c48dc02699e3a0031ea4ff781536dc2fab847de4babdd8829181900360200190a1604080516001600160a01b038a16815290517f5ee0cae2f063ed938bb55046f6a932fb6ae792bf43624806bb90abe68a50be9b9181900360200190a1604080516001600160a01b038916815290517f82966d27eea39b038ee0fa30cd16532bb24f6e65d31cb58fb227aa5766cdcc7f9181900360200190a1604080516001600160a01b038816815290517fcfb07d791fcafc032b35837b50eb84b74df518cf4cc287e8084f47630fa70fa09181900360200190a1604080516001600160a01b038716815290517fe67f36a6e961157d6eff83b91f3af5a62131ceb6f04954ef74f51c1c05e7f88d9181900360200190a1604080516001600160a01b038616815290517f8c537274438aa850a330284665d81a85dd38267d09e4050d416bfc94142db2649181900360200190a1604080516001600160a01b038516815290517f65f4cf077bc01e4742eb5ad98326f6e95b63548ea24b17f8d5e823111fe788009181900360200190a1604080516001600160a01b038416815290517f227eec0ec317af6ab1a9587ffa1c84332522eb4c583a908f89babc05f8f339bd9181900360200190a1604080516001600160a01b038316815290517f756ebc192164c295bba134b5aacd72cc7aff8098a670d1f0a5f6b3a0b4ce67079181900360200190a1610ed76122bc565b50505050505050505050565b6007546040805163b32beb5b60e01b815233600482015290516001600160a01b039092169163b32beb5b9160248082019260009290919082900301818387803b158015610f2f57600080fd5b505af1158015610aab573d6000803e3d6000fd5b670de0b6b3a764000081565b6002546001600160a01b031681565b6009546001600160a01b031681565b670f43fc2c04ee000081565b6000805460408051632f5a97e560e11b8152905183926001600160a01b031691635eb52fca916004808301926020929190829003018186803b158015610fbe57600080fd5b505afa158015610fd2573d6000803e3d6000fd5b505050506040513d6020811015610fe857600080fd5b505160015460408051632f5a97e560e11b815290519293506000926001600160a01b0390921691635eb52fca91600480820192602092909190829003018186803b15801561103557600080fd5b505afa158015611049573d6000803e3d6000fd5b505050506040513d602081101561105f57600080fd5b50519050611073828263ffffffff61230616565b9250505090565b6000546001600160a01b031681565b611091613220565b50604080516060810182526004546001600160a01b03908116825260005481166020830152600a5416918101919091526110c9613240565b600260009054906101000a90046001600160a01b03166001600160a01b0316630fdb11cf6040518163ffffffff1660e01b8152600401602060405180830381600087803b15801561111957600080fd5b505af115801561112d573d6000803e3d6000fd5b505050506040513d602081101561114357600080fd5b505180825260009061115490612360565b9050611160878261237d565b825161116c9033612429565b60408201869052806111ad5761118c83600001518460400151888a612505565b6020830181905260408301516111a79163ffffffff61230616565b60408301525b6111ba82604001516126b5565b6111c782604001516121f2565b606083018190526111d457fe5b6111e734836060015184600001516126fd565b608083015260608201516111fc90349061273b565b60a08301528015611219576112148260800151612770565b61124c565b61122682608001516127b7565b600061123f346001856060015160018760000151612044565b905061124a816120cf565b505b825160408051635d6b480f60e01b81523360048201526001602482015290516001600160a01b0390921691635d6b480f9160448082019260009290919082900301818387803b15801561129e57600080fd5b505af11580156112b2573d6000803e3d6000fd5b50508451604080516372423c1760e01b815233600482015234602482015290516001600160a01b0390921693506372423c1792506044808201926020929091908290030181600087803b15801561130857600080fd5b505af115801561131c573d6000803e3d6000fd5b505050506040513d602081101561133257600080fd5b50508251606083015160408051639976cf4560e01b81523360048201526024810192909252516001600160a01b0390921691639976cf45916044808201926020929091908290030181600087803b15801561138c57600080fd5b505af11580156113a0573d6000803e3d6000fd5b505050506040513d60208110156113b657600080fd5b50508251604080516382fe3eb960e01b815233600482015290516001600160a01b03909216916382fe3eb99160248082019260009290919082900301818387803b15801561140357600080fd5b505af1158015611417573d6000803e3d6000fd5b5050845160408051630c7940bd60e11b815233600482015290516001600160a01b0390921693506318f2817a92506024808201926020929091908290030181600087803b15801561146757600080fd5b505af115801561147b573d6000803e3d6000fd5b505050506040513d602081101561149157600080fd5b505160c0830152600b5460a0830151604080516346f7cf8760e01b815233600482015260248101929092526001600160a01b038881166044840152878116606484015290519216916346f7cf879160848082019260009290919082900301818387803b15801561150057600080fd5b505af1158015611514573d6000803e3d6000fd5b50508451604080516315d549f160e01b815233600482015290516001600160a01b0390921693506315d549f192506024808201926020929091908290030181600087803b15801561156457600080fd5b505af1158015611578573d6000803e3d6000fd5b505050506040513d602081101561158e57600080fd5b505160e08301819052604080519182525133917f59cfd0cd754bc5748b6770e94a4ffa5f678d885cb899dcfadc5734edb97c67ab919081900360200190a26115da8360200151346127fe565b6115f3836020015184604001513389866040015161288e565b6020830151604084015160065461161f9291906001600160a01b0316680ad78ebc5ac62000008061288e565b336001600160a01b03166000805160206134cd8339815191528360600151348560c0015160006040518085815260200184815260200183815260200182600281111561166757fe5b60ff16815260200194505050505060405180910390a2602080830151604080519182525133927fa55c5f48fd29482ad55f4b59bf070cd1ac1a7132a31f7a136ebe8877ae37e1ff928290030190a250505050505050565b6000805460408051630a7b61df60e11b8152905183926001600160a01b0316916314f6c3be916004808301926020929190829003018186803b15801561170357600080fd5b505afa158015611717573d6000803e3d6000fd5b505050506040513d602081101561172d57600080fd5b505160015460408051630a7b61df60e11b815290519293506000926001600160a01b03909216916314f6c3be91600480820192602092909190829003018186803b15801561103557600080fd5b6003546001600160a01b031690565b6003546001600160a01b0316331490565b6008546001600160a01b031681565b60405180604001604052806012815260200171426f72726f7765724f7065726174696f6e7360701b81525081565b600b546001600160a01b031681565b600a546001600160a01b031681565b6118043386868686868c611831565b505050505050565b61181461296b565b61069a83600080600086866000611831565b6611c37937e0800081565b611839613220565b50604080516060810182526004546001600160a01b03908116825260005481166020830152600a541691810191909152611871613285565b600260009054906101000a90046001600160a01b03166001600160a01b0316630fdb11cf6040518163ffffffff1660e01b8152600401602060405180830381600087803b1580156118c157600080fd5b505af11580156118d5573d6000803e3d6000fd5b505050506040513d60208110156118eb57600080fd5b50518082526000906118fc90612360565b905086156119175761190e848261237d565b611917886129b6565b611920896129f5565b61192a8989612a3b565b8251611936908b611e2e565b336001600160a01b038b16148061196c57506005546001600160a01b0316331480156119625750600034115b801561196c575087155b61197257fe5b82600001516001600160a01b0316630b0765578b6040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b03168152602001915050600060405180830381600087803b1580156119ce57600080fd5b505af11580156119e2573d6000803e3d6000fd5b505050506119f0348a612a8d565b15156060840152602083015260408201889052868015611a0e575080155b15611a4957611a27836000015184604001518a87612505565b61012083018190526040830151611a439163ffffffff61230616565b60408301525b82600001516001600160a01b031663d66a25538b6040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b158015611aa357600080fd5b505afa158015611ab7573d6000803e3d6000fd5b505050506040513d6020811015611acd57600080fd5b505160808301528251604080516309019aaf60e31b81526001600160a01b038d811660048301529151919092169163480cd578916024808301926020929190829003018186803b158015611b2057600080fd5b505afa158015611b34573d6000803e3d6000fd5b505050506040513d6020811015611b4a57600080fd5b505160a0830181905260808301518351611b659291906126fd565b8260c0018181525050611b958260a0015183608001518460200151856060015186604001518c8860000151612aac565b60e083015260a0820151891115611ba857fe5b611bb4818a8985612adf565b86158015611bc25750600088115b15611c1557611bf0611beb8360400151611bdf8560800151612b53565b9063ffffffff611f3b16565b6126b5565b611c0282608001518360400151612b6e565b611c1583604001518b8460400151611f84565b611c3383600001518b8460200151856060015186604001518c612bc5565b610140840152610160830152825160408051630c7940bd60e11b81526001600160a01b038d81166004830152915191909216916318f2817a9160248083019260209291908290030181600087803b158015611c8d57600080fd5b505af1158015611ca1573d6000803e3d6000fd5b505050506040513d6020811015611cb757600080fd5b505161018083015260a08201516080830151602084015160608501516040860151600094611ceb949093909290918d612e25565b600b546040805163015f109360e51b81526001600160a01b038f81166004830152602482018590528b811660448301528a811660648301529151939450911691632be212609160848082019260009290919082900301818387803b158015611d5257600080fd5b505af1158015611d66573d6000803e3d6000fd5b505050508a6001600160a01b03166000805160206134cd833981519152846101400151856101600151866101800151600260405180858152602001848152602001838152602001826002811115611db957fe5b60ff16815260200194505050505060405180910390a2610120830151604080519182525133917fa55c5f48fd29482ad55f4b59bf070cd1ac1a7132a31f7a136ebe8877ae37e1ff919081900360200190a2610a8d8460200151856040015133866020015187606001518e8e8a60400151612e56565b6000826001600160a01b03166321e37801836040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b158015611e8657600080fd5b505afa158015611e9a573d6000803e3d6000fd5b505050506040513d6020811015611eb057600080fd5b505190506001811461069a5760405162461bcd60e51b815260040180806020018281038252602e81526020018061349f602e913960400191505060405180910390fd5b611efc81612360565b15611f385760405162461bcd60e51b815260040180806020018281038252603981526020018061334d6039913960400191505060405180910390fd5b50565b6000611f7d83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250612f11565b9392505050565b80836001600160a01b03166370a08231846040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b158015611fdb57600080fd5b505afa158015611fef573d6000803e3d6000fd5b505050506040513d602081101561200557600080fd5b5051101561069a5760405162461bcd60e51b815260040180806020018281038252603d81526020018061352b603d913960400191505060405180910390fd5b60008061204f6116be565b9050600061205b610f79565b90508661207757612072828963ffffffff611f3b16565b612087565b612087828963ffffffff61230616565b9150846120a35761209e818763ffffffff611f3b16565b6120b3565b6120b3818763ffffffff61230616565b905060006120c28383876126fd565b9998505050505050505050565b6714d1120d7b160000811015611f385760405162461bcd60e51b81526004018080602001828103825260498152602001806134566049913960600191505060405180910390fd5b836001600160a01b03166338d995a8826040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b15801561215c57600080fd5b505af1158015612170573d6000803e3d6000fd5b50505050826001600160a01b0316639dc29fac83836040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b1580156121d457600080fd5b505af11580156121e8573d6000803e3d6000fd5b5050505050505050565b6000610af982680ad78ebc5ac620000063ffffffff61230616565b6001600160a01b038116612268576040805162461bcd60e51b815260206004820152601e60248201527f4163636f756e742063616e6e6f74206265207a65726f20616464726573730000604482015290519081900360640190fd5b803b80610b2e576040805162461bcd60e51b815260206004820181905260248201527f4163636f756e7420636f64652073697a652063616e6e6f74206265207a65726f604482015290519081900360640190fd5b6003546040516000916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600380546001600160a01b0319169055565b600082820183811015611f7d576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b60008061236c83612fa8565b6714d1120d7b160000119392505050565b80156123cf57670de0b6b3a76400008211156123ca5760405162461bcd60e51b81526004018080602001828103825260328152602001806133bd6032913960400191505060405180910390fd5b610b2e565b6611c37937e0800082108015906123ee5750670de0b6b3a76400008211155b610b2e5760405162461bcd60e51b81526004018080602001828103825260308152602001806136576030913960400191505060405180910390fd5b6000826001600160a01b03166321e37801836040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b15801561248157600080fd5b505afa158015612495573d6000803e3d6000fd5b505050506040513d60208110156124ab57600080fd5b50519050600181141561069a576040805162461bcd60e51b815260206004820152601c60248201527f426f72726f7765724f70733a2054726f76652069732061637469766500000000604482015290519081900360640190fd5b6000846001600160a01b0316635dba4c4a6040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561254257600080fd5b505af1158015612556573d6000803e3d6000fd5b505050506000856001600160a01b031663631203b0856040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b1580156125a057600080fd5b505afa1580156125b4573d6000803e3d6000fd5b505050506040513d60208110156125ca57600080fd5b505190506125d9818585612fd4565b60085460408051634677ffb360e01b81526004810184905290516001600160a01b0390921691634677ffb39160248082019260009290919082900301818387803b15801561262657600080fd5b505af115801561263a573d6000803e3d6000fd5b5050600954604080516340c10f1960e01b81526001600160a01b03928316600482015260248101869052905191891693506340c10f19925060448082019260009290919082900301818387803b15801561269357600080fd5b505af11580156126a7573d6000803e3d6000fd5b509298975050505050505050565b686194049f30f7200000811015611f385760405162461bcd60e51b815260040180806020018281038252603a8152602001806135b1603a913960400191505060405180910390fd5b600082156127305760006127278461271b878663ffffffff61304916565b9063ffffffff6130a216565b9150611f7d9050565b506000199392505050565b60008115612767576127608261271b8568056bc75e2d6310000063ffffffff61304916565b9050610af9565b50600019610af9565b6714d1120d7b160000811015611f385760405162461bcd60e51b81526004018080602001828103825260378152602001806133866037913960400191505060405180910390fd5b670f43fc2c04ee0000811015611f385760405162461bcd60e51b81526004018080602001828103825260498152602001806135686049913960600191505060405180910390fd5b6040516000906001600160a01b0384169083908381818185875af1925050503d8060008114612849576040519150601f19603f3d011682016040523d82523d6000602084013e61284e565b606091505b505090508061069a5760405162461bcd60e51b815260040180806020018281038252602d8152602001806132f0602d913960400191505060405180910390fd5b846001600160a01b031663cfb9329a826040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b1580156128d457600080fd5b505af11580156128e8573d6000803e3d6000fd5b50505050836001600160a01b03166340c10f1984846040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b15801561294c57600080fd5b505af1158015612960573d6000803e3d6000fd5b505050505050505050565b6005546001600160a01b031633146129b45760405162461bcd60e51b815260040180806020018281038252602981526020018061362e6029913960400191505060405180910390fd5b565b60008111611f385760405162461bcd60e51b81526004018080602001828103825260378152602001806136876037913960400191505060405180910390fd5b341580612a00575080155b611f385760405162461bcd60e51b815260040180806020018281038252603081526020018061331d6030913960400191505060405180910390fd5b34151580612a4857508115155b80612a5257508015155b610b2e5760405162461bcd60e51b81526004018080602001828103825260468152602001806133ef6046913960600191505060405180910390fd5b6000808315612aa157508290506001612aa5565b8291505b9250929050565b6000806000612abf8a8a8a8a8a8a6130e4565b915091506000612ad08383876126fd565b9b9a5050505050505050505050565b8315612b1857612aee8361313f565b8115612b1357612b018160e00151612770565b612b138160e001518260c0015161317c565b610aab565b612b258160e001516127b7565b612b42816020015182606001518360400151858560000151612044565b6101008201819052610aab906120cf565b6000610af982680ad78ebc5ac620000063ffffffff611f3b16565b612b8782680ad78ebc5ac620000063ffffffff611f3b16565b811115610b2e5760405162461bcd60e51b81526004018080602001828103825260438152602001806135eb6043913960600191505060405180910390fd5b600080600085612c6057886001600160a01b031663d3d6f84389896040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050602060405180830381600087803b158015612c2f57600080fd5b505af1158015612c43573d6000803e3d6000fd5b505050506040513d6020811015612c5957600080fd5b5051612ced565b886001600160a01b03166372423c1789896040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050602060405180830381600087803b158015612cc057600080fd5b505af1158015612cd4573d6000803e3d6000fd5b505050506040513d6020811015612cea57600080fd5b50515b9050600084612d8757896001600160a01b03166312610e928a886040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050602060405180830381600087803b158015612d5657600080fd5b505af1158015612d6a573d6000803e3d6000fd5b505050506040513d6020811015612d8057600080fd5b5051612e14565b896001600160a01b0316639976cf458a886040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050602060405180830381600087803b158015612de757600080fd5b505af1158015612dfb573d6000803e3d6000fd5b505050506040513d6020811015612e1157600080fd5b50515b919a91995090975050505050505050565b6000806000612e388989898989896130e4565b915091506000612e48838361273b565b9a9950505050505050505050565b8115612e6e57612e69888888868561288e565b612e7a565b612e7a88888886612116565b8315612e8f57612e8a88866127fe565b6121e8565b876001600160a01b03166364a197f387876040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b158015612eef57600080fd5b505af1158015612f03573d6000803e3d6000fd5b505050505050505050505050565b60008184841115612fa05760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015612f65578181015183820152602001612f4d565b50505050905090810190601f168015612f925780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b600080612fb36116be565b90506000612fbf610f79565b9050612fcc8282866126fd565b949350505050565b6000612ff28361271b86670de0b6b3a764000063ffffffff61304916565b905081811115610aab576040805162461bcd60e51b815260206004820152601d60248201527f4665652065786365656465642070726f7669646564206d6178696d756d000000604482015290519081900360640190fd5b60008261305857506000610af9565b8282028284828161306557fe5b0414611f7d5760405162461bcd60e51b81526004018080602001828103825260218152602001806134356021913960400191505060405180910390fd5b6000611f7d83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506131bb565b600080878786613103576130fe8a8963ffffffff611f3b16565b613113565b6131138a8963ffffffff61230616565b91508461312f5761312a898763ffffffff611f3b16565b612e14565b612e14898763ffffffff61230616565b8015611f385760405162461bcd60e51b815260040180806020018281038252603e8152602001806134ed603e913960400191505060405180910390fd5b80821015610b2e5760405162461bcd60e51b815260040180806020018281038252603e8152602001806136be603e913960400191505060405180910390fd5b6000818361320a5760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315612f65578181015183820152602001612f4d565b50600083858161321657fe5b0495945050505050565b604080516060810182526000808252602082018190529181019190915290565b60405180610100016040528060008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081525090565b604051806101a00160405280600081526020016000815260200160008152602001600015158152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152509056fe426f72726f7765724f70733a2053656e64696e672045544820746f20416374697665506f6f6c206661696c6564426f72726f7765724f7065726174696f6e733a2043616e6e6f7420776974686472617720616e642061646420636f6c6c426f72726f7765724f70733a204f7065726174696f6e206e6f74207065726d697474656420647572696e67205265636f76657279204d6f6465426f72726f7765724f70733a204f7065726174696f6e206d757374206c656176652074726f7665207769746820494352203e3d204343524d6178206665652070657263656e74616765206d757374206c657373207468616e206f7220657175616c20746f2031303025426f72726f7765724f70733a205468657265206d75737420626520656974686572206120636f6c6c61746572616c206368616e6765206f7220612064656274206368616e6765536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77426f72726f7765724f70733a20416e206f7065726174696f6e207468617420776f756c6420726573756c7420696e20544352203c20434352206973206e6f74207065726d6974746564426f72726f7765724f70733a2054726f766520646f6573206e6f74206578697374206f7220697320636c6f736564c3770d654ed33aeea6bf11ac8ef05d02a6a04ed4686dd2f624d853bbec43cc8b426f72726f7765724f70733a20436f6c6c61746572616c207769746864726177616c206e6f74207065726d6974746564205265636f76657279204d6f6465426f72726f7765724f70733a2043616c6c657220646f65736e74206861766520656e6f756768204c55534420746f206d616b652072657061796d656e74426f72726f7765724f70733a20416e206f7065726174696f6e207468617420776f756c6420726573756c7420696e20494352203c204d4352206973206e6f74207065726d6974746564426f72726f7765724f70733a2054726f76652773206e65742064656274206d7573742062652067726561746572207468616e206d696e696d756d426f72726f7765724f70733a20416d6f756e7420726570616964206d757374206e6f74206265206c6172676572207468616e207468652054726f766527732064656274426f72726f7765724f70733a2043616c6c6572206973206e6f742053746162696c69747920506f6f6c4d6178206665652070657263656e74616765206d757374206265206265747765656e20302e352520616e642031303025426f72726f7765724f70733a204465627420696e637265617365207265717569726573206e6f6e2d7a65726f20646562744368616e6765426f72726f7765724f70733a2043616e6e6f7420646563726561736520796f75722054726f766527732049435220696e205265636f76657279204d6f6465a2646970667358221220ff6384a65471624c35cad7a77b32a2857e00b30cafdc8b20094aefc81c0eb04964736f6c634300060b0033", - "deployedBytecode": "0x6080604052600436106101a35760003560e01c8063761ab22c116100e2578063a20baee611610085578063a20baee61461041f578063a3a640171461052a578063a3f4df7e1461053f578063ae918754146105c9578063b83f91a2146105de578063c6a6cf20146105f3578063ea9638bf1461063b578063f92d343314610673576101a3565b8063761ab22c14610449578063794e57241461045e578063795d26c3146104735780637f7dde4a14610488578063860665b31461049d578063887105d3146104d75780638da5cb5b146104ec5780638f32d59b14610501576101a3565b80634ff814431161014a5780634ff81443146102de5780635530273c146103085780635733d58f1461034957806368647db11461035e5780636c37a4af1461038c5780636f0b0c1c1461040a57806372fe25aa1461041f578063741bef1a14610434576101a3565b806304491fa7146101a85780630e704d50146101eb5780631184e5f8146102005780631bf43555146102475780632e86bbd81461026e5780633cc74225146102835780633d83908a146102b45780634870dd9a146102c9575b600080fd5b3480156101b457600080fd5b506101e9600480360360608110156101cb57600080fd5b508035906001600160a01b0360208201358116916040013516610688565b005b3480156101f757600080fd5b506101e961069f565b34801561020c57600080fd5b506101e96004803603608081101561022357600080fd5b508035906020810135906001600160a01b0360408201358116916060013516610a9a565b34801561025357600080fd5b5061025c610ab1565b60408051918252519081900360200190f35b34801561027a57600080fd5b5061025c610abe565b34801561028f57600080fd5b50610298610acb565b604080516001600160a01b039092168252519081900360200190f35b3480156102c057600080fd5b50610298610ada565b3480156102d557600080fd5b5061025c610ae9565b3480156102ea57600080fd5b5061025c6004803603602081101561030157600080fd5b5035610aee565b34801561031457600080fd5b506101e96004803603606081101561032b57600080fd5b508035906001600160a01b0360208201358116916040013516610aff565b34801561035557600080fd5b5061025c610b10565b6101e96004803603604081101561037457600080fd5b506001600160a01b0381358116916020013516610b1c565b34801561039857600080fd5b506101e960048036036101408110156103b057600080fd5b506001600160a01b038135811691602081013582169160408201358116916060810135821691608082013581169160a081013582169160c082013581169160e0810135821691610100820135811691610120013516610b32565b34801561041657600080fd5b506101e9610ee3565b34801561042b57600080fd5b5061025c610f43565b34801561044057600080fd5b50610298610f4f565b34801561045557600080fd5b50610298610f5e565b34801561046a57600080fd5b5061025c610f6d565b34801561047f57600080fd5b5061025c610f79565b34801561049457600080fd5b5061029861107a565b6101e9600480360360808110156104b357600080fd5b508035906020810135906001600160a01b0360408201358116916060013516611089565b3480156104e357600080fd5b5061025c6116be565b3480156104f857600080fd5b5061029861177a565b34801561050d57600080fd5b50610516611789565b604080519115158252519081900360200190f35b34801561053657600080fd5b5061029861179a565b34801561054b57600080fd5b506105546117a9565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561058e578181015183820152602001610576565b50505050905090810190601f1680156105bb5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156105d557600080fd5b506102986117d7565b3480156105ea57600080fd5b506102986117e6565b6101e9600480360360c081101561060957600080fd5b5080359060208101359060408101359060608101351515906001600160a01b03608082013581169160a00135166117f5565b6101e96004803603606081101561065157600080fd5b506001600160a01b03813581169160208101358216916040909101351661180c565b34801561067f57600080fd5b5061025c611826565b61069a33600085600086866000611831565b505050565b600454600054600a546001600160a01b039283169291821691166106c38333611e2e565b60025460408051630fdb11cf60e01b815290516000926001600160a01b031691630fdb11cf91600480830192602092919082900301818787803b15801561070957600080fd5b505af115801561071d573d6000803e3d6000fd5b505050506040513d602081101561073357600080fd5b5051905061074081611ef3565b60408051630b07655760e01b815233600482015290516001600160a01b03861691630b07655791602480830192600092919082900301818387803b15801561078757600080fd5b505af115801561079b573d6000803e3d6000fd5b5050604080516309019aaf60e31b81523360048201529051600093506001600160a01b038816925063480cd57891602480820192602092909190829003018186803b1580156107e957600080fd5b505afa1580156107fd573d6000803e3d6000fd5b505050506040513d602081101561081357600080fd5b50516040805163d66a255360e01b815233600482015290519192506000916001600160a01b0388169163d66a2553916024808301926020929190829003018186803b15801561086157600080fd5b505afa158015610875573d6000803e3d6000fd5b505050506040513d602081101561088b57600080fd5b505190506108b284336108ad84680ad78ebc5ac620000063ffffffff611f3b16565b611f84565b60006108c383600084600088612044565b90506108ce816120cf565b60408051631fc5750960e31b815233600482015290516001600160a01b0389169163fe2ba84891602480830192600092919082900301818387803b15801561091557600080fd5b505af1158015610929573d6000803e3d6000fd5b5050604080516365e89c5760e11b815233600482015290516001600160a01b038b16935063cbd138ae9250602480830192600092919082900301818387803b15801561097457600080fd5b505af1158015610988573d6000803e3d6000fd5b50505050336001600160a01b03166000805160206134cd83398151915260008060006001604051808581526020018481526020018381526020018260028111156109ce57fe5b60ff16815260200194505050505060405180910390a2610a08868633610a0386680ad78ebc5ac620000063ffffffff611f3b16565b612116565b600654610a2b90879087906001600160a01b0316680ad78ebc5ac6200000612116565b604080516364a197f360e01b81523360048201526024810185905290516001600160a01b038816916364a197f391604480830192600092919082900301818387803b158015610a7957600080fd5b505af1158015610a8d573d6000803e3d6000fd5b5050505050505050505050565b610aab33600085600186868a611831565b50505050565b686194049f30f720000081565b680ad78ebc5ac620000081565b6001546001600160a01b031681565b6004546001600160a01b031681565b60c881565b6000610af9826121f2565b92915050565b61069a338460008086866000611831565b6714d1120d7b16000081565b610b2e33600080600086866000611831565b5050565b610b3a611789565b610b8b576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b610b948a61220d565b610b9d8961220d565b610ba68861220d565b610baf8761220d565b610bb88661220d565b610bc18561220d565b610bca8461220d565b610bd38361220d565b610bdc8261220d565b610be58161220d565b600480546001600160a01b03199081166001600160a01b038d81169182179093556000805483168d85161790556001805483168c85161790556005805483168b85161790556006805483168a8516179055600780548316898516179055600280548316888516179055600b80548316878516179055600a80548316868516179055600980548316938516938417905560088054909216909217905560408051918252517f143219c9e69b09e07e095fcc889b43d8f46ca892bba65f08dc3a0050869a5678916020908290030190a1604080516001600160a01b038b16815290517f78f058b189175430c48dc02699e3a0031ea4ff781536dc2fab847de4babdd8829181900360200190a1604080516001600160a01b038a16815290517f5ee0cae2f063ed938bb55046f6a932fb6ae792bf43624806bb90abe68a50be9b9181900360200190a1604080516001600160a01b038916815290517f82966d27eea39b038ee0fa30cd16532bb24f6e65d31cb58fb227aa5766cdcc7f9181900360200190a1604080516001600160a01b038816815290517fcfb07d791fcafc032b35837b50eb84b74df518cf4cc287e8084f47630fa70fa09181900360200190a1604080516001600160a01b038716815290517fe67f36a6e961157d6eff83b91f3af5a62131ceb6f04954ef74f51c1c05e7f88d9181900360200190a1604080516001600160a01b038616815290517f8c537274438aa850a330284665d81a85dd38267d09e4050d416bfc94142db2649181900360200190a1604080516001600160a01b038516815290517f65f4cf077bc01e4742eb5ad98326f6e95b63548ea24b17f8d5e823111fe788009181900360200190a1604080516001600160a01b038416815290517f227eec0ec317af6ab1a9587ffa1c84332522eb4c583a908f89babc05f8f339bd9181900360200190a1604080516001600160a01b038316815290517f756ebc192164c295bba134b5aacd72cc7aff8098a670d1f0a5f6b3a0b4ce67079181900360200190a1610ed76122bc565b50505050505050505050565b6007546040805163b32beb5b60e01b815233600482015290516001600160a01b039092169163b32beb5b9160248082019260009290919082900301818387803b158015610f2f57600080fd5b505af1158015610aab573d6000803e3d6000fd5b670de0b6b3a764000081565b6002546001600160a01b031681565b6009546001600160a01b031681565b670f43fc2c04ee000081565b6000805460408051632f5a97e560e11b8152905183926001600160a01b031691635eb52fca916004808301926020929190829003018186803b158015610fbe57600080fd5b505afa158015610fd2573d6000803e3d6000fd5b505050506040513d6020811015610fe857600080fd5b505160015460408051632f5a97e560e11b815290519293506000926001600160a01b0390921691635eb52fca91600480820192602092909190829003018186803b15801561103557600080fd5b505afa158015611049573d6000803e3d6000fd5b505050506040513d602081101561105f57600080fd5b50519050611073828263ffffffff61230616565b9250505090565b6000546001600160a01b031681565b611091613220565b50604080516060810182526004546001600160a01b03908116825260005481166020830152600a5416918101919091526110c9613240565b600260009054906101000a90046001600160a01b03166001600160a01b0316630fdb11cf6040518163ffffffff1660e01b8152600401602060405180830381600087803b15801561111957600080fd5b505af115801561112d573d6000803e3d6000fd5b505050506040513d602081101561114357600080fd5b505180825260009061115490612360565b9050611160878261237d565b825161116c9033612429565b60408201869052806111ad5761118c83600001518460400151888a612505565b6020830181905260408301516111a79163ffffffff61230616565b60408301525b6111ba82604001516126b5565b6111c782604001516121f2565b606083018190526111d457fe5b6111e734836060015184600001516126fd565b608083015260608201516111fc90349061273b565b60a08301528015611219576112148260800151612770565b61124c565b61122682608001516127b7565b600061123f346001856060015160018760000151612044565b905061124a816120cf565b505b825160408051635d6b480f60e01b81523360048201526001602482015290516001600160a01b0390921691635d6b480f9160448082019260009290919082900301818387803b15801561129e57600080fd5b505af11580156112b2573d6000803e3d6000fd5b50508451604080516372423c1760e01b815233600482015234602482015290516001600160a01b0390921693506372423c1792506044808201926020929091908290030181600087803b15801561130857600080fd5b505af115801561131c573d6000803e3d6000fd5b505050506040513d602081101561133257600080fd5b50508251606083015160408051639976cf4560e01b81523360048201526024810192909252516001600160a01b0390921691639976cf45916044808201926020929091908290030181600087803b15801561138c57600080fd5b505af11580156113a0573d6000803e3d6000fd5b505050506040513d60208110156113b657600080fd5b50508251604080516382fe3eb960e01b815233600482015290516001600160a01b03909216916382fe3eb99160248082019260009290919082900301818387803b15801561140357600080fd5b505af1158015611417573d6000803e3d6000fd5b5050845160408051630c7940bd60e11b815233600482015290516001600160a01b0390921693506318f2817a92506024808201926020929091908290030181600087803b15801561146757600080fd5b505af115801561147b573d6000803e3d6000fd5b505050506040513d602081101561149157600080fd5b505160c0830152600b5460a0830151604080516346f7cf8760e01b815233600482015260248101929092526001600160a01b038881166044840152878116606484015290519216916346f7cf879160848082019260009290919082900301818387803b15801561150057600080fd5b505af1158015611514573d6000803e3d6000fd5b50508451604080516315d549f160e01b815233600482015290516001600160a01b0390921693506315d549f192506024808201926020929091908290030181600087803b15801561156457600080fd5b505af1158015611578573d6000803e3d6000fd5b505050506040513d602081101561158e57600080fd5b505160e08301819052604080519182525133917f59cfd0cd754bc5748b6770e94a4ffa5f678d885cb899dcfadc5734edb97c67ab919081900360200190a26115da8360200151346127fe565b6115f3836020015184604001513389866040015161288e565b6020830151604084015160065461161f9291906001600160a01b0316680ad78ebc5ac62000008061288e565b336001600160a01b03166000805160206134cd8339815191528360600151348560c0015160006040518085815260200184815260200183815260200182600281111561166757fe5b60ff16815260200194505050505060405180910390a2602080830151604080519182525133927fa55c5f48fd29482ad55f4b59bf070cd1ac1a7132a31f7a136ebe8877ae37e1ff928290030190a250505050505050565b6000805460408051630a7b61df60e11b8152905183926001600160a01b0316916314f6c3be916004808301926020929190829003018186803b15801561170357600080fd5b505afa158015611717573d6000803e3d6000fd5b505050506040513d602081101561172d57600080fd5b505160015460408051630a7b61df60e11b815290519293506000926001600160a01b03909216916314f6c3be91600480820192602092909190829003018186803b15801561103557600080fd5b6003546001600160a01b031690565b6003546001600160a01b0316331490565b6008546001600160a01b031681565b60405180604001604052806012815260200171426f72726f7765724f7065726174696f6e7360701b81525081565b600b546001600160a01b031681565b600a546001600160a01b031681565b6118043386868686868c611831565b505050505050565b61181461296b565b61069a83600080600086866000611831565b6611c37937e0800081565b611839613220565b50604080516060810182526004546001600160a01b03908116825260005481166020830152600a541691810191909152611871613285565b600260009054906101000a90046001600160a01b03166001600160a01b0316630fdb11cf6040518163ffffffff1660e01b8152600401602060405180830381600087803b1580156118c157600080fd5b505af11580156118d5573d6000803e3d6000fd5b505050506040513d60208110156118eb57600080fd5b50518082526000906118fc90612360565b905086156119175761190e848261237d565b611917886129b6565b611920896129f5565b61192a8989612a3b565b8251611936908b611e2e565b336001600160a01b038b16148061196c57506005546001600160a01b0316331480156119625750600034115b801561196c575087155b61197257fe5b82600001516001600160a01b0316630b0765578b6040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b03168152602001915050600060405180830381600087803b1580156119ce57600080fd5b505af11580156119e2573d6000803e3d6000fd5b505050506119f0348a612a8d565b15156060840152602083015260408201889052868015611a0e575080155b15611a4957611a27836000015184604001518a87612505565b61012083018190526040830151611a439163ffffffff61230616565b60408301525b82600001516001600160a01b031663d66a25538b6040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b158015611aa357600080fd5b505afa158015611ab7573d6000803e3d6000fd5b505050506040513d6020811015611acd57600080fd5b505160808301528251604080516309019aaf60e31b81526001600160a01b038d811660048301529151919092169163480cd578916024808301926020929190829003018186803b158015611b2057600080fd5b505afa158015611b34573d6000803e3d6000fd5b505050506040513d6020811015611b4a57600080fd5b505160a0830181905260808301518351611b659291906126fd565b8260c0018181525050611b958260a0015183608001518460200151856060015186604001518c8860000151612aac565b60e083015260a0820151891115611ba857fe5b611bb4818a8985612adf565b86158015611bc25750600088115b15611c1557611bf0611beb8360400151611bdf8560800151612b53565b9063ffffffff611f3b16565b6126b5565b611c0282608001518360400151612b6e565b611c1583604001518b8460400151611f84565b611c3383600001518b8460200151856060015186604001518c612bc5565b610140840152610160830152825160408051630c7940bd60e11b81526001600160a01b038d81166004830152915191909216916318f2817a9160248083019260209291908290030181600087803b158015611c8d57600080fd5b505af1158015611ca1573d6000803e3d6000fd5b505050506040513d6020811015611cb757600080fd5b505161018083015260a08201516080830151602084015160608501516040860151600094611ceb949093909290918d612e25565b600b546040805163015f109360e51b81526001600160a01b038f81166004830152602482018590528b811660448301528a811660648301529151939450911691632be212609160848082019260009290919082900301818387803b158015611d5257600080fd5b505af1158015611d66573d6000803e3d6000fd5b505050508a6001600160a01b03166000805160206134cd833981519152846101400151856101600151866101800151600260405180858152602001848152602001838152602001826002811115611db957fe5b60ff16815260200194505050505060405180910390a2610120830151604080519182525133917fa55c5f48fd29482ad55f4b59bf070cd1ac1a7132a31f7a136ebe8877ae37e1ff919081900360200190a2610a8d8460200151856040015133866020015187606001518e8e8a60400151612e56565b6000826001600160a01b03166321e37801836040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b158015611e8657600080fd5b505afa158015611e9a573d6000803e3d6000fd5b505050506040513d6020811015611eb057600080fd5b505190506001811461069a5760405162461bcd60e51b815260040180806020018281038252602e81526020018061349f602e913960400191505060405180910390fd5b611efc81612360565b15611f385760405162461bcd60e51b815260040180806020018281038252603981526020018061334d6039913960400191505060405180910390fd5b50565b6000611f7d83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250612f11565b9392505050565b80836001600160a01b03166370a08231846040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b158015611fdb57600080fd5b505afa158015611fef573d6000803e3d6000fd5b505050506040513d602081101561200557600080fd5b5051101561069a5760405162461bcd60e51b815260040180806020018281038252603d81526020018061352b603d913960400191505060405180910390fd5b60008061204f6116be565b9050600061205b610f79565b90508661207757612072828963ffffffff611f3b16565b612087565b612087828963ffffffff61230616565b9150846120a35761209e818763ffffffff611f3b16565b6120b3565b6120b3818763ffffffff61230616565b905060006120c28383876126fd565b9998505050505050505050565b6714d1120d7b160000811015611f385760405162461bcd60e51b81526004018080602001828103825260498152602001806134566049913960600191505060405180910390fd5b836001600160a01b03166338d995a8826040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b15801561215c57600080fd5b505af1158015612170573d6000803e3d6000fd5b50505050826001600160a01b0316639dc29fac83836040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b1580156121d457600080fd5b505af11580156121e8573d6000803e3d6000fd5b5050505050505050565b6000610af982680ad78ebc5ac620000063ffffffff61230616565b6001600160a01b038116612268576040805162461bcd60e51b815260206004820152601e60248201527f4163636f756e742063616e6e6f74206265207a65726f20616464726573730000604482015290519081900360640190fd5b803b80610b2e576040805162461bcd60e51b815260206004820181905260248201527f4163636f756e7420636f64652073697a652063616e6e6f74206265207a65726f604482015290519081900360640190fd5b6003546040516000916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600380546001600160a01b0319169055565b600082820183811015611f7d576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b60008061236c83612fa8565b6714d1120d7b160000119392505050565b80156123cf57670de0b6b3a76400008211156123ca5760405162461bcd60e51b81526004018080602001828103825260328152602001806133bd6032913960400191505060405180910390fd5b610b2e565b6611c37937e0800082108015906123ee5750670de0b6b3a76400008211155b610b2e5760405162461bcd60e51b81526004018080602001828103825260308152602001806136576030913960400191505060405180910390fd5b6000826001600160a01b03166321e37801836040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b15801561248157600080fd5b505afa158015612495573d6000803e3d6000fd5b505050506040513d60208110156124ab57600080fd5b50519050600181141561069a576040805162461bcd60e51b815260206004820152601c60248201527f426f72726f7765724f70733a2054726f76652069732061637469766500000000604482015290519081900360640190fd5b6000846001600160a01b0316635dba4c4a6040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561254257600080fd5b505af1158015612556573d6000803e3d6000fd5b505050506000856001600160a01b031663631203b0856040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b1580156125a057600080fd5b505afa1580156125b4573d6000803e3d6000fd5b505050506040513d60208110156125ca57600080fd5b505190506125d9818585612fd4565b60085460408051634677ffb360e01b81526004810184905290516001600160a01b0390921691634677ffb39160248082019260009290919082900301818387803b15801561262657600080fd5b505af115801561263a573d6000803e3d6000fd5b5050600954604080516340c10f1960e01b81526001600160a01b03928316600482015260248101869052905191891693506340c10f19925060448082019260009290919082900301818387803b15801561269357600080fd5b505af11580156126a7573d6000803e3d6000fd5b509298975050505050505050565b686194049f30f7200000811015611f385760405162461bcd60e51b815260040180806020018281038252603a8152602001806135b1603a913960400191505060405180910390fd5b600082156127305760006127278461271b878663ffffffff61304916565b9063ffffffff6130a216565b9150611f7d9050565b506000199392505050565b60008115612767576127608261271b8568056bc75e2d6310000063ffffffff61304916565b9050610af9565b50600019610af9565b6714d1120d7b160000811015611f385760405162461bcd60e51b81526004018080602001828103825260378152602001806133866037913960400191505060405180910390fd5b670f43fc2c04ee0000811015611f385760405162461bcd60e51b81526004018080602001828103825260498152602001806135686049913960600191505060405180910390fd5b6040516000906001600160a01b0384169083908381818185875af1925050503d8060008114612849576040519150601f19603f3d011682016040523d82523d6000602084013e61284e565b606091505b505090508061069a5760405162461bcd60e51b815260040180806020018281038252602d8152602001806132f0602d913960400191505060405180910390fd5b846001600160a01b031663cfb9329a826040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b1580156128d457600080fd5b505af11580156128e8573d6000803e3d6000fd5b50505050836001600160a01b03166340c10f1984846040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b15801561294c57600080fd5b505af1158015612960573d6000803e3d6000fd5b505050505050505050565b6005546001600160a01b031633146129b45760405162461bcd60e51b815260040180806020018281038252602981526020018061362e6029913960400191505060405180910390fd5b565b60008111611f385760405162461bcd60e51b81526004018080602001828103825260378152602001806136876037913960400191505060405180910390fd5b341580612a00575080155b611f385760405162461bcd60e51b815260040180806020018281038252603081526020018061331d6030913960400191505060405180910390fd5b34151580612a4857508115155b80612a5257508015155b610b2e5760405162461bcd60e51b81526004018080602001828103825260468152602001806133ef6046913960600191505060405180910390fd5b6000808315612aa157508290506001612aa5565b8291505b9250929050565b6000806000612abf8a8a8a8a8a8a6130e4565b915091506000612ad08383876126fd565b9b9a5050505050505050505050565b8315612b1857612aee8361313f565b8115612b1357612b018160e00151612770565b612b138160e001518260c0015161317c565b610aab565b612b258160e001516127b7565b612b42816020015182606001518360400151858560000151612044565b6101008201819052610aab906120cf565b6000610af982680ad78ebc5ac620000063ffffffff611f3b16565b612b8782680ad78ebc5ac620000063ffffffff611f3b16565b811115610b2e5760405162461bcd60e51b81526004018080602001828103825260438152602001806135eb6043913960600191505060405180910390fd5b600080600085612c6057886001600160a01b031663d3d6f84389896040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050602060405180830381600087803b158015612c2f57600080fd5b505af1158015612c43573d6000803e3d6000fd5b505050506040513d6020811015612c5957600080fd5b5051612ced565b886001600160a01b03166372423c1789896040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050602060405180830381600087803b158015612cc057600080fd5b505af1158015612cd4573d6000803e3d6000fd5b505050506040513d6020811015612cea57600080fd5b50515b9050600084612d8757896001600160a01b03166312610e928a886040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050602060405180830381600087803b158015612d5657600080fd5b505af1158015612d6a573d6000803e3d6000fd5b505050506040513d6020811015612d8057600080fd5b5051612e14565b896001600160a01b0316639976cf458a886040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050602060405180830381600087803b158015612de757600080fd5b505af1158015612dfb573d6000803e3d6000fd5b505050506040513d6020811015612e1157600080fd5b50515b919a91995090975050505050505050565b6000806000612e388989898989896130e4565b915091506000612e48838361273b565b9a9950505050505050505050565b8115612e6e57612e69888888868561288e565b612e7a565b612e7a88888886612116565b8315612e8f57612e8a88866127fe565b6121e8565b876001600160a01b03166364a197f387876040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b158015612eef57600080fd5b505af1158015612f03573d6000803e3d6000fd5b505050505050505050505050565b60008184841115612fa05760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015612f65578181015183820152602001612f4d565b50505050905090810190601f168015612f925780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b600080612fb36116be565b90506000612fbf610f79565b9050612fcc8282866126fd565b949350505050565b6000612ff28361271b86670de0b6b3a764000063ffffffff61304916565b905081811115610aab576040805162461bcd60e51b815260206004820152601d60248201527f4665652065786365656465642070726f7669646564206d6178696d756d000000604482015290519081900360640190fd5b60008261305857506000610af9565b8282028284828161306557fe5b0414611f7d5760405162461bcd60e51b81526004018080602001828103825260218152602001806134356021913960400191505060405180910390fd5b6000611f7d83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506131bb565b600080878786613103576130fe8a8963ffffffff611f3b16565b613113565b6131138a8963ffffffff61230616565b91508461312f5761312a898763ffffffff611f3b16565b612e14565b612e14898763ffffffff61230616565b8015611f385760405162461bcd60e51b815260040180806020018281038252603e8152602001806134ed603e913960400191505060405180910390fd5b80821015610b2e5760405162461bcd60e51b815260040180806020018281038252603e8152602001806136be603e913960400191505060405180910390fd5b6000818361320a5760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315612f65578181015183820152602001612f4d565b50600083858161321657fe5b0495945050505050565b604080516060810182526000808252602082018190529181019190915290565b60405180610100016040528060008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081525090565b604051806101a00160405280600081526020016000815260200160008152602001600015158152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152509056fe426f72726f7765724f70733a2053656e64696e672045544820746f20416374697665506f6f6c206661696c6564426f72726f7765724f7065726174696f6e733a2043616e6e6f7420776974686472617720616e642061646420636f6c6c426f72726f7765724f70733a204f7065726174696f6e206e6f74207065726d697474656420647572696e67205265636f76657279204d6f6465426f72726f7765724f70733a204f7065726174696f6e206d757374206c656176652074726f7665207769746820494352203e3d204343524d6178206665652070657263656e74616765206d757374206c657373207468616e206f7220657175616c20746f2031303025426f72726f7765724f70733a205468657265206d75737420626520656974686572206120636f6c6c61746572616c206368616e6765206f7220612064656274206368616e6765536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77426f72726f7765724f70733a20416e206f7065726174696f6e207468617420776f756c6420726573756c7420696e20544352203c20434352206973206e6f74207065726d6974746564426f72726f7765724f70733a2054726f766520646f6573206e6f74206578697374206f7220697320636c6f736564c3770d654ed33aeea6bf11ac8ef05d02a6a04ed4686dd2f624d853bbec43cc8b426f72726f7765724f70733a20436f6c6c61746572616c207769746864726177616c206e6f74207065726d6974746564205265636f76657279204d6f6465426f72726f7765724f70733a2043616c6c657220646f65736e74206861766520656e6f756768204c55534420746f206d616b652072657061796d656e74426f72726f7765724f70733a20416e206f7065726174696f6e207468617420776f756c6420726573756c7420696e20494352203c204d4352206973206e6f74207065726d6974746564426f72726f7765724f70733a2054726f76652773206e65742064656274206d7573742062652067726561746572207468616e206d696e696d756d426f72726f7765724f70733a20416d6f756e7420726570616964206d757374206e6f74206265206c6172676572207468616e207468652054726f766527732064656274426f72726f7765724f70733a2043616c6c6572206973206e6f742053746162696c69747920506f6f6c4d6178206665652070657263656e74616765206d757374206265206265747765656e20302e352520616e642031303025426f72726f7765724f70733a204465627420696e637265617365207265717569726573206e6f6e2d7a65726f20646562744368616e6765426f72726f7765724f70733a2043616e6e6f7420646563726561736520796f75722054726f766527732049435220696e205265636f76657279204d6f6465a2646970667358221220ff6384a65471624c35cad7a77b32a2857e00b30cafdc8b20094aefc81c0eb04964736f6c634300060b0033", + "bytecode": "0x60806040523480156200001157600080fd5b5062000026336001600160e01b036200002c16565b62000150565b6001600160a01b0381166200005e5760405162461bcd60e51b815260040162000055906200010e565b60405180910390fd5b6001600160a01b0381166200007b6001600160e01b03620000d016565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000604051620000c090620000f1565b6040519081900390209190915550565b600080604051620000e190620000f1565b6040519081900390205492915050565b7035b2bc9737bbb730b136329737bbb732b960791b815260110190565b60208082526022908201527f4f776e61626c653a3a7365744f776e65723a20696e76616c6964206164647265604082015261737360f01b606082015260800190565b614a7880620001606000396000f3fe6080604052600436106102205760003560e01c80637778a3db1161012e578063a3f4df7e116100ab578063e9fc34611161006f578063e9fc346114610570578063ea9638bf14610585578063ec5472fd14610598578063ec9f7d46146105ad578063f92d3433146105c257610220565b8063a3f4df7e146104f1578063ae91875414610513578063afbc74b514610528578063b5c89bab14610548578063c6a6cf201461055d57610220565b8063887105d3116100f2578063887105d31461049f578063893d20e8146104b45780638d5c3dc1146104c95780639f070670146104dc578063a20baee6146103c357610220565b80637778a3db14610422578063795d26c3146104425780637e3eefdc146104575780637f7dde4a14610477578063860665b31461048c57610220565b8063485f190f116101bc5780636f0b0c1c116101805780636f0b0c1c146103ae57806372fe25aa146103c3578063734f622d146103d8578063741bef1a146103f8578063759b30341461040d57610220565b8063485f190f146103285780634ff814431461033b5780635530273c1461035b57806368647db11461037b5780636ea569601461038e57610220565b80630d43e8ad146102255780630e704d50146102505780630ff9a5121461026757806313af40351461027c5780631a7777171461029c5780631bf43555146102bc5780632771510a146102de5780633cc74225146102fe5780633d83908a14610313575b600080fd5b34801561023157600080fd5b5061023a6105d7565b6040516102479190613fe0565b60405180910390f35b34801561025c57600080fd5b506102656105e6565b005b34801561027357600080fd5b5061023a6105f0565b34801561028857600080fd5b50610265610297366004613bf3565b6105ff565b3480156102a857600080fd5b506102656102b7366004613e27565b61064c565b3480156102c857600080fd5b506102d1610663565b60405161024791906149eb565b3480156102ea57600080fd5b506102656102f9366004613bf3565b610670565b34801561030a57600080fd5b5061023a6106fe565b34801561031f57600080fd5b5061023a61070d565b610265610336366004613e78565b61071c565b34801561034757600080fd5b506102d1610356366004613dd1565b610886565b34801561036757600080fd5b50610265610376366004613e01565b610899565b610265610389366004613c2b565b6108af565b34801561039a57600080fd5b506102656103a9366004613e78565b6108c5565b3480156103ba57600080fd5b506102656108d6565b3480156103cf57600080fd5b506102d1610934565b3480156103e457600080fd5b506102656103f3366004613cad565b610940565b34801561040457600080fd5b5061023a610d04565b34801561041957600080fd5b506102d1610d13565b34801561042e57600080fd5b5061026561043d366004613db6565b610d20565b34801561044e57600080fd5b506102d1610e11565b34801561046357600080fd5b506102d1610472366004613e78565b610f30565b34801561048357600080fd5b5061023a6111ab565b61026561049a366004613e78565b6111ba565b3480156104ab57600080fd5b506102d16111c7565b3480156104c057600080fd5b5061023a611296565b6102656104d7366004613f27565b6112b5565b3480156104e857600080fd5b5061023a6112cd565b3480156104fd57600080fd5b506105066112dc565b60405161024791906140c8565b34801561051f57600080fd5b5061023a61130a565b34801561053457600080fd5b50610265610543366004613e01565b611319565b34801561055457600080fd5b5061023a61132b565b61026561056b366004613ec1565b61133a565b34801561057c57600080fd5b5061023a611351565b610265610593366004613c63565b611360565b3480156105a457600080fd5b5061023a61137a565b3480156105b957600080fd5b5061023a611389565b3480156105ce57600080fd5b506102d1611398565b600d546001600160a01b031681565b6105ee61141a565b565b6009546001600160a01b031681565b610607611296565b6001600160a01b0316336001600160a01b0316146106405760405162461bcd60e51b8152600401610637906145b1565b60405180910390fd5b61064981611809565b50565b61065d600080866000878787611894565b50505050565b6809c2007651b250000081565b610678611296565b6001600160a01b0316336001600160a01b0316146106a85760405162461bcd60e51b8152600401610637906145b1565b600c80546001600160a01b0319166001600160a01b0383161790556040517f6926b3375b54960080b7d8a184061f39a02e8c3bf64aa9df7e75359fdc00d814906106f3908390613fe0565b60405180910390a150565b6001546001600160a01b031681565b6004546001600160a01b031681565b600c546001600160a01b03166107445760405162461bcd60e51b8152600401610637906149bb565b6107518484848430611a4a565b600a54600c5460405163095ea7b360e01b81526001600160a01b039283169263095ea7b392610787929116908790600401614035565b602060405180830381600087803b1580156107a157600080fd5b505af11580156107b5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107d99190613d9a565b6107f55760405162461bcd60e51b81526004016106379061463f565b600c54600a5460405163438b1b4b60e01b81526001600160a01b039283169263438b1b4b9261082d9291169087903390600401614079565b602060405180830381600087803b15801561084757600080fd5b505af115801561085b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061087f9190613de9565b5050505050565b600061089182612075565b90505b919050565b6108aa338460008086866000612090565b505050565b6108c133600080600086866000612090565b5050565b61065d33600085600186868a612090565b60075460405163b32beb5b60e01b81526001600160a01b039091169063b32beb5b90610906903390600401613fe0565b600060405180830381600087803b15801561092057600080fd5b505af115801561065d573d6000803e3d6000fd5b670de0b6b3a764000081565b610948611296565b6001600160a01b0316336001600160a01b0316146109785760405162461bcd60e51b8152600401610637906145b1565b6109818c6120a0565b61098a8b6120a0565b6109938a6120a0565b61099c896120a0565b6109a5886120a0565b6109ae876120a0565b6109b7866120a0565b6109c0856120a0565b6109c9846120a0565b6109d2836120a0565b6109db826120a0565b6109e4816120a0565b600d80546001600160a01b03199081166001600160a01b038f8116919091179092556003805482168e84161790556004805482168d84161790556000805482168c84161790556001805482168b84161790556005805482168a8416179055600680548216898416179055600780548216888416179055600280548216878416179055600b80548216868416179055600a8054821685841617905560098054821692841692831790556008805490911690911790556040517f84861842e6a98dd759145eb5e7b48279d0f02ebeabc8a69e5196b2f4c5023db990610ac8908e90613fe0565b60405180910390a17f143219c9e69b09e07e095fcc889b43d8f46ca892bba65f08dc3a0050869a56788a604051610aff9190613fe0565b60405180910390a17f78f058b189175430c48dc02699e3a0031ea4ff781536dc2fab847de4babdd88289604051610b369190613fe0565b60405180910390a17f5ee0cae2f063ed938bb55046f6a932fb6ae792bf43624806bb90abe68a50be9b88604051610b6d9190613fe0565b60405180910390a17f82966d27eea39b038ee0fa30cd16532bb24f6e65d31cb58fb227aa5766cdcc7f87604051610ba49190613fe0565b60405180910390a17fcfb07d791fcafc032b35837b50eb84b74df518cf4cc287e8084f47630fa70fa086604051610bdb9190613fe0565b60405180910390a17fe67f36a6e961157d6eff83b91f3af5a62131ceb6f04954ef74f51c1c05e7f88d85604051610c129190613fe0565b60405180910390a17f8c537274438aa850a330284665d81a85dd38267d09e4050d416bfc94142db26484604051610c499190613fe0565b60405180910390a17f65f4cf077bc01e4742eb5ad98326f6e95b63548ea24b17f8d5e823111fe7880083604051610c809190613fe0565b60405180910390a17fcdf33850c44a1a874b5fefb51dae615ac6afebd581ef90d571f81b06541d8e9d82604051610cb79190613fe0565b60405180910390a17f7624075ed781e3aa34b0f492d70d1bb5a6fcde04534165e20f990d2e546be4dd81604051610cee9190613fe0565b60405180910390a1505050505050505050505050565b6002546001600160a01b031681565b6801158e460913d0000081565b600c546001600160a01b0316610d485760405162461bcd60e51b8152600401610637906149bb565b6004805460405163d66a255360e01b81526000926001600160a01b039092169163d66a255391610d7a91339101613fe0565b60206040518083038186803b158015610d9257600080fd5b505afa158015610da6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610dca9190613de9565b600c54909150610e08906001600160a01b0316610df6836801158e460913d0000063ffffffff6120e516565b600a546001600160a01b031685612130565b506108c161141a565b60008054604080516272c7d360e71b8152905183926001600160a01b031691633963e980916004808301926020929190829003018186803b158015610e5557600080fd5b505afa158015610e69573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e8d9190613de9565b90506000600160009054906101000a90046001600160a01b03166001600160a01b0316633963e9806040518163ffffffff1660e01b815260040160206040518083038186803b158015610edf57600080fd5b505afa158015610ef3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f179190613de9565b9050610f29828263ffffffff6123e116565b9250505090565b600a546040516370a0823160e01b8152600091309183916001600160a01b0316906370a0823190610f65908590600401613fe0565b60206040518083038186803b158015610f7d57600080fd5b505afa158015610f91573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fb59190613de9565b9050610fc533838888888c612406565b610fd5818763ffffffff6123e116565b600a546040516370a0823160e01b81526001600160a01b03909116906370a0823190611005908690600401613fe0565b60206040518083038186803b15801561101d57600080fd5b505afa158015611031573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110559190613de9565b146110725760405162461bcd60e51b815260040161063790614245565b600a54600c5460405163095ea7b360e01b81526001600160a01b039283169263095ea7b3926110a8929116908a90600401614035565b602060405180830381600087803b1580156110c257600080fd5b505af11580156110d6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110fa9190613d9a565b6111165760405162461bcd60e51b81526004016106379061463f565b600c54600a5460405163438b1b4b60e01b81526001600160a01b039283169263438b1b4b9261114e929116908a903390600401614079565b602060405180830381600087803b15801561116857600080fd5b505af115801561117c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111a09190613de9565b979650505050505050565b6000546001600160a01b031681565b61065d8484848433611a4a565b6000805460408051630a7b61df60e11b8152905183926001600160a01b0316916314f6c3be916004808301926020929190829003018186803b15801561120c57600080fd5b505afa158015611220573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112449190613de9565b90506000600160009054906101000a90046001600160a01b03166001600160a01b03166314f6c3be6040518163ffffffff1660e01b815260040160206040518083038186803b158015610edf57600080fd5b6000806040516112a590613fc3565b6040519081900390205492915050565b6112c487878787878787611894565b50505050505050565b6003546001600160a01b031681565b60405180604001604052806012815260200171426f72726f7765724f7065726174696f6e7360701b81525081565b600b546001600160a01b031681565b6108aa33600085600086866000612090565b600c546001600160a01b031681565b6113493386868686868c612090565b505050505050565b600c546001600160a01b031690565b611368612418565b6108aa83600080600086866000612090565b6008546001600160a01b031681565b600a546001600160a01b031681565b6003546040805163f92d343360e01b815290516000926001600160a01b03169163f92d3433916004808301926020929190829003018186803b1580156113dd57600080fd5b505afa1580156113f1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114159190613de9565b905090565b600454600054600a546001600160a01b0392831692918216911661143e8333612442565b60025460408051630fdb11cf60e01b815290516000926001600160a01b031691630fdb11cf91600480830192602092919082900301818787803b15801561148457600080fd5b505af1158015611498573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114bc9190613de9565b90506114c7816124e3565b604051630b07655760e01b81526001600160a01b03851690630b076557906114f3903390600401613fe0565b600060405180830381600087803b15801561150d57600080fd5b505af1158015611521573d6000803e3d6000fd5b50506040516309019aaf60e31b8152600092506001600160a01b038716915063480cd57890611554903390600401613fe0565b60206040518083038186803b15801561156c57600080fd5b505afa158015611580573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115a49190613de9565b90506000856001600160a01b031663d66a2553336040518263ffffffff1660e01b81526004016115d49190613fe0565b60206040518083038186803b1580156115ec57600080fd5b505afa158015611600573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116249190613de9565b90506116498433611644846801158e460913d0000063ffffffff6120e516565b612509565b600061165a836000846000886125a5565b905061166581612630565b604051631fc5750960e31b81526001600160a01b0388169063fe2ba84890611691903390600401613fe0565b600060405180830381600087803b1580156116ab57600080fd5b505af11580156116bf573d6000803e3d6000fd5b50506040516365e89c5760e11b81526001600160a01b038a16925063cbd138ae91506116ef903390600401613fe0565b600060405180830381600087803b15801561170957600080fd5b505af115801561171d573d6000803e3d6000fd5b50505050336001600160a01b0316600080516020614a2383398151915260008060006001604051611751949392919061409c565b60405180910390a261177d868633611778866801158e460913d0000063ffffffff6120e516565b6126d5565b6006546117a090879087906001600160a01b03166801158e460913d000006126d5565b6040516364a197f360e01b81526001600160a01b038716906364a197f3906117ce9033908790600401614035565b600060405180830381600087803b1580156117e857600080fd5b505af11580156117fc573d6000803e3d6000fd5b5050505050505050505050565b6001600160a01b03811661182f5760405162461bcd60e51b81526004016106379061427c565b806001600160a01b0316611841611296565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3600060405161188490613fc3565b6040519081900390209190915550565b600c546001600160a01b03166118bc5760405162461bcd60e51b8152600401610637906149bb565b831580156118ca5750600085115b156118f057600c54600a546118ee916001600160a01b039081169188911684612130565b505b6119003387878787878d3061278f565b83801561190d5750600085115b156112c457600a54600c5460405163095ea7b360e01b81526001600160a01b039283169263095ea7b392611948929116908990600401614035565b602060405180830381600087803b15801561196257600080fd5b505af1158015611976573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061199a9190613d9a565b6119b65760405162461bcd60e51b81526004016106379061463f565b600c54600a5460405163438b1b4b60e01b81526001600160a01b039283169263438b1b4b926119ee9291169089903390600401614079565b602060405180830381600087803b158015611a0857600080fd5b505af1158015611a1c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a409190613de9565b5050505050505050565b611a52613af2565b50604080516060810182526004546001600160a01b03908116825260005481166020830152600a541691810191909152611a8a613b12565b600260009054906101000a90046001600160a01b03166001600160a01b0316630fdb11cf6040518163ffffffff1660e01b8152600401602060405180830381600087803b158015611ada57600080fd5b505af1158015611aee573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b129190613de9565b808252600090611b2190612d73565b9050611b2d8882612e0e565b8251611b399033612efa565b6040820187905280611b7a57611b5983600001518460400151898b612f9c565b602083018190526040830151611b749163ffffffff6123e116565b60408301525b611b878260400151613155565b611b948260400151612075565b60608301819052611ba157fe5b611bb4348360600151846000015161317e565b60808301526060820151611bc99034906131bd565b60a08301528015611be657611be182608001516131f2565b611c19565b611bf38260800151613297565b6000611c0c3460018560600151600187600001516125a5565b9050611c1781612630565b505b8251604051635d6b480f60e01b81526001600160a01b0390911690635d6b480f90611c4b903390600190600401614035565b600060405180830381600087803b158015611c6557600080fd5b505af1158015611c79573d6000803e3d6000fd5b505084516040516372423c1760e01b81526001600160a01b0390911692506372423c179150611cae9033903490600401614035565b602060405180830381600087803b158015611cc857600080fd5b505af1158015611cdc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d009190613de9565b5082516060830151604051639976cf4560e01b81526001600160a01b0390921691639976cf4591611d3691339190600401614035565b602060405180830381600087803b158015611d5057600080fd5b505af1158015611d64573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d889190613de9565b5082516040516382fe3eb960e01b81526001600160a01b03909116906382fe3eb990611db8903390600401613fe0565b600060405180830381600087803b158015611dd257600080fd5b505af1158015611de6573d6000803e3d6000fd5b50508451604051630c7940bd60e11b81526001600160a01b0390911692506318f2817a9150611e19903390600401613fe0565b602060405180830381600087803b158015611e3357600080fd5b505af1158015611e47573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e6b9190613de9565b60c0830152600b5460a08301516040516346f7cf8760e01b81526001600160a01b03909216916346f7cf8791611eaa913391908b908b9060040161404e565b600060405180830381600087803b158015611ec457600080fd5b505af1158015611ed8573d6000803e3d6000fd5b505084516040516315d549f160e01b81526001600160a01b0390911692506315d549f19150611f0b903390600401613fe0565b602060405180830381600087803b158015611f2557600080fd5b505af1158015611f39573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f5d9190613de9565b60e0830181905260405133917f59cfd0cd754bc5748b6770e94a4ffa5f678d885cb899dcfadc5734edb97c67ab91611f9591906149eb565b60405180910390a2611fab83602001513461333c565b611fc483602001518460400151868a86604001516133b8565b60208301516040840151600654611ff09291906001600160a01b03166801158e460913d00000806133b8565b606082015160c08301516040513392600080516020614a238339815191529261201e9234919060009061409c565b60405180910390a2336001600160a01b03167f71457d8a5ab7e4561ed49d05338674b73ac3b83b0b315f165f5b12bcc0022741836020015160405161206391906149eb565b60405180910390a25050505050505050565b6000610891826801158e460913d0000063ffffffff6123e116565b6112c4878787878787873361278f565b6001600160a01b0381166120c65760405162461bcd60e51b8152600401610637906143be565b803b806108c15760405162461bcd60e51b815260040161063790614762565b600061212783836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061347d565b90505b92915050565b600080856001600160a01b03166321df0da76040518163ffffffff1660e01b815260040160206040518083038186803b15801561216c57600080fd5b505afa158015612180573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121a49190613c0f565b90506000816001600160a01b03166370a08231306040518263ffffffff1660e01b81526004016121d49190613fe0565b60206040518083038186803b1580156121ec57600080fd5b505afa158015612200573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122249190613de9565b9050306001600160a01b03831663605629d633838a893561224b60408c0160208d01613f9f565b8b604001358c606001356040518863ffffffff1660e01b81526004016122779796959493929190613ff4565b600060405180830381600087803b15801561229157600080fd5b505af11580156122a5573d6000803e3d6000fd5b505050508661233683856001600160a01b03166370a08231856040518263ffffffff1660e01b81526004016122da9190613fe0565b60206040518083038186803b1580156122f257600080fd5b505afa158015612306573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061232a9190613de9565b9063ffffffff6120e516565b146123535760405162461bcd60e51b8152600401610637906141c5565b60405163fb2c922360e01b81526001600160a01b0389169063fb2c9223906123839089908b903390600401614079565b602060405180830381600087803b15801561239d57600080fd5b505af11580156123b1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123d59190613de9565b98975050505050505050565b6000828201838110156121275760405162461bcd60e51b81526004016106379061420e565b6113498660008660018787878c61278f565b6005546001600160a01b031633146105ee5760405162461bcd60e51b815260040161063790614800565b6040516321e3780160e01b81526000906001600160a01b038416906321e3780190612471908590600401613fe0565b60206040518083038186803b15801561248957600080fd5b505afa15801561249d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124c19190613de9565b9050806001146108aa5760405162461bcd60e51b815260040161063790614563565b6124ec81612d73565b156106495760405162461bcd60e51b81526004016106379061430e565b6040516370a0823160e01b815281906001600160a01b038516906370a0823190612537908690600401613fe0565b60206040518083038186803b15801561254f57600080fd5b505afa158015612563573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125879190613de9565b10156108aa5760405162461bcd60e51b81526004016106379061411b565b6000806125b06111c7565b905060006125bc610e11565b9050866125d8576125d3828963ffffffff6120e516565b6125e8565b6125e8828963ffffffff6123e116565b915084612604576125ff818763ffffffff6120e516565b612614565b612614818763ffffffff6123e116565b9050600061262383838761317e565b9998505050505050505050565b600360009054906101000a90046001600160a01b03166001600160a01b0316635733d58f6040518163ffffffff1660e01b815260040160206040518083038186803b15801561267e57600080fd5b505afa158015612692573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906126b69190613de9565b8110156106495760405162461bcd60e51b8152600401610637906144f4565b60405163121cbc4d60e11b81526001600160a01b03851690632439789a906127019084906004016149eb565b600060405180830381600087803b15801561271b57600080fd5b505af115801561272f573d6000803e3d6000fd5b5050604051632770a7eb60e21b81526001600160a01b0386169250639dc29fac91506127619085908590600401614035565b600060405180830381600087803b15801561277b57600080fd5b505af1158015611a40573d6000803e3d6000fd5b612797613af2565b50604080516060810182526004546001600160a01b03908116825260005481166020830152600a5416918101919091526127cf613b57565b600260009054906101000a90046001600160a01b03166001600160a01b0316630fdb11cf6040518163ffffffff1660e01b8152600401602060405180830381600087803b15801561281f57600080fd5b505af1158015612833573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906128579190613de9565b80825261286390612d73565b15156101c082015286156128895761288084826101c00151612e0e565b612889886134a9565b612892896134c9565b61289c89896134f0565b81516128a8908b612442565b336001600160a01b038b1614806128de57506005546001600160a01b0316331480156128d45750600034115b80156128de575087155b6128e457fe5b8151604051630b07655760e01b81526001600160a01b0390911690630b07655790612913908d90600401613fe0565b600060405180830381600087803b15801561292d57600080fd5b505af1158015612941573d6000803e3d6000fd5b5050505061294f348a613523565b151560608301526020820152604081018890528680156129725750806101c00151155b156129ad5761298b826000015183604001518a87612f9c565b610120820181905260408201516129a79163ffffffff6123e116565b60408201525b815160405163d66a255360e01b81526001600160a01b039091169063d66a2553906129dc908d90600401613fe0565b60206040518083038186803b1580156129f457600080fd5b505afa158015612a08573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612a2c9190613de9565b608082015281516040516309019aaf60e31b81526001600160a01b039091169063480cd57890612a60908d90600401613fe0565b60206040518083038186803b158015612a7857600080fd5b505afa158015612a8c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612ab09190613de9565b60a0820181905260808201518251612ac992919061317e565b8160c0018181525050612af98160a0015182608001518360200151846060015185604001518c8760000151613542565b60e082015260a0810151891115612b0c57fe5b612b1d816101c001518a8984613575565b86158015612b2b5750600088115b15612b7257612b4d612b48826040015161232a84608001516135e9565b613155565b612b5f81608001518260400151613604565b612b7282604001518b8360400151612509565b612b9082600001518b8360200151846060015185604001518c61363c565b6101408301526101608201528151604051630c7940bd60e11b81526001600160a01b03909116906318f2817a90612bcb908d90600401613fe0565b602060405180830381600087803b158015612be557600080fd5b505af1158015612bf9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612c1d9190613de9565b81610180018181525050612c498160a0015182608001518360200151846060015185604001518c61386a565b6101a08201819052600b5460405163015f109360e51b81526001600160a01b0390911691632be2126091612c85918e918b908b9060040161404e565b600060405180830381600087803b158015612c9f57600080fd5b505af1158015612cb3573d6000803e3d6000fd5b50505050896001600160a01b0316600080516020614a238339815191528261014001518361016001518461018001516002604051612cf4949392919061409c565b60405180910390a2336001600160a01b03167f71457d8a5ab7e4561ed49d05338674b73ac3b83b0b315f165f5b12bcc0022741826101200151604051612d3a91906149eb565b60405180910390a2612d678260200151836040015133846020015185606001518d8d88604001518b61389b565b50505050505050505050565b600080612d7f8361393f565b9050600360009054906101000a90046001600160a01b03166001600160a01b0316635733d58f6040518163ffffffff1660e01b815260040160206040518083038186803b158015612dcf57600080fd5b505afa158015612de3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612e079190613de9565b1192915050565b8015612e4157670de0b6b3a7640000821115612e3c5760405162461bcd60e51b8152600401610637906143f5565b6108c1565b600360009054906101000a90046001600160a01b03166001600160a01b031663f92d34336040518163ffffffff1660e01b815260040160206040518083038186803b158015612e8f57600080fd5b505afa158015612ea3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612ec79190613de9565b8210158015612ede5750670de0b6b3a76400008211155b6108c15760405162461bcd60e51b815260040161063790614849565b6040516321e3780160e01b81526000906001600160a01b038416906321e3780190612f29908590600401613fe0565b60206040518083038186803b158015612f4157600080fd5b505afa158015612f55573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612f799190613de9565b905080600114156108aa5760405162461bcd60e51b815260040161063790614899565b6000846001600160a01b0316635dba4c4a6040518163ffffffff1660e01b8152600401600060405180830381600087803b158015612fd957600080fd5b505af1158015612fed573d6000803e3d6000fd5b5050604051630631203b60e41b8152600092506001600160a01b038816915063631203b0906130209087906004016149eb565b60206040518083038186803b15801561303857600080fd5b505afa15801561304c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906130709190613de9565b905061307d81858561396b565b600d546040516340c10f1960e01b81526001600160a01b03878116926340c10f19926130b192909116908590600401614035565b600060405180830381600087803b1580156130cb57600080fd5b505af11580156130df573d6000803e3d6000fd5b50505050600d60009054906101000a90046001600160a01b03166001600160a01b031663bb57ad206040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561313357600080fd5b505af1158015613147573d6000803e3d6000fd5b509298975050505050505050565b6809c2007651b25000008110156106495760405162461bcd60e51b815260040161063790614705565b600082156131b15760006131a88461319c878663ffffffff6139ab16565b9063ffffffff6139e516565b91506131b69050565b506000195b9392505050565b600081156131e9576131e28261319c8568056bc75e2d6310000063ffffffff6139ab16565b905061212a565b5060001961212a565b600360009054906101000a90046001600160a01b03166001600160a01b0316635733d58f6040518163ffffffff1660e01b815260040160206040518083038186803b15801561324057600080fd5b505afa158015613254573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906132789190613de9565b8110156106495760405162461bcd60e51b815260040161063790614367565b600360009054906101000a90046001600160a01b03166001600160a01b031663794e57246040518163ffffffff1660e01b815260040160206040518083038186803b1580156132e557600080fd5b505afa1580156132f9573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061331d9190613de9565b8110156106495760405162461bcd60e51b815260040161063790614696565b6000826001600160a01b03168260405161335590613fc0565b60006040518083038185875af1925050503d8060008114613392576040519150601f19603f3d011682016040523d82523d6000602084013e613397565b606091505b50509050806108aa5760405162461bcd60e51b815260040161063790614178565b60405163f2e91d7160e01b81526001600160a01b0386169063f2e91d71906133e49084906004016149eb565b600060405180830381600087803b1580156133fe57600080fd5b505af1158015613412573d6000803e3d6000fd5b50506040516340c10f1960e01b81526001600160a01b03871692506340c10f1991506134449086908690600401614035565b600060405180830381600087803b15801561345e57600080fd5b505af1158015613472573d6000803e3d6000fd5b505050505050505050565b600081848411156134a15760405162461bcd60e51b815260040161063791906140c8565b505050900390565b600081116106495760405162461bcd60e51b8152600401610637906148d0565b3415806134d4575080155b6106495760405162461bcd60e51b8152600401610637906142be565b341515806134fd57508115155b8061350757508015155b6108c15760405162461bcd60e51b815260040161063790614447565b60008083156135375750829050600161353b565b8291505b9250929050565b60008060006135558a8a8a8a8a8a613a27565b91509150600061356683838761317e565b9b9a5050505050505050505050565b83156135ae5761358483613a7d565b81156135a9576135978160e001516131f2565b6135a98160e001518260c00151613a9b565b61065d565b6135bb8160e00151613297565b6135d88160200151826060015183604001518585600001516125a5565b610100820181905261065d90612630565b6000610891826801158e460913d0000063ffffffff6120e516565b61361d826801158e460913d0000063ffffffff6120e516565b8111156108c15760405162461bcd60e51b815260040161063790614797565b6000806000856136cb5760405163d3d6f84360e01b81526001600160a01b038a169063d3d6f84390613674908b908b90600401614035565b602060405180830381600087803b15801561368e57600080fd5b505af11580156136a2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906136c69190613de9565b61374b565b6040516372423c1760e01b81526001600160a01b038a16906372423c17906136f9908b908b90600401614035565b602060405180830381600087803b15801561371357600080fd5b505af1158015613727573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061374b9190613de9565b90506000846137d957604051630930874960e11b81526001600160a01b038b16906312610e9290613782908c908a90600401614035565b602060405180830381600087803b15801561379c57600080fd5b505af11580156137b0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906137d49190613de9565b613859565b604051639976cf4560e01b81526001600160a01b038b1690639976cf4590613807908c908a90600401614035565b602060405180830381600087803b15801561382157600080fd5b505af1158015613835573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906138599190613de9565b919a91995090975050505050505050565b600080600061387d898989898989613a27565b91509150600061388d83836131bd565b9a9950505050505050505050565b82156138b3576138ae89898387866133b8565b6138bf565b6138bf898989876126d5565b84156138d4576138cf898761333c565b613472565b6040516364a197f360e01b81526001600160a01b038a16906364a197f390613902908a908a90600401614035565b600060405180830381600087803b15801561391c57600080fd5b505af1158015613930573d6000803e3d6000fd5b50505050505050505050505050565b60008061394a6111c7565b90506000613956610e11565b905061396382828661317e565b949350505050565b60006139898361319c86670de0b6b3a764000063ffffffff6139ab16565b90508181111561065d5760405162461bcd60e51b815260040161063790614984565b6000826139ba5750600061212a565b828202828482816139c757fe5b04146121275760405162461bcd60e51b8152600401610637906144b3565b600061212783836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250613abb565b600080878786613a4657613a418a8963ffffffff6120e516565b613a56565b613a568a8963ffffffff6123e116565b915084613a6d576137d4898763ffffffff6120e516565b613859898763ffffffff6123e116565b80156106495760405162461bcd60e51b8152600401610637906145e2565b808210156108c15760405162461bcd60e51b815260040161063790614927565b60008183613adc5760405162461bcd60e51b815260040161063791906140c8565b506000838581613ae857fe5b0495945050505050565b604080516060810182526000808252602082018190529181019190915290565b60405180610100016040528060008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081525090565b604051806101e00160405280600081526020016000815260200160008152602001600015158152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000151581525090565b803561212a816149ff565b600060808284031215613bed578081fd5b50919050565b600060208284031215613c04578081fd5b8135612127816149ff565b600060208284031215613c20578081fd5b8151612127816149ff565b60008060408385031215613c3d578081fd5b8235613c48816149ff565b91506020830135613c58816149ff565b809150509250929050565b600080600060608486031215613c77578081fd5b8335613c82816149ff565b92506020840135613c92816149ff565b91506040840135613ca2816149ff565b809150509250925092565b6000806000806000806000806000806000806101808d8f031215613ccf578788fd5b8c35613cda816149ff565b9b5060208d0135613cea816149ff565b9a5060408d0135613cfa816149ff565b995060608d0135613d0a816149ff565b985060808d0135613d1a816149ff565b975060a08d0135613d2a816149ff565b9650613d398e60c08f01613bd1565b9550613d488e60e08f01613bd1565b9450613d588e6101008f01613bd1565b9350613d688e6101208f01613bd1565b9250613d788e6101408f01613bd1565b9150613d888e6101608f01613bd1565b90509295989b509295989b509295989b565b600060208284031215613dab578081fd5b815161212781614a14565b600060808284031215613dc7578081fd5b6121278383613bdc565b600060208284031215613de2578081fd5b5035919050565b600060208284031215613dfa578081fd5b5051919050565b600080600060608486031215613e15578283fd5b833592506020840135613c92816149ff565b60008060008060e08587031215613e3c578384fd5b843593506020850135613e4e816149ff565b92506040850135613e5e816149ff565b9150613e6d8660608701613bdc565b905092959194509250565b60008060008060808587031215613e8d578384fd5b84359350602085013592506040850135613ea6816149ff565b91506060850135613eb6816149ff565b939692955090935050565b60008060008060008060c08789031215613ed9578384fd5b8635955060208701359450604087013593506060870135613ef981614a14565b92506080870135613f09816149ff565b915060a0870135613f19816149ff565b809150509295509295509295565b6000806000806000806000610140888a031215613f42578081fd5b8735965060208801359550604088013594506060880135613f6281614a14565b93506080880135613f72816149ff565b925060a0880135613f82816149ff565b9150613f918960c08a01613bdc565b905092959891949750929550565b600060208284031215613fb0578081fd5b813560ff81168114612127578182fd5b90565b7035b2bc9737bbb730b136329737bbb732b960791b815260110190565b6001600160a01b0391909116815260200190565b6001600160a01b0397881681529590961660208601526040850193909352606084019190915260ff16608083015260a082015260c081019190915260e00190565b6001600160a01b03929092168252602082015260400190565b6001600160a01b03948516815260208101939093529083166040830152909116606082015260800190565b6001600160a01b0393841681526020810192909252909116604082015260600190565b8481526020810184905260408101839052608081016140ba836149f4565b606083015295945050505050565b6000602080835283518082850152825b818110156140f4578581018301518582016040015282016140d8565b818111156141055783604083870101525b50601f01601f1916929092016040019392505050565b6020808252603d908201527f426f72726f7765724f70733a2043616c6c657220646f65736e7420686176652060408201527f656e6f756768205a55534420746f206d616b652072657061796d656e74000000606082015260800190565b6020808252602d908201527f426f72726f7765724f70733a2053656e64696e672045544820746f204163746960408201526c1d99541bdbdb0819985a5b1959609a1b606082015260800190565b60208082526029908201527f444c4c52207472616e7366657272656420616d6f756e742076616c69646174696040820152681bdb8819985a5b195960ba1b606082015260800190565b6020808252601b908201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604082015260600190565b6020808252601e908201527f5a555344206973206e6f7420626f72726f77656420636f72726563746c790000604082015260600190565b60208082526022908201527f4f776e61626c653a3a7365744f776e65723a20696e76616c6964206164647265604082015261737360f01b606082015260800190565b60208082526030908201527f426f72726f7765724f7065726174696f6e733a2043616e6e6f7420776974686460408201526f1c985dc8185b99081859190818dbdb1b60821b606082015260800190565b60208082526039908201527f426f72726f7765724f70733a204f7065726174696f6e206e6f74207065726d696040820152787474656420647572696e67205265636f76657279204d6f646560381b606082015260800190565b60208082526037908201527f426f72726f7765724f70733a204f7065726174696f6e206d757374206c65617660408201527632903a3937bb32903bb4ba341024a1a9101f1e9021a1a960491b606082015260800190565b6020808252601e908201527f4163636f756e742063616e6e6f74206265207a65726f20616464726573730000604082015260600190565b60208082526032908201527f4d6178206665652070657263656e74616765206d757374206c657373207468616040820152716e206f7220657175616c20746f203130302560701b606082015260800190565b60208082526046908201527f426f72726f7765724f70733a205468657265206d75737420626520656974686560408201527f72206120636f6c6c61746572616c206368616e6765206f7220612064656274206060820152656368616e676560d01b608082015260a00190565b60208082526021908201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6040820152607760f81b606082015260800190565b60208082526049908201527f426f72726f7765724f70733a20416e206f7065726174696f6e2074686174207760408201527f6f756c6420726573756c7420696e20544352203c20434352206973206e6f74206060820152681c195c9b5a5d1d195960ba1b608082015260a00190565b6020808252602e908201527f426f72726f7765724f70733a2054726f766520646f6573206e6f74206578697360408201526d1d081bdc881a5cc818db1bdcd95960921b606082015260800190565b60208082526017908201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604082015260600190565b6020808252603e908201527f426f72726f7765724f70733a20436f6c6c61746572616c20776974686472617760408201527f616c206e6f74207065726d6974746564205265636f76657279204d6f64650000606082015260800190565b60208082526037908201527f4661696c656420746f20617070726f7665205a55534420616d6f756e7420666f60408201527672204d796e74206d417373657420746f2072656465656d60481b606082015260800190565b60208082526049908201527f426f72726f7765724f70733a20416e206f7065726174696f6e2074686174207760408201527f6f756c6420726573756c7420696e20494352203c204d4352206973206e6f74206060820152681c195c9b5a5d1d195960ba1b608082015260a00190565b6020808252603a908201527f426f72726f7765724f70733a2054726f76652773206e65742064656274206d7560408201527f73742062652067726561746572207468616e206d696e696d756d000000000000606082015260800190565b6020808252818101527f4163636f756e7420636f64652073697a652063616e6e6f74206265207a65726f604082015260600190565b60208082526043908201527f426f72726f7765724f70733a20416d6f756e7420726570616964206d7573742060408201527f6e6f74206265206c6172676572207468616e207468652054726f76652773206460608201526219589d60ea1b608082015260a00190565b60208082526029908201527f426f72726f7765724f70733a2043616c6c6572206973206e6f742053746162696040820152681b1a5d1e48141bdbdb60ba1b606082015260800190565b60208082526030908201527f4d6178206665652070657263656e74616765206d75737420626520626574776560408201526f656e20302e352520616e64203130302560801b606082015260800190565b6020808252601c908201527f426f72726f7765724f70733a2054726f76652069732061637469766500000000604082015260600190565b60208082526037908201527f426f72726f7765724f70733a204465627420696e637265617365207265717569604082015276726573206e6f6e2d7a65726f20646562744368616e676560481b606082015260800190565b6020808252603e908201527f426f72726f7765724f70733a2043616e6e6f7420646563726561736520796f7560408201527f722054726f766527732049435220696e205265636f76657279204d6f64650000606082015260800190565b6020808252601d908201527f4665652065786365656465642070726f7669646564206d6178696d756d000000604082015260600190565b60208082526016908201527513585cdcd95d081859191c995cdcc81b9bdd081cd95d60521b604082015260600190565b90815260200190565b806003811061089457fe5b6001600160a01b038116811461064957600080fd5b801515811461064957600080fdfec3770d654ed33aeea6bf11ac8ef05d02a6a04ed4686dd2f624d853bbec43cc8ba26469706673582212203cec7d4c5337979a752ab4f1b8da0cc607bc2508b28986739fefcae556b2e90264736f6c634300060b0033", + "deployedBytecode": "0x6080604052600436106102205760003560e01c80637778a3db1161012e578063a3f4df7e116100ab578063e9fc34611161006f578063e9fc346114610570578063ea9638bf14610585578063ec5472fd14610598578063ec9f7d46146105ad578063f92d3433146105c257610220565b8063a3f4df7e146104f1578063ae91875414610513578063afbc74b514610528578063b5c89bab14610548578063c6a6cf201461055d57610220565b8063887105d3116100f2578063887105d31461049f578063893d20e8146104b45780638d5c3dc1146104c95780639f070670146104dc578063a20baee6146103c357610220565b80637778a3db14610422578063795d26c3146104425780637e3eefdc146104575780637f7dde4a14610477578063860665b31461048c57610220565b8063485f190f116101bc5780636f0b0c1c116101805780636f0b0c1c146103ae57806372fe25aa146103c3578063734f622d146103d8578063741bef1a146103f8578063759b30341461040d57610220565b8063485f190f146103285780634ff814431461033b5780635530273c1461035b57806368647db11461037b5780636ea569601461038e57610220565b80630d43e8ad146102255780630e704d50146102505780630ff9a5121461026757806313af40351461027c5780631a7777171461029c5780631bf43555146102bc5780632771510a146102de5780633cc74225146102fe5780633d83908a14610313575b600080fd5b34801561023157600080fd5b5061023a6105d7565b6040516102479190613fe0565b60405180910390f35b34801561025c57600080fd5b506102656105e6565b005b34801561027357600080fd5b5061023a6105f0565b34801561028857600080fd5b50610265610297366004613bf3565b6105ff565b3480156102a857600080fd5b506102656102b7366004613e27565b61064c565b3480156102c857600080fd5b506102d1610663565b60405161024791906149eb565b3480156102ea57600080fd5b506102656102f9366004613bf3565b610670565b34801561030a57600080fd5b5061023a6106fe565b34801561031f57600080fd5b5061023a61070d565b610265610336366004613e78565b61071c565b34801561034757600080fd5b506102d1610356366004613dd1565b610886565b34801561036757600080fd5b50610265610376366004613e01565b610899565b610265610389366004613c2b565b6108af565b34801561039a57600080fd5b506102656103a9366004613e78565b6108c5565b3480156103ba57600080fd5b506102656108d6565b3480156103cf57600080fd5b506102d1610934565b3480156103e457600080fd5b506102656103f3366004613cad565b610940565b34801561040457600080fd5b5061023a610d04565b34801561041957600080fd5b506102d1610d13565b34801561042e57600080fd5b5061026561043d366004613db6565b610d20565b34801561044e57600080fd5b506102d1610e11565b34801561046357600080fd5b506102d1610472366004613e78565b610f30565b34801561048357600080fd5b5061023a6111ab565b61026561049a366004613e78565b6111ba565b3480156104ab57600080fd5b506102d16111c7565b3480156104c057600080fd5b5061023a611296565b6102656104d7366004613f27565b6112b5565b3480156104e857600080fd5b5061023a6112cd565b3480156104fd57600080fd5b506105066112dc565b60405161024791906140c8565b34801561051f57600080fd5b5061023a61130a565b34801561053457600080fd5b50610265610543366004613e01565b611319565b34801561055457600080fd5b5061023a61132b565b61026561056b366004613ec1565b61133a565b34801561057c57600080fd5b5061023a611351565b610265610593366004613c63565b611360565b3480156105a457600080fd5b5061023a61137a565b3480156105b957600080fd5b5061023a611389565b3480156105ce57600080fd5b506102d1611398565b600d546001600160a01b031681565b6105ee61141a565b565b6009546001600160a01b031681565b610607611296565b6001600160a01b0316336001600160a01b0316146106405760405162461bcd60e51b8152600401610637906145b1565b60405180910390fd5b61064981611809565b50565b61065d600080866000878787611894565b50505050565b6809c2007651b250000081565b610678611296565b6001600160a01b0316336001600160a01b0316146106a85760405162461bcd60e51b8152600401610637906145b1565b600c80546001600160a01b0319166001600160a01b0383161790556040517f6926b3375b54960080b7d8a184061f39a02e8c3bf64aa9df7e75359fdc00d814906106f3908390613fe0565b60405180910390a150565b6001546001600160a01b031681565b6004546001600160a01b031681565b600c546001600160a01b03166107445760405162461bcd60e51b8152600401610637906149bb565b6107518484848430611a4a565b600a54600c5460405163095ea7b360e01b81526001600160a01b039283169263095ea7b392610787929116908790600401614035565b602060405180830381600087803b1580156107a157600080fd5b505af11580156107b5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107d99190613d9a565b6107f55760405162461bcd60e51b81526004016106379061463f565b600c54600a5460405163438b1b4b60e01b81526001600160a01b039283169263438b1b4b9261082d9291169087903390600401614079565b602060405180830381600087803b15801561084757600080fd5b505af115801561085b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061087f9190613de9565b5050505050565b600061089182612075565b90505b919050565b6108aa338460008086866000612090565b505050565b6108c133600080600086866000612090565b5050565b61065d33600085600186868a612090565b60075460405163b32beb5b60e01b81526001600160a01b039091169063b32beb5b90610906903390600401613fe0565b600060405180830381600087803b15801561092057600080fd5b505af115801561065d573d6000803e3d6000fd5b670de0b6b3a764000081565b610948611296565b6001600160a01b0316336001600160a01b0316146109785760405162461bcd60e51b8152600401610637906145b1565b6109818c6120a0565b61098a8b6120a0565b6109938a6120a0565b61099c896120a0565b6109a5886120a0565b6109ae876120a0565b6109b7866120a0565b6109c0856120a0565b6109c9846120a0565b6109d2836120a0565b6109db826120a0565b6109e4816120a0565b600d80546001600160a01b03199081166001600160a01b038f8116919091179092556003805482168e84161790556004805482168d84161790556000805482168c84161790556001805482168b84161790556005805482168a8416179055600680548216898416179055600780548216888416179055600280548216878416179055600b80548216868416179055600a8054821685841617905560098054821692841692831790556008805490911690911790556040517f84861842e6a98dd759145eb5e7b48279d0f02ebeabc8a69e5196b2f4c5023db990610ac8908e90613fe0565b60405180910390a17f143219c9e69b09e07e095fcc889b43d8f46ca892bba65f08dc3a0050869a56788a604051610aff9190613fe0565b60405180910390a17f78f058b189175430c48dc02699e3a0031ea4ff781536dc2fab847de4babdd88289604051610b369190613fe0565b60405180910390a17f5ee0cae2f063ed938bb55046f6a932fb6ae792bf43624806bb90abe68a50be9b88604051610b6d9190613fe0565b60405180910390a17f82966d27eea39b038ee0fa30cd16532bb24f6e65d31cb58fb227aa5766cdcc7f87604051610ba49190613fe0565b60405180910390a17fcfb07d791fcafc032b35837b50eb84b74df518cf4cc287e8084f47630fa70fa086604051610bdb9190613fe0565b60405180910390a17fe67f36a6e961157d6eff83b91f3af5a62131ceb6f04954ef74f51c1c05e7f88d85604051610c129190613fe0565b60405180910390a17f8c537274438aa850a330284665d81a85dd38267d09e4050d416bfc94142db26484604051610c499190613fe0565b60405180910390a17f65f4cf077bc01e4742eb5ad98326f6e95b63548ea24b17f8d5e823111fe7880083604051610c809190613fe0565b60405180910390a17fcdf33850c44a1a874b5fefb51dae615ac6afebd581ef90d571f81b06541d8e9d82604051610cb79190613fe0565b60405180910390a17f7624075ed781e3aa34b0f492d70d1bb5a6fcde04534165e20f990d2e546be4dd81604051610cee9190613fe0565b60405180910390a1505050505050505050505050565b6002546001600160a01b031681565b6801158e460913d0000081565b600c546001600160a01b0316610d485760405162461bcd60e51b8152600401610637906149bb565b6004805460405163d66a255360e01b81526000926001600160a01b039092169163d66a255391610d7a91339101613fe0565b60206040518083038186803b158015610d9257600080fd5b505afa158015610da6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610dca9190613de9565b600c54909150610e08906001600160a01b0316610df6836801158e460913d0000063ffffffff6120e516565b600a546001600160a01b031685612130565b506108c161141a565b60008054604080516272c7d360e71b8152905183926001600160a01b031691633963e980916004808301926020929190829003018186803b158015610e5557600080fd5b505afa158015610e69573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e8d9190613de9565b90506000600160009054906101000a90046001600160a01b03166001600160a01b0316633963e9806040518163ffffffff1660e01b815260040160206040518083038186803b158015610edf57600080fd5b505afa158015610ef3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f179190613de9565b9050610f29828263ffffffff6123e116565b9250505090565b600a546040516370a0823160e01b8152600091309183916001600160a01b0316906370a0823190610f65908590600401613fe0565b60206040518083038186803b158015610f7d57600080fd5b505afa158015610f91573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fb59190613de9565b9050610fc533838888888c612406565b610fd5818763ffffffff6123e116565b600a546040516370a0823160e01b81526001600160a01b03909116906370a0823190611005908690600401613fe0565b60206040518083038186803b15801561101d57600080fd5b505afa158015611031573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110559190613de9565b146110725760405162461bcd60e51b815260040161063790614245565b600a54600c5460405163095ea7b360e01b81526001600160a01b039283169263095ea7b3926110a8929116908a90600401614035565b602060405180830381600087803b1580156110c257600080fd5b505af11580156110d6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110fa9190613d9a565b6111165760405162461bcd60e51b81526004016106379061463f565b600c54600a5460405163438b1b4b60e01b81526001600160a01b039283169263438b1b4b9261114e929116908a903390600401614079565b602060405180830381600087803b15801561116857600080fd5b505af115801561117c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111a09190613de9565b979650505050505050565b6000546001600160a01b031681565b61065d8484848433611a4a565b6000805460408051630a7b61df60e11b8152905183926001600160a01b0316916314f6c3be916004808301926020929190829003018186803b15801561120c57600080fd5b505afa158015611220573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112449190613de9565b90506000600160009054906101000a90046001600160a01b03166001600160a01b03166314f6c3be6040518163ffffffff1660e01b815260040160206040518083038186803b158015610edf57600080fd5b6000806040516112a590613fc3565b6040519081900390205492915050565b6112c487878787878787611894565b50505050505050565b6003546001600160a01b031681565b60405180604001604052806012815260200171426f72726f7765724f7065726174696f6e7360701b81525081565b600b546001600160a01b031681565b6108aa33600085600086866000612090565b600c546001600160a01b031681565b6113493386868686868c612090565b505050505050565b600c546001600160a01b031690565b611368612418565b6108aa83600080600086866000612090565b6008546001600160a01b031681565b600a546001600160a01b031681565b6003546040805163f92d343360e01b815290516000926001600160a01b03169163f92d3433916004808301926020929190829003018186803b1580156113dd57600080fd5b505afa1580156113f1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114159190613de9565b905090565b600454600054600a546001600160a01b0392831692918216911661143e8333612442565b60025460408051630fdb11cf60e01b815290516000926001600160a01b031691630fdb11cf91600480830192602092919082900301818787803b15801561148457600080fd5b505af1158015611498573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114bc9190613de9565b90506114c7816124e3565b604051630b07655760e01b81526001600160a01b03851690630b076557906114f3903390600401613fe0565b600060405180830381600087803b15801561150d57600080fd5b505af1158015611521573d6000803e3d6000fd5b50506040516309019aaf60e31b8152600092506001600160a01b038716915063480cd57890611554903390600401613fe0565b60206040518083038186803b15801561156c57600080fd5b505afa158015611580573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115a49190613de9565b90506000856001600160a01b031663d66a2553336040518263ffffffff1660e01b81526004016115d49190613fe0565b60206040518083038186803b1580156115ec57600080fd5b505afa158015611600573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116249190613de9565b90506116498433611644846801158e460913d0000063ffffffff6120e516565b612509565b600061165a836000846000886125a5565b905061166581612630565b604051631fc5750960e31b81526001600160a01b0388169063fe2ba84890611691903390600401613fe0565b600060405180830381600087803b1580156116ab57600080fd5b505af11580156116bf573d6000803e3d6000fd5b50506040516365e89c5760e11b81526001600160a01b038a16925063cbd138ae91506116ef903390600401613fe0565b600060405180830381600087803b15801561170957600080fd5b505af115801561171d573d6000803e3d6000fd5b50505050336001600160a01b0316600080516020614a2383398151915260008060006001604051611751949392919061409c565b60405180910390a261177d868633611778866801158e460913d0000063ffffffff6120e516565b6126d5565b6006546117a090879087906001600160a01b03166801158e460913d000006126d5565b6040516364a197f360e01b81526001600160a01b038716906364a197f3906117ce9033908790600401614035565b600060405180830381600087803b1580156117e857600080fd5b505af11580156117fc573d6000803e3d6000fd5b5050505050505050505050565b6001600160a01b03811661182f5760405162461bcd60e51b81526004016106379061427c565b806001600160a01b0316611841611296565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3600060405161188490613fc3565b6040519081900390209190915550565b600c546001600160a01b03166118bc5760405162461bcd60e51b8152600401610637906149bb565b831580156118ca5750600085115b156118f057600c54600a546118ee916001600160a01b039081169188911684612130565b505b6119003387878787878d3061278f565b83801561190d5750600085115b156112c457600a54600c5460405163095ea7b360e01b81526001600160a01b039283169263095ea7b392611948929116908990600401614035565b602060405180830381600087803b15801561196257600080fd5b505af1158015611976573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061199a9190613d9a565b6119b65760405162461bcd60e51b81526004016106379061463f565b600c54600a5460405163438b1b4b60e01b81526001600160a01b039283169263438b1b4b926119ee9291169089903390600401614079565b602060405180830381600087803b158015611a0857600080fd5b505af1158015611a1c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a409190613de9565b5050505050505050565b611a52613af2565b50604080516060810182526004546001600160a01b03908116825260005481166020830152600a541691810191909152611a8a613b12565b600260009054906101000a90046001600160a01b03166001600160a01b0316630fdb11cf6040518163ffffffff1660e01b8152600401602060405180830381600087803b158015611ada57600080fd5b505af1158015611aee573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b129190613de9565b808252600090611b2190612d73565b9050611b2d8882612e0e565b8251611b399033612efa565b6040820187905280611b7a57611b5983600001518460400151898b612f9c565b602083018190526040830151611b749163ffffffff6123e116565b60408301525b611b878260400151613155565b611b948260400151612075565b60608301819052611ba157fe5b611bb4348360600151846000015161317e565b60808301526060820151611bc99034906131bd565b60a08301528015611be657611be182608001516131f2565b611c19565b611bf38260800151613297565b6000611c0c3460018560600151600187600001516125a5565b9050611c1781612630565b505b8251604051635d6b480f60e01b81526001600160a01b0390911690635d6b480f90611c4b903390600190600401614035565b600060405180830381600087803b158015611c6557600080fd5b505af1158015611c79573d6000803e3d6000fd5b505084516040516372423c1760e01b81526001600160a01b0390911692506372423c179150611cae9033903490600401614035565b602060405180830381600087803b158015611cc857600080fd5b505af1158015611cdc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d009190613de9565b5082516060830151604051639976cf4560e01b81526001600160a01b0390921691639976cf4591611d3691339190600401614035565b602060405180830381600087803b158015611d5057600080fd5b505af1158015611d64573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d889190613de9565b5082516040516382fe3eb960e01b81526001600160a01b03909116906382fe3eb990611db8903390600401613fe0565b600060405180830381600087803b158015611dd257600080fd5b505af1158015611de6573d6000803e3d6000fd5b50508451604051630c7940bd60e11b81526001600160a01b0390911692506318f2817a9150611e19903390600401613fe0565b602060405180830381600087803b158015611e3357600080fd5b505af1158015611e47573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e6b9190613de9565b60c0830152600b5460a08301516040516346f7cf8760e01b81526001600160a01b03909216916346f7cf8791611eaa913391908b908b9060040161404e565b600060405180830381600087803b158015611ec457600080fd5b505af1158015611ed8573d6000803e3d6000fd5b505084516040516315d549f160e01b81526001600160a01b0390911692506315d549f19150611f0b903390600401613fe0565b602060405180830381600087803b158015611f2557600080fd5b505af1158015611f39573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f5d9190613de9565b60e0830181905260405133917f59cfd0cd754bc5748b6770e94a4ffa5f678d885cb899dcfadc5734edb97c67ab91611f9591906149eb565b60405180910390a2611fab83602001513461333c565b611fc483602001518460400151868a86604001516133b8565b60208301516040840151600654611ff09291906001600160a01b03166801158e460913d00000806133b8565b606082015160c08301516040513392600080516020614a238339815191529261201e9234919060009061409c565b60405180910390a2336001600160a01b03167f71457d8a5ab7e4561ed49d05338674b73ac3b83b0b315f165f5b12bcc0022741836020015160405161206391906149eb565b60405180910390a25050505050505050565b6000610891826801158e460913d0000063ffffffff6123e116565b6112c4878787878787873361278f565b6001600160a01b0381166120c65760405162461bcd60e51b8152600401610637906143be565b803b806108c15760405162461bcd60e51b815260040161063790614762565b600061212783836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061347d565b90505b92915050565b600080856001600160a01b03166321df0da76040518163ffffffff1660e01b815260040160206040518083038186803b15801561216c57600080fd5b505afa158015612180573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121a49190613c0f565b90506000816001600160a01b03166370a08231306040518263ffffffff1660e01b81526004016121d49190613fe0565b60206040518083038186803b1580156121ec57600080fd5b505afa158015612200573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122249190613de9565b9050306001600160a01b03831663605629d633838a893561224b60408c0160208d01613f9f565b8b604001358c606001356040518863ffffffff1660e01b81526004016122779796959493929190613ff4565b600060405180830381600087803b15801561229157600080fd5b505af11580156122a5573d6000803e3d6000fd5b505050508661233683856001600160a01b03166370a08231856040518263ffffffff1660e01b81526004016122da9190613fe0565b60206040518083038186803b1580156122f257600080fd5b505afa158015612306573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061232a9190613de9565b9063ffffffff6120e516565b146123535760405162461bcd60e51b8152600401610637906141c5565b60405163fb2c922360e01b81526001600160a01b0389169063fb2c9223906123839089908b903390600401614079565b602060405180830381600087803b15801561239d57600080fd5b505af11580156123b1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123d59190613de9565b98975050505050505050565b6000828201838110156121275760405162461bcd60e51b81526004016106379061420e565b6113498660008660018787878c61278f565b6005546001600160a01b031633146105ee5760405162461bcd60e51b815260040161063790614800565b6040516321e3780160e01b81526000906001600160a01b038416906321e3780190612471908590600401613fe0565b60206040518083038186803b15801561248957600080fd5b505afa15801561249d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124c19190613de9565b9050806001146108aa5760405162461bcd60e51b815260040161063790614563565b6124ec81612d73565b156106495760405162461bcd60e51b81526004016106379061430e565b6040516370a0823160e01b815281906001600160a01b038516906370a0823190612537908690600401613fe0565b60206040518083038186803b15801561254f57600080fd5b505afa158015612563573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125879190613de9565b10156108aa5760405162461bcd60e51b81526004016106379061411b565b6000806125b06111c7565b905060006125bc610e11565b9050866125d8576125d3828963ffffffff6120e516565b6125e8565b6125e8828963ffffffff6123e116565b915084612604576125ff818763ffffffff6120e516565b612614565b612614818763ffffffff6123e116565b9050600061262383838761317e565b9998505050505050505050565b600360009054906101000a90046001600160a01b03166001600160a01b0316635733d58f6040518163ffffffff1660e01b815260040160206040518083038186803b15801561267e57600080fd5b505afa158015612692573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906126b69190613de9565b8110156106495760405162461bcd60e51b8152600401610637906144f4565b60405163121cbc4d60e11b81526001600160a01b03851690632439789a906127019084906004016149eb565b600060405180830381600087803b15801561271b57600080fd5b505af115801561272f573d6000803e3d6000fd5b5050604051632770a7eb60e21b81526001600160a01b0386169250639dc29fac91506127619085908590600401614035565b600060405180830381600087803b15801561277b57600080fd5b505af1158015611a40573d6000803e3d6000fd5b612797613af2565b50604080516060810182526004546001600160a01b03908116825260005481166020830152600a5416918101919091526127cf613b57565b600260009054906101000a90046001600160a01b03166001600160a01b0316630fdb11cf6040518163ffffffff1660e01b8152600401602060405180830381600087803b15801561281f57600080fd5b505af1158015612833573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906128579190613de9565b80825261286390612d73565b15156101c082015286156128895761288084826101c00151612e0e565b612889886134a9565b612892896134c9565b61289c89896134f0565b81516128a8908b612442565b336001600160a01b038b1614806128de57506005546001600160a01b0316331480156128d45750600034115b80156128de575087155b6128e457fe5b8151604051630b07655760e01b81526001600160a01b0390911690630b07655790612913908d90600401613fe0565b600060405180830381600087803b15801561292d57600080fd5b505af1158015612941573d6000803e3d6000fd5b5050505061294f348a613523565b151560608301526020820152604081018890528680156129725750806101c00151155b156129ad5761298b826000015183604001518a87612f9c565b610120820181905260408201516129a79163ffffffff6123e116565b60408201525b815160405163d66a255360e01b81526001600160a01b039091169063d66a2553906129dc908d90600401613fe0565b60206040518083038186803b1580156129f457600080fd5b505afa158015612a08573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612a2c9190613de9565b608082015281516040516309019aaf60e31b81526001600160a01b039091169063480cd57890612a60908d90600401613fe0565b60206040518083038186803b158015612a7857600080fd5b505afa158015612a8c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612ab09190613de9565b60a0820181905260808201518251612ac992919061317e565b8160c0018181525050612af98160a0015182608001518360200151846060015185604001518c8760000151613542565b60e082015260a0810151891115612b0c57fe5b612b1d816101c001518a8984613575565b86158015612b2b5750600088115b15612b7257612b4d612b48826040015161232a84608001516135e9565b613155565b612b5f81608001518260400151613604565b612b7282604001518b8360400151612509565b612b9082600001518b8360200151846060015185604001518c61363c565b6101408301526101608201528151604051630c7940bd60e11b81526001600160a01b03909116906318f2817a90612bcb908d90600401613fe0565b602060405180830381600087803b158015612be557600080fd5b505af1158015612bf9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612c1d9190613de9565b81610180018181525050612c498160a0015182608001518360200151846060015185604001518c61386a565b6101a08201819052600b5460405163015f109360e51b81526001600160a01b0390911691632be2126091612c85918e918b908b9060040161404e565b600060405180830381600087803b158015612c9f57600080fd5b505af1158015612cb3573d6000803e3d6000fd5b50505050896001600160a01b0316600080516020614a238339815191528261014001518361016001518461018001516002604051612cf4949392919061409c565b60405180910390a2336001600160a01b03167f71457d8a5ab7e4561ed49d05338674b73ac3b83b0b315f165f5b12bcc0022741826101200151604051612d3a91906149eb565b60405180910390a2612d678260200151836040015133846020015185606001518d8d88604001518b61389b565b50505050505050505050565b600080612d7f8361393f565b9050600360009054906101000a90046001600160a01b03166001600160a01b0316635733d58f6040518163ffffffff1660e01b815260040160206040518083038186803b158015612dcf57600080fd5b505afa158015612de3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612e079190613de9565b1192915050565b8015612e4157670de0b6b3a7640000821115612e3c5760405162461bcd60e51b8152600401610637906143f5565b6108c1565b600360009054906101000a90046001600160a01b03166001600160a01b031663f92d34336040518163ffffffff1660e01b815260040160206040518083038186803b158015612e8f57600080fd5b505afa158015612ea3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612ec79190613de9565b8210158015612ede5750670de0b6b3a76400008211155b6108c15760405162461bcd60e51b815260040161063790614849565b6040516321e3780160e01b81526000906001600160a01b038416906321e3780190612f29908590600401613fe0565b60206040518083038186803b158015612f4157600080fd5b505afa158015612f55573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612f799190613de9565b905080600114156108aa5760405162461bcd60e51b815260040161063790614899565b6000846001600160a01b0316635dba4c4a6040518163ffffffff1660e01b8152600401600060405180830381600087803b158015612fd957600080fd5b505af1158015612fed573d6000803e3d6000fd5b5050604051630631203b60e41b8152600092506001600160a01b038816915063631203b0906130209087906004016149eb565b60206040518083038186803b15801561303857600080fd5b505afa15801561304c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906130709190613de9565b905061307d81858561396b565b600d546040516340c10f1960e01b81526001600160a01b03878116926340c10f19926130b192909116908590600401614035565b600060405180830381600087803b1580156130cb57600080fd5b505af11580156130df573d6000803e3d6000fd5b50505050600d60009054906101000a90046001600160a01b03166001600160a01b031663bb57ad206040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561313357600080fd5b505af1158015613147573d6000803e3d6000fd5b509298975050505050505050565b6809c2007651b25000008110156106495760405162461bcd60e51b815260040161063790614705565b600082156131b15760006131a88461319c878663ffffffff6139ab16565b9063ffffffff6139e516565b91506131b69050565b506000195b9392505050565b600081156131e9576131e28261319c8568056bc75e2d6310000063ffffffff6139ab16565b905061212a565b5060001961212a565b600360009054906101000a90046001600160a01b03166001600160a01b0316635733d58f6040518163ffffffff1660e01b815260040160206040518083038186803b15801561324057600080fd5b505afa158015613254573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906132789190613de9565b8110156106495760405162461bcd60e51b815260040161063790614367565b600360009054906101000a90046001600160a01b03166001600160a01b031663794e57246040518163ffffffff1660e01b815260040160206040518083038186803b1580156132e557600080fd5b505afa1580156132f9573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061331d9190613de9565b8110156106495760405162461bcd60e51b815260040161063790614696565b6000826001600160a01b03168260405161335590613fc0565b60006040518083038185875af1925050503d8060008114613392576040519150601f19603f3d011682016040523d82523d6000602084013e613397565b606091505b50509050806108aa5760405162461bcd60e51b815260040161063790614178565b60405163f2e91d7160e01b81526001600160a01b0386169063f2e91d71906133e49084906004016149eb565b600060405180830381600087803b1580156133fe57600080fd5b505af1158015613412573d6000803e3d6000fd5b50506040516340c10f1960e01b81526001600160a01b03871692506340c10f1991506134449086908690600401614035565b600060405180830381600087803b15801561345e57600080fd5b505af1158015613472573d6000803e3d6000fd5b505050505050505050565b600081848411156134a15760405162461bcd60e51b815260040161063791906140c8565b505050900390565b600081116106495760405162461bcd60e51b8152600401610637906148d0565b3415806134d4575080155b6106495760405162461bcd60e51b8152600401610637906142be565b341515806134fd57508115155b8061350757508015155b6108c15760405162461bcd60e51b815260040161063790614447565b60008083156135375750829050600161353b565b8291505b9250929050565b60008060006135558a8a8a8a8a8a613a27565b91509150600061356683838761317e565b9b9a5050505050505050505050565b83156135ae5761358483613a7d565b81156135a9576135978160e001516131f2565b6135a98160e001518260c00151613a9b565b61065d565b6135bb8160e00151613297565b6135d88160200151826060015183604001518585600001516125a5565b610100820181905261065d90612630565b6000610891826801158e460913d0000063ffffffff6120e516565b61361d826801158e460913d0000063ffffffff6120e516565b8111156108c15760405162461bcd60e51b815260040161063790614797565b6000806000856136cb5760405163d3d6f84360e01b81526001600160a01b038a169063d3d6f84390613674908b908b90600401614035565b602060405180830381600087803b15801561368e57600080fd5b505af11580156136a2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906136c69190613de9565b61374b565b6040516372423c1760e01b81526001600160a01b038a16906372423c17906136f9908b908b90600401614035565b602060405180830381600087803b15801561371357600080fd5b505af1158015613727573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061374b9190613de9565b90506000846137d957604051630930874960e11b81526001600160a01b038b16906312610e9290613782908c908a90600401614035565b602060405180830381600087803b15801561379c57600080fd5b505af11580156137b0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906137d49190613de9565b613859565b604051639976cf4560e01b81526001600160a01b038b1690639976cf4590613807908c908a90600401614035565b602060405180830381600087803b15801561382157600080fd5b505af1158015613835573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906138599190613de9565b919a91995090975050505050505050565b600080600061387d898989898989613a27565b91509150600061388d83836131bd565b9a9950505050505050505050565b82156138b3576138ae89898387866133b8565b6138bf565b6138bf898989876126d5565b84156138d4576138cf898761333c565b613472565b6040516364a197f360e01b81526001600160a01b038a16906364a197f390613902908a908a90600401614035565b600060405180830381600087803b15801561391c57600080fd5b505af1158015613930573d6000803e3d6000fd5b50505050505050505050505050565b60008061394a6111c7565b90506000613956610e11565b905061396382828661317e565b949350505050565b60006139898361319c86670de0b6b3a764000063ffffffff6139ab16565b90508181111561065d5760405162461bcd60e51b815260040161063790614984565b6000826139ba5750600061212a565b828202828482816139c757fe5b04146121275760405162461bcd60e51b8152600401610637906144b3565b600061212783836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250613abb565b600080878786613a4657613a418a8963ffffffff6120e516565b613a56565b613a568a8963ffffffff6123e116565b915084613a6d576137d4898763ffffffff6120e516565b613859898763ffffffff6123e116565b80156106495760405162461bcd60e51b8152600401610637906145e2565b808210156108c15760405162461bcd60e51b815260040161063790614927565b60008183613adc5760405162461bcd60e51b815260040161063791906140c8565b506000838581613ae857fe5b0495945050505050565b604080516060810182526000808252602082018190529181019190915290565b60405180610100016040528060008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081525090565b604051806101e00160405280600081526020016000815260200160008152602001600015158152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000151581525090565b803561212a816149ff565b600060808284031215613bed578081fd5b50919050565b600060208284031215613c04578081fd5b8135612127816149ff565b600060208284031215613c20578081fd5b8151612127816149ff565b60008060408385031215613c3d578081fd5b8235613c48816149ff565b91506020830135613c58816149ff565b809150509250929050565b600080600060608486031215613c77578081fd5b8335613c82816149ff565b92506020840135613c92816149ff565b91506040840135613ca2816149ff565b809150509250925092565b6000806000806000806000806000806000806101808d8f031215613ccf578788fd5b8c35613cda816149ff565b9b5060208d0135613cea816149ff565b9a5060408d0135613cfa816149ff565b995060608d0135613d0a816149ff565b985060808d0135613d1a816149ff565b975060a08d0135613d2a816149ff565b9650613d398e60c08f01613bd1565b9550613d488e60e08f01613bd1565b9450613d588e6101008f01613bd1565b9350613d688e6101208f01613bd1565b9250613d788e6101408f01613bd1565b9150613d888e6101608f01613bd1565b90509295989b509295989b509295989b565b600060208284031215613dab578081fd5b815161212781614a14565b600060808284031215613dc7578081fd5b6121278383613bdc565b600060208284031215613de2578081fd5b5035919050565b600060208284031215613dfa578081fd5b5051919050565b600080600060608486031215613e15578283fd5b833592506020840135613c92816149ff565b60008060008060e08587031215613e3c578384fd5b843593506020850135613e4e816149ff565b92506040850135613e5e816149ff565b9150613e6d8660608701613bdc565b905092959194509250565b60008060008060808587031215613e8d578384fd5b84359350602085013592506040850135613ea6816149ff565b91506060850135613eb6816149ff565b939692955090935050565b60008060008060008060c08789031215613ed9578384fd5b8635955060208701359450604087013593506060870135613ef981614a14565b92506080870135613f09816149ff565b915060a0870135613f19816149ff565b809150509295509295509295565b6000806000806000806000610140888a031215613f42578081fd5b8735965060208801359550604088013594506060880135613f6281614a14565b93506080880135613f72816149ff565b925060a0880135613f82816149ff565b9150613f918960c08a01613bdc565b905092959891949750929550565b600060208284031215613fb0578081fd5b813560ff81168114612127578182fd5b90565b7035b2bc9737bbb730b136329737bbb732b960791b815260110190565b6001600160a01b0391909116815260200190565b6001600160a01b0397881681529590961660208601526040850193909352606084019190915260ff16608083015260a082015260c081019190915260e00190565b6001600160a01b03929092168252602082015260400190565b6001600160a01b03948516815260208101939093529083166040830152909116606082015260800190565b6001600160a01b0393841681526020810192909252909116604082015260600190565b8481526020810184905260408101839052608081016140ba836149f4565b606083015295945050505050565b6000602080835283518082850152825b818110156140f4578581018301518582016040015282016140d8565b818111156141055783604083870101525b50601f01601f1916929092016040019392505050565b6020808252603d908201527f426f72726f7765724f70733a2043616c6c657220646f65736e7420686176652060408201527f656e6f756768205a55534420746f206d616b652072657061796d656e74000000606082015260800190565b6020808252602d908201527f426f72726f7765724f70733a2053656e64696e672045544820746f204163746960408201526c1d99541bdbdb0819985a5b1959609a1b606082015260800190565b60208082526029908201527f444c4c52207472616e7366657272656420616d6f756e742076616c69646174696040820152681bdb8819985a5b195960ba1b606082015260800190565b6020808252601b908201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604082015260600190565b6020808252601e908201527f5a555344206973206e6f7420626f72726f77656420636f72726563746c790000604082015260600190565b60208082526022908201527f4f776e61626c653a3a7365744f776e65723a20696e76616c6964206164647265604082015261737360f01b606082015260800190565b60208082526030908201527f426f72726f7765724f7065726174696f6e733a2043616e6e6f7420776974686460408201526f1c985dc8185b99081859190818dbdb1b60821b606082015260800190565b60208082526039908201527f426f72726f7765724f70733a204f7065726174696f6e206e6f74207065726d696040820152787474656420647572696e67205265636f76657279204d6f646560381b606082015260800190565b60208082526037908201527f426f72726f7765724f70733a204f7065726174696f6e206d757374206c65617660408201527632903a3937bb32903bb4ba341024a1a9101f1e9021a1a960491b606082015260800190565b6020808252601e908201527f4163636f756e742063616e6e6f74206265207a65726f20616464726573730000604082015260600190565b60208082526032908201527f4d6178206665652070657263656e74616765206d757374206c657373207468616040820152716e206f7220657175616c20746f203130302560701b606082015260800190565b60208082526046908201527f426f72726f7765724f70733a205468657265206d75737420626520656974686560408201527f72206120636f6c6c61746572616c206368616e6765206f7220612064656274206060820152656368616e676560d01b608082015260a00190565b60208082526021908201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6040820152607760f81b606082015260800190565b60208082526049908201527f426f72726f7765724f70733a20416e206f7065726174696f6e2074686174207760408201527f6f756c6420726573756c7420696e20544352203c20434352206973206e6f74206060820152681c195c9b5a5d1d195960ba1b608082015260a00190565b6020808252602e908201527f426f72726f7765724f70733a2054726f766520646f6573206e6f74206578697360408201526d1d081bdc881a5cc818db1bdcd95960921b606082015260800190565b60208082526017908201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604082015260600190565b6020808252603e908201527f426f72726f7765724f70733a20436f6c6c61746572616c20776974686472617760408201527f616c206e6f74207065726d6974746564205265636f76657279204d6f64650000606082015260800190565b60208082526037908201527f4661696c656420746f20617070726f7665205a55534420616d6f756e7420666f60408201527672204d796e74206d417373657420746f2072656465656d60481b606082015260800190565b60208082526049908201527f426f72726f7765724f70733a20416e206f7065726174696f6e2074686174207760408201527f6f756c6420726573756c7420696e20494352203c204d4352206973206e6f74206060820152681c195c9b5a5d1d195960ba1b608082015260a00190565b6020808252603a908201527f426f72726f7765724f70733a2054726f76652773206e65742064656274206d7560408201527f73742062652067726561746572207468616e206d696e696d756d000000000000606082015260800190565b6020808252818101527f4163636f756e7420636f64652073697a652063616e6e6f74206265207a65726f604082015260600190565b60208082526043908201527f426f72726f7765724f70733a20416d6f756e7420726570616964206d7573742060408201527f6e6f74206265206c6172676572207468616e207468652054726f76652773206460608201526219589d60ea1b608082015260a00190565b60208082526029908201527f426f72726f7765724f70733a2043616c6c6572206973206e6f742053746162696040820152681b1a5d1e48141bdbdb60ba1b606082015260800190565b60208082526030908201527f4d6178206665652070657263656e74616765206d75737420626520626574776560408201526f656e20302e352520616e64203130302560801b606082015260800190565b6020808252601c908201527f426f72726f7765724f70733a2054726f76652069732061637469766500000000604082015260600190565b60208082526037908201527f426f72726f7765724f70733a204465627420696e637265617365207265717569604082015276726573206e6f6e2d7a65726f20646562744368616e676560481b606082015260800190565b6020808252603e908201527f426f72726f7765724f70733a2043616e6e6f7420646563726561736520796f7560408201527f722054726f766527732049435220696e205265636f76657279204d6f64650000606082015260800190565b6020808252601d908201527f4665652065786365656465642070726f7669646564206d6178696d756d000000604082015260600190565b60208082526016908201527513585cdcd95d081859191c995cdcc81b9bdd081cd95d60521b604082015260600190565b90815260200190565b806003811061089457fe5b6001600160a01b038116811461064957600080fd5b801515811461064957600080fdfec3770d654ed33aeea6bf11ac8ef05d02a6a04ed4686dd2f624d853bbec43cc8ba26469706673582212203cec7d4c5337979a752ab4f1b8da0cc607bc2508b28986739fefcae556b2e90264736f6c634300060b0033", "linkReferences": {}, "deployedLinkReferences": {} } diff --git a/packages/lib-ethers/live/BorrowerOperationsScript.json b/packages/lib-ethers/live/BorrowerOperationsScript.json index cd278c2f9..44a864564 100644 --- a/packages/lib-ethers/live/BorrowerOperationsScript.json +++ b/packages/lib-ethers/live/BorrowerOperationsScript.json @@ -93,7 +93,7 @@ }, { "internalType": "uint256", - "name": "_LUSDAmount", + "name": "_ZUSDAmount", "type": "uint256" }, { @@ -130,7 +130,7 @@ "type": "address" } ], - "name": "repayLUSD", + "name": "repayZUSD", "outputs": [], "stateMutability": "nonpayable", "type": "function" @@ -181,14 +181,14 @@ "type": "address" } ], - "name": "withdrawLUSD", + "name": "withdrawZUSD", "outputs": [], "stateMutability": "nonpayable", "type": "function" } ], - "bytecode": "0x60a060405234801561001057600080fd5b506040516107e73803806107e78339818101604052602081101561003357600080fd5b5051610047816001600160e01b0361005c16565b60601b6001600160601b03191660805261010f565b6001600160a01b0381166100b7576040805162461bcd60e51b815260206004820152601e60248201527f4163636f756e742063616e6e6f74206265207a65726f20616464726573730000604482015290519081900360640190fd5b803b8061010b576040805162461bcd60e51b815260206004820181905260248201527f4163636f756e7420636f64652073697a652063616e6e6f74206265207a65726f604482015290519081900360640190fd5b5050565b60805160601c61069861014f6000398061024652806102af528061035a52806103f3528061046752806104b4528061054552806105f652506106986000f3fe60806040526004361061006b5760003560e01c806304491fa7146100705780630e704d50146100b35780631184e5f8146100c85780635530273c1461010f57806368647db1146101505780636f0b0c1c1461017e578063860665b314610193578063c6a6cf20146101cd575b600080fd5b34801561007c57600080fd5b506100b16004803603606081101561009357600080fd5b508035906001600160a01b0360208201358116916040013516610215565b005b3480156100bf57600080fd5b506100b16102ad565b3480156100d457600080fd5b506100b1600480360360808110156100eb57600080fd5b508035906020810135906001600160a01b0360408201358116916060013516610322565b34801561011b57600080fd5b506100b16004803603606081101561013257600080fd5b508035906001600160a01b03602082013581169160400135166103c2565b6100b16004803603604081101561016657600080fd5b506001600160a01b038135811691602001351661043d565b34801561018a57600080fd5b506100b16104b2565b6100b1600480360360808110156101a957600080fd5b508035906020810135906001600160a01b036040820135811691606001351661050d565b6100b1600480360360c08110156101e357600080fd5b5080359060208101359060408101359060608101351515906001600160a01b03608082013581169160a00135166105af565b604080516304491fa760e01b8152600481018590526001600160a01b038481166024830152838116604483015291517f0000000000000000000000000000000000000000000000000000000000000000909216916304491fa79160648082019260009290919082900301818387803b15801561029057600080fd5b505af11580156102a4573d6000803e3d6000fd5b50505050505050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316630e704d506040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561030857600080fd5b505af115801561031c573d6000803e3d6000fd5b50505050565b604080516302309cbf60e31b815260048101869052602481018590526001600160a01b038481166044830152838116606483015291517f000000000000000000000000000000000000000000000000000000000000000090921691631184e5f89160848082019260009290919082900301818387803b1580156103a457600080fd5b505af11580156103b8573d6000803e3d6000fd5b5050505050505050565b6040805163154c09cf60e21b8152600481018590526001600160a01b038481166024830152838116604483015291517f000000000000000000000000000000000000000000000000000000000000000090921691635530273c9160648082019260009290919082900301818387803b15801561029057600080fd5b604080516368647db160e01b81526001600160a01b038481166004830152838116602483015291517f0000000000000000000000000000000000000000000000000000000000000000909216916368647db1913491604480830192600092919082900301818588803b15801561029057600080fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316636f0b0c1c6040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561030857600080fd5b6040805163860665b360e01b815260048101869052602481018590526001600160a01b038481166044830152838116606483015291517f00000000000000000000000000000000000000000000000000000000000000009092169163860665b3913491608480830192600092919082900301818588803b15801561059057600080fd5b505af11580156105a4573d6000803e3d6000fd5b505050505050505050565b60408051630635367960e51b815260048101889052602481018790526044810186905284151560648201526001600160a01b03848116608483015283811660a483015291517f00000000000000000000000000000000000000000000000000000000000000009092169163c6a6cf2091349160c480830192600092919082900301818588803b15801561064157600080fd5b505af1158015610655573d6000803e3d6000fd5b505050505050505050505056fea26469706673582212206b42562216bb01d92be9637c3e4ff7661be415c2478b772006de9c27bc7483b164736f6c634300060b0033", - "deployedBytecode": "0x60806040526004361061006b5760003560e01c806304491fa7146100705780630e704d50146100b35780631184e5f8146100c85780635530273c1461010f57806368647db1146101505780636f0b0c1c1461017e578063860665b314610193578063c6a6cf20146101cd575b600080fd5b34801561007c57600080fd5b506100b16004803603606081101561009357600080fd5b508035906001600160a01b0360208201358116916040013516610215565b005b3480156100bf57600080fd5b506100b16102ad565b3480156100d457600080fd5b506100b1600480360360808110156100eb57600080fd5b508035906020810135906001600160a01b0360408201358116916060013516610322565b34801561011b57600080fd5b506100b16004803603606081101561013257600080fd5b508035906001600160a01b03602082013581169160400135166103c2565b6100b16004803603604081101561016657600080fd5b506001600160a01b038135811691602001351661043d565b34801561018a57600080fd5b506100b16104b2565b6100b1600480360360808110156101a957600080fd5b508035906020810135906001600160a01b036040820135811691606001351661050d565b6100b1600480360360c08110156101e357600080fd5b5080359060208101359060408101359060608101351515906001600160a01b03608082013581169160a00135166105af565b604080516304491fa760e01b8152600481018590526001600160a01b038481166024830152838116604483015291517f0000000000000000000000000000000000000000000000000000000000000000909216916304491fa79160648082019260009290919082900301818387803b15801561029057600080fd5b505af11580156102a4573d6000803e3d6000fd5b50505050505050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316630e704d506040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561030857600080fd5b505af115801561031c573d6000803e3d6000fd5b50505050565b604080516302309cbf60e31b815260048101869052602481018590526001600160a01b038481166044830152838116606483015291517f000000000000000000000000000000000000000000000000000000000000000090921691631184e5f89160848082019260009290919082900301818387803b1580156103a457600080fd5b505af11580156103b8573d6000803e3d6000fd5b5050505050505050565b6040805163154c09cf60e21b8152600481018590526001600160a01b038481166024830152838116604483015291517f000000000000000000000000000000000000000000000000000000000000000090921691635530273c9160648082019260009290919082900301818387803b15801561029057600080fd5b604080516368647db160e01b81526001600160a01b038481166004830152838116602483015291517f0000000000000000000000000000000000000000000000000000000000000000909216916368647db1913491604480830192600092919082900301818588803b15801561029057600080fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316636f0b0c1c6040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561030857600080fd5b6040805163860665b360e01b815260048101869052602481018590526001600160a01b038481166044830152838116606483015291517f00000000000000000000000000000000000000000000000000000000000000009092169163860665b3913491608480830192600092919082900301818588803b15801561059057600080fd5b505af11580156105a4573d6000803e3d6000fd5b505050505050505050565b60408051630635367960e51b815260048101889052602481018790526044810186905284151560648201526001600160a01b03848116608483015283811660a483015291517f00000000000000000000000000000000000000000000000000000000000000009092169163c6a6cf2091349160c480830192600092919082900301818588803b15801561064157600080fd5b505af1158015610655573d6000803e3d6000fd5b505050505050505050505056fea26469706673582212206b42562216bb01d92be9637c3e4ff7661be415c2478b772006de9c27bc7483b164736f6c634300060b0033", + "bytecode": "0x60a060405234801561001057600080fd5b506040516107e73803806107e78339818101604052602081101561003357600080fd5b5051610047816001600160e01b0361005c16565b60601b6001600160601b03191660805261010f565b6001600160a01b0381166100b7576040805162461bcd60e51b815260206004820152601e60248201527f4163636f756e742063616e6e6f74206265207a65726f20616464726573730000604482015290519081900360640190fd5b803b8061010b576040805162461bcd60e51b815260206004820181905260248201527f4163636f756e7420636f64652073697a652063616e6e6f74206265207a65726f604482015290519081900360640190fd5b5050565b60805160601c61069861014f6000398061021752806102bb528061034c52806103cf528061043952806104ca528061056552806105f652506106986000f3fe60806040526004361061006b5760003560e01c80630e704d50146100705780635530273c1461008757806368647db1146100c85780636ea56960146100f65780636f0b0c1c1461013d578063860665b314610152578063afbc74b51461018c578063c6a6cf20146101cd575b600080fd5b34801561007c57600080fd5b50610085610215565b005b34801561009357600080fd5b50610085600480360360608110156100aa57600080fd5b508035906001600160a01b036020820135811691604001351661028a565b610085600480360360408110156100de57600080fd5b506001600160a01b0381358116916020013516610322565b34801561010257600080fd5b506100856004803603608081101561011957600080fd5b508035906020810135906001600160a01b0360408201358116916060013516610397565b34801561014957600080fd5b50610085610437565b6100856004803603608081101561016857600080fd5b508035906020810135906001600160a01b0360408201358116916060013516610492565b34801561019857600080fd5b50610085600480360360608110156101af57600080fd5b508035906001600160a01b0360208201358116916040013516610534565b610085600480360360c08110156101e357600080fd5b5080359060208101359060408101359060608101351515906001600160a01b03608082013581169160a00135166105af565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316630e704d506040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561027057600080fd5b505af1158015610284573d6000803e3d6000fd5b50505050565b6040805163154c09cf60e21b8152600481018590526001600160a01b038481166024830152838116604483015291517f000000000000000000000000000000000000000000000000000000000000000090921691635530273c9160648082019260009290919082900301818387803b15801561030557600080fd5b505af1158015610319573d6000803e3d6000fd5b50505050505050565b604080516368647db160e01b81526001600160a01b038481166004830152838116602483015291517f0000000000000000000000000000000000000000000000000000000000000000909216916368647db1913491604480830192600092919082900301818588803b15801561030557600080fd5b604080516303752b4b60e51b815260048101869052602481018590526001600160a01b038481166044830152838116606483015291517f000000000000000000000000000000000000000000000000000000000000000090921691636ea569609160848082019260009290919082900301818387803b15801561041957600080fd5b505af115801561042d573d6000803e3d6000fd5b5050505050505050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316636f0b0c1c6040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561027057600080fd5b6040805163860665b360e01b815260048101869052602481018590526001600160a01b038481166044830152838116606483015291517f00000000000000000000000000000000000000000000000000000000000000009092169163860665b3913491608480830192600092919082900301818588803b15801561051557600080fd5b505af1158015610529573d6000803e3d6000fd5b505050505050505050565b6040805163afbc74b560e01b8152600481018590526001600160a01b038481166024830152838116604483015291517f00000000000000000000000000000000000000000000000000000000000000009092169163afbc74b59160648082019260009290919082900301818387803b15801561030557600080fd5b60408051630635367960e51b815260048101889052602481018790526044810186905284151560648201526001600160a01b03848116608483015283811660a483015291517f00000000000000000000000000000000000000000000000000000000000000009092169163c6a6cf2091349160c480830192600092919082900301818588803b15801561064157600080fd5b505af1158015610655573d6000803e3d6000fd5b505050505050505050505056fea264697066735822122031035337329daff58d1041b531767622f9319223610770f2522e2d1daa35a79464736f6c634300060b0033", + "deployedBytecode": "0x60806040526004361061006b5760003560e01c80630e704d50146100705780635530273c1461008757806368647db1146100c85780636ea56960146100f65780636f0b0c1c1461013d578063860665b314610152578063afbc74b51461018c578063c6a6cf20146101cd575b600080fd5b34801561007c57600080fd5b50610085610215565b005b34801561009357600080fd5b50610085600480360360608110156100aa57600080fd5b508035906001600160a01b036020820135811691604001351661028a565b610085600480360360408110156100de57600080fd5b506001600160a01b0381358116916020013516610322565b34801561010257600080fd5b506100856004803603608081101561011957600080fd5b508035906020810135906001600160a01b0360408201358116916060013516610397565b34801561014957600080fd5b50610085610437565b6100856004803603608081101561016857600080fd5b508035906020810135906001600160a01b0360408201358116916060013516610492565b34801561019857600080fd5b50610085600480360360608110156101af57600080fd5b508035906001600160a01b0360208201358116916040013516610534565b610085600480360360c08110156101e357600080fd5b5080359060208101359060408101359060608101351515906001600160a01b03608082013581169160a00135166105af565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316630e704d506040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561027057600080fd5b505af1158015610284573d6000803e3d6000fd5b50505050565b6040805163154c09cf60e21b8152600481018590526001600160a01b038481166024830152838116604483015291517f000000000000000000000000000000000000000000000000000000000000000090921691635530273c9160648082019260009290919082900301818387803b15801561030557600080fd5b505af1158015610319573d6000803e3d6000fd5b50505050505050565b604080516368647db160e01b81526001600160a01b038481166004830152838116602483015291517f0000000000000000000000000000000000000000000000000000000000000000909216916368647db1913491604480830192600092919082900301818588803b15801561030557600080fd5b604080516303752b4b60e51b815260048101869052602481018590526001600160a01b038481166044830152838116606483015291517f000000000000000000000000000000000000000000000000000000000000000090921691636ea569609160848082019260009290919082900301818387803b15801561041957600080fd5b505af115801561042d573d6000803e3d6000fd5b5050505050505050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316636f0b0c1c6040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561027057600080fd5b6040805163860665b360e01b815260048101869052602481018590526001600160a01b038481166044830152838116606483015291517f00000000000000000000000000000000000000000000000000000000000000009092169163860665b3913491608480830192600092919082900301818588803b15801561051557600080fd5b505af1158015610529573d6000803e3d6000fd5b505050505050505050565b6040805163afbc74b560e01b8152600481018590526001600160a01b038481166024830152838116604483015291517f00000000000000000000000000000000000000000000000000000000000000009092169163afbc74b59160648082019260009290919082900301818387803b15801561030557600080fd5b60408051630635367960e51b815260048101889052602481018790526044810186905284151560648201526001600160a01b03848116608483015283811660a483015291517f00000000000000000000000000000000000000000000000000000000000000009092169163c6a6cf2091349160c480830192600092919082900301818588803b15801561064157600080fd5b505af1158015610655573d6000803e3d6000fd5b505050505050505050505056fea264697066735822122031035337329daff58d1041b531767622f9319223610770f2522e2d1daa35a79464736f6c634300060b0033", "linkReferences": {}, "deployedLinkReferences": {} } diff --git a/packages/lib-ethers/live/BorrowerOperationsStorage.json b/packages/lib-ethers/live/BorrowerOperationsStorage.json new file mode 100644 index 000000000..502d57ad8 --- /dev/null +++ b/packages/lib-ethers/live/BorrowerOperationsStorage.json @@ -0,0 +1,160 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "BorrowerOperationsStorage", + "sourceName": "contracts/BorrowerOperationsStorage.sol", + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousOwner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnershipTransferred", + "type": "event" + }, + { + "inputs": [], + "name": "NAME", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "feeDistributor", + "outputs": [ + { + "internalType": "contract IFeeDistributor", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getOwner", + "outputs": [ + { + "internalType": "address", + "name": "_owner", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "massetManager", + "outputs": [ + { + "internalType": "contract IMassetManager", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_owner", + "type": "address" + } + ], + "name": "setOwner", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "sortedTroves", + "outputs": [ + { + "internalType": "contract ISortedTroves", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "troveManager", + "outputs": [ + { + "internalType": "contract ITroveManager", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "zeroStaking", + "outputs": [ + { + "internalType": "contract IZEROStaking", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "zeroStakingAddress", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "zusdToken", + "outputs": [ + { + "internalType": "contract IZUSDToken", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + } + ], + "bytecode": "0x608060405234801561001057600080fd5b50610023336001600160e01b0361002816565b610110565b6001600160a01b03811661006d5760405162461bcd60e51b81526004018080602001828103825260228152602001806105046022913960400191505060405180910390fd5b6001600160a01b0381166100886001600160e01b036100e616565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3604080517035b2bc9737bbb730b136329737bbb732b960791b8152905190819003601101902055565b604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205490565b6103e58061011f6000396000f3fe608060405234801561001057600080fd5b506004361061009e5760003560e01c8063a3f4df7e11610066578063a3f4df7e14610107578063ae91875414610184578063b5c89bab1461018c578063ec5472fd14610194578063ec9f7d461461019c5761009e565b80630d43e8ad146100a35780630ff9a512146100c757806313af4035146100cf5780633d83908a146100f7578063893d20e8146100ff575b600080fd5b6100ab6101a4565b604080516001600160a01b039092168252519081900360200190f35b6100ab6101b3565b6100f5600480360360208110156100e557600080fd5b50356001600160a01b03166101c2565b005b6100ab610235565b6100ab610244565b61010f61026e565b6040805160208082528351818301528351919283929083019185019080838360005b83811015610149578181015183820152602001610131565b50505050905090810190601f1680156101765780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6100ab61029c565b6100ab6102ab565b6100ab6102ba565b6100ab6102c9565b6009546001600160a01b031681565b6005546001600160a01b031681565b6101ca610244565b6001600160a01b0316336001600160a01b031614610229576040805162461bcd60e51b815260206004820152601760248201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604482015290519081900360640190fd5b610232816102d8565b50565b6000546001600160a01b031681565b604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205490565b60405180604001604052806012815260200171426f72726f7765724f7065726174696f6e7360701b81525081565b6007546001600160a01b031681565b6008546001600160a01b031681565b6004546001600160a01b031681565b6006546001600160a01b031681565b6001600160a01b03811661031d5760405162461bcd60e51b815260040180806020018281038252602281526020018061038e6022913960400191505060405180910390fd5b806001600160a01b031661032f610244565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205556fe4f776e61626c653a3a7365744f776e65723a20696e76616c69642061646472657373a26469706673582212202e9dbd84b6bcc6e3dfe238149e0af0dcf38ae9962b3de262a61eeba42ac58a7a64736f6c634300060b00334f776e61626c653a3a7365744f776e65723a20696e76616c69642061646472657373", + "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061009e5760003560e01c8063a3f4df7e11610066578063a3f4df7e14610107578063ae91875414610184578063b5c89bab1461018c578063ec5472fd14610194578063ec9f7d461461019c5761009e565b80630d43e8ad146100a35780630ff9a512146100c757806313af4035146100cf5780633d83908a146100f7578063893d20e8146100ff575b600080fd5b6100ab6101a4565b604080516001600160a01b039092168252519081900360200190f35b6100ab6101b3565b6100f5600480360360208110156100e557600080fd5b50356001600160a01b03166101c2565b005b6100ab610235565b6100ab610244565b61010f61026e565b6040805160208082528351818301528351919283929083019185019080838360005b83811015610149578181015183820152602001610131565b50505050905090810190601f1680156101765780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6100ab61029c565b6100ab6102ab565b6100ab6102ba565b6100ab6102c9565b6009546001600160a01b031681565b6005546001600160a01b031681565b6101ca610244565b6001600160a01b0316336001600160a01b031614610229576040805162461bcd60e51b815260206004820152601760248201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604482015290519081900360640190fd5b610232816102d8565b50565b6000546001600160a01b031681565b604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205490565b60405180604001604052806012815260200171426f72726f7765724f7065726174696f6e7360701b81525081565b6007546001600160a01b031681565b6008546001600160a01b031681565b6004546001600160a01b031681565b6006546001600160a01b031681565b6001600160a01b03811661031d5760405162461bcd60e51b815260040180806020018281038252602281526020018061038e6022913960400191505060405180910390fd5b806001600160a01b031661032f610244565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205556fe4f776e61626c653a3a7365744f776e65723a20696e76616c69642061646472657373a26469706673582212202e9dbd84b6bcc6e3dfe238149e0af0dcf38ae9962b3de262a61eeba42ac58a7a64736f6c634300060b0033", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/packages/lib-ethers/live/BorrowerOperationsTester.json b/packages/lib-ethers/live/BorrowerOperationsTester.json index 0280cbd06..e9a8e2ac4 100644 --- a/packages/lib-ethers/live/BorrowerOperationsTester.json +++ b/packages/lib-ethers/live/BorrowerOperationsTester.json @@ -48,11 +48,11 @@ { "indexed": false, "internalType": "address", - "name": "_gasPoolAddress", + "name": "_feeDistributorAddress", "type": "address" } ], - "name": "GasPoolAddressChanged", + "name": "FeeDistributorAddressChanged", "type": "event" }, { @@ -61,30 +61,11 @@ { "indexed": false, "internalType": "address", - "name": "_zeroStakingAddress", - "type": "address" - } - ], - "name": "LQTYStakingAddressChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "_borrower", + "name": "_gasPoolAddress", "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_LUSDFee", - "type": "uint256" } ], - "name": "LUSDBorrowingFeePaid", + "name": "GasPoolAddressChanged", "type": "event" }, { @@ -93,11 +74,11 @@ { "indexed": false, "internalType": "address", - "name": "_zusdTokenAddress", + "name": "_massetManagerAddress", "type": "address" } ], - "name": "LUSDTokenAddressChanged", + "name": "MassetManagerAddressChanged", "type": "event" }, { @@ -228,47 +209,53 @@ "type": "event" }, { - "inputs": [], - "name": "BORROWING_FEE_FLOOR", - "outputs": [ + "anonymous": false, + "inputs": [ { - "internalType": "uint256", - "name": "", - "type": "uint256" + "indexed": false, + "internalType": "address", + "name": "_zeroStakingAddress", + "type": "address" } ], - "stateMutability": "view", - "type": "function" + "name": "ZEROStakingAddressChanged", + "type": "event" }, { - "inputs": [], - "name": "CCR", - "outputs": [ + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "_borrower", + "type": "address" + }, { + "indexed": false, "internalType": "uint256", - "name": "", + "name": "_ZUSDFee", "type": "uint256" } ], - "stateMutability": "view", - "type": "function" + "name": "ZUSDBorrowingFeePaid", + "type": "event" }, { - "inputs": [], - "name": "DECIMAL_PRECISION", - "outputs": [ + "anonymous": false, + "inputs": [ { - "internalType": "uint256", - "name": "", - "type": "uint256" + "indexed": false, + "internalType": "address", + "name": "_zusdTokenAddress", + "type": "address" } ], - "stateMutability": "view", - "type": "function" + "name": "ZUSDTokenAddressChanged", + "type": "event" }, { "inputs": [], - "name": "LUSD_GAS_COMPENSATION", + "name": "BORROWING_FEE_FLOOR", "outputs": [ { "internalType": "uint256", @@ -281,7 +268,7 @@ }, { "inputs": [], - "name": "MCR", + "name": "DECIMAL_PRECISION", "outputs": [ { "internalType": "uint256", @@ -320,7 +307,7 @@ }, { "inputs": [], - "name": "PERCENT_DIVISOR", + "name": "ZUSD_GAS_COMPENSATION", "outputs": [ { "internalType": "uint256", @@ -389,7 +376,72 @@ }, { "internalType": "uint256", - "name": "_LUSDChange", + "name": "_ZUSDChange", + "type": "uint256" + }, + { + "internalType": "bool", + "name": "_isDebtIncrease", + "type": "bool" + }, + { + "internalType": "address", + "name": "_upperHint", + "type": "address" + }, + { + "internalType": "address", + "name": "_lowerHint", + "type": "address" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "deadline", + "type": "uint256" + }, + { + "internalType": "uint8", + "name": "v", + "type": "uint8" + }, + { + "internalType": "bytes32", + "name": "r", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "s", + "type": "bytes32" + } + ], + "internalType": "struct IMassetManager.PermitParams", + "name": "_permitParams", + "type": "tuple" + } + ], + "name": "adjustNueTrove", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_maxFeePercentage", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_collWithdrawal", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_ZUSDChange", "type": "uint256" }, { @@ -458,6 +510,41 @@ "stateMutability": "nonpayable", "type": "function" }, + { + "inputs": [ + { + "components": [ + { + "internalType": "uint256", + "name": "deadline", + "type": "uint256" + }, + { + "internalType": "uint8", + "name": "v", + "type": "uint8" + }, + { + "internalType": "bytes32", + "name": "r", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "s", + "type": "bytes32" + } + ], + "internalType": "struct IMassetManager.PermitParams", + "name": "_permitParams", + "type": "tuple" + } + ], + "name": "closeNueTrove", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, { "inputs": [], "name": "closeTrove", @@ -478,6 +565,19 @@ "stateMutability": "view", "type": "function" }, + { + "inputs": [], + "name": "feeDistributor", + "outputs": [ + { + "internalType": "contract IFeeDistributor", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, { "inputs": [ { @@ -494,7 +594,7 @@ "type": "uint256" } ], - "stateMutability": "pure", + "stateMutability": "view", "type": "function" }, { @@ -523,6 +623,19 @@ "stateMutability": "view", "type": "function" }, + { + "inputs": [], + "name": "getMassetManager", + "outputs": [ + { + "internalType": "contract IMassetManager", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, { "inputs": [ { @@ -611,6 +724,19 @@ "stateMutability": "view", "type": "function" }, + { + "inputs": [], + "name": "getOwner", + "outputs": [ + { + "internalType": "address", + "name": "_owner", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, { "inputs": [ { @@ -637,12 +763,12 @@ }, { "inputs": [], - "name": "isOwner", + "name": "liquityBaseParams", "outputs": [ { - "internalType": "bool", + "internalType": "contract ILiquityBaseParams", "name": "", - "type": "bool" + "type": "address" } ], "stateMutability": "view", @@ -650,10 +776,10 @@ }, { "inputs": [], - "name": "zeroStaking", + "name": "massetManager", "outputs": [ { - "internalType": "contract ILQTYStaking", + "internalType": "contract IMassetManager", "name": "", "type": "address" } @@ -662,37 +788,39 @@ "type": "function" }, { - "inputs": [], - "name": "zeroStakingAddress", - "outputs": [ + "inputs": [ { "internalType": "address", - "name": "", + "name": "_borrower", "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "zusdToken", - "outputs": [ + }, { - "internalType": "contract ILUSDToken", - "name": "", + "internalType": "address", + "name": "_upperHint", + "type": "address" + }, + { + "internalType": "address", + "name": "_lowerHint", "type": "address" } ], - "stateMutability": "view", + "name": "moveETHGainToTrove", + "outputs": [], + "stateMutability": "payable", "type": "function" }, { "inputs": [ { - "internalType": "address", - "name": "_borrower", - "type": "address" + "internalType": "uint256", + "name": "_maxFeePercentage", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_ZUSDAmount", + "type": "uint256" }, { "internalType": "address", @@ -705,7 +833,7 @@ "type": "address" } ], - "name": "moveETHGainToTrove", + "name": "openNueTrove", "outputs": [], "stateMutability": "payable", "type": "function" @@ -719,7 +847,7 @@ }, { "internalType": "uint256", - "name": "_LUSDAmount", + "name": "_ZUSDAmount", "type": "uint256" }, { @@ -740,10 +868,10 @@ }, { "inputs": [], - "name": "owner", + "name": "priceFeed", "outputs": [ { - "internalType": "address", + "internalType": "contract IPriceFeed", "name": "", "type": "address" } @@ -752,23 +880,33 @@ "type": "function" }, { - "inputs": [], - "name": "priceFeed", - "outputs": [ + "inputs": [ { - "internalType": "contract IPriceFeed", - "name": "", + "internalType": "uint256", + "name": "_ZUSDAmount", + "type": "uint256" + }, + { + "internalType": "address", + "name": "_upperHint", + "type": "address" + }, + { + "internalType": "address", + "name": "_lowerHint", "type": "address" } ], - "stateMutability": "view", + "name": "repayZUSD", + "outputs": [], + "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", - "name": "_LUSDAmount", + "name": "_dllrAmount", "type": "uint256" }, { @@ -780,15 +918,52 @@ "internalType": "address", "name": "_lowerHint", "type": "address" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "deadline", + "type": "uint256" + }, + { + "internalType": "uint8", + "name": "v", + "type": "uint8" + }, + { + "internalType": "bytes32", + "name": "r", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "s", + "type": "bytes32" + } + ], + "internalType": "struct IMassetManager.PermitParams", + "name": "_permitParams", + "type": "tuple" } ], - "name": "repayLUSD", + "name": "repayZusdFromDLLR", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ + { + "internalType": "address", + "name": "_feeDistributorAddress", + "type": "address" + }, + { + "internalType": "address", + "name": "_liquityBaseParamsAddress", + "type": "address" + }, { "internalType": "address", "name": "_troveManagerAddress", @@ -845,6 +1020,32 @@ "stateMutability": "nonpayable", "type": "function" }, + { + "inputs": [ + { + "internalType": "address", + "name": "_massetManagerAddress", + "type": "address" + } + ], + "name": "setMassetManagerAddress", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_owner", + "type": "address" + } + ], + "name": "setOwner", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, { "inputs": [], "name": "sortedTroves", @@ -903,7 +1104,7 @@ }, { "internalType": "uint256", - "name": "_LUSDAmount", + "name": "_ZUSDAmount", "type": "uint256" }, { @@ -917,18 +1118,91 @@ "type": "address" } ], - "name": "withdrawLUSD", + "name": "withdrawZUSD", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_maxFeePercentage", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_ZUSDAmount", + "type": "uint256" + }, + { + "internalType": "address", + "name": "_upperHint", + "type": "address" + }, + { + "internalType": "address", + "name": "_lowerHint", + "type": "address" + } + ], + "name": "withdrawZusdAndConvertToDLLR", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "zeroStaking", + "outputs": [ + { + "internalType": "contract IZEROStaking", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "zeroStakingAddress", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "zusdToken", + "outputs": [ + { + "internalType": "contract IZUSDToken", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, { "stateMutability": "payable", "type": "receive" } ], - "bytecode": "0x608060405234801561001057600080fd5b50600380546001600160a01b031916339081179091556040516000907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a36138f8806100606000396000f3fe6080604052600436106101d35760003560e01c8063741bef1a116100f85780638f32d59b116100905780638f32d59b14610657578063a20baee61461052f578063a3a6401714610680578063a3f4df7e14610695578063ae9187541461071f578063b83f91a214610734578063c6a6cf2014610749578063ea9638bf14610791578063f92d3433146107c9576101da565b8063741bef1a14610544578063761ab22c14610559578063794e57241461056e578063795d26c3146105835780637f7dde4a14610598578063860665b3146105ad57806387eb305d146105e7578063887105d31461062d5780638da5cb5b14610642576101da565b80634ff814431161016b5780634ff814431461036c57806351584ca4146103965780635530273c146103e85780635733d58f1461042957806368647db11461043e5780636c37a4af1461046c5780636f0b0c1c146104ea5780636f30d212146104ff57806372fe25aa1461052f576101da565b806304491fa7146101df5780630e704d50146102225780631184e5f8146102375780631bf435551461027e5780632cdcd722146102a55780632e86bbd8146102fc5780633cc74225146103115780633d83908a146103425780634870dd9a14610357576101da565b366101da57005b600080fd5b3480156101eb57600080fd5b506102206004803603606081101561020257600080fd5b508035906001600160a01b03602082013581169160400135166107de565b005b34801561022e57600080fd5b506102206107f5565b34801561024357600080fd5b506102206004803603608081101561025a57600080fd5b508035906020810135906001600160a01b0360408201358116916060013516610bf0565b34801561028a57600080fd5b50610293610c07565b60408051918252519081900360200190f35b3480156102b157600080fd5b50610220600480360360c08110156102c857600080fd5b506001600160a01b0381358116916020810135916040820135916060810135151591608082013581169160a0013516610c14565b34801561030857600080fd5b50610293610c2c565b34801561031d57600080fd5b50610326610c39565b604080516001600160a01b039092168252519081900360200190f35b34801561034e57600080fd5b50610326610c48565b34801561036357600080fd5b50610293610c57565b34801561037857600080fd5b506102936004803603602081101561038f57600080fd5b5035610c5c565b3480156103a257600080fd5b50610293600480360360e08110156103b957600080fd5b50803590602081013590604081013590606081013515159060808101359060a081013515159060c00135610c6d565b3480156103f457600080fd5b506102206004803603606081101561040b57600080fd5b508035906001600160a01b0360208201358116916040013516610c8a565b34801561043557600080fd5b50610293610c9b565b6102206004803603604081101561045457600080fd5b506001600160a01b0381358116916020013516610ca7565b34801561047857600080fd5b50610220600480360361014081101561049057600080fd5b506001600160a01b038135811691602081013582169160408201358116916060810135821691608082013581169160a081013582169160c082013581169160e0810135821691610100820135811691610120013516610cbd565b3480156104f657600080fd5b5061022061106e565b34801561050b57600080fd5b506102936004803603604081101561052257600080fd5b50803590602001356110ce565b34801561053b57600080fd5b506102936110e1565b34801561055057600080fd5b506103266110ed565b34801561056557600080fd5b506103266110fc565b34801561057a57600080fd5b5061029361110b565b34801561058f57600080fd5b50610293611117565b3480156105a457600080fd5b50610326611218565b610220600480360360808110156105c357600080fd5b508035906020810135906001600160a01b0360408201358116916060013516611227565b3480156105f357600080fd5b50610293600480360360a081101561060a57600080fd5b50803590602081013515159060408101359060608101351515906080013561185c565b34801561063957600080fd5b50610293611875565b34801561064e57600080fd5b50610326611931565b34801561066357600080fd5b5061066c611940565b604080519115158252519081900360200190f35b34801561068c57600080fd5b50610326611951565b3480156106a157600080fd5b506106aa611960565b6040805160208082528351818301528351919283929083019185019080838360005b838110156106e45781810151838201526020016106cc565b50505050905090810190601f1680156107115780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561072b57600080fd5b5061032661198e565b34801561074057600080fd5b5061032661199d565b610220600480360360c081101561075f57600080fd5b5080359060208101359060408101359060608101351515906001600160a01b03608082013581169160a00135166119ac565b610220600480360360608110156107a757600080fd5b506001600160a01b0381358116916020810135821691604090910135166119bb565b3480156107d557600080fd5b506102936119d5565b6107f0336000856000868660006119e0565b505050565b600454600054600a546001600160a01b039283169291821691166108198333611fdd565b60025460408051630fdb11cf60e01b815290516000926001600160a01b031691630fdb11cf91600480830192602092919082900301818787803b15801561085f57600080fd5b505af1158015610873573d6000803e3d6000fd5b505050506040513d602081101561088957600080fd5b50519050610896816120a2565b60408051630b07655760e01b815233600482015290516001600160a01b03861691630b07655791602480830192600092919082900301818387803b1580156108dd57600080fd5b505af11580156108f1573d6000803e3d6000fd5b5050604080516309019aaf60e31b81523360048201529051600093506001600160a01b038816925063480cd57891602480820192602092909190829003018186803b15801561093f57600080fd5b505afa158015610953573d6000803e3d6000fd5b505050506040513d602081101561096957600080fd5b50516040805163d66a255360e01b815233600482015290519192506000916001600160a01b0388169163d66a2553916024808301926020929190829003018186803b1580156109b757600080fd5b505afa1580156109cb573d6000803e3d6000fd5b505050506040513d60208110156109e157600080fd5b50519050610a088433610a0384680ad78ebc5ac620000063ffffffff6120ea16565b61212c565b6000610a19836000846000886121ec565b9050610a2481612277565b60408051631fc5750960e31b815233600482015290516001600160a01b0389169163fe2ba84891602480830192600092919082900301818387803b158015610a6b57600080fd5b505af1158015610a7f573d6000803e3d6000fd5b5050604080516365e89c5760e11b815233600482015290516001600160a01b038b16935063cbd138ae9250602480830192600092919082900301818387803b158015610aca57600080fd5b505af1158015610ade573d6000803e3d6000fd5b50505050336001600160a01b03166000805160206136948339815191526000806000600160405180858152602001848152602001838152602001826002811115610b2457fe5b60ff16815260200194505050505060405180910390a2610b5e868633610b5986680ad78ebc5ac620000063ffffffff6120ea16565b6122be565b600654610b8190879087906001600160a01b0316680ad78ebc5ac62000006122be565b604080516364a197f360e01b81523360048201526024810185905290516001600160a01b038816916364a197f391604480830192600092919082900301818387803b158015610bcf57600080fd5b505af1158015610be3573d6000803e3d6000fd5b5050505050505050505050565b610c0133600085600186868a6119e0565b50505050565b686194049f30f720000081565b610c2486868686868660006119e0565b505050505050565b680ad78ebc5ac620000081565b6001546001600160a01b031681565b6004546001600160a01b031681565b60c881565b6000610c678261239a565b92915050565b6000610c7e888888888888886123b5565b98975050505050505050565b6107f03384600080868660006119e0565b6714d1120d7b16000081565b610cb9336000806000868660006119e0565b5050565b610cc5611940565b610d16576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b610d1f8a6123e8565b610d28896123e8565b610d31886123e8565b610d3a876123e8565b610d43866123e8565b610d4c856123e8565b610d55846123e8565b610d5e836123e8565b610d67826123e8565b610d70816123e8565b600480546001600160a01b03199081166001600160a01b038d81169182179093556000805483168d85161790556001805483168c85161790556005805483168b85161790556006805483168a8516179055600780548316898516179055600280548316888516179055600b80548316878516179055600a80548316868516179055600980548316938516938417905560088054909216909217905560408051918252517f143219c9e69b09e07e095fcc889b43d8f46ca892bba65f08dc3a0050869a5678916020908290030190a1604080516001600160a01b038b16815290517f78f058b189175430c48dc02699e3a0031ea4ff781536dc2fab847de4babdd8829181900360200190a1604080516001600160a01b038a16815290517f5ee0cae2f063ed938bb55046f6a932fb6ae792bf43624806bb90abe68a50be9b9181900360200190a1604080516001600160a01b038916815290517f82966d27eea39b038ee0fa30cd16532bb24f6e65d31cb58fb227aa5766cdcc7f9181900360200190a1604080516001600160a01b038816815290517fcfb07d791fcafc032b35837b50eb84b74df518cf4cc287e8084f47630fa70fa09181900360200190a1604080516001600160a01b038716815290517fe67f36a6e961157d6eff83b91f3af5a62131ceb6f04954ef74f51c1c05e7f88d9181900360200190a1604080516001600160a01b038616815290517f8c537274438aa850a330284665d81a85dd38267d09e4050d416bfc94142db2649181900360200190a1604080516001600160a01b038516815290517f65f4cf077bc01e4742eb5ad98326f6e95b63548ea24b17f8d5e823111fe788009181900360200190a1604080516001600160a01b038416815290517f227eec0ec317af6ab1a9587ffa1c84332522eb4c583a908f89babc05f8f339bd9181900360200190a1604080516001600160a01b038316815290517f756ebc192164c295bba134b5aacd72cc7aff8098a670d1f0a5f6b3a0b4ce67079181900360200190a1611062612497565b50505050505050505050565b6007546040805163b32beb5b60e01b815233600482015290516001600160a01b039092169163b32beb5b9160248082019260009290919082900301818387803b1580156110ba57600080fd5b505af1158015610c01573d6000803e3d6000fd5b60006110da83836124e1565b9392505050565b670de0b6b3a764000081565b6002546001600160a01b031681565b6009546001600160a01b031681565b670f43fc2c04ee000081565b6000805460408051632f5a97e560e11b8152905183926001600160a01b031691635eb52fca916004808301926020929190829003018186803b15801561115c57600080fd5b505afa158015611170573d6000803e3d6000fd5b505050506040513d602081101561118657600080fd5b505160015460408051632f5a97e560e11b815290519293506000926001600160a01b0390921691635eb52fca91600480820192602092909190829003018186803b1580156111d357600080fd5b505afa1580156111e7573d6000803e3d6000fd5b505050506040513d60208110156111fd57600080fd5b50519050611211828263ffffffff61251416565b9250505090565b6000546001600160a01b031681565b61122f6133e7565b50604080516060810182526004546001600160a01b03908116825260005481166020830152600a541691810191909152611267613407565b600260009054906101000a90046001600160a01b03166001600160a01b0316630fdb11cf6040518163ffffffff1660e01b8152600401602060405180830381600087803b1580156112b757600080fd5b505af11580156112cb573d6000803e3d6000fd5b505050506040513d60208110156112e157600080fd5b50518082526000906112f29061256e565b90506112fe878261258b565b825161130a9033612637565b604082018690528061134b5761132a83600001518460400151888a612713565b6020830181905260408301516113459163ffffffff61251416565b60408301525b61135882604001516128c3565b611365826040015161239a565b6060830181905261137257fe5b611385348360600151846000015161290b565b6080830152606082015161139a90349061293d565b60a083015280156113b7576113b28260800151612972565b6113ea565b6113c482608001516129b9565b60006113dd3460018560600151600187600001516121ec565b90506113e881612277565b505b825160408051635d6b480f60e01b81523360048201526001602482015290516001600160a01b0390921691635d6b480f9160448082019260009290919082900301818387803b15801561143c57600080fd5b505af1158015611450573d6000803e3d6000fd5b50508451604080516372423c1760e01b815233600482015234602482015290516001600160a01b0390921693506372423c1792506044808201926020929091908290030181600087803b1580156114a657600080fd5b505af11580156114ba573d6000803e3d6000fd5b505050506040513d60208110156114d057600080fd5b50508251606083015160408051639976cf4560e01b81523360048201526024810192909252516001600160a01b0390921691639976cf45916044808201926020929091908290030181600087803b15801561152a57600080fd5b505af115801561153e573d6000803e3d6000fd5b505050506040513d602081101561155457600080fd5b50508251604080516382fe3eb960e01b815233600482015290516001600160a01b03909216916382fe3eb99160248082019260009290919082900301818387803b1580156115a157600080fd5b505af11580156115b5573d6000803e3d6000fd5b5050845160408051630c7940bd60e11b815233600482015290516001600160a01b0390921693506318f2817a92506024808201926020929091908290030181600087803b15801561160557600080fd5b505af1158015611619573d6000803e3d6000fd5b505050506040513d602081101561162f57600080fd5b505160c0830152600b5460a0830151604080516346f7cf8760e01b815233600482015260248101929092526001600160a01b038881166044840152878116606484015290519216916346f7cf879160848082019260009290919082900301818387803b15801561169e57600080fd5b505af11580156116b2573d6000803e3d6000fd5b50508451604080516315d549f160e01b815233600482015290516001600160a01b0390921693506315d549f192506024808201926020929091908290030181600087803b15801561170257600080fd5b505af1158015611716573d6000803e3d6000fd5b505050506040513d602081101561172c57600080fd5b505160e08301819052604080519182525133917f59cfd0cd754bc5748b6770e94a4ffa5f678d885cb899dcfadc5734edb97c67ab919081900360200190a2611778836020015134612a00565b6117918360200151846040015133898660400151612a90565b602083015160408401516006546117bd9291906001600160a01b0316680ad78ebc5ac620000080612a90565b336001600160a01b03166000805160206136948339815191528360600151348560c0015160006040518085815260200184815260200183815260200182600281111561180557fe5b60ff16815260200194505050505060405180910390a2602080830151604080519182525133927fa55c5f48fd29482ad55f4b59bf070cd1ac1a7132a31f7a136ebe8877ae37e1ff928290030190a250505050505050565b600061186b86868686866121ec565b9695505050505050565b6000805460408051630a7b61df60e11b8152905183926001600160a01b0316916314f6c3be916004808301926020929190829003018186803b1580156118ba57600080fd5b505afa1580156118ce573d6000803e3d6000fd5b505050506040513d60208110156118e457600080fd5b505160015460408051630a7b61df60e11b815290519293506000926001600160a01b03909216916314f6c3be91600480820192602092909190829003018186803b1580156111d357600080fd5b6003546001600160a01b031690565b6003546001600160a01b0316331490565b6008546001600160a01b031681565b60405180604001604052806012815260200171426f72726f7765724f7065726174696f6e7360701b81525081565b600b546001600160a01b031681565b600a546001600160a01b031681565b610c243386868686868c6119e0565b6119c3612b6d565b6107f0836000806000868660006119e0565b6611c37937e0800081565b6119e86133e7565b50604080516060810182526004546001600160a01b03908116825260005481166020830152600a541691810191909152611a2061344c565b600260009054906101000a90046001600160a01b03166001600160a01b0316630fdb11cf6040518163ffffffff1660e01b8152600401602060405180830381600087803b158015611a7057600080fd5b505af1158015611a84573d6000803e3d6000fd5b505050506040513d6020811015611a9a57600080fd5b5051808252600090611aab9061256e565b90508615611ac657611abd848261258b565b611ac688612bb8565b611acf89612bf7565b611ad98989612c3d565b8251611ae5908b611fdd565b336001600160a01b038b161480611b1b57506005546001600160a01b031633148015611b115750600034115b8015611b1b575087155b611b2157fe5b82600001516001600160a01b0316630b0765578b6040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b03168152602001915050600060405180830381600087803b158015611b7d57600080fd5b505af1158015611b91573d6000803e3d6000fd5b50505050611b9f348a612c8f565b15156060840152602083015260408201889052868015611bbd575080155b15611bf857611bd6836000015184604001518a87612713565b61012083018190526040830151611bf29163ffffffff61251416565b60408301525b82600001516001600160a01b031663d66a25538b6040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b158015611c5257600080fd5b505afa158015611c66573d6000803e3d6000fd5b505050506040513d6020811015611c7c57600080fd5b505160808301528251604080516309019aaf60e31b81526001600160a01b038d811660048301529151919092169163480cd578916024808301926020929190829003018186803b158015611ccf57600080fd5b505afa158015611ce3573d6000803e3d6000fd5b505050506040513d6020811015611cf957600080fd5b505160a0830181905260808301518351611d1492919061290b565b8260c0018181525050611d448260a0015183608001518460200151856060015186604001518c88600001516123b5565b60e083015260a0820151891115611d5757fe5b611d63818a8985612cae565b86158015611d715750600088115b15611dc457611d9f611d9a8360400151611d8e8560800151612d22565b9063ffffffff6120ea16565b6128c3565b611db182608001518360400151612d3d565b611dc483604001518b846040015161212c565b611de283600001518b8460200151856060015186604001518c612d94565b610140840152610160830152825160408051630c7940bd60e11b81526001600160a01b038d81166004830152915191909216916318f2817a9160248083019260209291908290030181600087803b158015611e3c57600080fd5b505af1158015611e50573d6000803e3d6000fd5b505050506040513d6020811015611e6657600080fd5b505161018083015260a08201516080830151602084015160608501516040860151600094611e9a949093909290918d612ff4565b600b546040805163015f109360e51b81526001600160a01b038f81166004830152602482018590528b811660448301528a811660648301529151939450911691632be212609160848082019260009290919082900301818387803b158015611f0157600080fd5b505af1158015611f15573d6000803e3d6000fd5b505050508a6001600160a01b0316600080516020613694833981519152846101400151856101600151866101800151600260405180858152602001848152602001838152602001826002811115611f6857fe5b60ff16815260200194505050505060405180910390a2610120830151604080519182525133917fa55c5f48fd29482ad55f4b59bf070cd1ac1a7132a31f7a136ebe8877ae37e1ff919081900360200190a2610be38460200151856040015133866020015187606001518e8e8a60400151613025565b6000826001600160a01b03166321e37801836040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b15801561203557600080fd5b505afa158015612049573d6000803e3d6000fd5b505050506040513d602081101561205f57600080fd5b50519050600181146107f05760405162461bcd60e51b815260040180806020018281038252602e815260200180613666602e913960400191505060405180910390fd5b6120ab8161256e565b156120e75760405162461bcd60e51b81526004018080602001828103825260398152602001806135146039913960400191505060405180910390fd5b50565b60006110da83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506130e0565b80836001600160a01b03166370a08231846040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b15801561218357600080fd5b505afa158015612197573d6000803e3d6000fd5b505050506040513d60208110156121ad57600080fd5b505110156107f05760405162461bcd60e51b815260040180806020018281038252603d8152602001806136f2603d913960400191505060405180910390fd5b6000806121f7611875565b90506000612203611117565b90508661221f5761221a828963ffffffff6120ea16565b61222f565b61222f828963ffffffff61251416565b91508461224b57612246818763ffffffff6120ea16565b61225b565b61225b818763ffffffff61251416565b9050600061226a83838761290b565b9998505050505050505050565b6714d1120d7b1600008110156120e75760405162461bcd60e51b815260040180806020018281038252604981526020018061361d6049913960600191505060405180910390fd5b836001600160a01b03166338d995a8826040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b15801561230457600080fd5b505af1158015612318573d6000803e3d6000fd5b50505050826001600160a01b0316639dc29fac83836040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b15801561237c57600080fd5b505af1158015612390573d6000803e3d6000fd5b5050505050505050565b6000610c6782680ad78ebc5ac620000063ffffffff61251416565b60008060006123c88a8a8a8a8a8a613177565b9150915060006123d983838761290b565b9b9a5050505050505050505050565b6001600160a01b038116612443576040805162461bcd60e51b815260206004820152601e60248201527f4163636f756e742063616e6e6f74206265207a65726f20616464726573730000604482015290519081900360640190fd5b803b80610cb9576040805162461bcd60e51b815260206004820181905260248201527f4163636f756e7420636f64652073697a652063616e6e6f74206265207a65726f604482015290519081900360640190fd5b6003546040516000916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600380546001600160a01b0319169055565b60008061250c670de0b6b3a7640000612500858763ffffffff6131d216565b9063ffffffff61322b16565b949350505050565b6000828201838110156110da576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b60008061257a8361326d565b6714d1120d7b160000119392505050565b80156125dd57670de0b6b3a76400008211156125d85760405162461bcd60e51b81526004018080602001828103825260328152602001806135846032913960400191505060405180910390fd5b610cb9565b6611c37937e0800082108015906125fc5750670de0b6b3a76400008211155b610cb95760405162461bcd60e51b815260040180806020018281038252603081526020018061381e6030913960400191505060405180910390fd5b6000826001600160a01b03166321e37801836040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b15801561268f57600080fd5b505afa1580156126a3573d6000803e3d6000fd5b505050506040513d60208110156126b957600080fd5b5051905060018114156107f0576040805162461bcd60e51b815260206004820152601c60248201527f426f72726f7765724f70733a2054726f76652069732061637469766500000000604482015290519081900360640190fd5b6000846001600160a01b0316635dba4c4a6040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561275057600080fd5b505af1158015612764573d6000803e3d6000fd5b505050506000856001600160a01b031663631203b0856040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b1580156127ae57600080fd5b505afa1580156127c2573d6000803e3d6000fd5b505050506040513d60208110156127d857600080fd5b505190506127e7818585613291565b60085460408051634677ffb360e01b81526004810184905290516001600160a01b0390921691634677ffb39160248082019260009290919082900301818387803b15801561283457600080fd5b505af1158015612848573d6000803e3d6000fd5b5050600954604080516340c10f1960e01b81526001600160a01b03928316600482015260248101869052905191891693506340c10f19925060448082019260009290919082900301818387803b1580156128a157600080fd5b505af11580156128b5573d6000803e3d6000fd5b509298975050505050505050565b686194049f30f72000008110156120e75760405162461bcd60e51b815260040180806020018281038252603a815260200180613778603a913960400191505060405180910390fd5b6000821561293257600061292984612500878663ffffffff6131d216565b91506110da9050565b506000199392505050565b6000811561296957612962826125008568056bc75e2d6310000063ffffffff6131d216565b9050610c67565b50600019610c67565b6714d1120d7b1600008110156120e75760405162461bcd60e51b815260040180806020018281038252603781526020018061354d6037913960400191505060405180910390fd5b670f43fc2c04ee00008110156120e75760405162461bcd60e51b815260040180806020018281038252604981526020018061372f6049913960600191505060405180910390fd5b6040516000906001600160a01b0384169083908381818185875af1925050503d8060008114612a4b576040519150601f19603f3d011682016040523d82523d6000602084013e612a50565b606091505b50509050806107f05760405162461bcd60e51b815260040180806020018281038252602d8152602001806134b7602d913960400191505060405180910390fd5b846001600160a01b031663cfb9329a826040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b158015612ad657600080fd5b505af1158015612aea573d6000803e3d6000fd5b50505050836001600160a01b03166340c10f1984846040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b158015612b4e57600080fd5b505af1158015612b62573d6000803e3d6000fd5b505050505050505050565b6005546001600160a01b03163314612bb65760405162461bcd60e51b81526004018080602001828103825260298152602001806137f56029913960400191505060405180910390fd5b565b600081116120e75760405162461bcd60e51b815260040180806020018281038252603781526020018061384e6037913960400191505060405180910390fd5b341580612c02575080155b6120e75760405162461bcd60e51b81526004018080602001828103825260308152602001806134e46030913960400191505060405180910390fd5b34151580612c4a57508115155b80612c5457508015155b610cb95760405162461bcd60e51b81526004018080602001828103825260468152602001806135b66046913960600191505060405180910390fd5b6000808315612ca357508290506001612ca7565b8291505b9250929050565b8315612ce757612cbd83613306565b8115612ce257612cd08160e00151612972565b612ce28160e001518260c00151613343565b610c01565b612cf48160e001516129b9565b612d118160200151826060015183604001518585600001516121ec565b6101008201819052610c0190612277565b6000610c6782680ad78ebc5ac620000063ffffffff6120ea16565b612d5682680ad78ebc5ac620000063ffffffff6120ea16565b811115610cb95760405162461bcd60e51b81526004018080602001828103825260438152602001806137b26043913960600191505060405180910390fd5b600080600085612e2f57886001600160a01b031663d3d6f84389896040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050602060405180830381600087803b158015612dfe57600080fd5b505af1158015612e12573d6000803e3d6000fd5b505050506040513d6020811015612e2857600080fd5b5051612ebc565b886001600160a01b03166372423c1789896040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050602060405180830381600087803b158015612e8f57600080fd5b505af1158015612ea3573d6000803e3d6000fd5b505050506040513d6020811015612eb957600080fd5b50515b9050600084612f5657896001600160a01b03166312610e928a886040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050602060405180830381600087803b158015612f2557600080fd5b505af1158015612f39573d6000803e3d6000fd5b505050506040513d6020811015612f4f57600080fd5b5051612fe3565b896001600160a01b0316639976cf458a886040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050602060405180830381600087803b158015612fb657600080fd5b505af1158015612fca573d6000803e3d6000fd5b505050506040513d6020811015612fe057600080fd5b50515b919a91995090975050505050505050565b6000806000613007898989898989613177565b915091506000613017838361293d565b9a9950505050505050505050565b811561303d576130388888888685612a90565b613049565b613049888888866122be565b831561305e576130598886612a00565b612390565b876001600160a01b03166364a197f387876040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b1580156130be57600080fd5b505af11580156130d2573d6000803e3d6000fd5b505050505050505050505050565b6000818484111561316f5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561313457818101518382015260200161311c565b50505050905090810190601f1680156131615780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b600080878786613196576131918a8963ffffffff6120ea16565b6131a6565b6131a68a8963ffffffff61251416565b9150846131c2576131bd898763ffffffff6120ea16565b612fe3565b612fe3898763ffffffff61251416565b6000826131e157506000610c67565b828202828482816131ee57fe5b04146110da5760405162461bcd60e51b81526004018080602001828103825260218152602001806135fc6021913960400191505060405180910390fd5b60006110da83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250613382565b600080613278611875565b90506000613284611117565b905061250c82828661290b565b60006132af8361250086670de0b6b3a764000063ffffffff6131d216565b905081811115610c01576040805162461bcd60e51b815260206004820152601d60248201527f4665652065786365656465642070726f7669646564206d6178696d756d000000604482015290519081900360640190fd5b80156120e75760405162461bcd60e51b815260040180806020018281038252603e8152602001806136b4603e913960400191505060405180910390fd5b80821015610cb95760405162461bcd60e51b815260040180806020018281038252603e815260200180613885603e913960400191505060405180910390fd5b600081836133d15760405162461bcd60e51b815260206004820181815283516024840152835190928392604490910191908501908083836000831561313457818101518382015260200161311c565b5060008385816133dd57fe5b0495945050505050565b604080516060810182526000808252602082018190529181019190915290565b60405180610100016040528060008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081525090565b604051806101a00160405280600081526020016000815260200160008152602001600015158152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152509056fe426f72726f7765724f70733a2053656e64696e672045544820746f20416374697665506f6f6c206661696c6564426f72726f7765724f7065726174696f6e733a2043616e6e6f7420776974686472617720616e642061646420636f6c6c426f72726f7765724f70733a204f7065726174696f6e206e6f74207065726d697474656420647572696e67205265636f76657279204d6f6465426f72726f7765724f70733a204f7065726174696f6e206d757374206c656176652074726f7665207769746820494352203e3d204343524d6178206665652070657263656e74616765206d757374206c657373207468616e206f7220657175616c20746f2031303025426f72726f7765724f70733a205468657265206d75737420626520656974686572206120636f6c6c61746572616c206368616e6765206f7220612064656274206368616e6765536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77426f72726f7765724f70733a20416e206f7065726174696f6e207468617420776f756c6420726573756c7420696e20544352203c20434352206973206e6f74207065726d6974746564426f72726f7765724f70733a2054726f766520646f6573206e6f74206578697374206f7220697320636c6f736564c3770d654ed33aeea6bf11ac8ef05d02a6a04ed4686dd2f624d853bbec43cc8b426f72726f7765724f70733a20436f6c6c61746572616c207769746864726177616c206e6f74207065726d6974746564205265636f76657279204d6f6465426f72726f7765724f70733a2043616c6c657220646f65736e74206861766520656e6f756768204c55534420746f206d616b652072657061796d656e74426f72726f7765724f70733a20416e206f7065726174696f6e207468617420776f756c6420726573756c7420696e20494352203c204d4352206973206e6f74207065726d6974746564426f72726f7765724f70733a2054726f76652773206e65742064656274206d7573742062652067726561746572207468616e206d696e696d756d426f72726f7765724f70733a20416d6f756e7420726570616964206d757374206e6f74206265206c6172676572207468616e207468652054726f766527732064656274426f72726f7765724f70733a2043616c6c6572206973206e6f742053746162696c69747920506f6f6c4d6178206665652070657263656e74616765206d757374206265206265747765656e20302e352520616e642031303025426f72726f7765724f70733a204465627420696e637265617365207265717569726573206e6f6e2d7a65726f20646562744368616e6765426f72726f7765724f70733a2043616e6e6f7420646563726561736520796f75722054726f766527732049435220696e205265636f76657279204d6f6465a26469706673582212204e9a7242c14ef1f96515ad1cb1224ef272007b885dd1355fb753df22e7b8713864736f6c634300060b0033", - "deployedBytecode": "0x6080604052600436106101d35760003560e01c8063741bef1a116100f85780638f32d59b116100905780638f32d59b14610657578063a20baee61461052f578063a3a6401714610680578063a3f4df7e14610695578063ae9187541461071f578063b83f91a214610734578063c6a6cf2014610749578063ea9638bf14610791578063f92d3433146107c9576101da565b8063741bef1a14610544578063761ab22c14610559578063794e57241461056e578063795d26c3146105835780637f7dde4a14610598578063860665b3146105ad57806387eb305d146105e7578063887105d31461062d5780638da5cb5b14610642576101da565b80634ff814431161016b5780634ff814431461036c57806351584ca4146103965780635530273c146103e85780635733d58f1461042957806368647db11461043e5780636c37a4af1461046c5780636f0b0c1c146104ea5780636f30d212146104ff57806372fe25aa1461052f576101da565b806304491fa7146101df5780630e704d50146102225780631184e5f8146102375780631bf435551461027e5780632cdcd722146102a55780632e86bbd8146102fc5780633cc74225146103115780633d83908a146103425780634870dd9a14610357576101da565b366101da57005b600080fd5b3480156101eb57600080fd5b506102206004803603606081101561020257600080fd5b508035906001600160a01b03602082013581169160400135166107de565b005b34801561022e57600080fd5b506102206107f5565b34801561024357600080fd5b506102206004803603608081101561025a57600080fd5b508035906020810135906001600160a01b0360408201358116916060013516610bf0565b34801561028a57600080fd5b50610293610c07565b60408051918252519081900360200190f35b3480156102b157600080fd5b50610220600480360360c08110156102c857600080fd5b506001600160a01b0381358116916020810135916040820135916060810135151591608082013581169160a0013516610c14565b34801561030857600080fd5b50610293610c2c565b34801561031d57600080fd5b50610326610c39565b604080516001600160a01b039092168252519081900360200190f35b34801561034e57600080fd5b50610326610c48565b34801561036357600080fd5b50610293610c57565b34801561037857600080fd5b506102936004803603602081101561038f57600080fd5b5035610c5c565b3480156103a257600080fd5b50610293600480360360e08110156103b957600080fd5b50803590602081013590604081013590606081013515159060808101359060a081013515159060c00135610c6d565b3480156103f457600080fd5b506102206004803603606081101561040b57600080fd5b508035906001600160a01b0360208201358116916040013516610c8a565b34801561043557600080fd5b50610293610c9b565b6102206004803603604081101561045457600080fd5b506001600160a01b0381358116916020013516610ca7565b34801561047857600080fd5b50610220600480360361014081101561049057600080fd5b506001600160a01b038135811691602081013582169160408201358116916060810135821691608082013581169160a081013582169160c082013581169160e0810135821691610100820135811691610120013516610cbd565b3480156104f657600080fd5b5061022061106e565b34801561050b57600080fd5b506102936004803603604081101561052257600080fd5b50803590602001356110ce565b34801561053b57600080fd5b506102936110e1565b34801561055057600080fd5b506103266110ed565b34801561056557600080fd5b506103266110fc565b34801561057a57600080fd5b5061029361110b565b34801561058f57600080fd5b50610293611117565b3480156105a457600080fd5b50610326611218565b610220600480360360808110156105c357600080fd5b508035906020810135906001600160a01b0360408201358116916060013516611227565b3480156105f357600080fd5b50610293600480360360a081101561060a57600080fd5b50803590602081013515159060408101359060608101351515906080013561185c565b34801561063957600080fd5b50610293611875565b34801561064e57600080fd5b50610326611931565b34801561066357600080fd5b5061066c611940565b604080519115158252519081900360200190f35b34801561068c57600080fd5b50610326611951565b3480156106a157600080fd5b506106aa611960565b6040805160208082528351818301528351919283929083019185019080838360005b838110156106e45781810151838201526020016106cc565b50505050905090810190601f1680156107115780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561072b57600080fd5b5061032661198e565b34801561074057600080fd5b5061032661199d565b610220600480360360c081101561075f57600080fd5b5080359060208101359060408101359060608101351515906001600160a01b03608082013581169160a00135166119ac565b610220600480360360608110156107a757600080fd5b506001600160a01b0381358116916020810135821691604090910135166119bb565b3480156107d557600080fd5b506102936119d5565b6107f0336000856000868660006119e0565b505050565b600454600054600a546001600160a01b039283169291821691166108198333611fdd565b60025460408051630fdb11cf60e01b815290516000926001600160a01b031691630fdb11cf91600480830192602092919082900301818787803b15801561085f57600080fd5b505af1158015610873573d6000803e3d6000fd5b505050506040513d602081101561088957600080fd5b50519050610896816120a2565b60408051630b07655760e01b815233600482015290516001600160a01b03861691630b07655791602480830192600092919082900301818387803b1580156108dd57600080fd5b505af11580156108f1573d6000803e3d6000fd5b5050604080516309019aaf60e31b81523360048201529051600093506001600160a01b038816925063480cd57891602480820192602092909190829003018186803b15801561093f57600080fd5b505afa158015610953573d6000803e3d6000fd5b505050506040513d602081101561096957600080fd5b50516040805163d66a255360e01b815233600482015290519192506000916001600160a01b0388169163d66a2553916024808301926020929190829003018186803b1580156109b757600080fd5b505afa1580156109cb573d6000803e3d6000fd5b505050506040513d60208110156109e157600080fd5b50519050610a088433610a0384680ad78ebc5ac620000063ffffffff6120ea16565b61212c565b6000610a19836000846000886121ec565b9050610a2481612277565b60408051631fc5750960e31b815233600482015290516001600160a01b0389169163fe2ba84891602480830192600092919082900301818387803b158015610a6b57600080fd5b505af1158015610a7f573d6000803e3d6000fd5b5050604080516365e89c5760e11b815233600482015290516001600160a01b038b16935063cbd138ae9250602480830192600092919082900301818387803b158015610aca57600080fd5b505af1158015610ade573d6000803e3d6000fd5b50505050336001600160a01b03166000805160206136948339815191526000806000600160405180858152602001848152602001838152602001826002811115610b2457fe5b60ff16815260200194505050505060405180910390a2610b5e868633610b5986680ad78ebc5ac620000063ffffffff6120ea16565b6122be565b600654610b8190879087906001600160a01b0316680ad78ebc5ac62000006122be565b604080516364a197f360e01b81523360048201526024810185905290516001600160a01b038816916364a197f391604480830192600092919082900301818387803b158015610bcf57600080fd5b505af1158015610be3573d6000803e3d6000fd5b5050505050505050505050565b610c0133600085600186868a6119e0565b50505050565b686194049f30f720000081565b610c2486868686868660006119e0565b505050505050565b680ad78ebc5ac620000081565b6001546001600160a01b031681565b6004546001600160a01b031681565b60c881565b6000610c678261239a565b92915050565b6000610c7e888888888888886123b5565b98975050505050505050565b6107f03384600080868660006119e0565b6714d1120d7b16000081565b610cb9336000806000868660006119e0565b5050565b610cc5611940565b610d16576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b610d1f8a6123e8565b610d28896123e8565b610d31886123e8565b610d3a876123e8565b610d43866123e8565b610d4c856123e8565b610d55846123e8565b610d5e836123e8565b610d67826123e8565b610d70816123e8565b600480546001600160a01b03199081166001600160a01b038d81169182179093556000805483168d85161790556001805483168c85161790556005805483168b85161790556006805483168a8516179055600780548316898516179055600280548316888516179055600b80548316878516179055600a80548316868516179055600980548316938516938417905560088054909216909217905560408051918252517f143219c9e69b09e07e095fcc889b43d8f46ca892bba65f08dc3a0050869a5678916020908290030190a1604080516001600160a01b038b16815290517f78f058b189175430c48dc02699e3a0031ea4ff781536dc2fab847de4babdd8829181900360200190a1604080516001600160a01b038a16815290517f5ee0cae2f063ed938bb55046f6a932fb6ae792bf43624806bb90abe68a50be9b9181900360200190a1604080516001600160a01b038916815290517f82966d27eea39b038ee0fa30cd16532bb24f6e65d31cb58fb227aa5766cdcc7f9181900360200190a1604080516001600160a01b038816815290517fcfb07d791fcafc032b35837b50eb84b74df518cf4cc287e8084f47630fa70fa09181900360200190a1604080516001600160a01b038716815290517fe67f36a6e961157d6eff83b91f3af5a62131ceb6f04954ef74f51c1c05e7f88d9181900360200190a1604080516001600160a01b038616815290517f8c537274438aa850a330284665d81a85dd38267d09e4050d416bfc94142db2649181900360200190a1604080516001600160a01b038516815290517f65f4cf077bc01e4742eb5ad98326f6e95b63548ea24b17f8d5e823111fe788009181900360200190a1604080516001600160a01b038416815290517f227eec0ec317af6ab1a9587ffa1c84332522eb4c583a908f89babc05f8f339bd9181900360200190a1604080516001600160a01b038316815290517f756ebc192164c295bba134b5aacd72cc7aff8098a670d1f0a5f6b3a0b4ce67079181900360200190a1611062612497565b50505050505050505050565b6007546040805163b32beb5b60e01b815233600482015290516001600160a01b039092169163b32beb5b9160248082019260009290919082900301818387803b1580156110ba57600080fd5b505af1158015610c01573d6000803e3d6000fd5b60006110da83836124e1565b9392505050565b670de0b6b3a764000081565b6002546001600160a01b031681565b6009546001600160a01b031681565b670f43fc2c04ee000081565b6000805460408051632f5a97e560e11b8152905183926001600160a01b031691635eb52fca916004808301926020929190829003018186803b15801561115c57600080fd5b505afa158015611170573d6000803e3d6000fd5b505050506040513d602081101561118657600080fd5b505160015460408051632f5a97e560e11b815290519293506000926001600160a01b0390921691635eb52fca91600480820192602092909190829003018186803b1580156111d357600080fd5b505afa1580156111e7573d6000803e3d6000fd5b505050506040513d60208110156111fd57600080fd5b50519050611211828263ffffffff61251416565b9250505090565b6000546001600160a01b031681565b61122f6133e7565b50604080516060810182526004546001600160a01b03908116825260005481166020830152600a541691810191909152611267613407565b600260009054906101000a90046001600160a01b03166001600160a01b0316630fdb11cf6040518163ffffffff1660e01b8152600401602060405180830381600087803b1580156112b757600080fd5b505af11580156112cb573d6000803e3d6000fd5b505050506040513d60208110156112e157600080fd5b50518082526000906112f29061256e565b90506112fe878261258b565b825161130a9033612637565b604082018690528061134b5761132a83600001518460400151888a612713565b6020830181905260408301516113459163ffffffff61251416565b60408301525b61135882604001516128c3565b611365826040015161239a565b6060830181905261137257fe5b611385348360600151846000015161290b565b6080830152606082015161139a90349061293d565b60a083015280156113b7576113b28260800151612972565b6113ea565b6113c482608001516129b9565b60006113dd3460018560600151600187600001516121ec565b90506113e881612277565b505b825160408051635d6b480f60e01b81523360048201526001602482015290516001600160a01b0390921691635d6b480f9160448082019260009290919082900301818387803b15801561143c57600080fd5b505af1158015611450573d6000803e3d6000fd5b50508451604080516372423c1760e01b815233600482015234602482015290516001600160a01b0390921693506372423c1792506044808201926020929091908290030181600087803b1580156114a657600080fd5b505af11580156114ba573d6000803e3d6000fd5b505050506040513d60208110156114d057600080fd5b50508251606083015160408051639976cf4560e01b81523360048201526024810192909252516001600160a01b0390921691639976cf45916044808201926020929091908290030181600087803b15801561152a57600080fd5b505af115801561153e573d6000803e3d6000fd5b505050506040513d602081101561155457600080fd5b50508251604080516382fe3eb960e01b815233600482015290516001600160a01b03909216916382fe3eb99160248082019260009290919082900301818387803b1580156115a157600080fd5b505af11580156115b5573d6000803e3d6000fd5b5050845160408051630c7940bd60e11b815233600482015290516001600160a01b0390921693506318f2817a92506024808201926020929091908290030181600087803b15801561160557600080fd5b505af1158015611619573d6000803e3d6000fd5b505050506040513d602081101561162f57600080fd5b505160c0830152600b5460a0830151604080516346f7cf8760e01b815233600482015260248101929092526001600160a01b038881166044840152878116606484015290519216916346f7cf879160848082019260009290919082900301818387803b15801561169e57600080fd5b505af11580156116b2573d6000803e3d6000fd5b50508451604080516315d549f160e01b815233600482015290516001600160a01b0390921693506315d549f192506024808201926020929091908290030181600087803b15801561170257600080fd5b505af1158015611716573d6000803e3d6000fd5b505050506040513d602081101561172c57600080fd5b505160e08301819052604080519182525133917f59cfd0cd754bc5748b6770e94a4ffa5f678d885cb899dcfadc5734edb97c67ab919081900360200190a2611778836020015134612a00565b6117918360200151846040015133898660400151612a90565b602083015160408401516006546117bd9291906001600160a01b0316680ad78ebc5ac620000080612a90565b336001600160a01b03166000805160206136948339815191528360600151348560c0015160006040518085815260200184815260200183815260200182600281111561180557fe5b60ff16815260200194505050505060405180910390a2602080830151604080519182525133927fa55c5f48fd29482ad55f4b59bf070cd1ac1a7132a31f7a136ebe8877ae37e1ff928290030190a250505050505050565b600061186b86868686866121ec565b9695505050505050565b6000805460408051630a7b61df60e11b8152905183926001600160a01b0316916314f6c3be916004808301926020929190829003018186803b1580156118ba57600080fd5b505afa1580156118ce573d6000803e3d6000fd5b505050506040513d60208110156118e457600080fd5b505160015460408051630a7b61df60e11b815290519293506000926001600160a01b03909216916314f6c3be91600480820192602092909190829003018186803b1580156111d357600080fd5b6003546001600160a01b031690565b6003546001600160a01b0316331490565b6008546001600160a01b031681565b60405180604001604052806012815260200171426f72726f7765724f7065726174696f6e7360701b81525081565b600b546001600160a01b031681565b600a546001600160a01b031681565b610c243386868686868c6119e0565b6119c3612b6d565b6107f0836000806000868660006119e0565b6611c37937e0800081565b6119e86133e7565b50604080516060810182526004546001600160a01b03908116825260005481166020830152600a541691810191909152611a2061344c565b600260009054906101000a90046001600160a01b03166001600160a01b0316630fdb11cf6040518163ffffffff1660e01b8152600401602060405180830381600087803b158015611a7057600080fd5b505af1158015611a84573d6000803e3d6000fd5b505050506040513d6020811015611a9a57600080fd5b5051808252600090611aab9061256e565b90508615611ac657611abd848261258b565b611ac688612bb8565b611acf89612bf7565b611ad98989612c3d565b8251611ae5908b611fdd565b336001600160a01b038b161480611b1b57506005546001600160a01b031633148015611b115750600034115b8015611b1b575087155b611b2157fe5b82600001516001600160a01b0316630b0765578b6040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b03168152602001915050600060405180830381600087803b158015611b7d57600080fd5b505af1158015611b91573d6000803e3d6000fd5b50505050611b9f348a612c8f565b15156060840152602083015260408201889052868015611bbd575080155b15611bf857611bd6836000015184604001518a87612713565b61012083018190526040830151611bf29163ffffffff61251416565b60408301525b82600001516001600160a01b031663d66a25538b6040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b158015611c5257600080fd5b505afa158015611c66573d6000803e3d6000fd5b505050506040513d6020811015611c7c57600080fd5b505160808301528251604080516309019aaf60e31b81526001600160a01b038d811660048301529151919092169163480cd578916024808301926020929190829003018186803b158015611ccf57600080fd5b505afa158015611ce3573d6000803e3d6000fd5b505050506040513d6020811015611cf957600080fd5b505160a0830181905260808301518351611d1492919061290b565b8260c0018181525050611d448260a0015183608001518460200151856060015186604001518c88600001516123b5565b60e083015260a0820151891115611d5757fe5b611d63818a8985612cae565b86158015611d715750600088115b15611dc457611d9f611d9a8360400151611d8e8560800151612d22565b9063ffffffff6120ea16565b6128c3565b611db182608001518360400151612d3d565b611dc483604001518b846040015161212c565b611de283600001518b8460200151856060015186604001518c612d94565b610140840152610160830152825160408051630c7940bd60e11b81526001600160a01b038d81166004830152915191909216916318f2817a9160248083019260209291908290030181600087803b158015611e3c57600080fd5b505af1158015611e50573d6000803e3d6000fd5b505050506040513d6020811015611e6657600080fd5b505161018083015260a08201516080830151602084015160608501516040860151600094611e9a949093909290918d612ff4565b600b546040805163015f109360e51b81526001600160a01b038f81166004830152602482018590528b811660448301528a811660648301529151939450911691632be212609160848082019260009290919082900301818387803b158015611f0157600080fd5b505af1158015611f15573d6000803e3d6000fd5b505050508a6001600160a01b0316600080516020613694833981519152846101400151856101600151866101800151600260405180858152602001848152602001838152602001826002811115611f6857fe5b60ff16815260200194505050505060405180910390a2610120830151604080519182525133917fa55c5f48fd29482ad55f4b59bf070cd1ac1a7132a31f7a136ebe8877ae37e1ff919081900360200190a2610be38460200151856040015133866020015187606001518e8e8a60400151613025565b6000826001600160a01b03166321e37801836040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b15801561203557600080fd5b505afa158015612049573d6000803e3d6000fd5b505050506040513d602081101561205f57600080fd5b50519050600181146107f05760405162461bcd60e51b815260040180806020018281038252602e815260200180613666602e913960400191505060405180910390fd5b6120ab8161256e565b156120e75760405162461bcd60e51b81526004018080602001828103825260398152602001806135146039913960400191505060405180910390fd5b50565b60006110da83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506130e0565b80836001600160a01b03166370a08231846040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b15801561218357600080fd5b505afa158015612197573d6000803e3d6000fd5b505050506040513d60208110156121ad57600080fd5b505110156107f05760405162461bcd60e51b815260040180806020018281038252603d8152602001806136f2603d913960400191505060405180910390fd5b6000806121f7611875565b90506000612203611117565b90508661221f5761221a828963ffffffff6120ea16565b61222f565b61222f828963ffffffff61251416565b91508461224b57612246818763ffffffff6120ea16565b61225b565b61225b818763ffffffff61251416565b9050600061226a83838761290b565b9998505050505050505050565b6714d1120d7b1600008110156120e75760405162461bcd60e51b815260040180806020018281038252604981526020018061361d6049913960600191505060405180910390fd5b836001600160a01b03166338d995a8826040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b15801561230457600080fd5b505af1158015612318573d6000803e3d6000fd5b50505050826001600160a01b0316639dc29fac83836040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b15801561237c57600080fd5b505af1158015612390573d6000803e3d6000fd5b5050505050505050565b6000610c6782680ad78ebc5ac620000063ffffffff61251416565b60008060006123c88a8a8a8a8a8a613177565b9150915060006123d983838761290b565b9b9a5050505050505050505050565b6001600160a01b038116612443576040805162461bcd60e51b815260206004820152601e60248201527f4163636f756e742063616e6e6f74206265207a65726f20616464726573730000604482015290519081900360640190fd5b803b80610cb9576040805162461bcd60e51b815260206004820181905260248201527f4163636f756e7420636f64652073697a652063616e6e6f74206265207a65726f604482015290519081900360640190fd5b6003546040516000916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600380546001600160a01b0319169055565b60008061250c670de0b6b3a7640000612500858763ffffffff6131d216565b9063ffffffff61322b16565b949350505050565b6000828201838110156110da576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b60008061257a8361326d565b6714d1120d7b160000119392505050565b80156125dd57670de0b6b3a76400008211156125d85760405162461bcd60e51b81526004018080602001828103825260328152602001806135846032913960400191505060405180910390fd5b610cb9565b6611c37937e0800082108015906125fc5750670de0b6b3a76400008211155b610cb95760405162461bcd60e51b815260040180806020018281038252603081526020018061381e6030913960400191505060405180910390fd5b6000826001600160a01b03166321e37801836040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b15801561268f57600080fd5b505afa1580156126a3573d6000803e3d6000fd5b505050506040513d60208110156126b957600080fd5b5051905060018114156107f0576040805162461bcd60e51b815260206004820152601c60248201527f426f72726f7765724f70733a2054726f76652069732061637469766500000000604482015290519081900360640190fd5b6000846001600160a01b0316635dba4c4a6040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561275057600080fd5b505af1158015612764573d6000803e3d6000fd5b505050506000856001600160a01b031663631203b0856040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b1580156127ae57600080fd5b505afa1580156127c2573d6000803e3d6000fd5b505050506040513d60208110156127d857600080fd5b505190506127e7818585613291565b60085460408051634677ffb360e01b81526004810184905290516001600160a01b0390921691634677ffb39160248082019260009290919082900301818387803b15801561283457600080fd5b505af1158015612848573d6000803e3d6000fd5b5050600954604080516340c10f1960e01b81526001600160a01b03928316600482015260248101869052905191891693506340c10f19925060448082019260009290919082900301818387803b1580156128a157600080fd5b505af11580156128b5573d6000803e3d6000fd5b509298975050505050505050565b686194049f30f72000008110156120e75760405162461bcd60e51b815260040180806020018281038252603a815260200180613778603a913960400191505060405180910390fd5b6000821561293257600061292984612500878663ffffffff6131d216565b91506110da9050565b506000199392505050565b6000811561296957612962826125008568056bc75e2d6310000063ffffffff6131d216565b9050610c67565b50600019610c67565b6714d1120d7b1600008110156120e75760405162461bcd60e51b815260040180806020018281038252603781526020018061354d6037913960400191505060405180910390fd5b670f43fc2c04ee00008110156120e75760405162461bcd60e51b815260040180806020018281038252604981526020018061372f6049913960600191505060405180910390fd5b6040516000906001600160a01b0384169083908381818185875af1925050503d8060008114612a4b576040519150601f19603f3d011682016040523d82523d6000602084013e612a50565b606091505b50509050806107f05760405162461bcd60e51b815260040180806020018281038252602d8152602001806134b7602d913960400191505060405180910390fd5b846001600160a01b031663cfb9329a826040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b158015612ad657600080fd5b505af1158015612aea573d6000803e3d6000fd5b50505050836001600160a01b03166340c10f1984846040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b158015612b4e57600080fd5b505af1158015612b62573d6000803e3d6000fd5b505050505050505050565b6005546001600160a01b03163314612bb65760405162461bcd60e51b81526004018080602001828103825260298152602001806137f56029913960400191505060405180910390fd5b565b600081116120e75760405162461bcd60e51b815260040180806020018281038252603781526020018061384e6037913960400191505060405180910390fd5b341580612c02575080155b6120e75760405162461bcd60e51b81526004018080602001828103825260308152602001806134e46030913960400191505060405180910390fd5b34151580612c4a57508115155b80612c5457508015155b610cb95760405162461bcd60e51b81526004018080602001828103825260468152602001806135b66046913960600191505060405180910390fd5b6000808315612ca357508290506001612ca7565b8291505b9250929050565b8315612ce757612cbd83613306565b8115612ce257612cd08160e00151612972565b612ce28160e001518260c00151613343565b610c01565b612cf48160e001516129b9565b612d118160200151826060015183604001518585600001516121ec565b6101008201819052610c0190612277565b6000610c6782680ad78ebc5ac620000063ffffffff6120ea16565b612d5682680ad78ebc5ac620000063ffffffff6120ea16565b811115610cb95760405162461bcd60e51b81526004018080602001828103825260438152602001806137b26043913960600191505060405180910390fd5b600080600085612e2f57886001600160a01b031663d3d6f84389896040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050602060405180830381600087803b158015612dfe57600080fd5b505af1158015612e12573d6000803e3d6000fd5b505050506040513d6020811015612e2857600080fd5b5051612ebc565b886001600160a01b03166372423c1789896040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050602060405180830381600087803b158015612e8f57600080fd5b505af1158015612ea3573d6000803e3d6000fd5b505050506040513d6020811015612eb957600080fd5b50515b9050600084612f5657896001600160a01b03166312610e928a886040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050602060405180830381600087803b158015612f2557600080fd5b505af1158015612f39573d6000803e3d6000fd5b505050506040513d6020811015612f4f57600080fd5b5051612fe3565b896001600160a01b0316639976cf458a886040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050602060405180830381600087803b158015612fb657600080fd5b505af1158015612fca573d6000803e3d6000fd5b505050506040513d6020811015612fe057600080fd5b50515b919a91995090975050505050505050565b6000806000613007898989898989613177565b915091506000613017838361293d565b9a9950505050505050505050565b811561303d576130388888888685612a90565b613049565b613049888888866122be565b831561305e576130598886612a00565b612390565b876001600160a01b03166364a197f387876040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b1580156130be57600080fd5b505af11580156130d2573d6000803e3d6000fd5b505050505050505050505050565b6000818484111561316f5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561313457818101518382015260200161311c565b50505050905090810190601f1680156131615780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b600080878786613196576131918a8963ffffffff6120ea16565b6131a6565b6131a68a8963ffffffff61251416565b9150846131c2576131bd898763ffffffff6120ea16565b612fe3565b612fe3898763ffffffff61251416565b6000826131e157506000610c67565b828202828482816131ee57fe5b04146110da5760405162461bcd60e51b81526004018080602001828103825260218152602001806135fc6021913960400191505060405180910390fd5b60006110da83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250613382565b600080613278611875565b90506000613284611117565b905061250c82828661290b565b60006132af8361250086670de0b6b3a764000063ffffffff6131d216565b905081811115610c01576040805162461bcd60e51b815260206004820152601d60248201527f4665652065786365656465642070726f7669646564206d6178696d756d000000604482015290519081900360640190fd5b80156120e75760405162461bcd60e51b815260040180806020018281038252603e8152602001806136b4603e913960400191505060405180910390fd5b80821015610cb95760405162461bcd60e51b815260040180806020018281038252603e815260200180613885603e913960400191505060405180910390fd5b600081836133d15760405162461bcd60e51b815260206004820181815283516024840152835190928392604490910191908501908083836000831561313457818101518382015260200161311c565b5060008385816133dd57fe5b0495945050505050565b604080516060810182526000808252602082018190529181019190915290565b60405180610100016040528060008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081525090565b604051806101a00160405280600081526020016000815260200160008152602001600015158152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152509056fe426f72726f7765724f70733a2053656e64696e672045544820746f20416374697665506f6f6c206661696c6564426f72726f7765724f7065726174696f6e733a2043616e6e6f7420776974686472617720616e642061646420636f6c6c426f72726f7765724f70733a204f7065726174696f6e206e6f74207065726d697474656420647572696e67205265636f76657279204d6f6465426f72726f7765724f70733a204f7065726174696f6e206d757374206c656176652074726f7665207769746820494352203e3d204343524d6178206665652070657263656e74616765206d757374206c657373207468616e206f7220657175616c20746f2031303025426f72726f7765724f70733a205468657265206d75737420626520656974686572206120636f6c6c61746572616c206368616e6765206f7220612064656274206368616e6765536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77426f72726f7765724f70733a20416e206f7065726174696f6e207468617420776f756c6420726573756c7420696e20544352203c20434352206973206e6f74207065726d6974746564426f72726f7765724f70733a2054726f766520646f6573206e6f74206578697374206f7220697320636c6f736564c3770d654ed33aeea6bf11ac8ef05d02a6a04ed4686dd2f624d853bbec43cc8b426f72726f7765724f70733a20436f6c6c61746572616c207769746864726177616c206e6f74207065726d6974746564205265636f76657279204d6f6465426f72726f7765724f70733a2043616c6c657220646f65736e74206861766520656e6f756768204c55534420746f206d616b652072657061796d656e74426f72726f7765724f70733a20416e206f7065726174696f6e207468617420776f756c6420726573756c7420696e20494352203c204d4352206973206e6f74207065726d6974746564426f72726f7765724f70733a2054726f76652773206e65742064656274206d7573742062652067726561746572207468616e206d696e696d756d426f72726f7765724f70733a20416d6f756e7420726570616964206d757374206e6f74206265206c6172676572207468616e207468652054726f766527732064656274426f72726f7765724f70733a2043616c6c6572206973206e6f742053746162696c69747920506f6f6c4d6178206665652070657263656e74616765206d757374206265206265747765656e20302e352520616e642031303025426f72726f7765724f70733a204465627420696e637265617365207265717569726573206e6f6e2d7a65726f20646562744368616e6765426f72726f7765724f70733a2043616e6e6f7420646563726561736520796f75722054726f766527732049435220696e205265636f76657279204d6f6465a26469706673582212204e9a7242c14ef1f96515ad1cb1224ef272007b885dd1355fb753df22e7b8713864736f6c634300060b0033", + "bytecode": "0x60806040523480156200001157600080fd5b5062000026336001600160e01b036200002c16565b62000150565b6001600160a01b0381166200005e5760405162461bcd60e51b815260040162000055906200010e565b60405180910390fd5b6001600160a01b0381166200007b6001600160e01b03620000d016565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000604051620000c090620000f1565b6040519081900390209190915550565b600080604051620000e190620000f1565b6040519081900390205492915050565b7035b2bc9737bbb730b136329737bbb732b960791b815260110190565b60208082526022908201527f4f776e61626c653a3a7365744f776e65723a20696e76616c6964206164647265604082015261737360f01b606082015260800190565b614cbf80620001606000396000f3fe6080604052600436106102605760003560e01c8063759b303411610144578063a20baee6116100b6578063c6a6cf201161007a578063c6a6cf2014610624578063e9fc346114610637578063ea9638bf1461064c578063ec5472fd1461065f578063ec9f7d4614610674578063f92d34331461068957610267565b8063a20baee61461046a578063a3f4df7e146105b8578063ae918754146105da578063afbc74b5146105ef578063b5c89bab1461060f57610267565b8063860665b311610108578063860665b31461053357806387eb305d14610546578063887105d314610566578063893d20e81461057b5780638d5c3dc1146105905780639f070670146105a357610267565b8063759b3034146104b45780637778a3db146104c9578063795d26c3146104e95780637e3eefdc146104fe5780637f7dde4a1461051e57610267565b8063485f190f116101dd5780636ea56960116101a15780636ea56960146104155780636f0b0c1c146104355780636f30d2121461044a57806372fe25aa1461046a578063734f622d1461047f578063741bef1a1461049f57610267565b8063485f190f1461038f5780634ff81443146103a257806351584ca4146103c25780635530273c146103e257806368647db11461040257610267565b80631bf43555116102245780631bf43555146103035780632771510a146103255780632cdcd722146103455780633cc74225146103655780633d83908a1461037a57610267565b80630d43e8ad1461026c5780630e704d50146102975780630ff9a512146102ae57806313af4035146102c35780631a777717146102e357610267565b3661026757005b600080fd5b34801561027857600080fd5b5061028161069e565b60405161028e9190614227565b60405180910390f35b3480156102a357600080fd5b506102ac6106ad565b005b3480156102ba57600080fd5b506102816106b7565b3480156102cf57600080fd5b506102ac6102de366004613d1f565b6106c6565b3480156102ef57600080fd5b506102ac6102fe366004613fc2565b610713565b34801561030f57600080fd5b5061031861072a565b60405161028e9190614c32565b34801561033157600080fd5b506102ac610340366004613d1f565b610737565b34801561035157600080fd5b506102ac610360366004613ec6565b6107c5565b34801561037157600080fd5b506102816107dd565b34801561038657600080fd5b506102816107ec565b6102ac61039d366004614085565b6107fb565b3480156103ae57600080fd5b506103186103bd366004613f6c565b610965565b3480156103ce57600080fd5b506103186103dd36600461417e565b610978565b3480156103ee57600080fd5b506102ac6103fd366004613f9c565b610995565b6102ac610410366004613d57565b6109ab565b34801561042157600080fd5b506102ac610430366004614085565b6109c1565b34801561044157600080fd5b506102ac6109d2565b34801561045657600080fd5b50610318610465366004614064565b610a30565b34801561047657600080fd5b50610318610a45565b34801561048b57600080fd5b506102ac61049a366004613dd9565b610a51565b3480156104ab57600080fd5b50610281610e15565b3480156104c057600080fd5b50610318610e24565b3480156104d557600080fd5b506102ac6104e4366004613f51565b610e31565b3480156104f557600080fd5b50610318610f22565b34801561050a57600080fd5b50610318610519366004614085565b611041565b34801561052a57600080fd5b506102816112bc565b6102ac610541366004614085565b6112cb565b34801561055257600080fd5b50610318610561366004614013565b6112d8565b34801561057257600080fd5b506103186112f1565b34801561058757600080fd5b506102816113c0565b6102ac61059e366004614106565b6113df565b3480156105af57600080fd5b506102816113f7565b3480156105c457600080fd5b506105cd611406565b60405161028e919061430f565b3480156105e657600080fd5b50610281611434565b3480156105fb57600080fd5b506102ac61060a366004613f9c565b611443565b34801561061b57600080fd5b50610281611455565b6102ac6106323660046140ce565b611464565b34801561064357600080fd5b50610281611473565b6102ac61065a366004613d8f565b611482565b34801561066b57600080fd5b5061028161149c565b34801561068057600080fd5b506102816114ab565b34801561069557600080fd5b506103186114ba565b600d546001600160a01b031681565b6106b561153c565b565b6009546001600160a01b031681565b6106ce6113c0565b6001600160a01b0316336001600160a01b0316146107075760405162461bcd60e51b81526004016106fe906147f8565b60405180910390fd5b6107108161192b565b50565b6107246000808660008787876119b6565b50505050565b6809c2007651b250000081565b61073f6113c0565b6001600160a01b0316336001600160a01b03161461076f5760405162461bcd60e51b81526004016106fe906147f8565b600c80546001600160a01b0319166001600160a01b0383161790556040517f6926b3375b54960080b7d8a184061f39a02e8c3bf64aa9df7e75359fdc00d814906107ba908390614227565b60405180910390a150565b6107d58686868686866000611b6c565b505050505050565b6001546001600160a01b031681565b6004546001600160a01b031681565b600c546001600160a01b03166108235760405162461bcd60e51b81526004016106fe90614c02565b6108308484848430611b7c565b600a54600c5460405163095ea7b360e01b81526001600160a01b039283169263095ea7b39261086692911690879060040161427c565b602060405180830381600087803b15801561088057600080fd5b505af1158015610894573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108b89190613f35565b6108d45760405162461bcd60e51b81526004016106fe90614886565b600c54600a5460405163438b1b4b60e01b81526001600160a01b039283169263438b1b4b9261090c92911690879033906004016142c0565b602060405180830381600087803b15801561092657600080fd5b505af115801561093a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061095e9190613f84565b5050505050565b6000610970826121a7565b90505b919050565b6000610989888888888888886121c2565b98975050505050505050565b6109a6338460008086866000611b6c565b505050565b6109bd33600080600086866000611b6c565b5050565b61072433600085600186868a611b6c565b60075460405163b32beb5b60e01b81526001600160a01b039091169063b32beb5b90610a02903390600401614227565b600060405180830381600087803b158015610a1c57600080fd5b505af1158015610724573d6000803e3d6000fd5b6000610a3c83836121f5565b90505b92915050565b670de0b6b3a764000081565b610a596113c0565b6001600160a01b0316336001600160a01b031614610a895760405162461bcd60e51b81526004016106fe906147f8565b610a928c612228565b610a9b8b612228565b610aa48a612228565b610aad89612228565b610ab688612228565b610abf87612228565b610ac886612228565b610ad185612228565b610ada84612228565b610ae383612228565b610aec82612228565b610af581612228565b600d80546001600160a01b03199081166001600160a01b038f8116919091179092556003805482168e84161790556004805482168d84161790556000805482168c84161790556001805482168b84161790556005805482168a8416179055600680548216898416179055600780548216888416179055600280548216878416179055600b80548216868416179055600a8054821685841617905560098054821692841692831790556008805490911690911790556040517f84861842e6a98dd759145eb5e7b48279d0f02ebeabc8a69e5196b2f4c5023db990610bd9908e90614227565b60405180910390a17f143219c9e69b09e07e095fcc889b43d8f46ca892bba65f08dc3a0050869a56788a604051610c109190614227565b60405180910390a17f78f058b189175430c48dc02699e3a0031ea4ff781536dc2fab847de4babdd88289604051610c479190614227565b60405180910390a17f5ee0cae2f063ed938bb55046f6a932fb6ae792bf43624806bb90abe68a50be9b88604051610c7e9190614227565b60405180910390a17f82966d27eea39b038ee0fa30cd16532bb24f6e65d31cb58fb227aa5766cdcc7f87604051610cb59190614227565b60405180910390a17fcfb07d791fcafc032b35837b50eb84b74df518cf4cc287e8084f47630fa70fa086604051610cec9190614227565b60405180910390a17fe67f36a6e961157d6eff83b91f3af5a62131ceb6f04954ef74f51c1c05e7f88d85604051610d239190614227565b60405180910390a17f8c537274438aa850a330284665d81a85dd38267d09e4050d416bfc94142db26484604051610d5a9190614227565b60405180910390a17f65f4cf077bc01e4742eb5ad98326f6e95b63548ea24b17f8d5e823111fe7880083604051610d919190614227565b60405180910390a17fcdf33850c44a1a874b5fefb51dae615ac6afebd581ef90d571f81b06541d8e9d82604051610dc89190614227565b60405180910390a17f7624075ed781e3aa34b0f492d70d1bb5a6fcde04534165e20f990d2e546be4dd81604051610dff9190614227565b60405180910390a1505050505050505050505050565b6002546001600160a01b031681565b6801158e460913d0000081565b600c546001600160a01b0316610e595760405162461bcd60e51b81526004016106fe90614c02565b6004805460405163d66a255360e01b81526000926001600160a01b039092169163d66a255391610e8b91339101614227565b60206040518083038186803b158015610ea357600080fd5b505afa158015610eb7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610edb9190613f84565b600c54909150610f19906001600160a01b0316610f07836801158e460913d0000063ffffffff61226d16565b600a546001600160a01b0316856122af565b506109bd61153c565b60008054604080516272c7d360e71b8152905183926001600160a01b031691633963e980916004808301926020929190829003018186803b158015610f6657600080fd5b505afa158015610f7a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f9e9190613f84565b90506000600160009054906101000a90046001600160a01b03166001600160a01b0316633963e9806040518163ffffffff1660e01b815260040160206040518083038186803b158015610ff057600080fd5b505afa158015611004573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110289190613f84565b905061103a828263ffffffff61255416565b9250505090565b600a546040516370a0823160e01b8152600091309183916001600160a01b0316906370a0823190611076908590600401614227565b60206040518083038186803b15801561108e57600080fd5b505afa1580156110a2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110c69190613f84565b90506110d633838888888c612579565b6110e6818763ffffffff61255416565b600a546040516370a0823160e01b81526001600160a01b03909116906370a0823190611116908690600401614227565b60206040518083038186803b15801561112e57600080fd5b505afa158015611142573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111669190613f84565b146111835760405162461bcd60e51b81526004016106fe9061448c565b600a54600c5460405163095ea7b360e01b81526001600160a01b039283169263095ea7b3926111b9929116908a9060040161427c565b602060405180830381600087803b1580156111d357600080fd5b505af11580156111e7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061120b9190613f35565b6112275760405162461bcd60e51b81526004016106fe90614886565b600c54600a5460405163438b1b4b60e01b81526001600160a01b039283169263438b1b4b9261125f929116908a9033906004016142c0565b602060405180830381600087803b15801561127957600080fd5b505af115801561128d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112b19190613f84565b979650505050505050565b6000546001600160a01b031681565b6107248484848433611b7c565b60006112e7868686868661258b565b9695505050505050565b6000805460408051630a7b61df60e11b8152905183926001600160a01b0316916314f6c3be916004808301926020929190829003018186803b15801561133657600080fd5b505afa15801561134a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061136e9190613f84565b90506000600160009054906101000a90046001600160a01b03166001600160a01b03166314f6c3be6040518163ffffffff1660e01b815260040160206040518083038186803b158015610ff057600080fd5b6000806040516113cf9061420a565b6040519081900390205492915050565b6113ee878787878787876119b6565b50505050505050565b6003546001600160a01b031681565b60405180604001604052806012815260200171426f72726f7765724f7065726174696f6e7360701b81525081565b600b546001600160a01b031681565b6109a633600085600086866000611b6c565b600c546001600160a01b031681565b6107d53386868686868c611b6c565b600c546001600160a01b031690565b61148a612616565b6109a683600080600086866000611b6c565b6008546001600160a01b031681565b600a546001600160a01b031681565b6003546040805163f92d343360e01b815290516000926001600160a01b03169163f92d3433916004808301926020929190829003018186803b1580156114ff57600080fd5b505afa158015611513573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115379190613f84565b905090565b600454600054600a546001600160a01b039283169291821691166115608333612640565b60025460408051630fdb11cf60e01b815290516000926001600160a01b031691630fdb11cf91600480830192602092919082900301818787803b1580156115a657600080fd5b505af11580156115ba573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115de9190613f84565b90506115e9816126e1565b604051630b07655760e01b81526001600160a01b03851690630b07655790611615903390600401614227565b600060405180830381600087803b15801561162f57600080fd5b505af1158015611643573d6000803e3d6000fd5b50506040516309019aaf60e31b8152600092506001600160a01b038716915063480cd57890611676903390600401614227565b60206040518083038186803b15801561168e57600080fd5b505afa1580156116a2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116c69190613f84565b90506000856001600160a01b031663d66a2553336040518263ffffffff1660e01b81526004016116f69190614227565b60206040518083038186803b15801561170e57600080fd5b505afa158015611722573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117469190613f84565b905061176b8433611766846801158e460913d0000063ffffffff61226d16565b612707565b600061177c8360008460008861258b565b9050611787816127a3565b604051631fc5750960e31b81526001600160a01b0388169063fe2ba848906117b3903390600401614227565b600060405180830381600087803b1580156117cd57600080fd5b505af11580156117e1573d6000803e3d6000fd5b50506040516365e89c5760e11b81526001600160a01b038a16925063cbd138ae9150611811903390600401614227565b600060405180830381600087803b15801561182b57600080fd5b505af115801561183f573d6000803e3d6000fd5b50505050336001600160a01b0316600080516020614c6a8339815191526000806000600160405161187394939291906142e3565b60405180910390a261189f86863361189a866801158e460913d0000063ffffffff61226d16565b612848565b6006546118c290879087906001600160a01b03166801158e460913d00000612848565b6040516364a197f360e01b81526001600160a01b038716906364a197f3906118f0903390879060040161427c565b600060405180830381600087803b15801561190a57600080fd5b505af115801561191e573d6000803e3d6000fd5b5050505050505050505050565b6001600160a01b0381166119515760405162461bcd60e51b81526004016106fe906144c3565b806001600160a01b03166119636113c0565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360006040516119a69061420a565b6040519081900390209190915550565b600c546001600160a01b03166119de5760405162461bcd60e51b81526004016106fe90614c02565b831580156119ec5750600085115b15611a1257600c54600a54611a10916001600160a01b0390811691889116846122af565b505b611a223387878787878d30612902565b838015611a2f5750600085115b156113ee57600a54600c5460405163095ea7b360e01b81526001600160a01b039283169263095ea7b392611a6a92911690899060040161427c565b602060405180830381600087803b158015611a8457600080fd5b505af1158015611a98573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611abc9190613f35565b611ad85760405162461bcd60e51b81526004016106fe90614886565b600c54600a5460405163438b1b4b60e01b81526001600160a01b039283169263438b1b4b92611b1092911690899033906004016142c0565b602060405180830381600087803b158015611b2a57600080fd5b505af1158015611b3e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b629190613f84565b5050505050505050565b6113ee8787878787878733612902565b611b84613c1e565b50604080516060810182526004546001600160a01b03908116825260005481166020830152600a541691810191909152611bbc613c3e565b600260009054906101000a90046001600160a01b03166001600160a01b0316630fdb11cf6040518163ffffffff1660e01b8152600401602060405180830381600087803b158015611c0c57600080fd5b505af1158015611c20573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c449190613f84565b808252600090611c5390612ee6565b9050611c5f8882612f81565b8251611c6b903361306d565b6040820187905280611cac57611c8b83600001518460400151898b61310f565b602083018190526040830151611ca69163ffffffff61255416565b60408301525b611cb982604001516132c8565b611cc682604001516121a7565b60608301819052611cd357fe5b611ce634836060015184600001516132f1565b60808301526060820151611cfb903490613324565b60a08301528015611d1857611d138260800151613359565b611d4b565b611d2582608001516133fe565b6000611d3e34600185606001516001876000015161258b565b9050611d49816127a3565b505b8251604051635d6b480f60e01b81526001600160a01b0390911690635d6b480f90611d7d90339060019060040161427c565b600060405180830381600087803b158015611d9757600080fd5b505af1158015611dab573d6000803e3d6000fd5b505084516040516372423c1760e01b81526001600160a01b0390911692506372423c179150611de0903390349060040161427c565b602060405180830381600087803b158015611dfa57600080fd5b505af1158015611e0e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e329190613f84565b5082516060830151604051639976cf4560e01b81526001600160a01b0390921691639976cf4591611e689133919060040161427c565b602060405180830381600087803b158015611e8257600080fd5b505af1158015611e96573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611eba9190613f84565b5082516040516382fe3eb960e01b81526001600160a01b03909116906382fe3eb990611eea903390600401614227565b600060405180830381600087803b158015611f0457600080fd5b505af1158015611f18573d6000803e3d6000fd5b50508451604051630c7940bd60e11b81526001600160a01b0390911692506318f2817a9150611f4b903390600401614227565b602060405180830381600087803b158015611f6557600080fd5b505af1158015611f79573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f9d9190613f84565b60c0830152600b5460a08301516040516346f7cf8760e01b81526001600160a01b03909216916346f7cf8791611fdc913391908b908b90600401614295565b600060405180830381600087803b158015611ff657600080fd5b505af115801561200a573d6000803e3d6000fd5b505084516040516315d549f160e01b81526001600160a01b0390911692506315d549f1915061203d903390600401614227565b602060405180830381600087803b15801561205757600080fd5b505af115801561206b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061208f9190613f84565b60e0830181905260405133917f59cfd0cd754bc5748b6770e94a4ffa5f678d885cb899dcfadc5734edb97c67ab916120c79190614c32565b60405180910390a26120dd8360200151346134a3565b6120f683602001518460400151868a866040015161351f565b602083015160408401516006546121229291906001600160a01b03166801158e460913d000008061351f565b606082015160c08301516040513392600080516020614c6a83398151915292612150923491906000906142e3565b60405180910390a2336001600160a01b03167f71457d8a5ab7e4561ed49d05338674b73ac3b83b0b315f165f5b12bcc002274183602001516040516121959190614c32565b60405180910390a25050505050505050565b6000610970826801158e460913d0000063ffffffff61255416565b60008060006121d58a8a8a8a8a8a6135e4565b9150915060006121e68383876132f1565b9b9a5050505050505050505050565b600080612220670de0b6b3a7640000612214858763ffffffff61365016565b9063ffffffff61368a16565b949350505050565b6001600160a01b03811661224e5760405162461bcd60e51b81526004016106fe90614605565b803b806109bd5760405162461bcd60e51b81526004016106fe906149a9565b6000610a3c83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506136cc565b600080856001600160a01b03166321df0da76040518163ffffffff1660e01b815260040160206040518083038186803b1580156122eb57600080fd5b505afa1580156122ff573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123239190613d3b565b90506000816001600160a01b03166370a08231306040518263ffffffff1660e01b81526004016123539190614227565b60206040518083038186803b15801561236b57600080fd5b505afa15801561237f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123a39190613f84565b9050306001600160a01b03831663605629d633838a89356123ca60408c0160208d016141e6565b8b604001358c606001356040518863ffffffff1660e01b81526004016123f6979695949392919061423b565b600060405180830381600087803b15801561241057600080fd5b505af1158015612424573d6000803e3d6000fd5b50505050866124b583856001600160a01b03166370a08231856040518263ffffffff1660e01b81526004016124599190614227565b60206040518083038186803b15801561247157600080fd5b505afa158015612485573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124a99190613f84565b9063ffffffff61226d16565b146124d25760405162461bcd60e51b81526004016106fe9061440c565b60405163fb2c922360e01b81526001600160a01b0389169063fb2c9223906125029089908b9033906004016142c0565b602060405180830381600087803b15801561251c57600080fd5b505af1158015612530573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109899190613f84565b600082820183811015610a3c5760405162461bcd60e51b81526004016106fe90614455565b6107d58660008660018787878c612902565b6000806125966112f1565b905060006125a2610f22565b9050866125be576125b9828963ffffffff61226d16565b6125ce565b6125ce828963ffffffff61255416565b9150846125ea576125e5818763ffffffff61226d16565b6125fa565b6125fa818763ffffffff61255416565b905060006126098383876132f1565b9998505050505050505050565b6005546001600160a01b031633146106b55760405162461bcd60e51b81526004016106fe90614a47565b6040516321e3780160e01b81526000906001600160a01b038416906321e378019061266f908590600401614227565b60206040518083038186803b15801561268757600080fd5b505afa15801561269b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906126bf9190613f84565b9050806001146109a65760405162461bcd60e51b81526004016106fe906147aa565b6126ea81612ee6565b156107105760405162461bcd60e51b81526004016106fe90614555565b6040516370a0823160e01b815281906001600160a01b038516906370a0823190612735908690600401614227565b60206040518083038186803b15801561274d57600080fd5b505afa158015612761573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127859190613f84565b10156109a65760405162461bcd60e51b81526004016106fe90614362565b600360009054906101000a90046001600160a01b03166001600160a01b0316635733d58f6040518163ffffffff1660e01b815260040160206040518083038186803b1580156127f157600080fd5b505afa158015612805573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906128299190613f84565b8110156107105760405162461bcd60e51b81526004016106fe9061473b565b60405163121cbc4d60e11b81526001600160a01b03851690632439789a90612874908490600401614c32565b600060405180830381600087803b15801561288e57600080fd5b505af11580156128a2573d6000803e3d6000fd5b5050604051632770a7eb60e21b81526001600160a01b0386169250639dc29fac91506128d4908590859060040161427c565b600060405180830381600087803b1580156128ee57600080fd5b505af1158015611b62573d6000803e3d6000fd5b61290a613c1e565b50604080516060810182526004546001600160a01b03908116825260005481166020830152600a541691810191909152612942613c83565b600260009054906101000a90046001600160a01b03166001600160a01b0316630fdb11cf6040518163ffffffff1660e01b8152600401602060405180830381600087803b15801561299257600080fd5b505af11580156129a6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906129ca9190613f84565b8082526129d690612ee6565b15156101c082015286156129fc576129f384826101c00151612f81565b6129fc886136f8565b612a0589613718565b612a0f898961373f565b8151612a1b908b612640565b336001600160a01b038b161480612a5157506005546001600160a01b031633148015612a475750600034115b8015612a51575087155b612a5757fe5b8151604051630b07655760e01b81526001600160a01b0390911690630b07655790612a86908d90600401614227565b600060405180830381600087803b158015612aa057600080fd5b505af1158015612ab4573d6000803e3d6000fd5b50505050612ac2348a613772565b15156060830152602082015260408101889052868015612ae55750806101c00151155b15612b2057612afe826000015183604001518a8761310f565b61012082018190526040820151612b1a9163ffffffff61255416565b60408201525b815160405163d66a255360e01b81526001600160a01b039091169063d66a255390612b4f908d90600401614227565b60206040518083038186803b158015612b6757600080fd5b505afa158015612b7b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612b9f9190613f84565b608082015281516040516309019aaf60e31b81526001600160a01b039091169063480cd57890612bd3908d90600401614227565b60206040518083038186803b158015612beb57600080fd5b505afa158015612bff573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612c239190613f84565b60a0820181905260808201518251612c3c9291906132f1565b8160c0018181525050612c6c8160a0015182608001518360200151846060015185604001518c87600001516121c2565b60e082015260a0810151891115612c7f57fe5b612c90816101c001518a8984613791565b86158015612c9e5750600088115b15612ce557612cc0612cbb82604001516124a98460800151613805565b6132c8565b612cd281608001518260400151613820565b612ce582604001518b8360400151612707565b612d0382600001518b8360200151846060015185604001518c613858565b6101408301526101608201528151604051630c7940bd60e11b81526001600160a01b03909116906318f2817a90612d3e908d90600401614227565b602060405180830381600087803b158015612d5857600080fd5b505af1158015612d6c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612d909190613f84565b81610180018181525050612dbc8160a0015182608001518360200151846060015185604001518c613a70565b6101a08201819052600b5460405163015f109360e51b81526001600160a01b0390911691632be2126091612df8918e918b908b90600401614295565b600060405180830381600087803b158015612e1257600080fd5b505af1158015612e26573d6000803e3d6000fd5b50505050896001600160a01b0316600080516020614c6a8339815191528261014001518361016001518461018001516002604051612e6794939291906142e3565b60405180910390a2336001600160a01b03167f71457d8a5ab7e4561ed49d05338674b73ac3b83b0b315f165f5b12bcc0022741826101200151604051612ead9190614c32565b60405180910390a2612eda8260200151836040015133846020015185606001518d8d88604001518b613aa1565b50505050505050505050565b600080612ef283613b45565b9050600360009054906101000a90046001600160a01b03166001600160a01b0316635733d58f6040518163ffffffff1660e01b815260040160206040518083038186803b158015612f4257600080fd5b505afa158015612f56573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612f7a9190613f84565b1192915050565b8015612fb457670de0b6b3a7640000821115612faf5760405162461bcd60e51b81526004016106fe9061463c565b6109bd565b600360009054906101000a90046001600160a01b03166001600160a01b031663f92d34336040518163ffffffff1660e01b815260040160206040518083038186803b15801561300257600080fd5b505afa158015613016573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061303a9190613f84565b82101580156130515750670de0b6b3a76400008211155b6109bd5760405162461bcd60e51b81526004016106fe90614a90565b6040516321e3780160e01b81526000906001600160a01b038416906321e378019061309c908590600401614227565b60206040518083038186803b1580156130b457600080fd5b505afa1580156130c8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906130ec9190613f84565b905080600114156109a65760405162461bcd60e51b81526004016106fe90614ae0565b6000846001600160a01b0316635dba4c4a6040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561314c57600080fd5b505af1158015613160573d6000803e3d6000fd5b5050604051630631203b60e41b8152600092506001600160a01b038816915063631203b090613193908790600401614c32565b60206040518083038186803b1580156131ab57600080fd5b505afa1580156131bf573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906131e39190613f84565b90506131f0818585613b69565b600d546040516340c10f1960e01b81526001600160a01b03878116926340c10f19926132249290911690859060040161427c565b600060405180830381600087803b15801561323e57600080fd5b505af1158015613252573d6000803e3d6000fd5b50505050600d60009054906101000a90046001600160a01b03166001600160a01b031663bb57ad206040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156132a657600080fd5b505af11580156132ba573d6000803e3d6000fd5b509298975050505050505050565b6809c2007651b25000008110156107105760405162461bcd60e51b81526004016106fe9061494c565b6000821561331857600061330f84612214878663ffffffff61365016565b915061331d9050565b506000195b9392505050565b6000811561335057613349826122148568056bc75e2d6310000063ffffffff61365016565b9050610a3f565b50600019610a3f565b600360009054906101000a90046001600160a01b03166001600160a01b0316635733d58f6040518163ffffffff1660e01b815260040160206040518083038186803b1580156133a757600080fd5b505afa1580156133bb573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906133df9190613f84565b8110156107105760405162461bcd60e51b81526004016106fe906145ae565b600360009054906101000a90046001600160a01b03166001600160a01b031663794e57246040518163ffffffff1660e01b815260040160206040518083038186803b15801561344c57600080fd5b505afa158015613460573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906134849190613f84565b8110156107105760405162461bcd60e51b81526004016106fe906148dd565b6000826001600160a01b0316826040516134bc90614207565b60006040518083038185875af1925050503d80600081146134f9576040519150601f19603f3d011682016040523d82523d6000602084013e6134fe565b606091505b50509050806109a65760405162461bcd60e51b81526004016106fe906143bf565b60405163f2e91d7160e01b81526001600160a01b0386169063f2e91d719061354b908490600401614c32565b600060405180830381600087803b15801561356557600080fd5b505af1158015613579573d6000803e3d6000fd5b50506040516340c10f1960e01b81526001600160a01b03871692506340c10f1991506135ab908690869060040161427c565b600060405180830381600087803b1580156135c557600080fd5b505af11580156135d9573d6000803e3d6000fd5b505050505050505050565b600080878786613603576135fe8a8963ffffffff61226d16565b613613565b6136138a8963ffffffff61255416565b91508461362f5761362a898763ffffffff61226d16565b61363f565b61363f898763ffffffff61255416565b919a91995090975050505050505050565b60008261365f57506000610a3f565b8282028284828161366c57fe5b0414610a3c5760405162461bcd60e51b81526004016106fe906146fa565b6000610a3c83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250613ba9565b600081848411156136f05760405162461bcd60e51b81526004016106fe919061430f565b505050900390565b600081116107105760405162461bcd60e51b81526004016106fe90614b17565b341580613723575080155b6107105760405162461bcd60e51b81526004016106fe90614505565b3415158061374c57508115155b8061375657508015155b6109bd5760405162461bcd60e51b81526004016106fe9061468e565b60008083156137865750829050600161378a565b8291505b9250929050565b83156137ca576137a083613be0565b81156137c5576137b38160e00151613359565b6137c58160e001518260c00151613bfe565b610724565b6137d78160e001516133fe565b6137f481602001518260600151836040015185856000015161258b565b6101008201819052610724906127a3565b6000610970826801158e460913d0000063ffffffff61226d16565b613839826801158e460913d0000063ffffffff61226d16565b8111156109bd5760405162461bcd60e51b81526004016106fe906149de565b6000806000856138e75760405163d3d6f84360e01b81526001600160a01b038a169063d3d6f84390613890908b908b9060040161427c565b602060405180830381600087803b1580156138aa57600080fd5b505af11580156138be573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906138e29190613f84565b613967565b6040516372423c1760e01b81526001600160a01b038a16906372423c1790613915908b908b9060040161427c565b602060405180830381600087803b15801561392f57600080fd5b505af1158015613943573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906139679190613f84565b90506000846139f057604051630930874960e11b81526001600160a01b038b16906312610e929061399e908c908a9060040161427c565b602060405180830381600087803b1580156139b857600080fd5b505af11580156139cc573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061362a9190613f84565b604051639976cf4560e01b81526001600160a01b038b1690639976cf4590613a1e908c908a9060040161427c565b602060405180830381600087803b158015613a3857600080fd5b505af1158015613a4c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061363f9190613f84565b6000806000613a838989898989896135e4565b915091506000613a938383613324565b9a9950505050505050505050565b8215613ab957613ab4898983878661351f565b613ac5565b613ac589898987612848565b8415613ada57613ad589876134a3565b6135d9565b6040516364a197f360e01b81526001600160a01b038a16906364a197f390613b08908a908a9060040161427c565b600060405180830381600087803b158015613b2257600080fd5b505af1158015613b36573d6000803e3d6000fd5b50505050505050505050505050565b600080613b506112f1565b90506000613b5c610f22565b90506122208282866132f1565b6000613b878361221486670de0b6b3a764000063ffffffff61365016565b9050818111156107245760405162461bcd60e51b81526004016106fe90614bcb565b60008183613bca5760405162461bcd60e51b81526004016106fe919061430f565b506000838581613bd657fe5b0495945050505050565b80156107105760405162461bcd60e51b81526004016106fe90614829565b808210156109bd5760405162461bcd60e51b81526004016106fe90614b6e565b604080516060810182526000808252602082018190529181019190915290565b60405180610100016040528060008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081525090565b604051806101e00160405280600081526020016000815260200160008152602001600015158152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000151581525090565b8035610a3f81614c46565b600060808284031215613d19578081fd5b50919050565b600060208284031215613d30578081fd5b8135610a3c81614c46565b600060208284031215613d4c578081fd5b8151610a3c81614c46565b60008060408385031215613d69578081fd5b8235613d7481614c46565b91506020830135613d8481614c46565b809150509250929050565b600080600060608486031215613da3578081fd5b8335613dae81614c46565b92506020840135613dbe81614c46565b91506040840135613dce81614c46565b809150509250925092565b6000806000806000806000806000806000806101808d8f031215613dfb578788fd5b8c35613e0681614c46565b9b5060208d0135613e1681614c46565b9a5060408d0135613e2681614c46565b995060608d0135613e3681614c46565b985060808d0135613e4681614c46565b975060a08d0135613e5681614c46565b9650613e658e60c08f01613cfd565b9550613e748e60e08f01613cfd565b9450613e848e6101008f01613cfd565b9350613e948e6101208f01613cfd565b9250613ea48e6101408f01613cfd565b9150613eb48e6101608f01613cfd565b90509295989b509295989b509295989b565b60008060008060008060c08789031215613ede578182fd5b8635613ee981614c46565b955060208701359450604087013593506060870135613f0781614c5b565b92506080870135613f1781614c46565b915060a0870135613f2781614c46565b809150509295509295509295565b600060208284031215613f46578081fd5b8151610a3c81614c5b565b600060808284031215613f62578081fd5b610a3c8383613d08565b600060208284031215613f7d578081fd5b5035919050565b600060208284031215613f95578081fd5b5051919050565b600080600060608486031215613fb0578283fd5b833592506020840135613dbe81614c46565b60008060008060e08587031215613fd7578384fd5b843593506020850135613fe981614c46565b92506040850135613ff981614c46565b91506140088660608701613d08565b905092959194509250565b600080600080600060a0868803121561402a578283fd5b85359450602086013561403c81614c5b565b935060408601359250606086013561405381614c5b565b949793965091946080013592915050565b60008060408385031215614076578182fd5b50508035926020909101359150565b6000806000806080858703121561409a578182fd5b843593506020850135925060408501356140b381614c46565b915060608501356140c381614c46565b939692955090935050565b60008060008060008060c087890312156140e6578384fd5b8635955060208701359450604087013593506060870135613f0781614c5b565b6000806000806000806000610140888a031215614121578081fd5b873596506020880135955060408801359450606088013561414181614c5b565b9350608088013561415181614c46565b925060a088013561416181614c46565b91506141708960c08a01613d08565b905092959891949750929550565b600080600080600080600060e0888a031215614198578081fd5b87359650602088013595506040880135945060608801356141b881614c5b565b93506080880135925060a08801356141cf81614c5b565b8092505060c0880135905092959891949750929550565b6000602082840312156141f7578081fd5b813560ff81168114610a3c578182fd5b90565b7035b2bc9737bbb730b136329737bbb732b960791b815260110190565b6001600160a01b0391909116815260200190565b6001600160a01b0397881681529590961660208601526040850193909352606084019190915260ff16608083015260a082015260c081019190915260e00190565b6001600160a01b03929092168252602082015260400190565b6001600160a01b03948516815260208101939093529083166040830152909116606082015260800190565b6001600160a01b0393841681526020810192909252909116604082015260600190565b84815260208101849052604081018390526080810161430183614c3b565b606083015295945050505050565b6000602080835283518082850152825b8181101561433b5785810183015185820160400152820161431f565b8181111561434c5783604083870101525b50601f01601f1916929092016040019392505050565b6020808252603d908201527f426f72726f7765724f70733a2043616c6c657220646f65736e7420686176652060408201527f656e6f756768205a55534420746f206d616b652072657061796d656e74000000606082015260800190565b6020808252602d908201527f426f72726f7765724f70733a2053656e64696e672045544820746f204163746960408201526c1d99541bdbdb0819985a5b1959609a1b606082015260800190565b60208082526029908201527f444c4c52207472616e7366657272656420616d6f756e742076616c69646174696040820152681bdb8819985a5b195960ba1b606082015260800190565b6020808252601b908201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604082015260600190565b6020808252601e908201527f5a555344206973206e6f7420626f72726f77656420636f72726563746c790000604082015260600190565b60208082526022908201527f4f776e61626c653a3a7365744f776e65723a20696e76616c6964206164647265604082015261737360f01b606082015260800190565b60208082526030908201527f426f72726f7765724f7065726174696f6e733a2043616e6e6f7420776974686460408201526f1c985dc8185b99081859190818dbdb1b60821b606082015260800190565b60208082526039908201527f426f72726f7765724f70733a204f7065726174696f6e206e6f74207065726d696040820152787474656420647572696e67205265636f76657279204d6f646560381b606082015260800190565b60208082526037908201527f426f72726f7765724f70733a204f7065726174696f6e206d757374206c65617660408201527632903a3937bb32903bb4ba341024a1a9101f1e9021a1a960491b606082015260800190565b6020808252601e908201527f4163636f756e742063616e6e6f74206265207a65726f20616464726573730000604082015260600190565b60208082526032908201527f4d6178206665652070657263656e74616765206d757374206c657373207468616040820152716e206f7220657175616c20746f203130302560701b606082015260800190565b60208082526046908201527f426f72726f7765724f70733a205468657265206d75737420626520656974686560408201527f72206120636f6c6c61746572616c206368616e6765206f7220612064656274206060820152656368616e676560d01b608082015260a00190565b60208082526021908201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6040820152607760f81b606082015260800190565b60208082526049908201527f426f72726f7765724f70733a20416e206f7065726174696f6e2074686174207760408201527f6f756c6420726573756c7420696e20544352203c20434352206973206e6f74206060820152681c195c9b5a5d1d195960ba1b608082015260a00190565b6020808252602e908201527f426f72726f7765724f70733a2054726f766520646f6573206e6f74206578697360408201526d1d081bdc881a5cc818db1bdcd95960921b606082015260800190565b60208082526017908201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604082015260600190565b6020808252603e908201527f426f72726f7765724f70733a20436f6c6c61746572616c20776974686472617760408201527f616c206e6f74207065726d6974746564205265636f76657279204d6f64650000606082015260800190565b60208082526037908201527f4661696c656420746f20617070726f7665205a55534420616d6f756e7420666f60408201527672204d796e74206d417373657420746f2072656465656d60481b606082015260800190565b60208082526049908201527f426f72726f7765724f70733a20416e206f7065726174696f6e2074686174207760408201527f6f756c6420726573756c7420696e20494352203c204d4352206973206e6f74206060820152681c195c9b5a5d1d195960ba1b608082015260a00190565b6020808252603a908201527f426f72726f7765724f70733a2054726f76652773206e65742064656274206d7560408201527f73742062652067726561746572207468616e206d696e696d756d000000000000606082015260800190565b6020808252818101527f4163636f756e7420636f64652073697a652063616e6e6f74206265207a65726f604082015260600190565b60208082526043908201527f426f72726f7765724f70733a20416d6f756e7420726570616964206d7573742060408201527f6e6f74206265206c6172676572207468616e207468652054726f76652773206460608201526219589d60ea1b608082015260a00190565b60208082526029908201527f426f72726f7765724f70733a2043616c6c6572206973206e6f742053746162696040820152681b1a5d1e48141bdbdb60ba1b606082015260800190565b60208082526030908201527f4d6178206665652070657263656e74616765206d75737420626520626574776560408201526f656e20302e352520616e64203130302560801b606082015260800190565b6020808252601c908201527f426f72726f7765724f70733a2054726f76652069732061637469766500000000604082015260600190565b60208082526037908201527f426f72726f7765724f70733a204465627420696e637265617365207265717569604082015276726573206e6f6e2d7a65726f20646562744368616e676560481b606082015260800190565b6020808252603e908201527f426f72726f7765724f70733a2043616e6e6f7420646563726561736520796f7560408201527f722054726f766527732049435220696e205265636f76657279204d6f64650000606082015260800190565b6020808252601d908201527f4665652065786365656465642070726f7669646564206d6178696d756d000000604082015260600190565b60208082526016908201527513585cdcd95d081859191c995cdcc81b9bdd081cd95d60521b604082015260600190565b90815260200190565b806003811061097357fe5b6001600160a01b038116811461071057600080fd5b801515811461071057600080fdfec3770d654ed33aeea6bf11ac8ef05d02a6a04ed4686dd2f624d853bbec43cc8ba26469706673582212205c5ffb23eadbeafd7ab3df3f840e0cf067a73b2d5014c5a54bc7acacce8677f564736f6c634300060b0033", + "deployedBytecode": "0x6080604052600436106102605760003560e01c8063759b303411610144578063a20baee6116100b6578063c6a6cf201161007a578063c6a6cf2014610624578063e9fc346114610637578063ea9638bf1461064c578063ec5472fd1461065f578063ec9f7d4614610674578063f92d34331461068957610267565b8063a20baee61461046a578063a3f4df7e146105b8578063ae918754146105da578063afbc74b5146105ef578063b5c89bab1461060f57610267565b8063860665b311610108578063860665b31461053357806387eb305d14610546578063887105d314610566578063893d20e81461057b5780638d5c3dc1146105905780639f070670146105a357610267565b8063759b3034146104b45780637778a3db146104c9578063795d26c3146104e95780637e3eefdc146104fe5780637f7dde4a1461051e57610267565b8063485f190f116101dd5780636ea56960116101a15780636ea56960146104155780636f0b0c1c146104355780636f30d2121461044a57806372fe25aa1461046a578063734f622d1461047f578063741bef1a1461049f57610267565b8063485f190f1461038f5780634ff81443146103a257806351584ca4146103c25780635530273c146103e257806368647db11461040257610267565b80631bf43555116102245780631bf43555146103035780632771510a146103255780632cdcd722146103455780633cc74225146103655780633d83908a1461037a57610267565b80630d43e8ad1461026c5780630e704d50146102975780630ff9a512146102ae57806313af4035146102c35780631a777717146102e357610267565b3661026757005b600080fd5b34801561027857600080fd5b5061028161069e565b60405161028e9190614227565b60405180910390f35b3480156102a357600080fd5b506102ac6106ad565b005b3480156102ba57600080fd5b506102816106b7565b3480156102cf57600080fd5b506102ac6102de366004613d1f565b6106c6565b3480156102ef57600080fd5b506102ac6102fe366004613fc2565b610713565b34801561030f57600080fd5b5061031861072a565b60405161028e9190614c32565b34801561033157600080fd5b506102ac610340366004613d1f565b610737565b34801561035157600080fd5b506102ac610360366004613ec6565b6107c5565b34801561037157600080fd5b506102816107dd565b34801561038657600080fd5b506102816107ec565b6102ac61039d366004614085565b6107fb565b3480156103ae57600080fd5b506103186103bd366004613f6c565b610965565b3480156103ce57600080fd5b506103186103dd36600461417e565b610978565b3480156103ee57600080fd5b506102ac6103fd366004613f9c565b610995565b6102ac610410366004613d57565b6109ab565b34801561042157600080fd5b506102ac610430366004614085565b6109c1565b34801561044157600080fd5b506102ac6109d2565b34801561045657600080fd5b50610318610465366004614064565b610a30565b34801561047657600080fd5b50610318610a45565b34801561048b57600080fd5b506102ac61049a366004613dd9565b610a51565b3480156104ab57600080fd5b50610281610e15565b3480156104c057600080fd5b50610318610e24565b3480156104d557600080fd5b506102ac6104e4366004613f51565b610e31565b3480156104f557600080fd5b50610318610f22565b34801561050a57600080fd5b50610318610519366004614085565b611041565b34801561052a57600080fd5b506102816112bc565b6102ac610541366004614085565b6112cb565b34801561055257600080fd5b50610318610561366004614013565b6112d8565b34801561057257600080fd5b506103186112f1565b34801561058757600080fd5b506102816113c0565b6102ac61059e366004614106565b6113df565b3480156105af57600080fd5b506102816113f7565b3480156105c457600080fd5b506105cd611406565b60405161028e919061430f565b3480156105e657600080fd5b50610281611434565b3480156105fb57600080fd5b506102ac61060a366004613f9c565b611443565b34801561061b57600080fd5b50610281611455565b6102ac6106323660046140ce565b611464565b34801561064357600080fd5b50610281611473565b6102ac61065a366004613d8f565b611482565b34801561066b57600080fd5b5061028161149c565b34801561068057600080fd5b506102816114ab565b34801561069557600080fd5b506103186114ba565b600d546001600160a01b031681565b6106b561153c565b565b6009546001600160a01b031681565b6106ce6113c0565b6001600160a01b0316336001600160a01b0316146107075760405162461bcd60e51b81526004016106fe906147f8565b60405180910390fd5b6107108161192b565b50565b6107246000808660008787876119b6565b50505050565b6809c2007651b250000081565b61073f6113c0565b6001600160a01b0316336001600160a01b03161461076f5760405162461bcd60e51b81526004016106fe906147f8565b600c80546001600160a01b0319166001600160a01b0383161790556040517f6926b3375b54960080b7d8a184061f39a02e8c3bf64aa9df7e75359fdc00d814906107ba908390614227565b60405180910390a150565b6107d58686868686866000611b6c565b505050505050565b6001546001600160a01b031681565b6004546001600160a01b031681565b600c546001600160a01b03166108235760405162461bcd60e51b81526004016106fe90614c02565b6108308484848430611b7c565b600a54600c5460405163095ea7b360e01b81526001600160a01b039283169263095ea7b39261086692911690879060040161427c565b602060405180830381600087803b15801561088057600080fd5b505af1158015610894573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108b89190613f35565b6108d45760405162461bcd60e51b81526004016106fe90614886565b600c54600a5460405163438b1b4b60e01b81526001600160a01b039283169263438b1b4b9261090c92911690879033906004016142c0565b602060405180830381600087803b15801561092657600080fd5b505af115801561093a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061095e9190613f84565b5050505050565b6000610970826121a7565b90505b919050565b6000610989888888888888886121c2565b98975050505050505050565b6109a6338460008086866000611b6c565b505050565b6109bd33600080600086866000611b6c565b5050565b61072433600085600186868a611b6c565b60075460405163b32beb5b60e01b81526001600160a01b039091169063b32beb5b90610a02903390600401614227565b600060405180830381600087803b158015610a1c57600080fd5b505af1158015610724573d6000803e3d6000fd5b6000610a3c83836121f5565b90505b92915050565b670de0b6b3a764000081565b610a596113c0565b6001600160a01b0316336001600160a01b031614610a895760405162461bcd60e51b81526004016106fe906147f8565b610a928c612228565b610a9b8b612228565b610aa48a612228565b610aad89612228565b610ab688612228565b610abf87612228565b610ac886612228565b610ad185612228565b610ada84612228565b610ae383612228565b610aec82612228565b610af581612228565b600d80546001600160a01b03199081166001600160a01b038f8116919091179092556003805482168e84161790556004805482168d84161790556000805482168c84161790556001805482168b84161790556005805482168a8416179055600680548216898416179055600780548216888416179055600280548216878416179055600b80548216868416179055600a8054821685841617905560098054821692841692831790556008805490911690911790556040517f84861842e6a98dd759145eb5e7b48279d0f02ebeabc8a69e5196b2f4c5023db990610bd9908e90614227565b60405180910390a17f143219c9e69b09e07e095fcc889b43d8f46ca892bba65f08dc3a0050869a56788a604051610c109190614227565b60405180910390a17f78f058b189175430c48dc02699e3a0031ea4ff781536dc2fab847de4babdd88289604051610c479190614227565b60405180910390a17f5ee0cae2f063ed938bb55046f6a932fb6ae792bf43624806bb90abe68a50be9b88604051610c7e9190614227565b60405180910390a17f82966d27eea39b038ee0fa30cd16532bb24f6e65d31cb58fb227aa5766cdcc7f87604051610cb59190614227565b60405180910390a17fcfb07d791fcafc032b35837b50eb84b74df518cf4cc287e8084f47630fa70fa086604051610cec9190614227565b60405180910390a17fe67f36a6e961157d6eff83b91f3af5a62131ceb6f04954ef74f51c1c05e7f88d85604051610d239190614227565b60405180910390a17f8c537274438aa850a330284665d81a85dd38267d09e4050d416bfc94142db26484604051610d5a9190614227565b60405180910390a17f65f4cf077bc01e4742eb5ad98326f6e95b63548ea24b17f8d5e823111fe7880083604051610d919190614227565b60405180910390a17fcdf33850c44a1a874b5fefb51dae615ac6afebd581ef90d571f81b06541d8e9d82604051610dc89190614227565b60405180910390a17f7624075ed781e3aa34b0f492d70d1bb5a6fcde04534165e20f990d2e546be4dd81604051610dff9190614227565b60405180910390a1505050505050505050505050565b6002546001600160a01b031681565b6801158e460913d0000081565b600c546001600160a01b0316610e595760405162461bcd60e51b81526004016106fe90614c02565b6004805460405163d66a255360e01b81526000926001600160a01b039092169163d66a255391610e8b91339101614227565b60206040518083038186803b158015610ea357600080fd5b505afa158015610eb7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610edb9190613f84565b600c54909150610f19906001600160a01b0316610f07836801158e460913d0000063ffffffff61226d16565b600a546001600160a01b0316856122af565b506109bd61153c565b60008054604080516272c7d360e71b8152905183926001600160a01b031691633963e980916004808301926020929190829003018186803b158015610f6657600080fd5b505afa158015610f7a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f9e9190613f84565b90506000600160009054906101000a90046001600160a01b03166001600160a01b0316633963e9806040518163ffffffff1660e01b815260040160206040518083038186803b158015610ff057600080fd5b505afa158015611004573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110289190613f84565b905061103a828263ffffffff61255416565b9250505090565b600a546040516370a0823160e01b8152600091309183916001600160a01b0316906370a0823190611076908590600401614227565b60206040518083038186803b15801561108e57600080fd5b505afa1580156110a2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110c69190613f84565b90506110d633838888888c612579565b6110e6818763ffffffff61255416565b600a546040516370a0823160e01b81526001600160a01b03909116906370a0823190611116908690600401614227565b60206040518083038186803b15801561112e57600080fd5b505afa158015611142573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111669190613f84565b146111835760405162461bcd60e51b81526004016106fe9061448c565b600a54600c5460405163095ea7b360e01b81526001600160a01b039283169263095ea7b3926111b9929116908a9060040161427c565b602060405180830381600087803b1580156111d357600080fd5b505af11580156111e7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061120b9190613f35565b6112275760405162461bcd60e51b81526004016106fe90614886565b600c54600a5460405163438b1b4b60e01b81526001600160a01b039283169263438b1b4b9261125f929116908a9033906004016142c0565b602060405180830381600087803b15801561127957600080fd5b505af115801561128d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112b19190613f84565b979650505050505050565b6000546001600160a01b031681565b6107248484848433611b7c565b60006112e7868686868661258b565b9695505050505050565b6000805460408051630a7b61df60e11b8152905183926001600160a01b0316916314f6c3be916004808301926020929190829003018186803b15801561133657600080fd5b505afa15801561134a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061136e9190613f84565b90506000600160009054906101000a90046001600160a01b03166001600160a01b03166314f6c3be6040518163ffffffff1660e01b815260040160206040518083038186803b158015610ff057600080fd5b6000806040516113cf9061420a565b6040519081900390205492915050565b6113ee878787878787876119b6565b50505050505050565b6003546001600160a01b031681565b60405180604001604052806012815260200171426f72726f7765724f7065726174696f6e7360701b81525081565b600b546001600160a01b031681565b6109a633600085600086866000611b6c565b600c546001600160a01b031681565b6107d53386868686868c611b6c565b600c546001600160a01b031690565b61148a612616565b6109a683600080600086866000611b6c565b6008546001600160a01b031681565b600a546001600160a01b031681565b6003546040805163f92d343360e01b815290516000926001600160a01b03169163f92d3433916004808301926020929190829003018186803b1580156114ff57600080fd5b505afa158015611513573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115379190613f84565b905090565b600454600054600a546001600160a01b039283169291821691166115608333612640565b60025460408051630fdb11cf60e01b815290516000926001600160a01b031691630fdb11cf91600480830192602092919082900301818787803b1580156115a657600080fd5b505af11580156115ba573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115de9190613f84565b90506115e9816126e1565b604051630b07655760e01b81526001600160a01b03851690630b07655790611615903390600401614227565b600060405180830381600087803b15801561162f57600080fd5b505af1158015611643573d6000803e3d6000fd5b50506040516309019aaf60e31b8152600092506001600160a01b038716915063480cd57890611676903390600401614227565b60206040518083038186803b15801561168e57600080fd5b505afa1580156116a2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116c69190613f84565b90506000856001600160a01b031663d66a2553336040518263ffffffff1660e01b81526004016116f69190614227565b60206040518083038186803b15801561170e57600080fd5b505afa158015611722573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117469190613f84565b905061176b8433611766846801158e460913d0000063ffffffff61226d16565b612707565b600061177c8360008460008861258b565b9050611787816127a3565b604051631fc5750960e31b81526001600160a01b0388169063fe2ba848906117b3903390600401614227565b600060405180830381600087803b1580156117cd57600080fd5b505af11580156117e1573d6000803e3d6000fd5b50506040516365e89c5760e11b81526001600160a01b038a16925063cbd138ae9150611811903390600401614227565b600060405180830381600087803b15801561182b57600080fd5b505af115801561183f573d6000803e3d6000fd5b50505050336001600160a01b0316600080516020614c6a8339815191526000806000600160405161187394939291906142e3565b60405180910390a261189f86863361189a866801158e460913d0000063ffffffff61226d16565b612848565b6006546118c290879087906001600160a01b03166801158e460913d00000612848565b6040516364a197f360e01b81526001600160a01b038716906364a197f3906118f0903390879060040161427c565b600060405180830381600087803b15801561190a57600080fd5b505af115801561191e573d6000803e3d6000fd5b5050505050505050505050565b6001600160a01b0381166119515760405162461bcd60e51b81526004016106fe906144c3565b806001600160a01b03166119636113c0565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360006040516119a69061420a565b6040519081900390209190915550565b600c546001600160a01b03166119de5760405162461bcd60e51b81526004016106fe90614c02565b831580156119ec5750600085115b15611a1257600c54600a54611a10916001600160a01b0390811691889116846122af565b505b611a223387878787878d30612902565b838015611a2f5750600085115b156113ee57600a54600c5460405163095ea7b360e01b81526001600160a01b039283169263095ea7b392611a6a92911690899060040161427c565b602060405180830381600087803b158015611a8457600080fd5b505af1158015611a98573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611abc9190613f35565b611ad85760405162461bcd60e51b81526004016106fe90614886565b600c54600a5460405163438b1b4b60e01b81526001600160a01b039283169263438b1b4b92611b1092911690899033906004016142c0565b602060405180830381600087803b158015611b2a57600080fd5b505af1158015611b3e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b629190613f84565b5050505050505050565b6113ee8787878787878733612902565b611b84613c1e565b50604080516060810182526004546001600160a01b03908116825260005481166020830152600a541691810191909152611bbc613c3e565b600260009054906101000a90046001600160a01b03166001600160a01b0316630fdb11cf6040518163ffffffff1660e01b8152600401602060405180830381600087803b158015611c0c57600080fd5b505af1158015611c20573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c449190613f84565b808252600090611c5390612ee6565b9050611c5f8882612f81565b8251611c6b903361306d565b6040820187905280611cac57611c8b83600001518460400151898b61310f565b602083018190526040830151611ca69163ffffffff61255416565b60408301525b611cb982604001516132c8565b611cc682604001516121a7565b60608301819052611cd357fe5b611ce634836060015184600001516132f1565b60808301526060820151611cfb903490613324565b60a08301528015611d1857611d138260800151613359565b611d4b565b611d2582608001516133fe565b6000611d3e34600185606001516001876000015161258b565b9050611d49816127a3565b505b8251604051635d6b480f60e01b81526001600160a01b0390911690635d6b480f90611d7d90339060019060040161427c565b600060405180830381600087803b158015611d9757600080fd5b505af1158015611dab573d6000803e3d6000fd5b505084516040516372423c1760e01b81526001600160a01b0390911692506372423c179150611de0903390349060040161427c565b602060405180830381600087803b158015611dfa57600080fd5b505af1158015611e0e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e329190613f84565b5082516060830151604051639976cf4560e01b81526001600160a01b0390921691639976cf4591611e689133919060040161427c565b602060405180830381600087803b158015611e8257600080fd5b505af1158015611e96573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611eba9190613f84565b5082516040516382fe3eb960e01b81526001600160a01b03909116906382fe3eb990611eea903390600401614227565b600060405180830381600087803b158015611f0457600080fd5b505af1158015611f18573d6000803e3d6000fd5b50508451604051630c7940bd60e11b81526001600160a01b0390911692506318f2817a9150611f4b903390600401614227565b602060405180830381600087803b158015611f6557600080fd5b505af1158015611f79573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f9d9190613f84565b60c0830152600b5460a08301516040516346f7cf8760e01b81526001600160a01b03909216916346f7cf8791611fdc913391908b908b90600401614295565b600060405180830381600087803b158015611ff657600080fd5b505af115801561200a573d6000803e3d6000fd5b505084516040516315d549f160e01b81526001600160a01b0390911692506315d549f1915061203d903390600401614227565b602060405180830381600087803b15801561205757600080fd5b505af115801561206b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061208f9190613f84565b60e0830181905260405133917f59cfd0cd754bc5748b6770e94a4ffa5f678d885cb899dcfadc5734edb97c67ab916120c79190614c32565b60405180910390a26120dd8360200151346134a3565b6120f683602001518460400151868a866040015161351f565b602083015160408401516006546121229291906001600160a01b03166801158e460913d000008061351f565b606082015160c08301516040513392600080516020614c6a83398151915292612150923491906000906142e3565b60405180910390a2336001600160a01b03167f71457d8a5ab7e4561ed49d05338674b73ac3b83b0b315f165f5b12bcc002274183602001516040516121959190614c32565b60405180910390a25050505050505050565b6000610970826801158e460913d0000063ffffffff61255416565b60008060006121d58a8a8a8a8a8a6135e4565b9150915060006121e68383876132f1565b9b9a5050505050505050505050565b600080612220670de0b6b3a7640000612214858763ffffffff61365016565b9063ffffffff61368a16565b949350505050565b6001600160a01b03811661224e5760405162461bcd60e51b81526004016106fe90614605565b803b806109bd5760405162461bcd60e51b81526004016106fe906149a9565b6000610a3c83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506136cc565b600080856001600160a01b03166321df0da76040518163ffffffff1660e01b815260040160206040518083038186803b1580156122eb57600080fd5b505afa1580156122ff573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123239190613d3b565b90506000816001600160a01b03166370a08231306040518263ffffffff1660e01b81526004016123539190614227565b60206040518083038186803b15801561236b57600080fd5b505afa15801561237f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123a39190613f84565b9050306001600160a01b03831663605629d633838a89356123ca60408c0160208d016141e6565b8b604001358c606001356040518863ffffffff1660e01b81526004016123f6979695949392919061423b565b600060405180830381600087803b15801561241057600080fd5b505af1158015612424573d6000803e3d6000fd5b50505050866124b583856001600160a01b03166370a08231856040518263ffffffff1660e01b81526004016124599190614227565b60206040518083038186803b15801561247157600080fd5b505afa158015612485573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124a99190613f84565b9063ffffffff61226d16565b146124d25760405162461bcd60e51b81526004016106fe9061440c565b60405163fb2c922360e01b81526001600160a01b0389169063fb2c9223906125029089908b9033906004016142c0565b602060405180830381600087803b15801561251c57600080fd5b505af1158015612530573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109899190613f84565b600082820183811015610a3c5760405162461bcd60e51b81526004016106fe90614455565b6107d58660008660018787878c612902565b6000806125966112f1565b905060006125a2610f22565b9050866125be576125b9828963ffffffff61226d16565b6125ce565b6125ce828963ffffffff61255416565b9150846125ea576125e5818763ffffffff61226d16565b6125fa565b6125fa818763ffffffff61255416565b905060006126098383876132f1565b9998505050505050505050565b6005546001600160a01b031633146106b55760405162461bcd60e51b81526004016106fe90614a47565b6040516321e3780160e01b81526000906001600160a01b038416906321e378019061266f908590600401614227565b60206040518083038186803b15801561268757600080fd5b505afa15801561269b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906126bf9190613f84565b9050806001146109a65760405162461bcd60e51b81526004016106fe906147aa565b6126ea81612ee6565b156107105760405162461bcd60e51b81526004016106fe90614555565b6040516370a0823160e01b815281906001600160a01b038516906370a0823190612735908690600401614227565b60206040518083038186803b15801561274d57600080fd5b505afa158015612761573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127859190613f84565b10156109a65760405162461bcd60e51b81526004016106fe90614362565b600360009054906101000a90046001600160a01b03166001600160a01b0316635733d58f6040518163ffffffff1660e01b815260040160206040518083038186803b1580156127f157600080fd5b505afa158015612805573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906128299190613f84565b8110156107105760405162461bcd60e51b81526004016106fe9061473b565b60405163121cbc4d60e11b81526001600160a01b03851690632439789a90612874908490600401614c32565b600060405180830381600087803b15801561288e57600080fd5b505af11580156128a2573d6000803e3d6000fd5b5050604051632770a7eb60e21b81526001600160a01b0386169250639dc29fac91506128d4908590859060040161427c565b600060405180830381600087803b1580156128ee57600080fd5b505af1158015611b62573d6000803e3d6000fd5b61290a613c1e565b50604080516060810182526004546001600160a01b03908116825260005481166020830152600a541691810191909152612942613c83565b600260009054906101000a90046001600160a01b03166001600160a01b0316630fdb11cf6040518163ffffffff1660e01b8152600401602060405180830381600087803b15801561299257600080fd5b505af11580156129a6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906129ca9190613f84565b8082526129d690612ee6565b15156101c082015286156129fc576129f384826101c00151612f81565b6129fc886136f8565b612a0589613718565b612a0f898961373f565b8151612a1b908b612640565b336001600160a01b038b161480612a5157506005546001600160a01b031633148015612a475750600034115b8015612a51575087155b612a5757fe5b8151604051630b07655760e01b81526001600160a01b0390911690630b07655790612a86908d90600401614227565b600060405180830381600087803b158015612aa057600080fd5b505af1158015612ab4573d6000803e3d6000fd5b50505050612ac2348a613772565b15156060830152602082015260408101889052868015612ae55750806101c00151155b15612b2057612afe826000015183604001518a8761310f565b61012082018190526040820151612b1a9163ffffffff61255416565b60408201525b815160405163d66a255360e01b81526001600160a01b039091169063d66a255390612b4f908d90600401614227565b60206040518083038186803b158015612b6757600080fd5b505afa158015612b7b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612b9f9190613f84565b608082015281516040516309019aaf60e31b81526001600160a01b039091169063480cd57890612bd3908d90600401614227565b60206040518083038186803b158015612beb57600080fd5b505afa158015612bff573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612c239190613f84565b60a0820181905260808201518251612c3c9291906132f1565b8160c0018181525050612c6c8160a0015182608001518360200151846060015185604001518c87600001516121c2565b60e082015260a0810151891115612c7f57fe5b612c90816101c001518a8984613791565b86158015612c9e5750600088115b15612ce557612cc0612cbb82604001516124a98460800151613805565b6132c8565b612cd281608001518260400151613820565b612ce582604001518b8360400151612707565b612d0382600001518b8360200151846060015185604001518c613858565b6101408301526101608201528151604051630c7940bd60e11b81526001600160a01b03909116906318f2817a90612d3e908d90600401614227565b602060405180830381600087803b158015612d5857600080fd5b505af1158015612d6c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612d909190613f84565b81610180018181525050612dbc8160a0015182608001518360200151846060015185604001518c613a70565b6101a08201819052600b5460405163015f109360e51b81526001600160a01b0390911691632be2126091612df8918e918b908b90600401614295565b600060405180830381600087803b158015612e1257600080fd5b505af1158015612e26573d6000803e3d6000fd5b50505050896001600160a01b0316600080516020614c6a8339815191528261014001518361016001518461018001516002604051612e6794939291906142e3565b60405180910390a2336001600160a01b03167f71457d8a5ab7e4561ed49d05338674b73ac3b83b0b315f165f5b12bcc0022741826101200151604051612ead9190614c32565b60405180910390a2612eda8260200151836040015133846020015185606001518d8d88604001518b613aa1565b50505050505050505050565b600080612ef283613b45565b9050600360009054906101000a90046001600160a01b03166001600160a01b0316635733d58f6040518163ffffffff1660e01b815260040160206040518083038186803b158015612f4257600080fd5b505afa158015612f56573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612f7a9190613f84565b1192915050565b8015612fb457670de0b6b3a7640000821115612faf5760405162461bcd60e51b81526004016106fe9061463c565b6109bd565b600360009054906101000a90046001600160a01b03166001600160a01b031663f92d34336040518163ffffffff1660e01b815260040160206040518083038186803b15801561300257600080fd5b505afa158015613016573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061303a9190613f84565b82101580156130515750670de0b6b3a76400008211155b6109bd5760405162461bcd60e51b81526004016106fe90614a90565b6040516321e3780160e01b81526000906001600160a01b038416906321e378019061309c908590600401614227565b60206040518083038186803b1580156130b457600080fd5b505afa1580156130c8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906130ec9190613f84565b905080600114156109a65760405162461bcd60e51b81526004016106fe90614ae0565b6000846001600160a01b0316635dba4c4a6040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561314c57600080fd5b505af1158015613160573d6000803e3d6000fd5b5050604051630631203b60e41b8152600092506001600160a01b038816915063631203b090613193908790600401614c32565b60206040518083038186803b1580156131ab57600080fd5b505afa1580156131bf573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906131e39190613f84565b90506131f0818585613b69565b600d546040516340c10f1960e01b81526001600160a01b03878116926340c10f19926132249290911690859060040161427c565b600060405180830381600087803b15801561323e57600080fd5b505af1158015613252573d6000803e3d6000fd5b50505050600d60009054906101000a90046001600160a01b03166001600160a01b031663bb57ad206040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156132a657600080fd5b505af11580156132ba573d6000803e3d6000fd5b509298975050505050505050565b6809c2007651b25000008110156107105760405162461bcd60e51b81526004016106fe9061494c565b6000821561331857600061330f84612214878663ffffffff61365016565b915061331d9050565b506000195b9392505050565b6000811561335057613349826122148568056bc75e2d6310000063ffffffff61365016565b9050610a3f565b50600019610a3f565b600360009054906101000a90046001600160a01b03166001600160a01b0316635733d58f6040518163ffffffff1660e01b815260040160206040518083038186803b1580156133a757600080fd5b505afa1580156133bb573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906133df9190613f84565b8110156107105760405162461bcd60e51b81526004016106fe906145ae565b600360009054906101000a90046001600160a01b03166001600160a01b031663794e57246040518163ffffffff1660e01b815260040160206040518083038186803b15801561344c57600080fd5b505afa158015613460573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906134849190613f84565b8110156107105760405162461bcd60e51b81526004016106fe906148dd565b6000826001600160a01b0316826040516134bc90614207565b60006040518083038185875af1925050503d80600081146134f9576040519150601f19603f3d011682016040523d82523d6000602084013e6134fe565b606091505b50509050806109a65760405162461bcd60e51b81526004016106fe906143bf565b60405163f2e91d7160e01b81526001600160a01b0386169063f2e91d719061354b908490600401614c32565b600060405180830381600087803b15801561356557600080fd5b505af1158015613579573d6000803e3d6000fd5b50506040516340c10f1960e01b81526001600160a01b03871692506340c10f1991506135ab908690869060040161427c565b600060405180830381600087803b1580156135c557600080fd5b505af11580156135d9573d6000803e3d6000fd5b505050505050505050565b600080878786613603576135fe8a8963ffffffff61226d16565b613613565b6136138a8963ffffffff61255416565b91508461362f5761362a898763ffffffff61226d16565b61363f565b61363f898763ffffffff61255416565b919a91995090975050505050505050565b60008261365f57506000610a3f565b8282028284828161366c57fe5b0414610a3c5760405162461bcd60e51b81526004016106fe906146fa565b6000610a3c83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250613ba9565b600081848411156136f05760405162461bcd60e51b81526004016106fe919061430f565b505050900390565b600081116107105760405162461bcd60e51b81526004016106fe90614b17565b341580613723575080155b6107105760405162461bcd60e51b81526004016106fe90614505565b3415158061374c57508115155b8061375657508015155b6109bd5760405162461bcd60e51b81526004016106fe9061468e565b60008083156137865750829050600161378a565b8291505b9250929050565b83156137ca576137a083613be0565b81156137c5576137b38160e00151613359565b6137c58160e001518260c00151613bfe565b610724565b6137d78160e001516133fe565b6137f481602001518260600151836040015185856000015161258b565b6101008201819052610724906127a3565b6000610970826801158e460913d0000063ffffffff61226d16565b613839826801158e460913d0000063ffffffff61226d16565b8111156109bd5760405162461bcd60e51b81526004016106fe906149de565b6000806000856138e75760405163d3d6f84360e01b81526001600160a01b038a169063d3d6f84390613890908b908b9060040161427c565b602060405180830381600087803b1580156138aa57600080fd5b505af11580156138be573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906138e29190613f84565b613967565b6040516372423c1760e01b81526001600160a01b038a16906372423c1790613915908b908b9060040161427c565b602060405180830381600087803b15801561392f57600080fd5b505af1158015613943573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906139679190613f84565b90506000846139f057604051630930874960e11b81526001600160a01b038b16906312610e929061399e908c908a9060040161427c565b602060405180830381600087803b1580156139b857600080fd5b505af11580156139cc573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061362a9190613f84565b604051639976cf4560e01b81526001600160a01b038b1690639976cf4590613a1e908c908a9060040161427c565b602060405180830381600087803b158015613a3857600080fd5b505af1158015613a4c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061363f9190613f84565b6000806000613a838989898989896135e4565b915091506000613a938383613324565b9a9950505050505050505050565b8215613ab957613ab4898983878661351f565b613ac5565b613ac589898987612848565b8415613ada57613ad589876134a3565b6135d9565b6040516364a197f360e01b81526001600160a01b038a16906364a197f390613b08908a908a9060040161427c565b600060405180830381600087803b158015613b2257600080fd5b505af1158015613b36573d6000803e3d6000fd5b50505050505050505050505050565b600080613b506112f1565b90506000613b5c610f22565b90506122208282866132f1565b6000613b878361221486670de0b6b3a764000063ffffffff61365016565b9050818111156107245760405162461bcd60e51b81526004016106fe90614bcb565b60008183613bca5760405162461bcd60e51b81526004016106fe919061430f565b506000838581613bd657fe5b0495945050505050565b80156107105760405162461bcd60e51b81526004016106fe90614829565b808210156109bd5760405162461bcd60e51b81526004016106fe90614b6e565b604080516060810182526000808252602082018190529181019190915290565b60405180610100016040528060008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081525090565b604051806101e00160405280600081526020016000815260200160008152602001600015158152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000151581525090565b8035610a3f81614c46565b600060808284031215613d19578081fd5b50919050565b600060208284031215613d30578081fd5b8135610a3c81614c46565b600060208284031215613d4c578081fd5b8151610a3c81614c46565b60008060408385031215613d69578081fd5b8235613d7481614c46565b91506020830135613d8481614c46565b809150509250929050565b600080600060608486031215613da3578081fd5b8335613dae81614c46565b92506020840135613dbe81614c46565b91506040840135613dce81614c46565b809150509250925092565b6000806000806000806000806000806000806101808d8f031215613dfb578788fd5b8c35613e0681614c46565b9b5060208d0135613e1681614c46565b9a5060408d0135613e2681614c46565b995060608d0135613e3681614c46565b985060808d0135613e4681614c46565b975060a08d0135613e5681614c46565b9650613e658e60c08f01613cfd565b9550613e748e60e08f01613cfd565b9450613e848e6101008f01613cfd565b9350613e948e6101208f01613cfd565b9250613ea48e6101408f01613cfd565b9150613eb48e6101608f01613cfd565b90509295989b509295989b509295989b565b60008060008060008060c08789031215613ede578182fd5b8635613ee981614c46565b955060208701359450604087013593506060870135613f0781614c5b565b92506080870135613f1781614c46565b915060a0870135613f2781614c46565b809150509295509295509295565b600060208284031215613f46578081fd5b8151610a3c81614c5b565b600060808284031215613f62578081fd5b610a3c8383613d08565b600060208284031215613f7d578081fd5b5035919050565b600060208284031215613f95578081fd5b5051919050565b600080600060608486031215613fb0578283fd5b833592506020840135613dbe81614c46565b60008060008060e08587031215613fd7578384fd5b843593506020850135613fe981614c46565b92506040850135613ff981614c46565b91506140088660608701613d08565b905092959194509250565b600080600080600060a0868803121561402a578283fd5b85359450602086013561403c81614c5b565b935060408601359250606086013561405381614c5b565b949793965091946080013592915050565b60008060408385031215614076578182fd5b50508035926020909101359150565b6000806000806080858703121561409a578182fd5b843593506020850135925060408501356140b381614c46565b915060608501356140c381614c46565b939692955090935050565b60008060008060008060c087890312156140e6578384fd5b8635955060208701359450604087013593506060870135613f0781614c5b565b6000806000806000806000610140888a031215614121578081fd5b873596506020880135955060408801359450606088013561414181614c5b565b9350608088013561415181614c46565b925060a088013561416181614c46565b91506141708960c08a01613d08565b905092959891949750929550565b600080600080600080600060e0888a031215614198578081fd5b87359650602088013595506040880135945060608801356141b881614c5b565b93506080880135925060a08801356141cf81614c5b565b8092505060c0880135905092959891949750929550565b6000602082840312156141f7578081fd5b813560ff81168114610a3c578182fd5b90565b7035b2bc9737bbb730b136329737bbb732b960791b815260110190565b6001600160a01b0391909116815260200190565b6001600160a01b0397881681529590961660208601526040850193909352606084019190915260ff16608083015260a082015260c081019190915260e00190565b6001600160a01b03929092168252602082015260400190565b6001600160a01b03948516815260208101939093529083166040830152909116606082015260800190565b6001600160a01b0393841681526020810192909252909116604082015260600190565b84815260208101849052604081018390526080810161430183614c3b565b606083015295945050505050565b6000602080835283518082850152825b8181101561433b5785810183015185820160400152820161431f565b8181111561434c5783604083870101525b50601f01601f1916929092016040019392505050565b6020808252603d908201527f426f72726f7765724f70733a2043616c6c657220646f65736e7420686176652060408201527f656e6f756768205a55534420746f206d616b652072657061796d656e74000000606082015260800190565b6020808252602d908201527f426f72726f7765724f70733a2053656e64696e672045544820746f204163746960408201526c1d99541bdbdb0819985a5b1959609a1b606082015260800190565b60208082526029908201527f444c4c52207472616e7366657272656420616d6f756e742076616c69646174696040820152681bdb8819985a5b195960ba1b606082015260800190565b6020808252601b908201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604082015260600190565b6020808252601e908201527f5a555344206973206e6f7420626f72726f77656420636f72726563746c790000604082015260600190565b60208082526022908201527f4f776e61626c653a3a7365744f776e65723a20696e76616c6964206164647265604082015261737360f01b606082015260800190565b60208082526030908201527f426f72726f7765724f7065726174696f6e733a2043616e6e6f7420776974686460408201526f1c985dc8185b99081859190818dbdb1b60821b606082015260800190565b60208082526039908201527f426f72726f7765724f70733a204f7065726174696f6e206e6f74207065726d696040820152787474656420647572696e67205265636f76657279204d6f646560381b606082015260800190565b60208082526037908201527f426f72726f7765724f70733a204f7065726174696f6e206d757374206c65617660408201527632903a3937bb32903bb4ba341024a1a9101f1e9021a1a960491b606082015260800190565b6020808252601e908201527f4163636f756e742063616e6e6f74206265207a65726f20616464726573730000604082015260600190565b60208082526032908201527f4d6178206665652070657263656e74616765206d757374206c657373207468616040820152716e206f7220657175616c20746f203130302560701b606082015260800190565b60208082526046908201527f426f72726f7765724f70733a205468657265206d75737420626520656974686560408201527f72206120636f6c6c61746572616c206368616e6765206f7220612064656274206060820152656368616e676560d01b608082015260a00190565b60208082526021908201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6040820152607760f81b606082015260800190565b60208082526049908201527f426f72726f7765724f70733a20416e206f7065726174696f6e2074686174207760408201527f6f756c6420726573756c7420696e20544352203c20434352206973206e6f74206060820152681c195c9b5a5d1d195960ba1b608082015260a00190565b6020808252602e908201527f426f72726f7765724f70733a2054726f766520646f6573206e6f74206578697360408201526d1d081bdc881a5cc818db1bdcd95960921b606082015260800190565b60208082526017908201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604082015260600190565b6020808252603e908201527f426f72726f7765724f70733a20436f6c6c61746572616c20776974686472617760408201527f616c206e6f74207065726d6974746564205265636f76657279204d6f64650000606082015260800190565b60208082526037908201527f4661696c656420746f20617070726f7665205a55534420616d6f756e7420666f60408201527672204d796e74206d417373657420746f2072656465656d60481b606082015260800190565b60208082526049908201527f426f72726f7765724f70733a20416e206f7065726174696f6e2074686174207760408201527f6f756c6420726573756c7420696e20494352203c204d4352206973206e6f74206060820152681c195c9b5a5d1d195960ba1b608082015260a00190565b6020808252603a908201527f426f72726f7765724f70733a2054726f76652773206e65742064656274206d7560408201527f73742062652067726561746572207468616e206d696e696d756d000000000000606082015260800190565b6020808252818101527f4163636f756e7420636f64652073697a652063616e6e6f74206265207a65726f604082015260600190565b60208082526043908201527f426f72726f7765724f70733a20416d6f756e7420726570616964206d7573742060408201527f6e6f74206265206c6172676572207468616e207468652054726f76652773206460608201526219589d60ea1b608082015260a00190565b60208082526029908201527f426f72726f7765724f70733a2043616c6c6572206973206e6f742053746162696040820152681b1a5d1e48141bdbdb60ba1b606082015260800190565b60208082526030908201527f4d6178206665652070657263656e74616765206d75737420626520626574776560408201526f656e20302e352520616e64203130302560801b606082015260800190565b6020808252601c908201527f426f72726f7765724f70733a2054726f76652069732061637469766500000000604082015260600190565b60208082526037908201527f426f72726f7765724f70733a204465627420696e637265617365207265717569604082015276726573206e6f6e2d7a65726f20646562744368616e676560481b606082015260800190565b6020808252603e908201527f426f72726f7765724f70733a2043616e6e6f7420646563726561736520796f7560408201527f722054726f766527732049435220696e205265636f76657279204d6f64650000606082015260800190565b6020808252601d908201527f4665652065786365656465642070726f7669646564206d6178696d756d000000604082015260600190565b60208082526016908201527513585cdcd95d081859191c995cdcc81b9bdd081cd95d60521b604082015260600190565b90815260200190565b806003811061097357fe5b6001600160a01b038116811461071057600080fd5b801515811461071057600080fdfec3770d654ed33aeea6bf11ac8ef05d02a6a04ed4686dd2f624d853bbec43cc8ba26469706673582212205c5ffb23eadbeafd7ab3df3f840e0cf067a73b2d5014c5a54bc7acacce8677f564736f6c634300060b0033", "linkReferences": {}, "deployedLinkReferences": {} } diff --git a/packages/lib-ethers/live/BorrowerWrappersScript.json b/packages/lib-ethers/live/BorrowerWrappersScript.json index d0e12a570..79a0581a8 100644 --- a/packages/lib-ethers/live/BorrowerWrappersScript.json +++ b/packages/lib-ethers/live/BorrowerWrappersScript.json @@ -19,6 +19,26 @@ "internalType": "address", "name": "_zeroStakingAddress", "type": "address" + }, + { + "internalType": "address", + "name": "_stabilityPoolAddress", + "type": "address" + }, + { + "internalType": "address", + "name": "_priceFeedAddress", + "type": "address" + }, + { + "internalType": "address", + "name": "_zusdTokenAddress", + "type": "address" + }, + { + "internalType": "address", + "name": "_zeroTokenAddress", + "type": "address" } ], "stateMutability": "nonpayable", @@ -109,7 +129,7 @@ }, { "internalType": "uint256", - "name": "_LUSDAmount", + "name": "_ZUSDAmount", "type": "uint256" }, { @@ -190,7 +210,7 @@ }, { "internalType": "uint256", - "name": "_LUSDAmount", + "name": "_ZUSDAmount", "type": "uint256" }, { @@ -227,7 +247,7 @@ "type": "address" } ], - "name": "repayLUSD", + "name": "repayZUSD", "outputs": [], "stateMutability": "nonpayable", "type": "function" @@ -236,7 +256,7 @@ "inputs": [ { "internalType": "uint256", - "name": "_LQTYamount", + "name": "_ZEROamount", "type": "uint256" } ], @@ -315,14 +335,14 @@ "type": "address" } ], - "name": "withdrawLUSD", + "name": "withdrawZUSD", "outputs": [], "stateMutability": "nonpayable", "type": "function" } ], - "bytecode": "0x6101806040523480156200001257600080fd5b5060405162001f3338038062001f33833981810160405260608110156200003857600080fd5b508051602082015160409092015190919080836200005f816001600160e01b036200040616565b60601b6001600160601b0319166080526200007a8162000406565b60601b6001600160601b03191660a052620000958262000406565b6000829050806001600160a01b031660c0816001600160a01b031660601b815250506000816001600160a01b031663048c661d6040518163ffffffff1660e01b815260040160206040518083038186803b158015620000f357600080fd5b505afa15801562000108573d6000803e3d6000fd5b505050506040513d60208110156200011f57600080fd5b5051905062000137816001600160e01b036200040616565b806001600160a01b031660e0816001600160a01b031660601b815250506000826001600160a01b031663741bef1a6040518163ffffffff1660e01b815260040160206040518083038186803b1580156200019057600080fd5b505afa158015620001a5573d6000803e3d6000fd5b505050506040513d6020811015620001bc57600080fd5b50519050620001d4816001600160e01b036200040616565b806001600160a01b0316610100816001600160a01b031660601b815250506000836001600160a01b031663b83f91a26040518163ffffffff1660e01b815260040160206040518083038186803b1580156200022e57600080fd5b505afa15801562000243573d6000803e3d6000fd5b505050506040513d60208110156200025a57600080fd5b5051905062000272816001600160e01b036200040616565b806001600160a01b0316610120816001600160a01b031660601b815250506000846001600160a01b0316631f7af3c36040518163ffffffff1660e01b815260040160206040518083038186803b158015620002cc57600080fd5b505afa158015620002e1573d6000803e3d6000fd5b505050506040513d6020811015620002f857600080fd5b5051905062000310816001600160e01b036200040616565b806001600160a01b0316610140816001600160a01b031660601b815250506000856001600160a01b031663a3a640176040518163ffffffff1660e01b815260040160206040518083038186803b1580156200036a57600080fd5b505afa1580156200037f573d6000803e3d6000fd5b505050506040513d60208110156200039657600080fd5b505190506001600160a01b0387811690821614620003e65760405162461bcd60e51b815260040180806020018281038252603181526020018062001f026031913960400191505060405180910390fd5b60601b6001600160601b0319166101605250620004bb9650505050505050565b6001600160a01b03811662000462576040805162461bcd60e51b815260206004820152601e60248201527f4163636f756e742063616e6e6f74206265207a65726f20616464726573730000604482015290519081900360640190fd5b803b80620004b7576040805162461bcd60e51b815260206004820181905260248201527f4163636f756e7420636f64652073697a652063616e6e6f74206265207a65726f604482015290519081900360640190fd5b5050565b60805160601c60a05160601c60c05160601c60e05160601c6101005160601c6101205160601c6101405160601c6101605160601c6119686200059a60003980610ad25280610fdb528061131e5250806107be52806108d85280610f43528061128c525080610eab52806110575250806115345250806108565280610a58528061120f52508061144e52806115e65280611682525080610d5452508061045552806104be528061056952806105d852806106b1528061074f52806109c55280610b845280610bd15280610cc15280610e1a528061116a52506119686000f3fe6080604052600436106100bd5760003560e01c80636f0b0c1c1161006f5780636f0b0c1c1461024b5780637b1a490914610260578063860665b3146102ad578063a3f4df7e146102e7578063a694fc3a14610371578063c6a6cf201461039b578063d08eb01b146103e3576100bd565b806304491fa7146100c25780630e704d50146101055780631184e5f81461011a578063233a2e39146101615780635530273c1461019b57806358c9d977146101dc57806368647db11461021d575b600080fd5b3480156100ce57600080fd5b50610103600480360360608110156100e557600080fd5b508035906001600160a01b0360208201358116916040013516610424565b005b34801561011157600080fd5b506101036104bc565b34801561012657600080fd5b506101036004803603608081101561013d57600080fd5b508035906020810135906001600160a01b0360408201358116916060013516610531565b6101036004803603608081101561017757600080fd5b508035906020810135906001600160a01b03604082013581169160600135166105d1565b3480156101a757600080fd5b50610103600480360360608110156101be57600080fd5b508035906001600160a01b036020820135811691604001351661071e565b3480156101e857600080fd5b50610103600480360360608110156101ff57600080fd5b508035906001600160a01b0360208201358116916040013516610799565b6101036004803603604081101561023357600080fd5b506001600160a01b0381358116916020013516610b5a565b34801561025757600080fd5b50610103610bcf565b34801561026c57600080fd5b506102996004803603604081101561028357600080fd5b506001600160a01b038135169060200135610c2a565b604080519115158252519081900360200190f35b610103600480360360808110156102c357600080fd5b508035906020810135906001600160a01b0360408201358116916060013516610c89565b3480156102f357600080fd5b506102fc610d20565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561033657818101518382015260200161031e565b50505050905090810190601f1680156103635780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561037d57600080fd5b506101036004803603602081101561039457600080fd5b5035610d52565b610103600480360360c08110156103b157600080fd5b5080359060208101359060408101359060608101351515906001600160a01b03608082013581169160a0013516610dd3565b3480156103ef57600080fd5b506101036004803603606081101561040657600080fd5b508035906001600160a01b0360208201358116916040013516610e86565b604080516304491fa760e01b8152600481018590526001600160a01b038481166024830152838116604483015291517f0000000000000000000000000000000000000000000000000000000000000000909216916304491fa79160648082019260009290919082900301818387803b15801561049f57600080fd5b505af11580156104b3573d6000803e3d6000fd5b50505050505050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316630e704d506040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561051757600080fd5b505af115801561052b573d6000803e3d6000fd5b50505050565b604080516302309cbf60e31b815260048101869052602481018590526001600160a01b038481166044830152838116606483015291517f000000000000000000000000000000000000000000000000000000000000000090921691631184e5f89160848082019260009290919082900301818387803b1580156105b357600080fd5b505af11580156105c7573d6000803e3d6000fd5b5050505050505050565b60004790507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316636f0b0c1c6040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561063157600080fd5b505af1158015610645573d6000803e3d6000fd5b50479250505081811161065457fe5b60006106763461066a848663ffffffff6113a916565b9063ffffffff6113f216565b6040805163860665b360e01b8152600481018a9052602481018990526001600160a01b038881166044830152878116606483015291519293507f00000000000000000000000000000000000000000000000000000000000000009091169163860665b3918491608480830192600092919082900301818588803b1580156106fc57600080fd5b505af1158015610710573d6000803e3d6000fd5b505050505050505050505050565b6040805163154c09cf60e21b8152600481018590526001600160a01b038481166024830152838116604483015291517f000000000000000000000000000000000000000000000000000000000000000090921691635530273c9160648082019260009290919082900301818387803b15801561049f57600080fd5b604080516370a0823160e01b8152306004820152905147916000916001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016916370a08231916024808301926020929190829003018186803b15801561080457600080fd5b505afa158015610818573d6000803e3d6000fd5b505050506040513d602081101561082e57600080fd5b505160408051632e54bf9560e01b815260006004820181905291519293506001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001692632e54bf959260248084019391929182900301818387803b15801561089b57600080fd5b505af11580156108af573d6000803e3d6000fd5b5050604080516370a0823160e01b81523060048201529051479350600092506001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016916370a08231916024808301926020929190829003018186803b15801561091e57600080fd5b505afa158015610932573d6000803e3d6000fd5b505050506040513d602081101561094857600080fd5b50519050600061095e838663ffffffff6113a916565b90508015610ab65761096f3061144c565b600061097a8261152f565b60408051630635367960e51b8152600481018c905260006024820181905260448201849052600160648301526001600160a01b038c811660848401528b811660a484015292519394507f00000000000000000000000000000000000000000000000000000000000000009092169263c6a6cf2092869260c4808201939182900301818588803b158015610a0c57600080fd5b505af1158015610a20573d6000803e3d6000fd5b50505050506000811115610ab45760408051635f788d6560e01b81526004810183905260006024820181905291516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001692635f788d65926044808201939182900301818387803b158015610a9b57600080fd5b505af1158015610aaf573d6000803e3d6000fd5b505050505b505b6000610ac8838663ffffffff6113a916565b90508015610b4f577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a694fc3a826040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b158015610b3657600080fd5b505af1158015610b4a573d6000803e3d6000fd5b505050505b505050505050505050565b604080516368647db160e01b81526001600160a01b038481166004830152838116602483015291517f0000000000000000000000000000000000000000000000000000000000000000909216916368647db1913491604480830192600092919082900301818588803b15801561049f57600080fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316636f0b0c1c6040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561051757600080fd5b60405160009081906001600160a01b0385169084908381818185875af1925050503d8060008114610c77576040519150601f19603f3d011682016040523d82523d6000602084013e610c7c565b606091505b5090925050505b92915050565b6040805163860665b360e01b815260048101869052602481018590526001600160a01b038481166044830152838116606483015291517f00000000000000000000000000000000000000000000000000000000000000009092169163860665b3913491608480830192600092919082900301818588803b158015610d0c57600080fd5b505af1158015610b4f573d6000803e3d6000fd5b60405180604001604052806016815260200175109bdc9c9bddd95c95dc985c1c195c9cd4d8dc9a5c1d60521b81525081565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a694fc3a826040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b158015610db857600080fd5b505af1158015610dcc573d6000803e3d6000fd5b5050505050565b60408051630635367960e51b815260048101889052602481018790526044810186905284151560648201526001600160a01b03848116608483015283811660a483015291517f00000000000000000000000000000000000000000000000000000000000000009092169163c6a6cf2091349160c480830192600092919082900301818588803b158015610e6557600080fd5b505af1158015610e79573d6000803e3d6000fd5b5050505050505050505050565b604080516370a0823160e01b8152306004820152905147916000916001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016916370a08231916024808301926020929190829003018186803b158015610ef157600080fd5b505afa158015610f05573d6000803e3d6000fd5b505050506040513d6020811015610f1b57600080fd5b5051604080516370a0823160e01b815230600482015290519192506000916001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016916370a08231916024808301926020929190829003018186803b158015610f8957600080fd5b505afa158015610f9d573d6000803e3d6000fd5b505050506040513d6020811015610fb357600080fd5b5051604080516305c2fbcf60e31b815260006004820181905291519293506001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001692632e17de789260248084019391929182900301818387803b15801561102057600080fd5b505af1158015611034573d6000803e3d6000fd5b50505050600061104d84476113a990919063ffffffff16565b90506000611103847f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b1580156110cb57600080fd5b505afa1580156110df573d6000803e3d6000fd5b505050506040513d60208110156110f557600080fd5b50519063ffffffff6113a916565b9050600082156111cb576111163061144c565b61111f8361152f565b60408051630635367960e51b8152600481018c905260006024820181905260448201849052600160648301526001600160a01b038c811660848401528b811660a484015292519394507f00000000000000000000000000000000000000000000000000000000000000009092169263c6a6cf2092879260c4808201939182900301818588803b1580156111b157600080fd5b505af11580156111c5573d6000803e3d6000fd5b50505050505b60006111dd838363ffffffff6113f216565b9050801561139d5760408051635f788d6560e01b81526004810183905260006024820181905291516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001692635f788d65926044808201939182900301818387803b15801561125257600080fd5b505af1158015611266573d6000803e3d6000fd5b5050604080516370a0823160e01b81523060048201529051600093506001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001692506370a0823191602480820192602092909190829003018186803b1580156112d457600080fd5b505afa1580156112e8573d6000803e3d6000fd5b505050506040513d60208110156112fe57600080fd5b505190506000611314828863ffffffff6113a916565b90508015610710577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a694fc3a826040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b15801561138257600080fd5b505af1158015611396573d6000803e3d6000fd5b5050505050505b50505050505050505050565b60006113eb83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611747565b9392505050565b6000828201838110156113eb576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166321e37801826040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b1580156114c257600080fd5b505afa1580156114d6573d6000803e3d6000fd5b505050506040513d60208110156114ec57600080fd5b505160011461152c5760405162461bcd60e51b81526004018080602001828103825260388152602001806118da6038913960400191505060405180910390fd5b50565b6000807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316630fdb11cf6040518163ffffffff1660e01b8152600401602060405180830381600087803b15801561158d57600080fd5b505af11580156115a1573d6000803e3d6000fd5b505050506040513d60208110156115b757600080fd5b505160408051630d293c7160e41b81523060048201526024810183905290519192506000916001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169163d293c710916044808301926020929190829003018186803b15801561162c57600080fd5b505afa158015611640573d6000803e3d6000fd5b505050506040513d602081101561165657600080fd5b50519050600061167c82611670878663ffffffff6117de16565b9063ffffffff61183716565b905060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166366ca4a216040518163ffffffff1660e01b815260040160206040518083038186803b1580156116d957600080fd5b505afa1580156116ed573d6000803e3d6000fd5b505050506040513d602081101561170357600080fd5b50519050600061173c611724670de0b6b3a76400008463ffffffff6113f216565b61167085670de0b6b3a764000063ffffffff6117de16565b979650505050505050565b600081848411156117d65760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561179b578181015183820152602001611783565b50505050905090810190601f1680156117c85780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b6000826117ed57506000610c83565b828202828482816117fa57fe5b04146113eb5760405162461bcd60e51b81526004018080602001828103825260218152602001806119126021913960400191505060405180910390fd5b60006113eb83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250600081836118c35760405162461bcd60e51b815260206004820181815283516024840152835190928392604490910191908501908083836000831561179b578181015183820152602001611783565b5060008385816118cf57fe5b049594505050505056fe426f72726f77657257726170706572735363726970743a2063616c6c6572206d757374206861766520616e206163746976652074726f7665536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77a2646970667358221220cbe0057a16ba249c291bcff135f991868766bf110ddd21ae13e08830653bb2a164736f6c634300060b0033426f72726f77657257726170706572735363726970743a2057726f6e67204c5154595374616b696e672061646472657373", - "deployedBytecode": "0x6080604052600436106100bd5760003560e01c80636f0b0c1c1161006f5780636f0b0c1c1461024b5780637b1a490914610260578063860665b3146102ad578063a3f4df7e146102e7578063a694fc3a14610371578063c6a6cf201461039b578063d08eb01b146103e3576100bd565b806304491fa7146100c25780630e704d50146101055780631184e5f81461011a578063233a2e39146101615780635530273c1461019b57806358c9d977146101dc57806368647db11461021d575b600080fd5b3480156100ce57600080fd5b50610103600480360360608110156100e557600080fd5b508035906001600160a01b0360208201358116916040013516610424565b005b34801561011157600080fd5b506101036104bc565b34801561012657600080fd5b506101036004803603608081101561013d57600080fd5b508035906020810135906001600160a01b0360408201358116916060013516610531565b6101036004803603608081101561017757600080fd5b508035906020810135906001600160a01b03604082013581169160600135166105d1565b3480156101a757600080fd5b50610103600480360360608110156101be57600080fd5b508035906001600160a01b036020820135811691604001351661071e565b3480156101e857600080fd5b50610103600480360360608110156101ff57600080fd5b508035906001600160a01b0360208201358116916040013516610799565b6101036004803603604081101561023357600080fd5b506001600160a01b0381358116916020013516610b5a565b34801561025757600080fd5b50610103610bcf565b34801561026c57600080fd5b506102996004803603604081101561028357600080fd5b506001600160a01b038135169060200135610c2a565b604080519115158252519081900360200190f35b610103600480360360808110156102c357600080fd5b508035906020810135906001600160a01b0360408201358116916060013516610c89565b3480156102f357600080fd5b506102fc610d20565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561033657818101518382015260200161031e565b50505050905090810190601f1680156103635780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561037d57600080fd5b506101036004803603602081101561039457600080fd5b5035610d52565b610103600480360360c08110156103b157600080fd5b5080359060208101359060408101359060608101351515906001600160a01b03608082013581169160a0013516610dd3565b3480156103ef57600080fd5b506101036004803603606081101561040657600080fd5b508035906001600160a01b0360208201358116916040013516610e86565b604080516304491fa760e01b8152600481018590526001600160a01b038481166024830152838116604483015291517f0000000000000000000000000000000000000000000000000000000000000000909216916304491fa79160648082019260009290919082900301818387803b15801561049f57600080fd5b505af11580156104b3573d6000803e3d6000fd5b50505050505050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316630e704d506040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561051757600080fd5b505af115801561052b573d6000803e3d6000fd5b50505050565b604080516302309cbf60e31b815260048101869052602481018590526001600160a01b038481166044830152838116606483015291517f000000000000000000000000000000000000000000000000000000000000000090921691631184e5f89160848082019260009290919082900301818387803b1580156105b357600080fd5b505af11580156105c7573d6000803e3d6000fd5b5050505050505050565b60004790507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316636f0b0c1c6040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561063157600080fd5b505af1158015610645573d6000803e3d6000fd5b50479250505081811161065457fe5b60006106763461066a848663ffffffff6113a916565b9063ffffffff6113f216565b6040805163860665b360e01b8152600481018a9052602481018990526001600160a01b038881166044830152878116606483015291519293507f00000000000000000000000000000000000000000000000000000000000000009091169163860665b3918491608480830192600092919082900301818588803b1580156106fc57600080fd5b505af1158015610710573d6000803e3d6000fd5b505050505050505050505050565b6040805163154c09cf60e21b8152600481018590526001600160a01b038481166024830152838116604483015291517f000000000000000000000000000000000000000000000000000000000000000090921691635530273c9160648082019260009290919082900301818387803b15801561049f57600080fd5b604080516370a0823160e01b8152306004820152905147916000916001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016916370a08231916024808301926020929190829003018186803b15801561080457600080fd5b505afa158015610818573d6000803e3d6000fd5b505050506040513d602081101561082e57600080fd5b505160408051632e54bf9560e01b815260006004820181905291519293506001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001692632e54bf959260248084019391929182900301818387803b15801561089b57600080fd5b505af11580156108af573d6000803e3d6000fd5b5050604080516370a0823160e01b81523060048201529051479350600092506001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016916370a08231916024808301926020929190829003018186803b15801561091e57600080fd5b505afa158015610932573d6000803e3d6000fd5b505050506040513d602081101561094857600080fd5b50519050600061095e838663ffffffff6113a916565b90508015610ab65761096f3061144c565b600061097a8261152f565b60408051630635367960e51b8152600481018c905260006024820181905260448201849052600160648301526001600160a01b038c811660848401528b811660a484015292519394507f00000000000000000000000000000000000000000000000000000000000000009092169263c6a6cf2092869260c4808201939182900301818588803b158015610a0c57600080fd5b505af1158015610a20573d6000803e3d6000fd5b50505050506000811115610ab45760408051635f788d6560e01b81526004810183905260006024820181905291516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001692635f788d65926044808201939182900301818387803b158015610a9b57600080fd5b505af1158015610aaf573d6000803e3d6000fd5b505050505b505b6000610ac8838663ffffffff6113a916565b90508015610b4f577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a694fc3a826040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b158015610b3657600080fd5b505af1158015610b4a573d6000803e3d6000fd5b505050505b505050505050505050565b604080516368647db160e01b81526001600160a01b038481166004830152838116602483015291517f0000000000000000000000000000000000000000000000000000000000000000909216916368647db1913491604480830192600092919082900301818588803b15801561049f57600080fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316636f0b0c1c6040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561051757600080fd5b60405160009081906001600160a01b0385169084908381818185875af1925050503d8060008114610c77576040519150601f19603f3d011682016040523d82523d6000602084013e610c7c565b606091505b5090925050505b92915050565b6040805163860665b360e01b815260048101869052602481018590526001600160a01b038481166044830152838116606483015291517f00000000000000000000000000000000000000000000000000000000000000009092169163860665b3913491608480830192600092919082900301818588803b158015610d0c57600080fd5b505af1158015610b4f573d6000803e3d6000fd5b60405180604001604052806016815260200175109bdc9c9bddd95c95dc985c1c195c9cd4d8dc9a5c1d60521b81525081565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a694fc3a826040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b158015610db857600080fd5b505af1158015610dcc573d6000803e3d6000fd5b5050505050565b60408051630635367960e51b815260048101889052602481018790526044810186905284151560648201526001600160a01b03848116608483015283811660a483015291517f00000000000000000000000000000000000000000000000000000000000000009092169163c6a6cf2091349160c480830192600092919082900301818588803b158015610e6557600080fd5b505af1158015610e79573d6000803e3d6000fd5b5050505050505050505050565b604080516370a0823160e01b8152306004820152905147916000916001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016916370a08231916024808301926020929190829003018186803b158015610ef157600080fd5b505afa158015610f05573d6000803e3d6000fd5b505050506040513d6020811015610f1b57600080fd5b5051604080516370a0823160e01b815230600482015290519192506000916001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016916370a08231916024808301926020929190829003018186803b158015610f8957600080fd5b505afa158015610f9d573d6000803e3d6000fd5b505050506040513d6020811015610fb357600080fd5b5051604080516305c2fbcf60e31b815260006004820181905291519293506001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001692632e17de789260248084019391929182900301818387803b15801561102057600080fd5b505af1158015611034573d6000803e3d6000fd5b50505050600061104d84476113a990919063ffffffff16565b90506000611103847f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b1580156110cb57600080fd5b505afa1580156110df573d6000803e3d6000fd5b505050506040513d60208110156110f557600080fd5b50519063ffffffff6113a916565b9050600082156111cb576111163061144c565b61111f8361152f565b60408051630635367960e51b8152600481018c905260006024820181905260448201849052600160648301526001600160a01b038c811660848401528b811660a484015292519394507f00000000000000000000000000000000000000000000000000000000000000009092169263c6a6cf2092879260c4808201939182900301818588803b1580156111b157600080fd5b505af11580156111c5573d6000803e3d6000fd5b50505050505b60006111dd838363ffffffff6113f216565b9050801561139d5760408051635f788d6560e01b81526004810183905260006024820181905291516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001692635f788d65926044808201939182900301818387803b15801561125257600080fd5b505af1158015611266573d6000803e3d6000fd5b5050604080516370a0823160e01b81523060048201529051600093506001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001692506370a0823191602480820192602092909190829003018186803b1580156112d457600080fd5b505afa1580156112e8573d6000803e3d6000fd5b505050506040513d60208110156112fe57600080fd5b505190506000611314828863ffffffff6113a916565b90508015610710577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a694fc3a826040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b15801561138257600080fd5b505af1158015611396573d6000803e3d6000fd5b5050505050505b50505050505050505050565b60006113eb83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611747565b9392505050565b6000828201838110156113eb576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166321e37801826040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b1580156114c257600080fd5b505afa1580156114d6573d6000803e3d6000fd5b505050506040513d60208110156114ec57600080fd5b505160011461152c5760405162461bcd60e51b81526004018080602001828103825260388152602001806118da6038913960400191505060405180910390fd5b50565b6000807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316630fdb11cf6040518163ffffffff1660e01b8152600401602060405180830381600087803b15801561158d57600080fd5b505af11580156115a1573d6000803e3d6000fd5b505050506040513d60208110156115b757600080fd5b505160408051630d293c7160e41b81523060048201526024810183905290519192506000916001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169163d293c710916044808301926020929190829003018186803b15801561162c57600080fd5b505afa158015611640573d6000803e3d6000fd5b505050506040513d602081101561165657600080fd5b50519050600061167c82611670878663ffffffff6117de16565b9063ffffffff61183716565b905060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166366ca4a216040518163ffffffff1660e01b815260040160206040518083038186803b1580156116d957600080fd5b505afa1580156116ed573d6000803e3d6000fd5b505050506040513d602081101561170357600080fd5b50519050600061173c611724670de0b6b3a76400008463ffffffff6113f216565b61167085670de0b6b3a764000063ffffffff6117de16565b979650505050505050565b600081848411156117d65760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561179b578181015183820152602001611783565b50505050905090810190601f1680156117c85780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b6000826117ed57506000610c83565b828202828482816117fa57fe5b04146113eb5760405162461bcd60e51b81526004018080602001828103825260218152602001806119126021913960400191505060405180910390fd5b60006113eb83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250600081836118c35760405162461bcd60e51b815260206004820181815283516024840152835190928392604490910191908501908083836000831561179b578181015183820152602001611783565b5060008385816118cf57fe5b049594505050505056fe426f72726f77657257726170706572735363726970743a2063616c6c6572206d757374206861766520616e206163746976652074726f7665536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77a2646970667358221220cbe0057a16ba249c291bcff135f991868766bf110ddd21ae13e08830653bb2a164736f6c634300060b0033", + "bytecode": "0x6101806040523480156200001257600080fd5b5060405162001c9438038062001c94833981810160405260e08110156200003857600080fd5b508051602082015160408301516060840151608085015160a086015160c090960151949593949293919290919084876200007b816001600160e01b036200019816565b60601b6001600160601b031916608052620000968162000198565b60601b6001600160601b03191660a052620000b18662000198565b6001600160601b0319606087901b1660c0528584620000d9816001600160e01b036200019816565b6001600160601b0319606082901b1660e0528462000100816001600160e01b036200019816565b6001600160601b0319606082901b166101005262000127856001600160e01b036200019816565b6001600160601b0319606086901b16610120526200014e846001600160e01b036200019816565b6001600160601b0319606085901b16610140528762000176816001600160e01b036200019816565b60601b6001600160601b03191661016052506200024d98505050505050505050565b6001600160a01b038116620001f4576040805162461bcd60e51b815260206004820152601e60248201527f4163636f756e742063616e6e6f74206265207a65726f20616464726573730000604482015290519081900360640190fd5b803b8062000249576040805162461bcd60e51b815260206004820181905260248201527f4163636f756e7420636f64652073697a652063616e6e6f74206265207a65726f604482015290519081900360640190fd5b5050565b60805160601c60a05160601c60c05160601c60e05160601c6101005160601c6101205160601c6101405160601c6101605160601c6119686200032c600039806109b75280610fdb528061131e5250806106a352806107bd5280610f43528061128c525080610eab528061105752508061153452508061073b528061093d528061120f52508061144e52806115e65280611682525080610cd952508061042652806104a05280610579528061061752806108aa5280610a695280610aec5280610b565280610c465280610d895280610e1a528061116a52506119686000f3fe6080604052600436106100bd5760003560e01c80637b1a49091161006f5780637b1a49091461021f578063860665b31461026c578063a3f4df7e146102a6578063a694fc3a14610330578063afbc74b51461035a578063c6a6cf201461039b578063d08eb01b146103e3576100bd565b80630e704d50146100c2578063233a2e39146100d95780635530273c1461011357806358c9d9771461015457806368647db1146101955780636ea56960146101c35780636f0b0c1c1461020a575b600080fd5b3480156100ce57600080fd5b506100d7610424565b005b6100d7600480360360808110156100ef57600080fd5b508035906020810135906001600160a01b0360408201358116916060013516610499565b34801561011f57600080fd5b506100d76004803603606081101561013657600080fd5b508035906001600160a01b03602082013581169160400135166105e6565b34801561016057600080fd5b506100d76004803603606081101561017757600080fd5b508035906001600160a01b036020820135811691604001351661067e565b6100d7600480360360408110156101ab57600080fd5b506001600160a01b0381358116916020013516610a3f565b3480156101cf57600080fd5b506100d7600480360360808110156101e657600080fd5b508035906020810135906001600160a01b0360408201358116916060013516610ab4565b34801561021657600080fd5b506100d7610b54565b34801561022b57600080fd5b506102586004803603604081101561024257600080fd5b506001600160a01b038135169060200135610baf565b604080519115158252519081900360200190f35b6100d76004803603608081101561028257600080fd5b508035906020810135906001600160a01b0360408201358116916060013516610c0e565b3480156102b257600080fd5b506102bb610ca5565b6040805160208082528351818301528351919283929083019185019080838360005b838110156102f55781810151838201526020016102dd565b50505050905090810190601f1680156103225780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561033c57600080fd5b506100d76004803603602081101561035357600080fd5b5035610cd7565b34801561036657600080fd5b506100d76004803603606081101561037d57600080fd5b508035906001600160a01b0360208201358116916040013516610d58565b6100d7600480360360c08110156103b157600080fd5b5080359060208101359060408101359060608101351515906001600160a01b03608082013581169160a0013516610dd3565b3480156103ef57600080fd5b506100d76004803603606081101561040657600080fd5b508035906001600160a01b0360208201358116916040013516610e86565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316630e704d506040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561047f57600080fd5b505af1158015610493573d6000803e3d6000fd5b50505050565b60004790507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316636f0b0c1c6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156104f957600080fd5b505af115801561050d573d6000803e3d6000fd5b50479250505081811161051c57fe5b600061053e34610532848663ffffffff6113a916565b9063ffffffff6113f216565b6040805163860665b360e01b8152600481018a9052602481018990526001600160a01b038881166044830152878116606483015291519293507f00000000000000000000000000000000000000000000000000000000000000009091169163860665b3918491608480830192600092919082900301818588803b1580156105c457600080fd5b505af11580156105d8573d6000803e3d6000fd5b505050505050505050505050565b6040805163154c09cf60e21b8152600481018590526001600160a01b038481166024830152838116604483015291517f000000000000000000000000000000000000000000000000000000000000000090921691635530273c9160648082019260009290919082900301818387803b15801561066157600080fd5b505af1158015610675573d6000803e3d6000fd5b50505050505050565b604080516370a0823160e01b8152306004820152905147916000916001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016916370a08231916024808301926020929190829003018186803b1580156106e957600080fd5b505afa1580156106fd573d6000803e3d6000fd5b505050506040513d602081101561071357600080fd5b505160408051632e54bf9560e01b815260006004820181905291519293506001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001692632e54bf959260248084019391929182900301818387803b15801561078057600080fd5b505af1158015610794573d6000803e3d6000fd5b5050604080516370a0823160e01b81523060048201529051479350600092506001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016916370a08231916024808301926020929190829003018186803b15801561080357600080fd5b505afa158015610817573d6000803e3d6000fd5b505050506040513d602081101561082d57600080fd5b505190506000610843838663ffffffff6113a916565b9050801561099b576108543061144c565b600061085f8261152f565b60408051630635367960e51b8152600481018c905260006024820181905260448201849052600160648301526001600160a01b038c811660848401528b811660a484015292519394507f00000000000000000000000000000000000000000000000000000000000000009092169263c6a6cf2092869260c4808201939182900301818588803b1580156108f157600080fd5b505af1158015610905573d6000803e3d6000fd5b505050505060008111156109995760408051635f788d6560e01b81526004810183905260006024820181905291516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001692635f788d65926044808201939182900301818387803b15801561098057600080fd5b505af1158015610994573d6000803e3d6000fd5b505050505b505b60006109ad838663ffffffff6113a916565b90508015610a34577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a694fc3a826040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b158015610a1b57600080fd5b505af1158015610a2f573d6000803e3d6000fd5b505050505b505050505050505050565b604080516368647db160e01b81526001600160a01b038481166004830152838116602483015291517f0000000000000000000000000000000000000000000000000000000000000000909216916368647db1913491604480830192600092919082900301818588803b15801561066157600080fd5b604080516303752b4b60e51b815260048101869052602481018590526001600160a01b038481166044830152838116606483015291517f000000000000000000000000000000000000000000000000000000000000000090921691636ea569609160848082019260009290919082900301818387803b158015610b3657600080fd5b505af1158015610b4a573d6000803e3d6000fd5b5050505050505050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316636f0b0c1c6040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561047f57600080fd5b60405160009081906001600160a01b0385169084908381818185875af1925050503d8060008114610bfc576040519150601f19603f3d011682016040523d82523d6000602084013e610c01565b606091505b5090925050505b92915050565b6040805163860665b360e01b815260048101869052602481018590526001600160a01b038481166044830152838116606483015291517f00000000000000000000000000000000000000000000000000000000000000009092169163860665b3913491608480830192600092919082900301818588803b158015610c9157600080fd5b505af1158015610a34573d6000803e3d6000fd5b60405180604001604052806016815260200175109bdc9c9bddd95c95dc985c1c195c9cd4d8dc9a5c1d60521b81525081565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a694fc3a826040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b158015610d3d57600080fd5b505af1158015610d51573d6000803e3d6000fd5b5050505050565b6040805163afbc74b560e01b8152600481018590526001600160a01b038481166024830152838116604483015291517f00000000000000000000000000000000000000000000000000000000000000009092169163afbc74b59160648082019260009290919082900301818387803b15801561066157600080fd5b60408051630635367960e51b815260048101889052602481018790526044810186905284151560648201526001600160a01b03848116608483015283811660a483015291517f00000000000000000000000000000000000000000000000000000000000000009092169163c6a6cf2091349160c480830192600092919082900301818588803b158015610e6557600080fd5b505af1158015610e79573d6000803e3d6000fd5b5050505050505050505050565b604080516370a0823160e01b8152306004820152905147916000916001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016916370a08231916024808301926020929190829003018186803b158015610ef157600080fd5b505afa158015610f05573d6000803e3d6000fd5b505050506040513d6020811015610f1b57600080fd5b5051604080516370a0823160e01b815230600482015290519192506000916001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016916370a08231916024808301926020929190829003018186803b158015610f8957600080fd5b505afa158015610f9d573d6000803e3d6000fd5b505050506040513d6020811015610fb357600080fd5b5051604080516305c2fbcf60e31b815260006004820181905291519293506001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001692632e17de789260248084019391929182900301818387803b15801561102057600080fd5b505af1158015611034573d6000803e3d6000fd5b50505050600061104d84476113a990919063ffffffff16565b90506000611103847f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b1580156110cb57600080fd5b505afa1580156110df573d6000803e3d6000fd5b505050506040513d60208110156110f557600080fd5b50519063ffffffff6113a916565b9050600082156111cb576111163061144c565b61111f8361152f565b60408051630635367960e51b8152600481018c905260006024820181905260448201849052600160648301526001600160a01b038c811660848401528b811660a484015292519394507f00000000000000000000000000000000000000000000000000000000000000009092169263c6a6cf2092879260c4808201939182900301818588803b1580156111b157600080fd5b505af11580156111c5573d6000803e3d6000fd5b50505050505b60006111dd838363ffffffff6113f216565b9050801561139d5760408051635f788d6560e01b81526004810183905260006024820181905291516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001692635f788d65926044808201939182900301818387803b15801561125257600080fd5b505af1158015611266573d6000803e3d6000fd5b5050604080516370a0823160e01b81523060048201529051600093506001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001692506370a0823191602480820192602092909190829003018186803b1580156112d457600080fd5b505afa1580156112e8573d6000803e3d6000fd5b505050506040513d60208110156112fe57600080fd5b505190506000611314828863ffffffff6113a916565b905080156105d8577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a694fc3a826040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b15801561138257600080fd5b505af1158015611396573d6000803e3d6000fd5b5050505050505b50505050505050505050565b60006113eb83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611747565b9392505050565b6000828201838110156113eb576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166321e37801826040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b1580156114c257600080fd5b505afa1580156114d6573d6000803e3d6000fd5b505050506040513d60208110156114ec57600080fd5b505160011461152c5760405162461bcd60e51b81526004018080602001828103825260388152602001806118da6038913960400191505060405180910390fd5b50565b6000807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316630fdb11cf6040518163ffffffff1660e01b8152600401602060405180830381600087803b15801561158d57600080fd5b505af11580156115a1573d6000803e3d6000fd5b505050506040513d60208110156115b757600080fd5b505160408051630d293c7160e41b81523060048201526024810183905290519192506000916001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169163d293c710916044808301926020929190829003018186803b15801561162c57600080fd5b505afa158015611640573d6000803e3d6000fd5b505050506040513d602081101561165657600080fd5b50519050600061167c82611670878663ffffffff6117de16565b9063ffffffff61183716565b905060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166366ca4a216040518163ffffffff1660e01b815260040160206040518083038186803b1580156116d957600080fd5b505afa1580156116ed573d6000803e3d6000fd5b505050506040513d602081101561170357600080fd5b50519050600061173c611724670de0b6b3a76400008463ffffffff6113f216565b61167085670de0b6b3a764000063ffffffff6117de16565b979650505050505050565b600081848411156117d65760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561179b578181015183820152602001611783565b50505050905090810190601f1680156117c85780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b6000826117ed57506000610c08565b828202828482816117fa57fe5b04146113eb5760405162461bcd60e51b81526004018080602001828103825260218152602001806119126021913960400191505060405180910390fd5b60006113eb83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250600081836118c35760405162461bcd60e51b815260206004820181815283516024840152835190928392604490910191908501908083836000831561179b578181015183820152602001611783565b5060008385816118cf57fe5b049594505050505056fe426f72726f77657257726170706572735363726970743a2063616c6c6572206d757374206861766520616e206163746976652074726f7665536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77a2646970667358221220d0aeeeba88ac8f3a2a6801882fb7b597ceb0fed13fc7b68e27b31dbd6e40bc1464736f6c634300060b0033", + "deployedBytecode": "0x6080604052600436106100bd5760003560e01c80637b1a49091161006f5780637b1a49091461021f578063860665b31461026c578063a3f4df7e146102a6578063a694fc3a14610330578063afbc74b51461035a578063c6a6cf201461039b578063d08eb01b146103e3576100bd565b80630e704d50146100c2578063233a2e39146100d95780635530273c1461011357806358c9d9771461015457806368647db1146101955780636ea56960146101c35780636f0b0c1c1461020a575b600080fd5b3480156100ce57600080fd5b506100d7610424565b005b6100d7600480360360808110156100ef57600080fd5b508035906020810135906001600160a01b0360408201358116916060013516610499565b34801561011f57600080fd5b506100d76004803603606081101561013657600080fd5b508035906001600160a01b03602082013581169160400135166105e6565b34801561016057600080fd5b506100d76004803603606081101561017757600080fd5b508035906001600160a01b036020820135811691604001351661067e565b6100d7600480360360408110156101ab57600080fd5b506001600160a01b0381358116916020013516610a3f565b3480156101cf57600080fd5b506100d7600480360360808110156101e657600080fd5b508035906020810135906001600160a01b0360408201358116916060013516610ab4565b34801561021657600080fd5b506100d7610b54565b34801561022b57600080fd5b506102586004803603604081101561024257600080fd5b506001600160a01b038135169060200135610baf565b604080519115158252519081900360200190f35b6100d76004803603608081101561028257600080fd5b508035906020810135906001600160a01b0360408201358116916060013516610c0e565b3480156102b257600080fd5b506102bb610ca5565b6040805160208082528351818301528351919283929083019185019080838360005b838110156102f55781810151838201526020016102dd565b50505050905090810190601f1680156103225780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561033c57600080fd5b506100d76004803603602081101561035357600080fd5b5035610cd7565b34801561036657600080fd5b506100d76004803603606081101561037d57600080fd5b508035906001600160a01b0360208201358116916040013516610d58565b6100d7600480360360c08110156103b157600080fd5b5080359060208101359060408101359060608101351515906001600160a01b03608082013581169160a0013516610dd3565b3480156103ef57600080fd5b506100d76004803603606081101561040657600080fd5b508035906001600160a01b0360208201358116916040013516610e86565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316630e704d506040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561047f57600080fd5b505af1158015610493573d6000803e3d6000fd5b50505050565b60004790507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316636f0b0c1c6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156104f957600080fd5b505af115801561050d573d6000803e3d6000fd5b50479250505081811161051c57fe5b600061053e34610532848663ffffffff6113a916565b9063ffffffff6113f216565b6040805163860665b360e01b8152600481018a9052602481018990526001600160a01b038881166044830152878116606483015291519293507f00000000000000000000000000000000000000000000000000000000000000009091169163860665b3918491608480830192600092919082900301818588803b1580156105c457600080fd5b505af11580156105d8573d6000803e3d6000fd5b505050505050505050505050565b6040805163154c09cf60e21b8152600481018590526001600160a01b038481166024830152838116604483015291517f000000000000000000000000000000000000000000000000000000000000000090921691635530273c9160648082019260009290919082900301818387803b15801561066157600080fd5b505af1158015610675573d6000803e3d6000fd5b50505050505050565b604080516370a0823160e01b8152306004820152905147916000916001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016916370a08231916024808301926020929190829003018186803b1580156106e957600080fd5b505afa1580156106fd573d6000803e3d6000fd5b505050506040513d602081101561071357600080fd5b505160408051632e54bf9560e01b815260006004820181905291519293506001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001692632e54bf959260248084019391929182900301818387803b15801561078057600080fd5b505af1158015610794573d6000803e3d6000fd5b5050604080516370a0823160e01b81523060048201529051479350600092506001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016916370a08231916024808301926020929190829003018186803b15801561080357600080fd5b505afa158015610817573d6000803e3d6000fd5b505050506040513d602081101561082d57600080fd5b505190506000610843838663ffffffff6113a916565b9050801561099b576108543061144c565b600061085f8261152f565b60408051630635367960e51b8152600481018c905260006024820181905260448201849052600160648301526001600160a01b038c811660848401528b811660a484015292519394507f00000000000000000000000000000000000000000000000000000000000000009092169263c6a6cf2092869260c4808201939182900301818588803b1580156108f157600080fd5b505af1158015610905573d6000803e3d6000fd5b505050505060008111156109995760408051635f788d6560e01b81526004810183905260006024820181905291516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001692635f788d65926044808201939182900301818387803b15801561098057600080fd5b505af1158015610994573d6000803e3d6000fd5b505050505b505b60006109ad838663ffffffff6113a916565b90508015610a34577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a694fc3a826040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b158015610a1b57600080fd5b505af1158015610a2f573d6000803e3d6000fd5b505050505b505050505050505050565b604080516368647db160e01b81526001600160a01b038481166004830152838116602483015291517f0000000000000000000000000000000000000000000000000000000000000000909216916368647db1913491604480830192600092919082900301818588803b15801561066157600080fd5b604080516303752b4b60e51b815260048101869052602481018590526001600160a01b038481166044830152838116606483015291517f000000000000000000000000000000000000000000000000000000000000000090921691636ea569609160848082019260009290919082900301818387803b158015610b3657600080fd5b505af1158015610b4a573d6000803e3d6000fd5b5050505050505050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316636f0b0c1c6040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561047f57600080fd5b60405160009081906001600160a01b0385169084908381818185875af1925050503d8060008114610bfc576040519150601f19603f3d011682016040523d82523d6000602084013e610c01565b606091505b5090925050505b92915050565b6040805163860665b360e01b815260048101869052602481018590526001600160a01b038481166044830152838116606483015291517f00000000000000000000000000000000000000000000000000000000000000009092169163860665b3913491608480830192600092919082900301818588803b158015610c9157600080fd5b505af1158015610a34573d6000803e3d6000fd5b60405180604001604052806016815260200175109bdc9c9bddd95c95dc985c1c195c9cd4d8dc9a5c1d60521b81525081565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a694fc3a826040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b158015610d3d57600080fd5b505af1158015610d51573d6000803e3d6000fd5b5050505050565b6040805163afbc74b560e01b8152600481018590526001600160a01b038481166024830152838116604483015291517f00000000000000000000000000000000000000000000000000000000000000009092169163afbc74b59160648082019260009290919082900301818387803b15801561066157600080fd5b60408051630635367960e51b815260048101889052602481018790526044810186905284151560648201526001600160a01b03848116608483015283811660a483015291517f00000000000000000000000000000000000000000000000000000000000000009092169163c6a6cf2091349160c480830192600092919082900301818588803b158015610e6557600080fd5b505af1158015610e79573d6000803e3d6000fd5b5050505050505050505050565b604080516370a0823160e01b8152306004820152905147916000916001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016916370a08231916024808301926020929190829003018186803b158015610ef157600080fd5b505afa158015610f05573d6000803e3d6000fd5b505050506040513d6020811015610f1b57600080fd5b5051604080516370a0823160e01b815230600482015290519192506000916001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016916370a08231916024808301926020929190829003018186803b158015610f8957600080fd5b505afa158015610f9d573d6000803e3d6000fd5b505050506040513d6020811015610fb357600080fd5b5051604080516305c2fbcf60e31b815260006004820181905291519293506001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001692632e17de789260248084019391929182900301818387803b15801561102057600080fd5b505af1158015611034573d6000803e3d6000fd5b50505050600061104d84476113a990919063ffffffff16565b90506000611103847f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b1580156110cb57600080fd5b505afa1580156110df573d6000803e3d6000fd5b505050506040513d60208110156110f557600080fd5b50519063ffffffff6113a916565b9050600082156111cb576111163061144c565b61111f8361152f565b60408051630635367960e51b8152600481018c905260006024820181905260448201849052600160648301526001600160a01b038c811660848401528b811660a484015292519394507f00000000000000000000000000000000000000000000000000000000000000009092169263c6a6cf2092879260c4808201939182900301818588803b1580156111b157600080fd5b505af11580156111c5573d6000803e3d6000fd5b50505050505b60006111dd838363ffffffff6113f216565b9050801561139d5760408051635f788d6560e01b81526004810183905260006024820181905291516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001692635f788d65926044808201939182900301818387803b15801561125257600080fd5b505af1158015611266573d6000803e3d6000fd5b5050604080516370a0823160e01b81523060048201529051600093506001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001692506370a0823191602480820192602092909190829003018186803b1580156112d457600080fd5b505afa1580156112e8573d6000803e3d6000fd5b505050506040513d60208110156112fe57600080fd5b505190506000611314828863ffffffff6113a916565b905080156105d8577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a694fc3a826040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b15801561138257600080fd5b505af1158015611396573d6000803e3d6000fd5b5050505050505b50505050505050505050565b60006113eb83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611747565b9392505050565b6000828201838110156113eb576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166321e37801826040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b1580156114c257600080fd5b505afa1580156114d6573d6000803e3d6000fd5b505050506040513d60208110156114ec57600080fd5b505160011461152c5760405162461bcd60e51b81526004018080602001828103825260388152602001806118da6038913960400191505060405180910390fd5b50565b6000807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316630fdb11cf6040518163ffffffff1660e01b8152600401602060405180830381600087803b15801561158d57600080fd5b505af11580156115a1573d6000803e3d6000fd5b505050506040513d60208110156115b757600080fd5b505160408051630d293c7160e41b81523060048201526024810183905290519192506000916001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169163d293c710916044808301926020929190829003018186803b15801561162c57600080fd5b505afa158015611640573d6000803e3d6000fd5b505050506040513d602081101561165657600080fd5b50519050600061167c82611670878663ffffffff6117de16565b9063ffffffff61183716565b905060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166366ca4a216040518163ffffffff1660e01b815260040160206040518083038186803b1580156116d957600080fd5b505afa1580156116ed573d6000803e3d6000fd5b505050506040513d602081101561170357600080fd5b50519050600061173c611724670de0b6b3a76400008463ffffffff6113f216565b61167085670de0b6b3a764000063ffffffff6117de16565b979650505050505050565b600081848411156117d65760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561179b578181015183820152602001611783565b50505050905090810190601f1680156117c85780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b6000826117ed57506000610c08565b828202828482816117fa57fe5b04146113eb5760405162461bcd60e51b81526004018080602001828103825260218152602001806119126021913960400191505060405180910390fd5b60006113eb83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250600081836118c35760405162461bcd60e51b815260206004820181815283516024840152835190928392604490910191908501908083836000831561179b578181015183820152602001611783565b5060008385816118cf57fe5b049594505050505056fe426f72726f77657257726170706572735363726970743a2063616c6c6572206d757374206861766520616e206163746976652074726f7665536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77a2646970667358221220d0aeeeba88ac8f3a2a6801882fb7b597ceb0fed13fc7b68e27b31dbd6e40bc1464736f6c634300060b0033", "linkReferences": {}, "deployedLinkReferences": {} } diff --git a/packages/lib-ethers/live/CheckContract.json b/packages/lib-ethers/live/CheckContract.json index 1f3c4a7c3..f89ee56fc 100644 --- a/packages/lib-ethers/live/CheckContract.json +++ b/packages/lib-ethers/live/CheckContract.json @@ -3,8 +3,8 @@ "contractName": "CheckContract", "sourceName": "contracts/Dependencies/CheckContract.sol", "abi": [], - "bytecode": "0x6080604052348015600f57600080fd5b50603f80601d6000396000f3fe6080604052600080fdfea2646970667358221220f833a90a63ff9562d958937f5a8785e3f5716c3a9702005b5b2b779a76276b5564736f6c634300060b0033", - "deployedBytecode": "0x6080604052600080fdfea2646970667358221220f833a90a63ff9562d958937f5a8785e3f5716c3a9702005b5b2b779a76276b5564736f6c634300060b0033", + "bytecode": "0x6080604052348015600f57600080fd5b50603f80601d6000396000f3fe6080604052600080fdfea2646970667358221220b3f129fe2616d0591b905445b634dd0eb98d5192ed12a5a50689c91f3a399f8664736f6c634300060b0033", + "deployedBytecode": "0x6080604052600080fdfea2646970667358221220b3f129fe2616d0591b905445b634dd0eb98d5192ed12a5a50689c91f3a399f8664736f6c634300060b0033", "linkReferences": {}, "deployedLinkReferences": {} } diff --git a/packages/lib-ethers/live/CollSurplusPool.json b/packages/lib-ethers/live/CollSurplusPool.json index cfdc5576c..d3a5739d2 100644 --- a/packages/lib-ethers/live/CollSurplusPool.json +++ b/packages/lib-ethers/live/CollSurplusPool.json @@ -203,24 +203,11 @@ }, { "inputs": [], - "name": "isOwner", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "owner", + "name": "getOwner", "outputs": [ { "internalType": "address", - "name": "", + "name": "_owner", "type": "address" } ], @@ -250,6 +237,19 @@ "stateMutability": "nonpayable", "type": "function" }, + { + "inputs": [ + { + "internalType": "address", + "name": "_owner", + "type": "address" + } + ], + "name": "setOwner", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, { "inputs": [], "name": "troveManagerAddress", @@ -268,8 +268,8 @@ "type": "receive" } ], - "bytecode": "0x608060405234801561001057600080fd5b50600080546001600160a01b0319163390811782556040519091907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3610b3a8061005f6000396000f3fe6080604052600436106100a05760003560e01c80638f32d59b116100645780638f32d59b146101b75780639b56d6c9146101e0578063a3f4df7e14610213578063b08bc7221461029d578063b32beb5b146102b2578063b7f8cf9b146102e5576100c5565b806314f6c3be146100ca578063363bf964146100f15780633f10abab146101385780635a4d28bb146101715780638da5cb5b146101a2576100c5565b366100c5576100ad6102fa565b6004546100c0903463ffffffff61034516565b600455005b600080fd5b3480156100d657600080fd5b506100df6103a6565b60408051918252519081900360200190f35b3480156100fd57600080fd5b506101366004803603606081101561011457600080fd5b506001600160a01b0381358116916020810135821691604090910135166103ac565b005b34801561014457600080fd5b506101366004803603604081101561015b57600080fd5b506001600160a01b038135169060200135610512565b34801561017d57600080fd5b5061018661059e565b604080516001600160a01b039092168252519081900360200190f35b3480156101ae57600080fd5b506101866105ad565b3480156101c357600080fd5b506101cc6105bc565b604080519115158252519081900360200190f35b3480156101ec57600080fd5b506100df6004803603602081101561020357600080fd5b50356001600160a01b03166105cd565b34801561021f57600080fd5b506102286105e8565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561026257818101518382015260200161024a565b50505050905090810190601f16801561028f5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156102a957600080fd5b50610186610613565b3480156102be57600080fd5b50610136600480360360208110156102d557600080fd5b50356001600160a01b0316610622565b3480156102f157600080fd5b506101866107b7565b6003546001600160a01b031633146103435760405162461bcd60e51b815260040180806020018281038252602a815260200180610a5b602a913960400191505060405180910390fd5b565b60008282018381101561039f576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b60045490565b6103b46105bc565b610405576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b61040e836107c6565b610417826107c6565b610420816107c6565b600180546001600160a01b038086166001600160a01b0319928316811790935560028054868316908416179055600380549185169190921617905560408051918252517f3ca631ffcd2a9b5d9ae18543fc82f58eb4ca33af9e6ab01b7a8e95331e6ed9859181900360200190a1604080516001600160a01b038416815290517f143219c9e69b09e07e095fcc889b43d8f46ca892bba65f08dc3a0050869a56789181900360200190a1604080516001600160a01b038316815290517f78f058b189175430c48dc02699e3a0031ea4ff781536dc2fab847de4babdd8829181900360200190a161050d610879565b505050565b61051a6108c3565b6001600160a01b038216600090815260056020526040812054610543908363ffffffff61034516565b6001600160a01b0384166000818152600560209081526040918290208490558151848152915193945091927ff0393a34d05e6567686ad4e097f9d9d2781565957394f1f0d984e5d8e6378f20929181900390910190a2505050565b6002546001600160a01b031681565b6000546001600160a01b031690565b6000546001600160a01b0316331490565b6001600160a01b031660009081526005602052604090205490565b6040518060400160405280600f81526020016e10dbdb1b14dd5c9c1b1d5cd41bdbdb608a1b81525081565b6003546001600160a01b031681565b61062a61090c565b6001600160a01b0381166000908152600560205260409020548061067f5760405162461bcd60e51b8152600401808060200182810382526031815260200180610a2a6031913960400191505060405180910390fd5b6001600160a01b03821660008181526005602090815260408083208390558051928352517ff0393a34d05e6567686ad4e097f9d9d2781565957394f1f0d984e5d8e6378f209281900390910190a26004546106e0908263ffffffff61095516565b600455604080516001600160a01b03841681526020810183905281517f6109e2559dfa766aaec7118351d48a523f0a4157f49c8d68749c8ac41318ad12929181900390910190a16040516000906001600160a01b0384169083908381818185875af1925050503d8060008114610772576040519150601f19603f3d011682016040523d82523d6000602084013e610777565b606091505b505090508061050d5760405162461bcd60e51b8152600401808060200182810382526023815260200180610a856023913960400191505060405180910390fd5b6001546001600160a01b031681565b6001600160a01b038116610821576040805162461bcd60e51b815260206004820152601e60248201527f4163636f756e742063616e6e6f74206265207a65726f20616464726573730000604482015290519081900360640190fd5b803b80610875576040805162461bcd60e51b815260206004820181905260248201527f4163636f756e7420636f64652073697a652063616e6e6f74206265207a65726f604482015290519081900360640190fd5b5050565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6002546001600160a01b031633146103435760405162461bcd60e51b815260040180806020018281038252602b815260200180610ada602b913960400191505060405180910390fd5b6001546001600160a01b031633146103435760405162461bcd60e51b8152600401808060200182810382526032815260200180610aa86032913960400191505060405180910390fd5b600061039f83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525060008184841115610a215760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156109e65781810151838201526020016109ce565b50505050905090810190601f168015610a135780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50505090039056fe436f6c6c537572706c7573506f6f6c3a204e6f20636f6c6c61746572616c20617661696c61626c6520746f20636c61696d436f6c6c537572706c7573506f6f6c3a2043616c6c6572206973206e6f742041637469766520506f6f6c436f6c6c537572706c7573506f6f6c3a2073656e64696e6720455448206661696c6564436f6c6c537572706c7573506f6f6c3a2043616c6c6572206973206e6f7420426f72726f776572204f7065726174696f6e73436f6c6c537572706c7573506f6f6c3a2043616c6c6572206973206e6f742054726f76654d616e61676572a2646970667358221220af768870d1a17ac3ec6f54f84701f8afa72397e127b7185e673efb442d546de864736f6c634300060b0033", - "deployedBytecode": "0x6080604052600436106100a05760003560e01c80638f32d59b116100645780638f32d59b146101b75780639b56d6c9146101e0578063a3f4df7e14610213578063b08bc7221461029d578063b32beb5b146102b2578063b7f8cf9b146102e5576100c5565b806314f6c3be146100ca578063363bf964146100f15780633f10abab146101385780635a4d28bb146101715780638da5cb5b146101a2576100c5565b366100c5576100ad6102fa565b6004546100c0903463ffffffff61034516565b600455005b600080fd5b3480156100d657600080fd5b506100df6103a6565b60408051918252519081900360200190f35b3480156100fd57600080fd5b506101366004803603606081101561011457600080fd5b506001600160a01b0381358116916020810135821691604090910135166103ac565b005b34801561014457600080fd5b506101366004803603604081101561015b57600080fd5b506001600160a01b038135169060200135610512565b34801561017d57600080fd5b5061018661059e565b604080516001600160a01b039092168252519081900360200190f35b3480156101ae57600080fd5b506101866105ad565b3480156101c357600080fd5b506101cc6105bc565b604080519115158252519081900360200190f35b3480156101ec57600080fd5b506100df6004803603602081101561020357600080fd5b50356001600160a01b03166105cd565b34801561021f57600080fd5b506102286105e8565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561026257818101518382015260200161024a565b50505050905090810190601f16801561028f5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156102a957600080fd5b50610186610613565b3480156102be57600080fd5b50610136600480360360208110156102d557600080fd5b50356001600160a01b0316610622565b3480156102f157600080fd5b506101866107b7565b6003546001600160a01b031633146103435760405162461bcd60e51b815260040180806020018281038252602a815260200180610a5b602a913960400191505060405180910390fd5b565b60008282018381101561039f576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b60045490565b6103b46105bc565b610405576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b61040e836107c6565b610417826107c6565b610420816107c6565b600180546001600160a01b038086166001600160a01b0319928316811790935560028054868316908416179055600380549185169190921617905560408051918252517f3ca631ffcd2a9b5d9ae18543fc82f58eb4ca33af9e6ab01b7a8e95331e6ed9859181900360200190a1604080516001600160a01b038416815290517f143219c9e69b09e07e095fcc889b43d8f46ca892bba65f08dc3a0050869a56789181900360200190a1604080516001600160a01b038316815290517f78f058b189175430c48dc02699e3a0031ea4ff781536dc2fab847de4babdd8829181900360200190a161050d610879565b505050565b61051a6108c3565b6001600160a01b038216600090815260056020526040812054610543908363ffffffff61034516565b6001600160a01b0384166000818152600560209081526040918290208490558151848152915193945091927ff0393a34d05e6567686ad4e097f9d9d2781565957394f1f0d984e5d8e6378f20929181900390910190a2505050565b6002546001600160a01b031681565b6000546001600160a01b031690565b6000546001600160a01b0316331490565b6001600160a01b031660009081526005602052604090205490565b6040518060400160405280600f81526020016e10dbdb1b14dd5c9c1b1d5cd41bdbdb608a1b81525081565b6003546001600160a01b031681565b61062a61090c565b6001600160a01b0381166000908152600560205260409020548061067f5760405162461bcd60e51b8152600401808060200182810382526031815260200180610a2a6031913960400191505060405180910390fd5b6001600160a01b03821660008181526005602090815260408083208390558051928352517ff0393a34d05e6567686ad4e097f9d9d2781565957394f1f0d984e5d8e6378f209281900390910190a26004546106e0908263ffffffff61095516565b600455604080516001600160a01b03841681526020810183905281517f6109e2559dfa766aaec7118351d48a523f0a4157f49c8d68749c8ac41318ad12929181900390910190a16040516000906001600160a01b0384169083908381818185875af1925050503d8060008114610772576040519150601f19603f3d011682016040523d82523d6000602084013e610777565b606091505b505090508061050d5760405162461bcd60e51b8152600401808060200182810382526023815260200180610a856023913960400191505060405180910390fd5b6001546001600160a01b031681565b6001600160a01b038116610821576040805162461bcd60e51b815260206004820152601e60248201527f4163636f756e742063616e6e6f74206265207a65726f20616464726573730000604482015290519081900360640190fd5b803b80610875576040805162461bcd60e51b815260206004820181905260248201527f4163636f756e7420636f64652073697a652063616e6e6f74206265207a65726f604482015290519081900360640190fd5b5050565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6002546001600160a01b031633146103435760405162461bcd60e51b815260040180806020018281038252602b815260200180610ada602b913960400191505060405180910390fd5b6001546001600160a01b031633146103435760405162461bcd60e51b8152600401808060200182810382526032815260200180610aa86032913960400191505060405180910390fd5b600061039f83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525060008184841115610a215760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156109e65781810151838201526020016109ce565b50505050905090810190601f168015610a135780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50505090039056fe436f6c6c537572706c7573506f6f6c3a204e6f20636f6c6c61746572616c20617661696c61626c6520746f20636c61696d436f6c6c537572706c7573506f6f6c3a2043616c6c6572206973206e6f742041637469766520506f6f6c436f6c6c537572706c7573506f6f6c3a2073656e64696e6720455448206661696c6564436f6c6c537572706c7573506f6f6c3a2043616c6c6572206973206e6f7420426f72726f776572204f7065726174696f6e73436f6c6c537572706c7573506f6f6c3a2043616c6c6572206973206e6f742054726f76654d616e61676572a2646970667358221220af768870d1a17ac3ec6f54f84701f8afa72397e127b7185e673efb442d546de864736f6c634300060b0033", + "bytecode": "0x608060405234801561001057600080fd5b50610023336001600160e01b0361002816565b610110565b6001600160a01b03811661006d5760405162461bcd60e51b8152600401808060200182810382526022815260200180610d786022913960400191505060405180910390fd5b6001600160a01b0381166100886001600160e01b036100e616565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3604080517035b2bc9737bbb730b136329737bbb732b960791b8152905190819003601101902055565b604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205490565b610c598061011f6000396000f3fe6080604052600436106100a05760003560e01c8063893d20e811610064578063893d20e8146101d55780639b56d6c9146101ea578063a3f4df7e1461021d578063b08bc722146102a7578063b32beb5b146102bc578063b7f8cf9b146102ef576100c5565b806313af4035146100ca57806314f6c3be146100ff578063363bf964146101265780633f10abab1461016b5780635a4d28bb146101a4576100c5565b366100c5576100ad610304565b6003546100c0903463ffffffff61034f16565b600355005b600080fd5b3480156100d657600080fd5b506100fd600480360360208110156100ed57600080fd5b50356001600160a01b03166103b0565b005b34801561010b57600080fd5b50610114610423565b60408051918252519081900360200190f35b34801561013257600080fd5b506100fd6004803603606081101561014957600080fd5b506001600160a01b038135811691602081013582169160409091013516610429565b34801561017757600080fd5b506100fd6004803603604081101561018e57600080fd5b506001600160a01b038135169060200135610595565b3480156101b057600080fd5b506101b9610621565b604080516001600160a01b039092168252519081900360200190f35b3480156101e157600080fd5b506101b9610630565b3480156101f657600080fd5b506101146004803603602081101561020d57600080fd5b50356001600160a01b031661065a565b34801561022957600080fd5b50610232610675565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561026c578181015183820152602001610254565b50505050905090810190601f1680156102995780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156102b357600080fd5b506101b96106a0565b3480156102c857600080fd5b506100fd600480360360208110156102df57600080fd5b50356001600160a01b03166106af565b3480156102fb57600080fd5b506101b9610849565b6002546001600160a01b0316331461034d5760405162461bcd60e51b815260040180806020018281038252602a815260200180610b58602a913960400191505060405180910390fd5b565b6000828201838110156103a9576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b6103b8610630565b6001600160a01b0316336001600160a01b031614610417576040805162461bcd60e51b815260206004820152601760248201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604482015290519081900360640190fd5b61042081610858565b50565b60035490565b610431610630565b6001600160a01b0316336001600160a01b031614610490576040805162461bcd60e51b815260206004820152601760248201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604482015290519081900360640190fd5b6104998361090d565b6104a28261090d565b6104ab8161090d565b600080546001600160a01b038086166001600160a01b0319928316811790935560018054868316908416179055600280549185169190921617905560408051918252517f3ca631ffcd2a9b5d9ae18543fc82f58eb4ca33af9e6ab01b7a8e95331e6ed9859181900360200190a1604080516001600160a01b038416815290517f143219c9e69b09e07e095fcc889b43d8f46ca892bba65f08dc3a0050869a56789181900360200190a1604080516001600160a01b038316815290517f78f058b189175430c48dc02699e3a0031ea4ff781536dc2fab847de4babdd8829181900360200190a1505050565b61059d6109c0565b6001600160a01b0382166000908152600460205260408120546105c6908363ffffffff61034f16565b6001600160a01b0384166000818152600460209081526040918290208490558151848152915193945091927ff0393a34d05e6567686ad4e097f9d9d2781565957394f1f0d984e5d8e6378f20929181900390910190a2505050565b6001546001600160a01b031681565b604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205490565b6001600160a01b031660009081526004602052604090205490565b6040518060400160405280600f81526020016e10dbdb1b14dd5c9c1b1d5cd41bdbdb608a1b81525081565b6002546001600160a01b031681565b6106b7610a09565b6001600160a01b0381166000908152600460205260409020548061070c5760405162461bcd60e51b8152600401808060200182810382526031815260200180610b276031913960400191505060405180910390fd5b6001600160a01b03821660008181526004602090815260408083208390558051928352517ff0393a34d05e6567686ad4e097f9d9d2781565957394f1f0d984e5d8e6378f209281900390910190a260035461076d908263ffffffff610a5216565b600355604080516001600160a01b03841681526020810183905281517f6109e2559dfa766aaec7118351d48a523f0a4157f49c8d68749c8ac41318ad12929181900390910190a16040516000906001600160a01b0384169083908381818185875af1925050503d80600081146107ff576040519150601f19603f3d011682016040523d82523d6000602084013e610804565b606091505b50509050806108445760405162461bcd60e51b8152600401808060200182810382526023815260200180610ba46023913960400191505060405180910390fd5b505050565b6000546001600160a01b031681565b6001600160a01b03811661089d5760405162461bcd60e51b8152600401808060200182810382526022815260200180610b826022913960400191505060405180910390fd5b806001600160a01b03166108af610630565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3604080517035b2bc9737bbb730b136329737bbb732b960791b8152905190819003601101902055565b6001600160a01b038116610968576040805162461bcd60e51b815260206004820152601e60248201527f4163636f756e742063616e6e6f74206265207a65726f20616464726573730000604482015290519081900360640190fd5b803b806109bc576040805162461bcd60e51b815260206004820181905260248201527f4163636f756e7420636f64652073697a652063616e6e6f74206265207a65726f604482015290519081900360640190fd5b5050565b6001546001600160a01b0316331461034d5760405162461bcd60e51b815260040180806020018281038252602b815260200180610bf9602b913960400191505060405180910390fd5b6000546001600160a01b0316331461034d5760405162461bcd60e51b8152600401808060200182810382526032815260200180610bc76032913960400191505060405180910390fd5b60006103a983836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525060008184841115610b1e5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610ae3578181015183820152602001610acb565b50505050905090810190601f168015610b105780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50505090039056fe436f6c6c537572706c7573506f6f6c3a204e6f20636f6c6c61746572616c20617661696c61626c6520746f20636c61696d436f6c6c537572706c7573506f6f6c3a2043616c6c6572206973206e6f742041637469766520506f6f6c4f776e61626c653a3a7365744f776e65723a20696e76616c69642061646472657373436f6c6c537572706c7573506f6f6c3a2073656e64696e6720455448206661696c6564436f6c6c537572706c7573506f6f6c3a2043616c6c6572206973206e6f7420426f72726f776572204f7065726174696f6e73436f6c6c537572706c7573506f6f6c3a2043616c6c6572206973206e6f742054726f76654d616e61676572a2646970667358221220ec19e79dbe7180a98cb7d6212d7b49be2e6c8b1fa1ef966e63158e1190ee1e1e64736f6c634300060b00334f776e61626c653a3a7365744f776e65723a20696e76616c69642061646472657373", + "deployedBytecode": "0x6080604052600436106100a05760003560e01c8063893d20e811610064578063893d20e8146101d55780639b56d6c9146101ea578063a3f4df7e1461021d578063b08bc722146102a7578063b32beb5b146102bc578063b7f8cf9b146102ef576100c5565b806313af4035146100ca57806314f6c3be146100ff578063363bf964146101265780633f10abab1461016b5780635a4d28bb146101a4576100c5565b366100c5576100ad610304565b6003546100c0903463ffffffff61034f16565b600355005b600080fd5b3480156100d657600080fd5b506100fd600480360360208110156100ed57600080fd5b50356001600160a01b03166103b0565b005b34801561010b57600080fd5b50610114610423565b60408051918252519081900360200190f35b34801561013257600080fd5b506100fd6004803603606081101561014957600080fd5b506001600160a01b038135811691602081013582169160409091013516610429565b34801561017757600080fd5b506100fd6004803603604081101561018e57600080fd5b506001600160a01b038135169060200135610595565b3480156101b057600080fd5b506101b9610621565b604080516001600160a01b039092168252519081900360200190f35b3480156101e157600080fd5b506101b9610630565b3480156101f657600080fd5b506101146004803603602081101561020d57600080fd5b50356001600160a01b031661065a565b34801561022957600080fd5b50610232610675565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561026c578181015183820152602001610254565b50505050905090810190601f1680156102995780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156102b357600080fd5b506101b96106a0565b3480156102c857600080fd5b506100fd600480360360208110156102df57600080fd5b50356001600160a01b03166106af565b3480156102fb57600080fd5b506101b9610849565b6002546001600160a01b0316331461034d5760405162461bcd60e51b815260040180806020018281038252602a815260200180610b58602a913960400191505060405180910390fd5b565b6000828201838110156103a9576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b6103b8610630565b6001600160a01b0316336001600160a01b031614610417576040805162461bcd60e51b815260206004820152601760248201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604482015290519081900360640190fd5b61042081610858565b50565b60035490565b610431610630565b6001600160a01b0316336001600160a01b031614610490576040805162461bcd60e51b815260206004820152601760248201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604482015290519081900360640190fd5b6104998361090d565b6104a28261090d565b6104ab8161090d565b600080546001600160a01b038086166001600160a01b0319928316811790935560018054868316908416179055600280549185169190921617905560408051918252517f3ca631ffcd2a9b5d9ae18543fc82f58eb4ca33af9e6ab01b7a8e95331e6ed9859181900360200190a1604080516001600160a01b038416815290517f143219c9e69b09e07e095fcc889b43d8f46ca892bba65f08dc3a0050869a56789181900360200190a1604080516001600160a01b038316815290517f78f058b189175430c48dc02699e3a0031ea4ff781536dc2fab847de4babdd8829181900360200190a1505050565b61059d6109c0565b6001600160a01b0382166000908152600460205260408120546105c6908363ffffffff61034f16565b6001600160a01b0384166000818152600460209081526040918290208490558151848152915193945091927ff0393a34d05e6567686ad4e097f9d9d2781565957394f1f0d984e5d8e6378f20929181900390910190a2505050565b6001546001600160a01b031681565b604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205490565b6001600160a01b031660009081526004602052604090205490565b6040518060400160405280600f81526020016e10dbdb1b14dd5c9c1b1d5cd41bdbdb608a1b81525081565b6002546001600160a01b031681565b6106b7610a09565b6001600160a01b0381166000908152600460205260409020548061070c5760405162461bcd60e51b8152600401808060200182810382526031815260200180610b276031913960400191505060405180910390fd5b6001600160a01b03821660008181526004602090815260408083208390558051928352517ff0393a34d05e6567686ad4e097f9d9d2781565957394f1f0d984e5d8e6378f209281900390910190a260035461076d908263ffffffff610a5216565b600355604080516001600160a01b03841681526020810183905281517f6109e2559dfa766aaec7118351d48a523f0a4157f49c8d68749c8ac41318ad12929181900390910190a16040516000906001600160a01b0384169083908381818185875af1925050503d80600081146107ff576040519150601f19603f3d011682016040523d82523d6000602084013e610804565b606091505b50509050806108445760405162461bcd60e51b8152600401808060200182810382526023815260200180610ba46023913960400191505060405180910390fd5b505050565b6000546001600160a01b031681565b6001600160a01b03811661089d5760405162461bcd60e51b8152600401808060200182810382526022815260200180610b826022913960400191505060405180910390fd5b806001600160a01b03166108af610630565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3604080517035b2bc9737bbb730b136329737bbb732b960791b8152905190819003601101902055565b6001600160a01b038116610968576040805162461bcd60e51b815260206004820152601e60248201527f4163636f756e742063616e6e6f74206265207a65726f20616464726573730000604482015290519081900360640190fd5b803b806109bc576040805162461bcd60e51b815260206004820181905260248201527f4163636f756e7420636f64652073697a652063616e6e6f74206265207a65726f604482015290519081900360640190fd5b5050565b6001546001600160a01b0316331461034d5760405162461bcd60e51b815260040180806020018281038252602b815260200180610bf9602b913960400191505060405180910390fd5b6000546001600160a01b0316331461034d5760405162461bcd60e51b8152600401808060200182810382526032815260200180610bc76032913960400191505060405180910390fd5b60006103a983836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525060008184841115610b1e5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610ae3578181015183820152602001610acb565b50505050905090810190601f168015610b105780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50505090039056fe436f6c6c537572706c7573506f6f6c3a204e6f20636f6c6c61746572616c20617661696c61626c6520746f20636c61696d436f6c6c537572706c7573506f6f6c3a2043616c6c6572206973206e6f742041637469766520506f6f6c4f776e61626c653a3a7365744f776e65723a20696e76616c69642061646472657373436f6c6c537572706c7573506f6f6c3a2073656e64696e6720455448206661696c6564436f6c6c537572706c7573506f6f6c3a2043616c6c6572206973206e6f7420426f72726f776572204f7065726174696f6e73436f6c6c537572706c7573506f6f6c3a2043616c6c6572206973206e6f742054726f76654d616e61676572a2646970667358221220ec19e79dbe7180a98cb7d6212d7b49be2e6c8b1fa1ef966e63158e1190ee1e1e64736f6c634300060b0033", "linkReferences": {}, "deployedLinkReferences": {} } diff --git a/packages/lib-ethers/live/CollSurplusPoolStorage.json b/packages/lib-ethers/live/CollSurplusPoolStorage.json new file mode 100644 index 000000000..f210b1bd5 --- /dev/null +++ b/packages/lib-ethers/live/CollSurplusPoolStorage.json @@ -0,0 +1,108 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "CollSurplusPoolStorage", + "sourceName": "contracts/CollSurplusPoolStorage.sol", + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousOwner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnershipTransferred", + "type": "event" + }, + { + "inputs": [], + "name": "NAME", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "activePoolAddress", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "borrowerOperationsAddress", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getOwner", + "outputs": [ + { + "internalType": "address", + "name": "_owner", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_owner", + "type": "address" + } + ], + "name": "setOwner", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "troveManagerAddress", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + } + ], + "bytecode": "0x608060405234801561001057600080fd5b50610023336001600160e01b0361002816565b610110565b6001600160a01b03811661006d5760405162461bcd60e51b81526004018080602001828103825260228152602001806104696022913960400191505060405180910390fd5b6001600160a01b0381166100886001600160e01b036100e616565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3604080517035b2bc9737bbb730b136329737bbb732b960791b8152905190819003601101902055565b604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205490565b61034a8061011f6000396000f3fe608060405234801561001057600080fd5b50600436106100625760003560e01c806313af4035146100675780635a4d28bb1461008f578063893d20e8146100b3578063a3f4df7e146100bb578063b08bc72214610138578063b7f8cf9b14610140575b600080fd5b61008d6004803603602081101561007d57600080fd5b50356001600160a01b0316610148565b005b6100976101bb565b604080516001600160a01b039092168252519081900360200190f35b6100976101ca565b6100c36101f4565b6040805160208082528351818301528351919283929083019185019080838360005b838110156100fd5781810151838201526020016100e5565b50505050905090810190601f16801561012a5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61009761021f565b61009761022e565b6101506101ca565b6001600160a01b0316336001600160a01b0316146101af576040805162461bcd60e51b815260206004820152601760248201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604482015290519081900360640190fd5b6101b88161023d565b50565b6001546001600160a01b031681565b604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205490565b6040518060400160405280600f81526020016e10dbdb1b14dd5c9c1b1d5cd41bdbdb608a1b81525081565b6002546001600160a01b031681565b6000546001600160a01b031681565b6001600160a01b0381166102825760405162461bcd60e51b81526004018080602001828103825260228152602001806102f36022913960400191505060405180910390fd5b806001600160a01b03166102946101ca565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205556fe4f776e61626c653a3a7365744f776e65723a20696e76616c69642061646472657373a264697066735822122057476c1fe96fb0e4de7404398c2165c4f8a062bafdd19d45a5296ef7cd4eac5464736f6c634300060b00334f776e61626c653a3a7365744f776e65723a20696e76616c69642061646472657373", + "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100625760003560e01c806313af4035146100675780635a4d28bb1461008f578063893d20e8146100b3578063a3f4df7e146100bb578063b08bc72214610138578063b7f8cf9b14610140575b600080fd5b61008d6004803603602081101561007d57600080fd5b50356001600160a01b0316610148565b005b6100976101bb565b604080516001600160a01b039092168252519081900360200190f35b6100976101ca565b6100c36101f4565b6040805160208082528351818301528351919283929083019185019080838360005b838110156100fd5781810151838201526020016100e5565b50505050905090810190601f16801561012a5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61009761021f565b61009761022e565b6101506101ca565b6001600160a01b0316336001600160a01b0316146101af576040805162461bcd60e51b815260206004820152601760248201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604482015290519081900360640190fd5b6101b88161023d565b50565b6001546001600160a01b031681565b604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205490565b6040518060400160405280600f81526020016e10dbdb1b14dd5c9c1b1d5cd41bdbdb608a1b81525081565b6002546001600160a01b031681565b6000546001600160a01b031681565b6001600160a01b0381166102825760405162461bcd60e51b81526004018080602001828103825260228152602001806102f36022913960400191505060405180910390fd5b806001600160a01b03166102946101ca565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205556fe4f776e61626c653a3a7365744f776e65723a20696e76616c69642061646472657373a264697066735822122057476c1fe96fb0e4de7404398c2165c4f8a062bafdd19d45a5296ef7cd4eac5464736f6c634300060b0033", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/packages/lib-ethers/live/CommunityIssuance.json b/packages/lib-ethers/live/CommunityIssuance.json index 6422245a5..88be6bfb7 100644 --- a/packages/lib-ethers/live/CommunityIssuance.json +++ b/packages/lib-ethers/live/CommunityIssuance.json @@ -1,12 +1,20 @@ { "_format": "hh-sol-artifact-1", "contractName": "CommunityIssuance", - "sourceName": "contracts/LQTY/CommunityIssuance.sol", + "sourceName": "contracts/ZERO/CommunityIssuance.sol", "abi": [ { - "inputs": [], - "stateMutability": "nonpayable", - "type": "constructor" + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "_communityPotAddress", + "type": "address" + } + ], + "name": "CommunityPotAddressSet", + "type": "event" }, { "anonymous": false, @@ -18,7 +26,7 @@ "type": "address" } ], - "name": "LQTYTokenAddressSet", + "name": "FundingWalletAddressSet", "type": "event" }, { @@ -45,12 +53,12 @@ "inputs": [ { "indexed": false, - "internalType": "address", - "name": "_stabilityPoolAddress", - "type": "address" + "internalType": "uint256", + "name": "_fundingWalletAddress", + "type": "uint256" } ], - "name": "StabilityPoolAddressSet", + "name": "TotalZEROIssuedUpdated", "type": "event" }, { @@ -58,12 +66,12 @@ "inputs": [ { "indexed": false, - "internalType": "uint256", - "name": "_totalLQTYIssued", - "type": "uint256" + "internalType": "address", + "name": "_zeroTokenAddress", + "type": "address" } ], - "name": "TotalLQTYIssuedUpdated", + "name": "ZEROTokenAddressSet", "type": "event" }, { @@ -92,19 +100,6 @@ "stateMutability": "view", "type": "function" }, - { - "inputs": [], - "name": "LQTYSupplyCap", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, { "inputs": [], "name": "NAME", @@ -133,7 +128,7 @@ }, { "inputs": [], - "name": "deploymentTime", + "name": "ZEROSupplyCap", "outputs": [ { "internalType": "uint256", @@ -146,12 +141,12 @@ }, { "inputs": [], - "name": "isOwner", + "name": "communityPotAddress", "outputs": [ { - "internalType": "bool", + "internalType": "address", "name": "", - "type": "bool" + "type": "address" } ], "stateMutability": "view", @@ -159,7 +154,7 @@ }, { "inputs": [], - "name": "issueLQTY", + "name": "deploymentTime", "outputs": [ { "internalType": "uint256", @@ -167,15 +162,15 @@ "type": "uint256" } ], - "stateMutability": "nonpayable", + "stateMutability": "view", "type": "function" }, { "inputs": [], - "name": "zeroToken", + "name": "fundingWalletAddress", "outputs": [ { - "internalType": "contract ILQTYToken", + "internalType": "address", "name": "", "type": "address" } @@ -185,17 +180,53 @@ }, { "inputs": [], - "name": "owner", + "name": "getOwner", "outputs": [ { "internalType": "address", - "name": "", + "name": "_owner", "type": "address" } ], "stateMutability": "view", "type": "function" }, + { + "inputs": [ + { + "internalType": "address", + "name": "_zeroTokenAddress", + "type": "address" + }, + { + "internalType": "address", + "name": "_communityPotAddress", + "type": "address" + }, + { + "internalType": "address", + "name": "_fundingWalletAddress", + "type": "address" + } + ], + "name": "initialize", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "issueZERO", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, { "inputs": [ { @@ -205,11 +236,11 @@ }, { "internalType": "uint256", - "name": "_LQTYamount", + "name": "_ZEROamount", "type": "uint256" } ], - "name": "sendLQTY", + "name": "receiveZero", "outputs": [], "stateMutability": "nonpayable", "type": "function" @@ -218,28 +249,41 @@ "inputs": [ { "internalType": "address", - "name": "_zeroTokenAddress", + "name": "_account", "type": "address" }, + { + "internalType": "uint256", + "name": "_ZEROamount", + "type": "uint256" + } + ], + "name": "sendZERO", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ { "internalType": "address", - "name": "_stabilityPoolAddress", + "name": "_owner", "type": "address" } ], - "name": "setAddresses", + "name": "setOwner", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], - "name": "stabilityPoolAddress", + "name": "totalZEROIssued", "outputs": [ { - "internalType": "address", + "internalType": "uint256", "name": "", - "type": "address" + "type": "uint256" } ], "stateMutability": "view", @@ -247,20 +291,20 @@ }, { "inputs": [], - "name": "totalLQTYIssued", + "name": "zeroToken", "outputs": [ { - "internalType": "uint256", + "internalType": "contract IZEROToken", "name": "", - "type": "uint256" + "type": "address" } ], "stateMutability": "view", "type": "function" } ], - "bytecode": "0x60a060405234801561001057600080fd5b50600080546001600160a01b0319163390811782556040519091907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a342608052608051610b4c610073600039806105b752806106325250610b4c6000f3fe608060405234801561001057600080fd5b50600436106100ca5760003560e01c80638da5cb5b1161007c5780638da5cb5b1461015b5780638f32d59b1461016357806390107afe1461017f578063a20baee6146101ad578063a3f4df7e146101b5578063b140384b14610232578063ecda10f51461023a576100ca565b80630b622ab2146100cf5780630fc83da3146100f35780631f7af3c31461010d57806346ad34d9146101155780634e5c99571461011d578063614d2ab61461012557806361ec893d14610153575b600080fd5b6100d7610242565b604080516001600160a01b039092168252519081900360200190f35b6100fb610251565b60408051918252519081900360200190f35b6100d761025d565b6100fb61026c565b6100fb61030e565b6101516004803603604081101561013b57600080fd5b506001600160a01b03813516906020013561031d565b005b6100fb6103ab565b6100d76103b0565b61016b6103bf565b604080519115158252519081900360200190f35b6101516004803603604081101561019557600080fd5b506001600160a01b03813581169160200135166103d0565b6100fb610576565b6101bd610582565b6040805160208082528351818301528351919283929083019185019080838360005b838110156101f75781810151838201526020016101df565b50505050905090810190601f1680156102245780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6100fb6105af565b6100fb6105b5565b6002546001600160a01b031681565b670de0b5809a6f939881565b6001546001600160a01b031681565b60006102766105d9565b60006102b3670de0b6b3a76400006102a761028f610624565b6a1a784379d99db4200000009063ffffffff6106a916565b9063ffffffff61070b16565b905060006102cc6003548361074d90919063ffffffff16565b60038390556040805184815290519192507f033068abf93bdec23e781d0a3b3f3e688bfa8471c68b629ad68652cdc63a6e49919081900360200190a191505090565b6a1a784379d99db42000000081565b6103256105d9565b6001546040805163a9059cbb60e01b81526001600160a01b038581166004830152602482018590529151919092169163a9059cbb9160448083019260209291908290030181600087803b15801561037b57600080fd5b505af115801561038f573d6000803e3d6000fd5b505050506040513d60208110156103a557600080fd5b50505050565b603c81565b6000546001600160a01b031690565b6000546001600160a01b0316331490565b6103d86103bf565b610429576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b6104328261078f565b61043b8161078f565b600180546001600160a01b038085166001600160a01b0319928316179283905560028054858316931692909217909155604080516370a0823160e01b81523060048201529051600093909216916370a0823191602480820192602092909190829003018186803b1580156104ae57600080fd5b505afa1580156104c2573d6000803e3d6000fd5b505050506040513d60208110156104d857600080fd5b505190506a1a784379d99db4200000008110156104f157fe5b604080516001600160a01b038516815290517fb0c89119a7c10e4c2d02306921ba368ac83d0e4b302337916017485c2791bec59181900360200190a1604080516001600160a01b038416815290517f45c53611bc8ba9e11f4f8173bda9e3faf89c395ddb83f9a55230b156828db3159181900360200190a1610571610842565b505050565b670de0b6b3a764000081565b60405180604001604052806011815260200170436f6d6d756e69747949737375616e636560781b81525081565b60035481565b7f000000000000000000000000000000000000000000000000000000000000000081565b6002546001600160a01b031633146106225760405162461bcd60e51b8152600401808060200182810382526023815260200180610af46023913960400191505060405180910390fd5b565b60008061065c603c6102a7427f000000000000000000000000000000000000000000000000000000000000000063ffffffff61074d16565b90506000610672670de0b5809a6f93988361088c565b9050600061068e670de0b6b3a76400008363ffffffff61074d16565b9050670de0b6b3a76400008111156106a257fe5b9250505090565b6000826106b857506000610705565b828202828482816106c557fe5b04146107025760405162461bcd60e51b8152600401808060200182810382526021815260200180610ad36021913960400191505060405180910390fd5b90505b92915050565b600061070283836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250610941565b600061070283836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506109e3565b6001600160a01b0381166107ea576040805162461bcd60e51b815260206004820152601e60248201527f4163636f756e742063616e6e6f74206265207a65726f20616464726573730000604482015290519081900360640190fd5b803b8061083e576040805162461bcd60e51b815260206004820181905260248201527f4163636f756e7420636f64652073697a652063616e6e6f74206265207a65726f604482015290519081900360640190fd5b5050565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000631f5405008211156108a257631f54050091505b816108b65750670de0b6b3a7640000610705565b670de0b6b3a764000083835b600181111561092d57600281066108f7576108dd8283610a3d565b91506108f081600263ffffffff61070b16565b9050610928565b6109018284610a3d565b925061090d8283610a3d565b915061092560026102a783600163ffffffff61074d16565b90505b6108c2565b6109378284610a3d565b9695505050505050565b600081836109cd5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561099257818101518382015260200161097a565b50505050905090810190601f1680156109bf5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385816109d957fe5b0495945050505050565b60008184841115610a355760405162461bcd60e51b815260206004820181815283516024840152835190928392604490910191908501908083836000831561099257818101518382015260200161097a565b505050900390565b600080610a50848463ffffffff6106a916565b9050610a70670de0b6b3a76400006102a7836706f05b59d3b20000610a78565b949350505050565b600082820183811015610702576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fdfe536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77436f6d6d756e69747949737375616e63653a2063616c6c6572206973206e6f74205350a2646970667358221220778de0bd5ab0b45f42584aa41727e1b2e94a61b7b6c2e2a086f4e923332541a164736f6c634300060b0033", - "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100ca5760003560e01c80638da5cb5b1161007c5780638da5cb5b1461015b5780638f32d59b1461016357806390107afe1461017f578063a20baee6146101ad578063a3f4df7e146101b5578063b140384b14610232578063ecda10f51461023a576100ca565b80630b622ab2146100cf5780630fc83da3146100f35780631f7af3c31461010d57806346ad34d9146101155780634e5c99571461011d578063614d2ab61461012557806361ec893d14610153575b600080fd5b6100d7610242565b604080516001600160a01b039092168252519081900360200190f35b6100fb610251565b60408051918252519081900360200190f35b6100d761025d565b6100fb61026c565b6100fb61030e565b6101516004803603604081101561013b57600080fd5b506001600160a01b03813516906020013561031d565b005b6100fb6103ab565b6100d76103b0565b61016b6103bf565b604080519115158252519081900360200190f35b6101516004803603604081101561019557600080fd5b506001600160a01b03813581169160200135166103d0565b6100fb610576565b6101bd610582565b6040805160208082528351818301528351919283929083019185019080838360005b838110156101f75781810151838201526020016101df565b50505050905090810190601f1680156102245780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6100fb6105af565b6100fb6105b5565b6002546001600160a01b031681565b670de0b5809a6f939881565b6001546001600160a01b031681565b60006102766105d9565b60006102b3670de0b6b3a76400006102a761028f610624565b6a1a784379d99db4200000009063ffffffff6106a916565b9063ffffffff61070b16565b905060006102cc6003548361074d90919063ffffffff16565b60038390556040805184815290519192507f033068abf93bdec23e781d0a3b3f3e688bfa8471c68b629ad68652cdc63a6e49919081900360200190a191505090565b6a1a784379d99db42000000081565b6103256105d9565b6001546040805163a9059cbb60e01b81526001600160a01b038581166004830152602482018590529151919092169163a9059cbb9160448083019260209291908290030181600087803b15801561037b57600080fd5b505af115801561038f573d6000803e3d6000fd5b505050506040513d60208110156103a557600080fd5b50505050565b603c81565b6000546001600160a01b031690565b6000546001600160a01b0316331490565b6103d86103bf565b610429576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b6104328261078f565b61043b8161078f565b600180546001600160a01b038085166001600160a01b0319928316179283905560028054858316931692909217909155604080516370a0823160e01b81523060048201529051600093909216916370a0823191602480820192602092909190829003018186803b1580156104ae57600080fd5b505afa1580156104c2573d6000803e3d6000fd5b505050506040513d60208110156104d857600080fd5b505190506a1a784379d99db4200000008110156104f157fe5b604080516001600160a01b038516815290517fb0c89119a7c10e4c2d02306921ba368ac83d0e4b302337916017485c2791bec59181900360200190a1604080516001600160a01b038416815290517f45c53611bc8ba9e11f4f8173bda9e3faf89c395ddb83f9a55230b156828db3159181900360200190a1610571610842565b505050565b670de0b6b3a764000081565b60405180604001604052806011815260200170436f6d6d756e69747949737375616e636560781b81525081565b60035481565b7f000000000000000000000000000000000000000000000000000000000000000081565b6002546001600160a01b031633146106225760405162461bcd60e51b8152600401808060200182810382526023815260200180610af46023913960400191505060405180910390fd5b565b60008061065c603c6102a7427f000000000000000000000000000000000000000000000000000000000000000063ffffffff61074d16565b90506000610672670de0b5809a6f93988361088c565b9050600061068e670de0b6b3a76400008363ffffffff61074d16565b9050670de0b6b3a76400008111156106a257fe5b9250505090565b6000826106b857506000610705565b828202828482816106c557fe5b04146107025760405162461bcd60e51b8152600401808060200182810382526021815260200180610ad36021913960400191505060405180910390fd5b90505b92915050565b600061070283836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250610941565b600061070283836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506109e3565b6001600160a01b0381166107ea576040805162461bcd60e51b815260206004820152601e60248201527f4163636f756e742063616e6e6f74206265207a65726f20616464726573730000604482015290519081900360640190fd5b803b8061083e576040805162461bcd60e51b815260206004820181905260248201527f4163636f756e7420636f64652073697a652063616e6e6f74206265207a65726f604482015290519081900360640190fd5b5050565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000631f5405008211156108a257631f54050091505b816108b65750670de0b6b3a7640000610705565b670de0b6b3a764000083835b600181111561092d57600281066108f7576108dd8283610a3d565b91506108f081600263ffffffff61070b16565b9050610928565b6109018284610a3d565b925061090d8283610a3d565b915061092560026102a783600163ffffffff61074d16565b90505b6108c2565b6109378284610a3d565b9695505050505050565b600081836109cd5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561099257818101518382015260200161097a565b50505050905090810190601f1680156109bf5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385816109d957fe5b0495945050505050565b60008184841115610a355760405162461bcd60e51b815260206004820181815283516024840152835190928392604490910191908501908083836000831561099257818101518382015260200161097a565b505050900390565b600080610a50848463ffffffff6106a916565b9050610a70670de0b6b3a76400006102a7836706f05b59d3b20000610a78565b949350505050565b600082820183811015610702576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fdfe536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77436f6d6d756e69747949737375616e63653a2063616c6c6572206973206e6f74205350a2646970667358221220778de0bd5ab0b45f42584aa41727e1b2e94a61b7b6c2e2a086f4e923332541a164736f6c634300060b0033", + "bytecode": "0x60806040526000805534801561001457600080fd5b50610027336001600160e01b0361002c16565b610114565b6001600160a01b0381166100715760405162461bcd60e51b8152600401808060200182810382526022815260200180610f086022913960400191505060405180910390fd5b6001600160a01b03811661008c6001600160e01b036100ea16565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3604080517035b2bc9737bbb730b136329737bbb732b960791b8152905190819003601101902055565b604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205490565b610de5806101236000396000f3fe608060405234801561001057600080fd5b50600436106100e05760003560e01c80639d4101b7116100875780639d4101b714610197578063a20baee61461019f578063a3f4df7e146101a7578063c0c53b8b14610224578063e59be5861461025c578063ecda10f514610264578063f1bd258b1461026c578063f294bd9214610298576100e0565b80630fc83da3146100e557806313af4035146100ff5780631a5a934a1461012757806321492b2a1461014b57806337362c181461015357806361ec893d1461017f578063893d20e8146101875780639ce21f3c1461018f575b600080fd5b6100ed6102a0565b60408051918252519081900360200190f35b6101256004803603602081101561011557600080fd5b50356001600160a01b03166102ac565b005b61012f61031f565b604080516001600160a01b039092168252519081900360200190f35b6100ed61032e565b6101256004803603604081101561016957600080fd5b506001600160a01b038135169060200135610334565b6100ed610410565b61012f610415565b61012f61043f565b6100ed61044e565b6100ed610454565b6101af610460565b6040805160208082528351818301528351919283929083019185019080838360005b838110156101e95781810151838201526020016101d1565b50505050905090810190601f1680156102165780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101256004803603606081101561023a57600080fd5b506001600160a01b03813581169160208101358216916040909101351661048d565b6100ed6105b4565b6100ed61064d565b6101256004803603604081101561028257600080fd5b506001600160a01b038135169060200135610653565b61012f6107c9565b670de0b5809a6f939881565b6102b4610415565b6001600160a01b0316336001600160a01b031614610313576040805162461bcd60e51b815260206004820152601760248201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604482015290519081900360640190fd5b61031c816107d8565b50565b6002546001600160a01b031681565b60005481565b61033c61088d565b6001546040805163a9059cbb60e01b81526001600160a01b038581166004830152602482018590529151600093929092169163a9059cbb9160448082019260209290919082900301818787803b15801561039557600080fd5b505af11580156103a9573d6000803e3d6000fd5b505050506040513d60208110156103bf57600080fd5b505190508061040b576040805162461bcd60e51b81526020600482015260136024820152724661696c656420746f2073656e64205a45524f60681b604482015290519081900360640190fd5b505050565b603c81565b604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205490565b6003546001600160a01b031681565b60045481565b670de0b6b3a764000081565b60405180604001604052806011815260200170436f6d6d756e69747949737375616e636560781b81525081565b610495610415565b6001600160a01b0316336001600160a01b0316146104f4576040805162461bcd60e51b815260206004820152601760248201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604482015290519081900360640190fd5b6104fd836108d8565b610506826108d8565b600180546001600160a01b038086166001600160a01b0319928316811790935560028054868316908416179055600380549185169190921617905560408051918252517f7eeded1a6761a0ca57ff60155bdd3e94fbfe5d9e8dc5013b3aa195b8d9e851ea9181900360200190a1604080516001600160a01b038416815290517f47ebfdc80bf05a81c1216176fd90779f8f67326c8d82eb50b3bce67473f188ce9181900360200190a1505050565b60006105be61088d565b60006105f2670de0b6b3a76400006105e66105d761098b565b6000549063ffffffff6109f516565b9063ffffffff610a5716565b9050600061060b60045483610a9990919063ffffffff16565b60048390556040805184815290519192507f0e4f366add234067215e649a6bccebac27241d6488de286967c468de64f62614919081900360200190a191505090565b60055481565b6003546001600160a01b0383811691161461069f5760405162461bcd60e51b8152600401808060200182810382526028815260200180610d446028913960400191505060405180910390fd5b600054156106f4576040805162461bcd60e51b815260206004820152601c60248201527f436f6d6d756e69747920706f7420616c72656164792066756e64656400000000604482015290519081900360640190fd5b600154604080516323b872dd60e01b81526001600160a01b03858116600483015230602483015260448201859052915191909216916323b872dd9160648083019260209291908290030181600087803b15801561075057600080fd5b505af1158015610764573d6000803e3d6000fd5b505050506040513d602081101561077a57600080fd5b50516107bf576040805162461bcd60e51b815260206004820152600f60248201526e151c985b9cd9995c8819985a5b1959608a1b604482015290519081900360640190fd5b6000555042600555565b6001546001600160a01b031681565b6001600160a01b03811661081d5760405162461bcd60e51b8152600401808060200182810382526022815260200180610d226022913960400191505060405180910390fd5b806001600160a01b031661082f610415565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3604080517035b2bc9737bbb730b136329737bbb732b960791b8152905190819003601101902055565b6002546001600160a01b031633146108d65760405162461bcd60e51b8152600401808060200182810382526023815260200180610d8d6023913960400191505060405180910390fd5b565b6001600160a01b038116610933576040805162461bcd60e51b815260206004820152601e60248201527f4163636f756e742063616e6e6f74206265207a65726f20616464726573730000604482015290519081900360640190fd5b803b80610987576040805162461bcd60e51b815260206004820181905260248201527f4163636f756e7420636f64652073697a652063616e6e6f74206265207a65726f604482015290519081900360640190fd5b5050565b6000806109a8603c6105e660055442610a9990919063ffffffff16565b905060006109be670de0b5809a6f939883610adb565b905060006109da670de0b6b3a76400008363ffffffff610a9916565b9050670de0b6b3a76400008111156109ee57fe5b9250505090565b600082610a0457506000610a51565b82820282848281610a1157fe5b0414610a4e5760405162461bcd60e51b8152600401808060200182810382526021815260200180610d6c6021913960400191505060405180910390fd5b90505b92915050565b6000610a4e83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250610b90565b6000610a4e83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610c32565b6000631f540500821115610af157631f54050091505b81610b055750670de0b6b3a7640000610a51565b670de0b6b3a764000083835b6001811115610b7c5760028106610b4657610b2c8283610c8c565b9150610b3f81600263ffffffff610a5716565b9050610b77565b610b508284610c8c565b9250610b5c8283610c8c565b9150610b7460026105e683600163ffffffff610a9916565b90505b610b11565b610b868284610c8c565b9695505050505050565b60008183610c1c5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610be1578181015183820152602001610bc9565b50505050905090810190601f168015610c0e5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b506000838581610c2857fe5b0495945050505050565b60008184841115610c845760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610be1578181015183820152602001610bc9565b505050900390565b600080610c9f848463ffffffff6109f516565b9050610cbf670de0b6b3a76400006105e6836706f05b59d3b20000610cc7565b949350505050565b600082820183811015610a4e576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fdfe4f776e61626c653a3a7365744f776e65723a20696e76616c696420616464726573734f6e6c79207468652066756e64696e672077616c6c65742063616e206465706f736974205a45524f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77436f6d6d756e69747949737375616e63653a2063616c6c6572206973206e6f74205350a26469706673582212206b553fb1df1bfd823d8fd29b2fde34c87b6e41e5de8d6fad1bd46628da8bff8264736f6c634300060b00334f776e61626c653a3a7365744f776e65723a20696e76616c69642061646472657373", + "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100e05760003560e01c80639d4101b7116100875780639d4101b714610197578063a20baee61461019f578063a3f4df7e146101a7578063c0c53b8b14610224578063e59be5861461025c578063ecda10f514610264578063f1bd258b1461026c578063f294bd9214610298576100e0565b80630fc83da3146100e557806313af4035146100ff5780631a5a934a1461012757806321492b2a1461014b57806337362c181461015357806361ec893d1461017f578063893d20e8146101875780639ce21f3c1461018f575b600080fd5b6100ed6102a0565b60408051918252519081900360200190f35b6101256004803603602081101561011557600080fd5b50356001600160a01b03166102ac565b005b61012f61031f565b604080516001600160a01b039092168252519081900360200190f35b6100ed61032e565b6101256004803603604081101561016957600080fd5b506001600160a01b038135169060200135610334565b6100ed610410565b61012f610415565b61012f61043f565b6100ed61044e565b6100ed610454565b6101af610460565b6040805160208082528351818301528351919283929083019185019080838360005b838110156101e95781810151838201526020016101d1565b50505050905090810190601f1680156102165780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101256004803603606081101561023a57600080fd5b506001600160a01b03813581169160208101358216916040909101351661048d565b6100ed6105b4565b6100ed61064d565b6101256004803603604081101561028257600080fd5b506001600160a01b038135169060200135610653565b61012f6107c9565b670de0b5809a6f939881565b6102b4610415565b6001600160a01b0316336001600160a01b031614610313576040805162461bcd60e51b815260206004820152601760248201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604482015290519081900360640190fd5b61031c816107d8565b50565b6002546001600160a01b031681565b60005481565b61033c61088d565b6001546040805163a9059cbb60e01b81526001600160a01b038581166004830152602482018590529151600093929092169163a9059cbb9160448082019260209290919082900301818787803b15801561039557600080fd5b505af11580156103a9573d6000803e3d6000fd5b505050506040513d60208110156103bf57600080fd5b505190508061040b576040805162461bcd60e51b81526020600482015260136024820152724661696c656420746f2073656e64205a45524f60681b604482015290519081900360640190fd5b505050565b603c81565b604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205490565b6003546001600160a01b031681565b60045481565b670de0b6b3a764000081565b60405180604001604052806011815260200170436f6d6d756e69747949737375616e636560781b81525081565b610495610415565b6001600160a01b0316336001600160a01b0316146104f4576040805162461bcd60e51b815260206004820152601760248201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604482015290519081900360640190fd5b6104fd836108d8565b610506826108d8565b600180546001600160a01b038086166001600160a01b0319928316811790935560028054868316908416179055600380549185169190921617905560408051918252517f7eeded1a6761a0ca57ff60155bdd3e94fbfe5d9e8dc5013b3aa195b8d9e851ea9181900360200190a1604080516001600160a01b038416815290517f47ebfdc80bf05a81c1216176fd90779f8f67326c8d82eb50b3bce67473f188ce9181900360200190a1505050565b60006105be61088d565b60006105f2670de0b6b3a76400006105e66105d761098b565b6000549063ffffffff6109f516565b9063ffffffff610a5716565b9050600061060b60045483610a9990919063ffffffff16565b60048390556040805184815290519192507f0e4f366add234067215e649a6bccebac27241d6488de286967c468de64f62614919081900360200190a191505090565b60055481565b6003546001600160a01b0383811691161461069f5760405162461bcd60e51b8152600401808060200182810382526028815260200180610d446028913960400191505060405180910390fd5b600054156106f4576040805162461bcd60e51b815260206004820152601c60248201527f436f6d6d756e69747920706f7420616c72656164792066756e64656400000000604482015290519081900360640190fd5b600154604080516323b872dd60e01b81526001600160a01b03858116600483015230602483015260448201859052915191909216916323b872dd9160648083019260209291908290030181600087803b15801561075057600080fd5b505af1158015610764573d6000803e3d6000fd5b505050506040513d602081101561077a57600080fd5b50516107bf576040805162461bcd60e51b815260206004820152600f60248201526e151c985b9cd9995c8819985a5b1959608a1b604482015290519081900360640190fd5b6000555042600555565b6001546001600160a01b031681565b6001600160a01b03811661081d5760405162461bcd60e51b8152600401808060200182810382526022815260200180610d226022913960400191505060405180910390fd5b806001600160a01b031661082f610415565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3604080517035b2bc9737bbb730b136329737bbb732b960791b8152905190819003601101902055565b6002546001600160a01b031633146108d65760405162461bcd60e51b8152600401808060200182810382526023815260200180610d8d6023913960400191505060405180910390fd5b565b6001600160a01b038116610933576040805162461bcd60e51b815260206004820152601e60248201527f4163636f756e742063616e6e6f74206265207a65726f20616464726573730000604482015290519081900360640190fd5b803b80610987576040805162461bcd60e51b815260206004820181905260248201527f4163636f756e7420636f64652073697a652063616e6e6f74206265207a65726f604482015290519081900360640190fd5b5050565b6000806109a8603c6105e660055442610a9990919063ffffffff16565b905060006109be670de0b5809a6f939883610adb565b905060006109da670de0b6b3a76400008363ffffffff610a9916565b9050670de0b6b3a76400008111156109ee57fe5b9250505090565b600082610a0457506000610a51565b82820282848281610a1157fe5b0414610a4e5760405162461bcd60e51b8152600401808060200182810382526021815260200180610d6c6021913960400191505060405180910390fd5b90505b92915050565b6000610a4e83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250610b90565b6000610a4e83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610c32565b6000631f540500821115610af157631f54050091505b81610b055750670de0b6b3a7640000610a51565b670de0b6b3a764000083835b6001811115610b7c5760028106610b4657610b2c8283610c8c565b9150610b3f81600263ffffffff610a5716565b9050610b77565b610b508284610c8c565b9250610b5c8283610c8c565b9150610b7460026105e683600163ffffffff610a9916565b90505b610b11565b610b868284610c8c565b9695505050505050565b60008183610c1c5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610be1578181015183820152602001610bc9565b50505050905090810190601f168015610c0e5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b506000838581610c2857fe5b0495945050505050565b60008184841115610c845760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610be1578181015183820152602001610bc9565b505050900390565b600080610c9f848463ffffffff6109f516565b9050610cbf670de0b6b3a76400006105e6836706f05b59d3b20000610cc7565b949350505050565b600082820183811015610a4e576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fdfe4f776e61626c653a3a7365744f776e65723a20696e76616c696420616464726573734f6e6c79207468652066756e64696e672077616c6c65742063616e206465706f736974205a45524f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77436f6d6d756e69747949737375616e63653a2063616c6c6572206973206e6f74205350a26469706673582212206b553fb1df1bfd823d8fd29b2fde34c87b6e41e5de8d6fad1bd46628da8bff8264736f6c634300060b0033", "linkReferences": {}, "deployedLinkReferences": {} } diff --git a/packages/lib-ethers/live/CommunityIssuanceStorage.json b/packages/lib-ethers/live/CommunityIssuanceStorage.json new file mode 100644 index 000000000..0a4a69702 --- /dev/null +++ b/packages/lib-ethers/live/CommunityIssuanceStorage.json @@ -0,0 +1,173 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "CommunityIssuanceStorage", + "sourceName": "contracts/ZERO/CommunityIssuanceStorage.sol", + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousOwner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnershipTransferred", + "type": "event" + }, + { + "inputs": [], + "name": "ISSUANCE_FACTOR", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "NAME", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "SECONDS_IN_ONE_MINUTE", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "ZEROSupplyCap", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "communityPotAddress", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "deploymentTime", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "fundingWalletAddress", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getOwner", + "outputs": [ + { + "internalType": "address", + "name": "_owner", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_owner", + "type": "address" + } + ], + "name": "setOwner", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "totalZEROIssued", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "zeroToken", + "outputs": [ + { + "internalType": "contract IZEROToken", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + } + ], + "bytecode": "0x60806040526000805534801561001457600080fd5b50610027336001600160e01b0361002c16565b610114565b6001600160a01b0381166100715760405162461bcd60e51b81526004018080602001828103825260228152602001806105136022913960400191505060405180910390fd5b6001600160a01b03811661008c6001600160e01b036100ea16565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3604080517035b2bc9737bbb730b136329737bbb732b960791b8152905190819003601101902055565b604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205490565b6103f0806101236000396000f3fe608060405234801561001057600080fd5b50600436106100a95760003560e01c8063893d20e811610071578063893d20e8146101245780639ce21f3c1461012c5780639d4101b714610134578063a3f4df7e1461013c578063ecda10f5146101b9578063f294bd92146101c1576100a9565b80630fc83da3146100ae57806313af4035146100c85780631a5a934a146100f057806321492b2a1461011457806361ec893d1461011c575b600080fd5b6100b66101c9565b60408051918252519081900360200190f35b6100ee600480360360208110156100de57600080fd5b50356001600160a01b03166101d5565b005b6100f8610248565b604080516001600160a01b039092168252519081900360200190f35b6100b6610257565b6100b661025d565b6100f8610262565b6100f861028c565b6100b661029b565b6101446102a1565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561017e578181015183820152602001610166565b50505050905090810190601f1680156101ab5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6100b66102ce565b6100f86102d4565b670de0b5809a6f939881565b6101dd610262565b6001600160a01b0316336001600160a01b03161461023c576040805162461bcd60e51b815260206004820152601760248201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604482015290519081900360640190fd5b610245816102e3565b50565b6002546001600160a01b031681565b60005481565b603c81565b604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205490565b6003546001600160a01b031681565b60045481565b60405180604001604052806011815260200170436f6d6d756e69747949737375616e636560781b81525081565b60055481565b6001546001600160a01b031681565b6001600160a01b0381166103285760405162461bcd60e51b81526004018080602001828103825260228152602001806103996022913960400191505060405180910390fd5b806001600160a01b031661033a610262565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205556fe4f776e61626c653a3a7365744f776e65723a20696e76616c69642061646472657373a2646970667358221220145f4530038a1bdf7290e7c42c49a44c740da232431f4c70d900af70ffb28d6b64736f6c634300060b00334f776e61626c653a3a7365744f776e65723a20696e76616c69642061646472657373", + "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100a95760003560e01c8063893d20e811610071578063893d20e8146101245780639ce21f3c1461012c5780639d4101b714610134578063a3f4df7e1461013c578063ecda10f5146101b9578063f294bd92146101c1576100a9565b80630fc83da3146100ae57806313af4035146100c85780631a5a934a146100f057806321492b2a1461011457806361ec893d1461011c575b600080fd5b6100b66101c9565b60408051918252519081900360200190f35b6100ee600480360360208110156100de57600080fd5b50356001600160a01b03166101d5565b005b6100f8610248565b604080516001600160a01b039092168252519081900360200190f35b6100b6610257565b6100b661025d565b6100f8610262565b6100f861028c565b6100b661029b565b6101446102a1565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561017e578181015183820152602001610166565b50505050905090810190601f1680156101ab5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6100b66102ce565b6100f86102d4565b670de0b5809a6f939881565b6101dd610262565b6001600160a01b0316336001600160a01b03161461023c576040805162461bcd60e51b815260206004820152601760248201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604482015290519081900360640190fd5b610245816102e3565b50565b6002546001600160a01b031681565b60005481565b603c81565b604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205490565b6003546001600160a01b031681565b60045481565b60405180604001604052806011815260200170436f6d6d756e69747949737375616e636560781b81525081565b60055481565b6001546001600160a01b031681565b6001600160a01b0381166103285760405162461bcd60e51b81526004018080602001828103825260228152602001806103996022913960400191505060405180910390fd5b806001600160a01b031661033a610262565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205556fe4f776e61626c653a3a7365744f776e65723a20696e76616c69642061646472657373a2646970667358221220145f4530038a1bdf7290e7c42c49a44c740da232431f4c70d900af70ffb28d6b64736f6c634300060b0033", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/packages/lib-ethers/live/CommunityIssuanceTester.json b/packages/lib-ethers/live/CommunityIssuanceTester.json index 21b128e22..f6359e361 100644 --- a/packages/lib-ethers/live/CommunityIssuanceTester.json +++ b/packages/lib-ethers/live/CommunityIssuanceTester.json @@ -3,6 +3,19 @@ "contractName": "CommunityIssuanceTester", "sourceName": "contracts/TestContracts/CommunityIssuanceTester.sol", "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "_communityPotAddress", + "type": "address" + } + ], + "name": "CommunityPotAddressSet", + "type": "event" + }, { "anonymous": false, "inputs": [ @@ -13,7 +26,7 @@ "type": "address" } ], - "name": "LQTYTokenAddressSet", + "name": "FundingWalletAddressSet", "type": "event" }, { @@ -40,12 +53,12 @@ "inputs": [ { "indexed": false, - "internalType": "address", - "name": "_stabilityPoolAddress", - "type": "address" + "internalType": "uint256", + "name": "_fundingWalletAddress", + "type": "uint256" } ], - "name": "StabilityPoolAddressSet", + "name": "TotalZEROIssuedUpdated", "type": "event" }, { @@ -53,12 +66,12 @@ "inputs": [ { "indexed": false, - "internalType": "uint256", - "name": "_totalLQTYIssued", - "type": "uint256" + "internalType": "address", + "name": "_zeroTokenAddress", + "type": "address" } ], - "name": "TotalLQTYIssuedUpdated", + "name": "ZEROTokenAddressSet", "type": "event" }, { @@ -89,12 +102,12 @@ }, { "inputs": [], - "name": "LQTYSupplyCap", + "name": "NAME", "outputs": [ { - "internalType": "uint256", + "internalType": "string", "name": "", - "type": "uint256" + "type": "string" } ], "stateMutability": "view", @@ -102,12 +115,12 @@ }, { "inputs": [], - "name": "NAME", + "name": "SECONDS_IN_ONE_MINUTE", "outputs": [ { - "internalType": "string", + "internalType": "uint256", "name": "", - "type": "string" + "type": "uint256" } ], "stateMutability": "view", @@ -115,7 +128,7 @@ }, { "inputs": [], - "name": "SECONDS_IN_ONE_MINUTE", + "name": "ZEROSupplyCap", "outputs": [ { "internalType": "uint256", @@ -128,12 +141,12 @@ }, { "inputs": [], - "name": "deploymentTime", + "name": "communityPotAddress", "outputs": [ { - "internalType": "uint256", + "internalType": "address", "name": "", - "type": "uint256" + "type": "address" } ], "stateMutability": "view", @@ -141,7 +154,7 @@ }, { "inputs": [], - "name": "getCumulativeIssuanceFraction", + "name": "deploymentTime", "outputs": [ { "internalType": "uint256", @@ -154,12 +167,12 @@ }, { "inputs": [], - "name": "isOwner", + "name": "fundingWalletAddress", "outputs": [ { - "internalType": "bool", + "internalType": "address", "name": "", - "type": "bool" + "type": "address" } ], "stateMutability": "view", @@ -167,7 +180,7 @@ }, { "inputs": [], - "name": "issueLQTY", + "name": "getCumulativeIssuanceFraction", "outputs": [ { "internalType": "uint256", @@ -175,16 +188,16 @@ "type": "uint256" } ], - "stateMutability": "nonpayable", + "stateMutability": "view", "type": "function" }, { "inputs": [], - "name": "zeroToken", + "name": "getOwner", "outputs": [ { - "internalType": "contract ILQTYToken", - "name": "", + "internalType": "address", + "name": "_owner", "type": "address" } ], @@ -194,27 +207,50 @@ { "inputs": [ { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" + "internalType": "address", + "name": "_zeroTokenAddress", + "type": "address" + }, + { + "internalType": "address", + "name": "_communityPotAddress", + "type": "address" + }, + { + "internalType": "address", + "name": "_fundingWalletAddress", + "type": "address" } ], - "name": "obtainLQTY", + "name": "initialize", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], - "name": "owner", + "name": "issueZERO", "outputs": [ { - "internalType": "address", + "internalType": "uint256", "name": "", - "type": "address" + "type": "uint256" } ], - "stateMutability": "view", + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "obtainZERO", + "outputs": [], + "stateMutability": "nonpayable", "type": "function" }, { @@ -226,11 +262,11 @@ }, { "internalType": "uint256", - "name": "_LQTYamount", + "name": "_ZEROamount", "type": "uint256" } ], - "name": "sendLQTY", + "name": "receiveZero", "outputs": [], "stateMutability": "nonpayable", "type": "function" @@ -239,36 +275,36 @@ "inputs": [ { "internalType": "address", - "name": "_zeroTokenAddress", + "name": "_account", "type": "address" }, { - "internalType": "address", - "name": "_stabilityPoolAddress", - "type": "address" + "internalType": "uint256", + "name": "_ZEROamount", + "type": "uint256" } ], - "name": "setAddresses", + "name": "sendZERO", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { - "inputs": [], - "name": "stabilityPoolAddress", - "outputs": [ + "inputs": [ { "internalType": "address", - "name": "", + "name": "_owner", "type": "address" } ], - "stateMutability": "view", + "name": "setOwner", + "outputs": [], + "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], - "name": "totalLQTYIssued", + "name": "totalZEROIssued", "outputs": [ { "internalType": "uint256", @@ -281,7 +317,7 @@ }, { "inputs": [], - "name": "unprotectedIssueLQTY", + "name": "unprotectedIssueZERO", "outputs": [ { "internalType": "uint256", @@ -291,10 +327,23 @@ ], "stateMutability": "nonpayable", "type": "function" + }, + { + "inputs": [], + "name": "zeroToken", + "outputs": [ + { + "internalType": "contract IZEROToken", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" } ], - "bytecode": "0x60a060405234801561001057600080fd5b50600080546001600160a01b0319163390811782556040519091907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a342608052608051610c66610073600039806106d152806107015250610c666000f3fe608060405234801561001057600080fd5b50600436106100eb5760003560e01c806361fc8ab41161009257806361fc8ab4146101845780638da5cb5b146101a15780638f32d59b146101a957806390107afe146101c55780639d5b044d146101f3578063a20baee6146101fb578063a3f4df7e14610203578063b140384b14610280578063ecda10f514610288576100eb565b80630b622ab2146100f05780630fc83da3146101145780631f7af3c31461012e57806343e0a60b1461013657806346ad34d91461013e5780634e5c995714610146578063614d2ab61461014e57806361ec893d1461017c575b600080fd5b6100f8610290565b604080516001600160a01b039092168252519081900360200190f35b61011c61029f565b60408051918252519081900360200190f35b6100f86102ab565b61011c6102ba565b61011c61031d565b61011c61039b565b61017a6004803603604081101561016457600080fd5b506001600160a01b0381351690602001356103aa565b005b61011c610438565b61017a6004803603602081101561019a57600080fd5b503561043d565b6100f86104c0565b6101b16104cf565b604080519115158252519081900360200190f35b61017a600480360360408110156101db57600080fd5b506001600160a01b03813581169160200135166104e0565b61011c610681565b61011c610690565b61020b61069c565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561024557818101518382015260200161022d565b50505050905090810190601f1680156102725780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61011c6106c9565b61011c6106cf565b6002546001600160a01b031681565b670de0b5809a6f939881565b6001546001600160a01b031681565b6000806102f8670de0b6b3a76400006102ec6102d46106f3565b6a1a784379d99db4200000009063ffffffff61077816565b9063ffffffff6107da16565b905060006103116003548361081c90919063ffffffff16565b60039290925550905090565b600061032761085e565b6000610340670de0b6b3a76400006102ec6102d46106f3565b905060006103596003548361081c90919063ffffffff16565b60038390556040805184815290519192507f033068abf93bdec23e781d0a3b3f3e688bfa8471c68b629ad68652cdc63a6e49919081900360200190a191505090565b6a1a784379d99db42000000081565b6103b261085e565b6001546040805163a9059cbb60e01b81526001600160a01b038581166004830152602482018590529151919092169163a9059cbb9160448083019260209291908290030181600087803b15801561040857600080fd5b505af115801561041c573d6000803e3d6000fd5b505050506040513d602081101561043257600080fd5b50505050565b603c81565b6001546040805163a9059cbb60e01b81523360048201526024810184905290516001600160a01b039092169163a9059cbb916044808201926020929091908290030181600087803b15801561049157600080fd5b505af11580156104a5573d6000803e3d6000fd5b505050506040513d60208110156104bb57600080fd5b505050565b6000546001600160a01b031690565b6000546001600160a01b0316331490565b6104e86104cf565b610539576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b610542826108a9565b61054b816108a9565b600180546001600160a01b038085166001600160a01b0319928316179283905560028054858316931692909217909155604080516370a0823160e01b81523060048201529051600093909216916370a0823191602480820192602092909190829003018186803b1580156105be57600080fd5b505afa1580156105d2573d6000803e3d6000fd5b505050506040513d60208110156105e857600080fd5b505190506a1a784379d99db42000000081101561060157fe5b604080516001600160a01b038516815290517fb0c89119a7c10e4c2d02306921ba368ac83d0e4b302337916017485c2791bec59181900360200190a1604080516001600160a01b038416815290517f45c53611bc8ba9e11f4f8173bda9e3faf89c395ddb83f9a55230b156828db3159181900360200190a16104bb61095c565b600061068b6106f3565b905090565b670de0b6b3a764000081565b60405180604001604052806011815260200170436f6d6d756e69747949737375616e636560781b81525081565b60035481565b7f000000000000000000000000000000000000000000000000000000000000000081565b60008061072b603c6102ec427f000000000000000000000000000000000000000000000000000000000000000063ffffffff61081c16565b90506000610741670de0b5809a6f9398836109a6565b9050600061075d670de0b6b3a76400008363ffffffff61081c16565b9050670de0b6b3a764000081111561077157fe5b9250505090565b600082610787575060006107d4565b8282028284828161079457fe5b04146107d15760405162461bcd60e51b8152600401808060200182810382526021815260200180610bed6021913960400191505060405180910390fd5b90505b92915050565b60006107d183836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250610a5b565b60006107d183836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610afd565b6002546001600160a01b031633146108a75760405162461bcd60e51b8152600401808060200182810382526023815260200180610c0e6023913960400191505060405180910390fd5b565b6001600160a01b038116610904576040805162461bcd60e51b815260206004820152601e60248201527f4163636f756e742063616e6e6f74206265207a65726f20616464726573730000604482015290519081900360640190fd5b803b80610958576040805162461bcd60e51b815260206004820181905260248201527f4163636f756e7420636f64652073697a652063616e6e6f74206265207a65726f604482015290519081900360640190fd5b5050565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000631f5405008211156109bc57631f54050091505b816109d05750670de0b6b3a76400006107d4565b670de0b6b3a764000083835b6001811115610a475760028106610a11576109f78283610b57565b9150610a0a81600263ffffffff6107da16565b9050610a42565b610a1b8284610b57565b9250610a278283610b57565b9150610a3f60026102ec83600163ffffffff61081c16565b90505b6109dc565b610a518284610b57565b9695505050505050565b60008183610ae75760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610aac578181015183820152602001610a94565b50505050905090810190601f168015610ad95780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b506000838581610af357fe5b0495945050505050565b60008184841115610b4f5760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610aac578181015183820152602001610a94565b505050900390565b600080610b6a848463ffffffff61077816565b9050610b8a670de0b6b3a76400006102ec836706f05b59d3b20000610b92565b949350505050565b6000828201838110156107d1576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fdfe536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77436f6d6d756e69747949737375616e63653a2063616c6c6572206973206e6f74205350a26469706673582212201a8e4c0daf35f634c44e773baf3a57ad810c5e268ea57de33971fcba3f8bcd2264736f6c634300060b0033", - "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100eb5760003560e01c806361fc8ab41161009257806361fc8ab4146101845780638da5cb5b146101a15780638f32d59b146101a957806390107afe146101c55780639d5b044d146101f3578063a20baee6146101fb578063a3f4df7e14610203578063b140384b14610280578063ecda10f514610288576100eb565b80630b622ab2146100f05780630fc83da3146101145780631f7af3c31461012e57806343e0a60b1461013657806346ad34d91461013e5780634e5c995714610146578063614d2ab61461014e57806361ec893d1461017c575b600080fd5b6100f8610290565b604080516001600160a01b039092168252519081900360200190f35b61011c61029f565b60408051918252519081900360200190f35b6100f86102ab565b61011c6102ba565b61011c61031d565b61011c61039b565b61017a6004803603604081101561016457600080fd5b506001600160a01b0381351690602001356103aa565b005b61011c610438565b61017a6004803603602081101561019a57600080fd5b503561043d565b6100f86104c0565b6101b16104cf565b604080519115158252519081900360200190f35b61017a600480360360408110156101db57600080fd5b506001600160a01b03813581169160200135166104e0565b61011c610681565b61011c610690565b61020b61069c565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561024557818101518382015260200161022d565b50505050905090810190601f1680156102725780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61011c6106c9565b61011c6106cf565b6002546001600160a01b031681565b670de0b5809a6f939881565b6001546001600160a01b031681565b6000806102f8670de0b6b3a76400006102ec6102d46106f3565b6a1a784379d99db4200000009063ffffffff61077816565b9063ffffffff6107da16565b905060006103116003548361081c90919063ffffffff16565b60039290925550905090565b600061032761085e565b6000610340670de0b6b3a76400006102ec6102d46106f3565b905060006103596003548361081c90919063ffffffff16565b60038390556040805184815290519192507f033068abf93bdec23e781d0a3b3f3e688bfa8471c68b629ad68652cdc63a6e49919081900360200190a191505090565b6a1a784379d99db42000000081565b6103b261085e565b6001546040805163a9059cbb60e01b81526001600160a01b038581166004830152602482018590529151919092169163a9059cbb9160448083019260209291908290030181600087803b15801561040857600080fd5b505af115801561041c573d6000803e3d6000fd5b505050506040513d602081101561043257600080fd5b50505050565b603c81565b6001546040805163a9059cbb60e01b81523360048201526024810184905290516001600160a01b039092169163a9059cbb916044808201926020929091908290030181600087803b15801561049157600080fd5b505af11580156104a5573d6000803e3d6000fd5b505050506040513d60208110156104bb57600080fd5b505050565b6000546001600160a01b031690565b6000546001600160a01b0316331490565b6104e86104cf565b610539576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b610542826108a9565b61054b816108a9565b600180546001600160a01b038085166001600160a01b0319928316179283905560028054858316931692909217909155604080516370a0823160e01b81523060048201529051600093909216916370a0823191602480820192602092909190829003018186803b1580156105be57600080fd5b505afa1580156105d2573d6000803e3d6000fd5b505050506040513d60208110156105e857600080fd5b505190506a1a784379d99db42000000081101561060157fe5b604080516001600160a01b038516815290517fb0c89119a7c10e4c2d02306921ba368ac83d0e4b302337916017485c2791bec59181900360200190a1604080516001600160a01b038416815290517f45c53611bc8ba9e11f4f8173bda9e3faf89c395ddb83f9a55230b156828db3159181900360200190a16104bb61095c565b600061068b6106f3565b905090565b670de0b6b3a764000081565b60405180604001604052806011815260200170436f6d6d756e69747949737375616e636560781b81525081565b60035481565b7f000000000000000000000000000000000000000000000000000000000000000081565b60008061072b603c6102ec427f000000000000000000000000000000000000000000000000000000000000000063ffffffff61081c16565b90506000610741670de0b5809a6f9398836109a6565b9050600061075d670de0b6b3a76400008363ffffffff61081c16565b9050670de0b6b3a764000081111561077157fe5b9250505090565b600082610787575060006107d4565b8282028284828161079457fe5b04146107d15760405162461bcd60e51b8152600401808060200182810382526021815260200180610bed6021913960400191505060405180910390fd5b90505b92915050565b60006107d183836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250610a5b565b60006107d183836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610afd565b6002546001600160a01b031633146108a75760405162461bcd60e51b8152600401808060200182810382526023815260200180610c0e6023913960400191505060405180910390fd5b565b6001600160a01b038116610904576040805162461bcd60e51b815260206004820152601e60248201527f4163636f756e742063616e6e6f74206265207a65726f20616464726573730000604482015290519081900360640190fd5b803b80610958576040805162461bcd60e51b815260206004820181905260248201527f4163636f756e7420636f64652073697a652063616e6e6f74206265207a65726f604482015290519081900360640190fd5b5050565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000631f5405008211156109bc57631f54050091505b816109d05750670de0b6b3a76400006107d4565b670de0b6b3a764000083835b6001811115610a475760028106610a11576109f78283610b57565b9150610a0a81600263ffffffff6107da16565b9050610a42565b610a1b8284610b57565b9250610a278283610b57565b9150610a3f60026102ec83600163ffffffff61081c16565b90505b6109dc565b610a518284610b57565b9695505050505050565b60008183610ae75760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610aac578181015183820152602001610a94565b50505050905090810190601f168015610ad95780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b506000838581610af357fe5b0495945050505050565b60008184841115610b4f5760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610aac578181015183820152602001610a94565b505050900390565b600080610b6a848463ffffffff61077816565b9050610b8a670de0b6b3a76400006102ec836706f05b59d3b20000610b92565b949350505050565b6000828201838110156107d1576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fdfe536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77436f6d6d756e69747949737375616e63653a2063616c6c6572206973206e6f74205350a26469706673582212201a8e4c0daf35f634c44e773baf3a57ad810c5e268ea57de33971fcba3f8bcd2264736f6c634300060b0033", + "bytecode": "0x60806040526000805534801561001457600080fd5b50610027336001600160e01b0361002c16565b610114565b6001600160a01b0381166100715760405162461bcd60e51b81526004018080602001828103825260228152602001806110326022913960400191505060405180910390fd5b6001600160a01b03811661008c6001600160e01b036100ea16565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3604080517035b2bc9737bbb730b136329737bbb732b960791b8152905190819003601101902055565b604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205490565b610f0f806101236000396000f3fe608060405234801561001057600080fd5b50600436106101115760003560e01c80639ce21f3c116100ad578063c0c53b8b11610071578063c0c53b8b14610282578063e59be586146102ba578063ecda10f5146102c2578063f1bd258b146102ca578063f294bd92146102f657610111565b80639ce21f3c146101e55780639d4101b7146101ed5780639d5b044d146101f5578063a20baee6146101fd578063a3f4df7e1461020557610111565b80630fc83da31461011657806313af4035146101305780631a5a934a1461015857806321492b2a1461017c57806337362c181461018457806353846aad146101b057806361ec893d146101cd578063650fa257146101d5578063893d20e8146101dd575b600080fd5b61011e6102fe565b60408051918252519081900360200190f35b6101566004803603602081101561014657600080fd5b50356001600160a01b031661030a565b005b61016061037d565b604080516001600160a01b039092168252519081900360200190f35b61011e61038c565b6101566004803603604081101561019a57600080fd5b506001600160a01b038135169060200135610392565b610156600480360360208110156101c657600080fd5b503561046e565b61011e6104ec565b61011e6104f1565b61016061054b565b610160610575565b61011e610584565b61011e61058a565b61011e610599565b61020d6105a5565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561024757818101518382015260200161022f565b50505050905090810190601f1680156102745780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101566004803603606081101561029857600080fd5b506001600160a01b0381358116916020810135821691604090910135166105d2565b61011e6106f9565b61011e610777565b610156600480360360408110156102e057600080fd5b506001600160a01b03813516906020013561077d565b6101606108f3565b670de0b5809a6f939881565b61031261054b565b6001600160a01b0316336001600160a01b031614610371576040805162461bcd60e51b815260206004820152601760248201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604482015290519081900360640190fd5b61037a81610902565b50565b6002546001600160a01b031681565b60005481565b61039a6109b7565b6001546040805163a9059cbb60e01b81526001600160a01b038581166004830152602482018590529151600093929092169163a9059cbb9160448082019260209290919082900301818787803b1580156103f357600080fd5b505af1158015610407573d6000803e3d6000fd5b505050506040513d602081101561041d57600080fd5b5051905080610469576040805162461bcd60e51b81526020600482015260136024820152724661696c656420746f2073656e64205a45524f60681b604482015290519081900360640190fd5b505050565b6001546040805163a9059cbb60e01b81523360048201526024810184905290516001600160a01b039092169163a9059cbb916044808201926020929091908290030181600087803b1580156104c257600080fd5b505af11580156104d6573d6000803e3d6000fd5b505050506040513d602081101561046957600080fd5b603c81565b600080610526670de0b6b3a764000061051a61050b610a02565b6000549063ffffffff610a6c16565b9063ffffffff610ace16565b9050600061053f60045483610b1090919063ffffffff16565b60049290925550905090565b604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205490565b6003546001600160a01b031681565b60045481565b6000610594610a02565b905090565b670de0b6b3a764000081565b60405180604001604052806011815260200170436f6d6d756e69747949737375616e636560781b81525081565b6105da61054b565b6001600160a01b0316336001600160a01b031614610639576040805162461bcd60e51b815260206004820152601760248201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604482015290519081900360640190fd5b61064283610b52565b61064b82610b52565b600180546001600160a01b038086166001600160a01b0319928316811790935560028054868316908416179055600380549185169190921617905560408051918252517f7eeded1a6761a0ca57ff60155bdd3e94fbfe5d9e8dc5013b3aa195b8d9e851ea9181900360200190a1604080516001600160a01b038416815290517f47ebfdc80bf05a81c1216176fd90779f8f67326c8d82eb50b3bce67473f188ce9181900360200190a1505050565b60006107036109b7565b600061071c670de0b6b3a764000061051a61050b610a02565b9050600061073560045483610b1090919063ffffffff16565b60048390556040805184815290519192507f0e4f366add234067215e649a6bccebac27241d6488de286967c468de64f62614919081900360200190a191505090565b60055481565b6003546001600160a01b038381169116146107c95760405162461bcd60e51b8152600401808060200182810382526028815260200180610e6e6028913960400191505060405180910390fd5b6000541561081e576040805162461bcd60e51b815260206004820152601c60248201527f436f6d6d756e69747920706f7420616c72656164792066756e64656400000000604482015290519081900360640190fd5b600154604080516323b872dd60e01b81526001600160a01b03858116600483015230602483015260448201859052915191909216916323b872dd9160648083019260209291908290030181600087803b15801561087a57600080fd5b505af115801561088e573d6000803e3d6000fd5b505050506040513d60208110156108a457600080fd5b50516108e9576040805162461bcd60e51b815260206004820152600f60248201526e151c985b9cd9995c8819985a5b1959608a1b604482015290519081900360640190fd5b6000555042600555565b6001546001600160a01b031681565b6001600160a01b0381166109475760405162461bcd60e51b8152600401808060200182810382526022815260200180610e4c6022913960400191505060405180910390fd5b806001600160a01b031661095961054b565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3604080517035b2bc9737bbb730b136329737bbb732b960791b8152905190819003601101902055565b6002546001600160a01b03163314610a005760405162461bcd60e51b8152600401808060200182810382526023815260200180610eb76023913960400191505060405180910390fd5b565b600080610a1f603c61051a60055442610b1090919063ffffffff16565b90506000610a35670de0b5809a6f939883610c05565b90506000610a51670de0b6b3a76400008363ffffffff610b1016565b9050670de0b6b3a7640000811115610a6557fe5b9250505090565b600082610a7b57506000610ac8565b82820282848281610a8857fe5b0414610ac55760405162461bcd60e51b8152600401808060200182810382526021815260200180610e966021913960400191505060405180910390fd5b90505b92915050565b6000610ac583836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250610cba565b6000610ac583836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610d5c565b6001600160a01b038116610bad576040805162461bcd60e51b815260206004820152601e60248201527f4163636f756e742063616e6e6f74206265207a65726f20616464726573730000604482015290519081900360640190fd5b803b80610c01576040805162461bcd60e51b815260206004820181905260248201527f4163636f756e7420636f64652073697a652063616e6e6f74206265207a65726f604482015290519081900360640190fd5b5050565b6000631f540500821115610c1b57631f54050091505b81610c2f5750670de0b6b3a7640000610ac8565b670de0b6b3a764000083835b6001811115610ca65760028106610c7057610c568283610db6565b9150610c6981600263ffffffff610ace16565b9050610ca1565b610c7a8284610db6565b9250610c868283610db6565b9150610c9e600261051a83600163ffffffff610b1016565b90505b610c3b565b610cb08284610db6565b9695505050505050565b60008183610d465760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610d0b578181015183820152602001610cf3565b50505050905090810190601f168015610d385780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b506000838581610d5257fe5b0495945050505050565b60008184841115610dae5760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610d0b578181015183820152602001610cf3565b505050900390565b600080610dc9848463ffffffff610a6c16565b9050610de9670de0b6b3a764000061051a836706f05b59d3b20000610df1565b949350505050565b600082820183811015610ac5576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fdfe4f776e61626c653a3a7365744f776e65723a20696e76616c696420616464726573734f6e6c79207468652066756e64696e672077616c6c65742063616e206465706f736974205a45524f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77436f6d6d756e69747949737375616e63653a2063616c6c6572206973206e6f74205350a2646970667358221220462af32e2126f560ce04aac98eded710257b57beb402261936cce76cb828702864736f6c634300060b00334f776e61626c653a3a7365744f776e65723a20696e76616c69642061646472657373", + "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106101115760003560e01c80639ce21f3c116100ad578063c0c53b8b11610071578063c0c53b8b14610282578063e59be586146102ba578063ecda10f5146102c2578063f1bd258b146102ca578063f294bd92146102f657610111565b80639ce21f3c146101e55780639d4101b7146101ed5780639d5b044d146101f5578063a20baee6146101fd578063a3f4df7e1461020557610111565b80630fc83da31461011657806313af4035146101305780631a5a934a1461015857806321492b2a1461017c57806337362c181461018457806353846aad146101b057806361ec893d146101cd578063650fa257146101d5578063893d20e8146101dd575b600080fd5b61011e6102fe565b60408051918252519081900360200190f35b6101566004803603602081101561014657600080fd5b50356001600160a01b031661030a565b005b61016061037d565b604080516001600160a01b039092168252519081900360200190f35b61011e61038c565b6101566004803603604081101561019a57600080fd5b506001600160a01b038135169060200135610392565b610156600480360360208110156101c657600080fd5b503561046e565b61011e6104ec565b61011e6104f1565b61016061054b565b610160610575565b61011e610584565b61011e61058a565b61011e610599565b61020d6105a5565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561024757818101518382015260200161022f565b50505050905090810190601f1680156102745780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101566004803603606081101561029857600080fd5b506001600160a01b0381358116916020810135821691604090910135166105d2565b61011e6106f9565b61011e610777565b610156600480360360408110156102e057600080fd5b506001600160a01b03813516906020013561077d565b6101606108f3565b670de0b5809a6f939881565b61031261054b565b6001600160a01b0316336001600160a01b031614610371576040805162461bcd60e51b815260206004820152601760248201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604482015290519081900360640190fd5b61037a81610902565b50565b6002546001600160a01b031681565b60005481565b61039a6109b7565b6001546040805163a9059cbb60e01b81526001600160a01b038581166004830152602482018590529151600093929092169163a9059cbb9160448082019260209290919082900301818787803b1580156103f357600080fd5b505af1158015610407573d6000803e3d6000fd5b505050506040513d602081101561041d57600080fd5b5051905080610469576040805162461bcd60e51b81526020600482015260136024820152724661696c656420746f2073656e64205a45524f60681b604482015290519081900360640190fd5b505050565b6001546040805163a9059cbb60e01b81523360048201526024810184905290516001600160a01b039092169163a9059cbb916044808201926020929091908290030181600087803b1580156104c257600080fd5b505af11580156104d6573d6000803e3d6000fd5b505050506040513d602081101561046957600080fd5b603c81565b600080610526670de0b6b3a764000061051a61050b610a02565b6000549063ffffffff610a6c16565b9063ffffffff610ace16565b9050600061053f60045483610b1090919063ffffffff16565b60049290925550905090565b604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205490565b6003546001600160a01b031681565b60045481565b6000610594610a02565b905090565b670de0b6b3a764000081565b60405180604001604052806011815260200170436f6d6d756e69747949737375616e636560781b81525081565b6105da61054b565b6001600160a01b0316336001600160a01b031614610639576040805162461bcd60e51b815260206004820152601760248201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604482015290519081900360640190fd5b61064283610b52565b61064b82610b52565b600180546001600160a01b038086166001600160a01b0319928316811790935560028054868316908416179055600380549185169190921617905560408051918252517f7eeded1a6761a0ca57ff60155bdd3e94fbfe5d9e8dc5013b3aa195b8d9e851ea9181900360200190a1604080516001600160a01b038416815290517f47ebfdc80bf05a81c1216176fd90779f8f67326c8d82eb50b3bce67473f188ce9181900360200190a1505050565b60006107036109b7565b600061071c670de0b6b3a764000061051a61050b610a02565b9050600061073560045483610b1090919063ffffffff16565b60048390556040805184815290519192507f0e4f366add234067215e649a6bccebac27241d6488de286967c468de64f62614919081900360200190a191505090565b60055481565b6003546001600160a01b038381169116146107c95760405162461bcd60e51b8152600401808060200182810382526028815260200180610e6e6028913960400191505060405180910390fd5b6000541561081e576040805162461bcd60e51b815260206004820152601c60248201527f436f6d6d756e69747920706f7420616c72656164792066756e64656400000000604482015290519081900360640190fd5b600154604080516323b872dd60e01b81526001600160a01b03858116600483015230602483015260448201859052915191909216916323b872dd9160648083019260209291908290030181600087803b15801561087a57600080fd5b505af115801561088e573d6000803e3d6000fd5b505050506040513d60208110156108a457600080fd5b50516108e9576040805162461bcd60e51b815260206004820152600f60248201526e151c985b9cd9995c8819985a5b1959608a1b604482015290519081900360640190fd5b6000555042600555565b6001546001600160a01b031681565b6001600160a01b0381166109475760405162461bcd60e51b8152600401808060200182810382526022815260200180610e4c6022913960400191505060405180910390fd5b806001600160a01b031661095961054b565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3604080517035b2bc9737bbb730b136329737bbb732b960791b8152905190819003601101902055565b6002546001600160a01b03163314610a005760405162461bcd60e51b8152600401808060200182810382526023815260200180610eb76023913960400191505060405180910390fd5b565b600080610a1f603c61051a60055442610b1090919063ffffffff16565b90506000610a35670de0b5809a6f939883610c05565b90506000610a51670de0b6b3a76400008363ffffffff610b1016565b9050670de0b6b3a7640000811115610a6557fe5b9250505090565b600082610a7b57506000610ac8565b82820282848281610a8857fe5b0414610ac55760405162461bcd60e51b8152600401808060200182810382526021815260200180610e966021913960400191505060405180910390fd5b90505b92915050565b6000610ac583836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250610cba565b6000610ac583836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610d5c565b6001600160a01b038116610bad576040805162461bcd60e51b815260206004820152601e60248201527f4163636f756e742063616e6e6f74206265207a65726f20616464726573730000604482015290519081900360640190fd5b803b80610c01576040805162461bcd60e51b815260206004820181905260248201527f4163636f756e7420636f64652073697a652063616e6e6f74206265207a65726f604482015290519081900360640190fd5b5050565b6000631f540500821115610c1b57631f54050091505b81610c2f5750670de0b6b3a7640000610ac8565b670de0b6b3a764000083835b6001811115610ca65760028106610c7057610c568283610db6565b9150610c6981600263ffffffff610ace16565b9050610ca1565b610c7a8284610db6565b9250610c868283610db6565b9150610c9e600261051a83600163ffffffff610b1016565b90505b610c3b565b610cb08284610db6565b9695505050505050565b60008183610d465760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610d0b578181015183820152602001610cf3565b50505050905090810190601f168015610d385780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b506000838581610d5257fe5b0495945050505050565b60008184841115610dae5760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610d0b578181015183820152602001610cf3565b505050900390565b600080610dc9848463ffffffff610a6c16565b9050610de9670de0b6b3a764000061051a836706f05b59d3b20000610df1565b949350505050565b600082820183811015610ac5576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fdfe4f776e61626c653a3a7365744f776e65723a20696e76616c696420616464726573734f6e6c79207468652066756e64696e672077616c6c65742063616e206465706f736974205a45524f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77436f6d6d756e69747949737375616e63653a2063616c6c6572206973206e6f74205350a2646970667358221220462af32e2126f560ce04aac98eded710257b57beb402261936cce76cb828702864736f6c634300060b0033", "linkReferences": {}, "deployedLinkReferences": {} } diff --git a/packages/lib-ethers/live/DSAuth.json b/packages/lib-ethers/live/DSAuth.json index 5235d6eea..5c77c803e 100644 --- a/packages/lib-ethers/live/DSAuth.json +++ b/packages/lib-ethers/live/DSAuth.json @@ -4,94 +4,91 @@ "sourceName": "contracts/TestContracts/DappSys/proxy.sol", "abi": [ { - "constant": false, + "inputs": [], + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "anonymous": false, "inputs": [ { - "name": "owner_", + "indexed": true, + "internalType": "address", + "name": "authority", "type": "address" } ], - "name": "setOwner", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" + "name": "LogSetAuthority", + "type": "event" }, { - "constant": false, + "anonymous": false, "inputs": [ { - "name": "authority_", + "indexed": true, + "internalType": "address", + "name": "owner", "type": "address" } ], - "name": "setAuthority", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" + "name": "LogSetOwner", + "type": "event" }, { - "constant": true, "inputs": [], - "name": "owner", + "name": "authority", "outputs": [ { + "internalType": "contract DSAuthority", "name": "", "type": "address" } ], - "payable": false, "stateMutability": "view", "type": "function" }, { - "constant": true, "inputs": [], - "name": "authority", + "name": "owner", "outputs": [ { + "internalType": "address", "name": "", "type": "address" } ], - "payable": false, "stateMutability": "view", "type": "function" }, { - "inputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, "inputs": [ { - "indexed": true, - "name": "authority", + "internalType": "contract DSAuthority", + "name": "authority_", "type": "address" } ], - "name": "LogSetAuthority", - "type": "event" + "name": "setAuthority", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" }, { - "anonymous": false, "inputs": [ { - "indexed": true, - "name": "owner", + "internalType": "address", + "name": "owner_", "type": "address" } ], - "name": "LogSetOwner", - "type": "event" + "name": "setOwner", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" } ], - "bytecode": "0x608060405234801561001057600080fd5b5060018054600160a060020a03191633600160a060020a03169081179091556040517fce241d7ca1f669fee44b6fc00b8eba2df3bb514eed0f6f668f8f89096e81ed9490600090a2610346806100676000396000f3006080604052600436106100615763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166313af403581146100665780637a9e5e4b146100895780638da5cb5b146100aa578063bf7e214f146100db575b600080fd5b34801561007257600080fd5b50610087600160a060020a03600435166100f0565b005b34801561009557600080fd5b50610087600160a060020a036004351661016e565b3480156100b657600080fd5b506100bf6101e8565b60408051600160a060020a039092168252519081900360200190f35b3480156100e757600080fd5b506100bf6101f7565b61010633600035600160e060020a031916610206565b151561011157600080fd5b6001805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0383811691909117918290556040519116907fce241d7ca1f669fee44b6fc00b8eba2df3bb514eed0f6f668f8f89096e81ed9490600090a250565b61018433600035600160e060020a031916610206565b151561018f57600080fd5b6000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03838116919091178083556040519116917f1abebea81bfa2637f28358c371278fb15ede7ea8dd28d2e03b112ff6d936ada491a250565b600154600160a060020a031681565b600054600160a060020a031681565b600030600160a060020a031683600160a060020a0316141561022a57506001610314565b600154600160a060020a038481169116141561024857506001610314565b600054600160a060020a0316151561026257506000610314565b60008054604080517fb7009613000000000000000000000000000000000000000000000000000000008152600160a060020a0387811660048301523081166024830152600160e060020a0319871660448301529151919092169263b700961392606480820193602093909283900390910190829087803b1580156102e557600080fd5b505af11580156102f9573d6000803e3d6000fd5b505050506040513d602081101561030f57600080fd5b505190505b929150505600a165627a7a72305820629c57c0a8a83cf6c42c7491fc9fc8015c08b658a1fe1afb5c14fd037e0ebc030029", - "deployedBytecode": "0x6080604052600436106100615763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166313af403581146100665780637a9e5e4b146100895780638da5cb5b146100aa578063bf7e214f146100db575b600080fd5b34801561007257600080fd5b50610087600160a060020a03600435166100f0565b005b34801561009557600080fd5b50610087600160a060020a036004351661016e565b3480156100b657600080fd5b506100bf6101e8565b60408051600160a060020a039092168252519081900360200190f35b3480156100e757600080fd5b506100bf6101f7565b61010633600035600160e060020a031916610206565b151561011157600080fd5b6001805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0383811691909117918290556040519116907fce241d7ca1f669fee44b6fc00b8eba2df3bb514eed0f6f668f8f89096e81ed9490600090a250565b61018433600035600160e060020a031916610206565b151561018f57600080fd5b6000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03838116919091178083556040519116917f1abebea81bfa2637f28358c371278fb15ede7ea8dd28d2e03b112ff6d936ada491a250565b600154600160a060020a031681565b600054600160a060020a031681565b600030600160a060020a031683600160a060020a0316141561022a57506001610314565b600154600160a060020a038481169116141561024857506001610314565b600054600160a060020a0316151561026257506000610314565b60008054604080517fb7009613000000000000000000000000000000000000000000000000000000008152600160a060020a0387811660048301523081166024830152600160e060020a0319871660448301529151919092169263b700961392606480820193602093909283900390910190829087803b1580156102e557600080fd5b505af11580156102f9573d6000803e3d6000fd5b505050506040513d602081101561030f57600080fd5b505190505b929150505600a165627a7a72305820629c57c0a8a83cf6c42c7491fc9fc8015c08b658a1fe1afb5c14fd037e0ebc030029", + "bytecode": "0x608060405234801561001057600080fd5b50600180546001600160a01b031916339081179091556040517fce241d7ca1f669fee44b6fc00b8eba2df3bb514eed0f6f668f8f89096e81ed9490600090a26102e28061005e6000396000f3fe608060405234801561001057600080fd5b506004361061004c5760003560e01c806313af4035146100515780637a9e5e4b146100795780638da5cb5b1461009f578063bf7e214f146100c3575b600080fd5b6100776004803603602081101561006757600080fd5b50356001600160a01b03166100cb565b005b6100776004803603602081101561008f57600080fd5b50356001600160a01b031661013a565b6100a76101a5565b604080516001600160a01b039092168252519081900360200190f35b6100a76101b4565b6100e1336000356001600160e01b0319166101c3565b6100ea57600080fd5b600180546001600160a01b0319166001600160a01b0383811691909117918290556040519116907fce241d7ca1f669fee44b6fc00b8eba2df3bb514eed0f6f668f8f89096e81ed9490600090a250565b610150336000356001600160e01b0319166101c3565b61015957600080fd5b600080546001600160a01b0319166001600160a01b03838116919091178083556040519116917f1abebea81bfa2637f28358c371278fb15ede7ea8dd28d2e03b112ff6d936ada491a250565b6001546001600160a01b031681565b6000546001600160a01b031681565b60006001600160a01b0383163014156101de575060016102a6565b6001546001600160a01b03848116911614156101fc575060016102a6565b6000546001600160a01b0316610214575060006102a6565b6000546040805163b700961360e01b81526001600160a01b0386811660048301523060248301526001600160e01b0319861660448301529151919092169163b7009613916064808301926020929190829003018186803b15801561027757600080fd5b505afa15801561028b573d6000803e3d6000fd5b505050506040513d60208110156102a157600080fd5b505190505b9291505056fea26469706673582212202e45fe2e69e5115659aeef5d32851127ea76483fb2686de9297e14920ae4420564736f6c634300060b0033", + "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061004c5760003560e01c806313af4035146100515780637a9e5e4b146100795780638da5cb5b1461009f578063bf7e214f146100c3575b600080fd5b6100776004803603602081101561006757600080fd5b50356001600160a01b03166100cb565b005b6100776004803603602081101561008f57600080fd5b50356001600160a01b031661013a565b6100a76101a5565b604080516001600160a01b039092168252519081900360200190f35b6100a76101b4565b6100e1336000356001600160e01b0319166101c3565b6100ea57600080fd5b600180546001600160a01b0319166001600160a01b0383811691909117918290556040519116907fce241d7ca1f669fee44b6fc00b8eba2df3bb514eed0f6f668f8f89096e81ed9490600090a250565b610150336000356001600160e01b0319166101c3565b61015957600080fd5b600080546001600160a01b0319166001600160a01b03838116919091178083556040519116917f1abebea81bfa2637f28358c371278fb15ede7ea8dd28d2e03b112ff6d936ada491a250565b6001546001600160a01b031681565b6000546001600160a01b031681565b60006001600160a01b0383163014156101de575060016102a6565b6001546001600160a01b03848116911614156101fc575060016102a6565b6000546001600160a01b0316610214575060006102a6565b6000546040805163b700961360e01b81526001600160a01b0386811660048301523060248301526001600160e01b0319861660448301529151919092169163b7009613916064808301926020929190829003018186803b15801561027757600080fd5b505afa15801561028b573d6000803e3d6000fd5b505050506040513d60208110156102a157600080fd5b505190505b9291505056fea26469706673582212202e45fe2e69e5115659aeef5d32851127ea76483fb2686de9297e14920ae4420564736f6c634300060b0033", "linkReferences": {}, "deployedLinkReferences": {} } diff --git a/packages/lib-ethers/live/DSAuthEvents.json b/packages/lib-ethers/live/DSAuthEvents.json index 0c05e7f64..a2321e514 100644 --- a/packages/lib-ethers/live/DSAuthEvents.json +++ b/packages/lib-ethers/live/DSAuthEvents.json @@ -8,6 +8,7 @@ "inputs": [ { "indexed": true, + "internalType": "address", "name": "authority", "type": "address" } @@ -20,6 +21,7 @@ "inputs": [ { "indexed": true, + "internalType": "address", "name": "owner", "type": "address" } @@ -28,8 +30,8 @@ "type": "event" } ], - "bytecode": "0x6080604052348015600f57600080fd5b50603580601d6000396000f3006080604052600080fd00a165627a7a7230582089d64a9e9aed7a2bb87a473b4831578b67172cab3769bad1264714a53eb3bcc70029", - "deployedBytecode": "0x6080604052600080fd00a165627a7a7230582089d64a9e9aed7a2bb87a473b4831578b67172cab3769bad1264714a53eb3bcc70029", + "bytecode": "0x6080604052348015600f57600080fd5b50603f80601d6000396000f3fe6080604052600080fdfea26469706673582212201bcbcfea21f5376846fc02e29c2d08349b6909a8e40896d9f39ced41f421a80d64736f6c634300060b0033", + "deployedBytecode": "0x6080604052600080fdfea26469706673582212201bcbcfea21f5376846fc02e29c2d08349b6909a8e40896d9f39ced41f421a80d64736f6c634300060b0033", "linkReferences": {}, "deployedLinkReferences": {} } diff --git a/packages/lib-ethers/live/DSAuthority.json b/packages/lib-ethers/live/DSAuthority.json index c751b195b..951a340b3 100644 --- a/packages/lib-ethers/live/DSAuthority.json +++ b/packages/lib-ethers/live/DSAuthority.json @@ -4,17 +4,19 @@ "sourceName": "contracts/TestContracts/DappSys/proxy.sol", "abi": [ { - "constant": true, "inputs": [ { + "internalType": "address", "name": "src", "type": "address" }, { + "internalType": "address", "name": "dst", "type": "address" }, { + "internalType": "bytes4", "name": "sig", "type": "bytes4" } @@ -22,11 +24,11 @@ "name": "canCall", "outputs": [ { + "internalType": "bool", "name": "", "type": "bool" } ], - "payable": false, "stateMutability": "view", "type": "function" } diff --git a/packages/lib-ethers/live/DSNote.json b/packages/lib-ethers/live/DSNote.json index b0af861a2..810a7c912 100644 --- a/packages/lib-ethers/live/DSNote.json +++ b/packages/lib-ethers/live/DSNote.json @@ -8,31 +8,37 @@ "inputs": [ { "indexed": true, + "internalType": "bytes4", "name": "sig", "type": "bytes4" }, { "indexed": true, + "internalType": "address", "name": "guy", "type": "address" }, { "indexed": true, + "internalType": "bytes32", "name": "foo", "type": "bytes32" }, { "indexed": true, + "internalType": "bytes32", "name": "bar", "type": "bytes32" }, { "indexed": false, + "internalType": "uint256", "name": "wad", "type": "uint256" }, { "indexed": false, + "internalType": "bytes", "name": "fax", "type": "bytes" } @@ -41,8 +47,8 @@ "type": "event" } ], - "bytecode": "0x6080604052348015600f57600080fd5b50603580601d6000396000f3006080604052600080fd00a165627a7a723058207fb38bf9ce3c33dbcea1cd38748dfdacd33f85c0c7a6db0998bc86c807759cbb0029", - "deployedBytecode": "0x6080604052600080fd00a165627a7a723058207fb38bf9ce3c33dbcea1cd38748dfdacd33f85c0c7a6db0998bc86c807759cbb0029", + "bytecode": "0x6080604052348015600f57600080fd5b50603f80601d6000396000f3fe6080604052600080fdfea264697066735822122037e90cb0746adeafedeea15224372230e8a18f8abb045d99f99681a7fe907d9864736f6c634300060b0033", + "deployedBytecode": "0x6080604052600080fdfea264697066735822122037e90cb0746adeafedeea15224372230e8a18f8abb045d99f99681a7fe907d9864736f6c634300060b0033", "linkReferences": {}, "deployedLinkReferences": {} } diff --git a/packages/lib-ethers/live/DSProxy.json b/packages/lib-ethers/live/DSProxy.json index 214fd9c57..a5e092001 100644 --- a/packages/lib-ethers/live/DSProxy.json +++ b/packages/lib-ethers/live/DSProxy.json @@ -4,224 +4,214 @@ "sourceName": "contracts/TestContracts/DappSys/proxy.sol", "abi": [ { - "constant": false, "inputs": [ { - "name": "owner_", + "internalType": "address", + "name": "_cacheAddr", "type": "address" } ], - "name": "setOwner", - "outputs": [], - "payable": false, "stateMutability": "nonpayable", - "type": "function" + "type": "constructor" }, { - "constant": false, + "anonymous": true, "inputs": [ { - "name": "_target", + "indexed": true, + "internalType": "bytes4", + "name": "sig", + "type": "bytes4" + }, + { + "indexed": true, + "internalType": "address", + "name": "guy", "type": "address" }, { - "name": "_data", + "indexed": true, + "internalType": "bytes32", + "name": "foo", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "bytes32", + "name": "bar", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "wad", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "bytes", + "name": "fax", "type": "bytes" } ], - "name": "execute", - "outputs": [ + "name": "LogNote", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ { - "name": "response", - "type": "bytes32" + "indexed": true, + "internalType": "address", + "name": "authority", + "type": "address" } ], - "payable": true, - "stateMutability": "payable", - "type": "function" + "name": "LogSetAuthority", + "type": "event" }, { - "constant": false, + "anonymous": false, "inputs": [ { - "name": "_code", - "type": "bytes" - }, - { - "name": "_data", - "type": "bytes" + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" } ], - "name": "execute", + "name": "LogSetOwner", + "type": "event" + }, + { + "stateMutability": "payable", + "type": "fallback" + }, + { + "inputs": [], + "name": "authority", "outputs": [ { - "name": "target", + "internalType": "contract DSAuthority", + "name": "", "type": "address" - }, - { - "name": "response", - "type": "bytes32" } ], - "payable": true, - "stateMutability": "payable", + "stateMutability": "view", "type": "function" }, { - "constant": true, "inputs": [], "name": "cache", "outputs": [ { + "internalType": "contract DSProxyCache", "name": "", "type": "address" } ], - "payable": false, "stateMutability": "view", "type": "function" }, { - "constant": false, "inputs": [ { - "name": "authority_", + "internalType": "address", + "name": "_target", "type": "address" + }, + { + "internalType": "bytes", + "name": "_data", + "type": "bytes" } ], - "name": "setAuthority", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "owner", + "name": "execute", "outputs": [ { - "name": "", - "type": "address" + "internalType": "bytes32", + "name": "response", + "type": "bytes32" } ], - "payable": false, - "stateMutability": "view", + "stateMutability": "payable", "type": "function" }, { - "constant": false, "inputs": [ { - "name": "_cacheAddr", - "type": "address" + "internalType": "bytes", + "name": "_code", + "type": "bytes" + }, + { + "internalType": "bytes", + "name": "_data", + "type": "bytes" } ], - "name": "setCache", + "name": "execute", "outputs": [ { - "name": "", - "type": "bool" + "internalType": "address", + "name": "target", + "type": "address" + }, + { + "internalType": "bytes32", + "name": "response", + "type": "bytes32" } ], - "payable": false, - "stateMutability": "nonpayable", + "stateMutability": "payable", "type": "function" }, { - "constant": true, "inputs": [], - "name": "authority", + "name": "owner", "outputs": [ { + "internalType": "address", "name": "", "type": "address" } ], - "payable": false, "stateMutability": "view", "type": "function" }, { "inputs": [ { - "name": "_cacheAddr", + "internalType": "contract DSAuthority", + "name": "authority_", "type": "address" } ], - "payable": false, + "name": "setAuthority", + "outputs": [], "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "payable": true, - "stateMutability": "payable", - "type": "fallback" - }, - { - "anonymous": true, - "inputs": [ - { - "indexed": true, - "name": "sig", - "type": "bytes4" - }, - { - "indexed": true, - "name": "guy", - "type": "address" - }, - { - "indexed": true, - "name": "foo", - "type": "bytes32" - }, - { - "indexed": true, - "name": "bar", - "type": "bytes32" - }, - { - "indexed": false, - "name": "wad", - "type": "uint256" - }, - { - "indexed": false, - "name": "fax", - "type": "bytes" - } - ], - "name": "LogNote", - "type": "event" + "type": "function" }, { - "anonymous": false, "inputs": [ { - "indexed": true, - "name": "authority", + "internalType": "address", + "name": "owner_", "type": "address" } ], - "name": "LogSetAuthority", - "type": "event" + "name": "setOwner", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" }, { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "name": "owner", - "type": "address" - } - ], - "name": "LogSetOwner", - "type": "event" + "stateMutability": "payable", + "type": "receive" } ], - "bytecode": "0x608060405234801561001057600080fd5b50604051602080610b37833981016040819052905160018054600160a060020a03191633600160a060020a031690811790915590917fce241d7ca1f669fee44b6fc00b8eba2df3bb514eed0f6f668f8f89096e81ed9490600090a261007d8164010000000061008e810204565b151561008857600080fd5b506102ac565b60006100c6337fffffffff00000000000000000000000000000000000000000000000000000000833516640100000000610180810204565b15156100d157600080fd5b6040805134808252602082018381523693830184905260043593602435938493869333600160a060020a031693600080357fffffffff0000000000000000000000000000000000000000000000000000000016949092606082018484808284376040519201829003965090945050505050a4600160a060020a038416151561015857600080fd5b60028054600160a060020a038616600160a060020a0319909116179055600192505050919050565b600030600160a060020a031683600160a060020a031614156101a4575060016102a6565b600154600160a060020a03848116911614156101c2575060016102a6565b600054600160a060020a031615156101dc575060006102a6565b60008054604080517fb7009613000000000000000000000000000000000000000000000000000000008152600160a060020a03878116600483015230811660248301527fffffffff00000000000000000000000000000000000000000000000000000000871660448301529151919092169263b700961392606480820193602093909283900390910190829087803b15801561027757600080fd5b505af115801561028b573d6000803e3d6000fd5b505050506040513d60208110156102a157600080fd5b505190505b92915050565b61087c806102bb6000396000f30060806040526004361061008d5763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166313af4035811461008f5780631cff79cd146100b05780631f6a1eb91461011c57806360c7d295146101c95780637a9e5e4b146101fa5780638da5cb5b1461021b578063948f507614610230578063bf7e214f14610265575b005b34801561009b57600080fd5b5061008d600160a060020a036004351661027a565b60408051602060046024803582810135601f810185900485028601850190965285855261010a958335600160a060020a03169536956044949193909101919081908401838280828437509497506102f89650505050505050565b60408051918252519081900360200190f35b6040805160206004803580820135601f81018490048402850184019095528484526101a694369492936024939284019190819084018382808284375050604080516020601f89358b018035918201839004830284018301909452808352979a9998810197919650918201945092508291508401838280828437509497506103be9650505050505050565b60408051600160a060020a03909316835260208301919091528051918290030190f35b3480156101d557600080fd5b506101de6105ce565b60408051600160a060020a039092168252519081900360200190f35b34801561020657600080fd5b5061008d600160a060020a03600435166105dd565b34801561022757600080fd5b506101de610657565b34801561023c57600080fd5b50610251600160a060020a0360043516610666565b604080519115158252519081900360200190f35b34801561027157600080fd5b506101de61072d565b61029033600035600160e060020a03191661073c565b151561029b57600080fd5b6001805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0383811691909117918290556040519116907fce241d7ca1f669fee44b6fc00b8eba2df3bb514eed0f6f668f8f89096e81ed9490600090a250565b600061031033600035600160e060020a03191661073c565b151561031b57600080fd5b6040805134808252602082018381523693830184905260043593602435938493869333600160a060020a03169360008035600160e060020a031916949092606082018484808284376040519201829003965090945050505050a4600160a060020a038516151561038a57600080fd5b60206000855160208701886113885a03f460005193508015600181146103af576103b4565b600080fd5b5050505092915050565b6002546040517f8bf4515c0000000000000000000000000000000000000000000000000000000081526020600482018181528551602484015285516000948594600160a060020a0390911693638bf4515c93899390928392604490910191908501908083838b5b8381101561043d578181015183820152602001610425565b50505050905090810190601f16801561046a5780820380516001836020036101000a031916815260200191505b5092505050602060405180830381600087803b15801561048957600080fd5b505af115801561049d573d6000803e3d6000fd5b505050506040513d60208110156104b357600080fd5b50519150600160a060020a03821615156105bb576002546040517f7ed0c3b2000000000000000000000000000000000000000000000000000000008152602060048201818152875160248401528751600160a060020a0390941693637ed0c3b293899383926044909201919085019080838360005b83811015610540578181015183820152602001610528565b50505050905090810190601f16801561056d5780820380516001836020036101000a031916815260200191505b5092505050602060405180830381600087803b15801561058c57600080fd5b505af11580156105a0573d6000803e3d6000fd5b505050506040513d60208110156105b657600080fd5b505191505b6105c582846102f8565b90509250929050565b600254600160a060020a031681565b6105f333600035600160e060020a03191661073c565b15156105fe57600080fd5b6000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03838116919091178083556040519116917f1abebea81bfa2637f28358c371278fb15ede7ea8dd28d2e03b112ff6d936ada491a250565b600154600160a060020a031681565b600061067e33600035600160e060020a03191661073c565b151561068957600080fd5b6040805134808252602082018381523693830184905260043593602435938493869333600160a060020a03169360008035600160e060020a031916949092606082018484808284376040519201829003965090945050505050a4600160a060020a03841615156106f857600080fd5b60028054600160a060020a03861673ffffffffffffffffffffffffffffffffffffffff19909116179055600192505050919050565b600054600160a060020a031681565b600030600160a060020a031683600160a060020a031614156107605750600161084a565b600154600160a060020a038481169116141561077e5750600161084a565b600054600160a060020a031615156107985750600061084a565b60008054604080517fb7009613000000000000000000000000000000000000000000000000000000008152600160a060020a0387811660048301523081166024830152600160e060020a0319871660448301529151919092169263b700961392606480820193602093909283900390910190829087803b15801561081b57600080fd5b505af115801561082f573d6000803e3d6000fd5b505050506040513d602081101561084557600080fd5b505190505b929150505600a165627a7a72305820f46591861bbf263394a937adb5e126b0cb45c44e38c5d4aa0b5eb9bc8096f7ba0029", - "deployedBytecode": "0x60806040526004361061008d5763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166313af4035811461008f5780631cff79cd146100b05780631f6a1eb91461011c57806360c7d295146101c95780637a9e5e4b146101fa5780638da5cb5b1461021b578063948f507614610230578063bf7e214f14610265575b005b34801561009b57600080fd5b5061008d600160a060020a036004351661027a565b60408051602060046024803582810135601f810185900485028601850190965285855261010a958335600160a060020a03169536956044949193909101919081908401838280828437509497506102f89650505050505050565b60408051918252519081900360200190f35b6040805160206004803580820135601f81018490048402850184019095528484526101a694369492936024939284019190819084018382808284375050604080516020601f89358b018035918201839004830284018301909452808352979a9998810197919650918201945092508291508401838280828437509497506103be9650505050505050565b60408051600160a060020a03909316835260208301919091528051918290030190f35b3480156101d557600080fd5b506101de6105ce565b60408051600160a060020a039092168252519081900360200190f35b34801561020657600080fd5b5061008d600160a060020a03600435166105dd565b34801561022757600080fd5b506101de610657565b34801561023c57600080fd5b50610251600160a060020a0360043516610666565b604080519115158252519081900360200190f35b34801561027157600080fd5b506101de61072d565b61029033600035600160e060020a03191661073c565b151561029b57600080fd5b6001805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0383811691909117918290556040519116907fce241d7ca1f669fee44b6fc00b8eba2df3bb514eed0f6f668f8f89096e81ed9490600090a250565b600061031033600035600160e060020a03191661073c565b151561031b57600080fd5b6040805134808252602082018381523693830184905260043593602435938493869333600160a060020a03169360008035600160e060020a031916949092606082018484808284376040519201829003965090945050505050a4600160a060020a038516151561038a57600080fd5b60206000855160208701886113885a03f460005193508015600181146103af576103b4565b600080fd5b5050505092915050565b6002546040517f8bf4515c0000000000000000000000000000000000000000000000000000000081526020600482018181528551602484015285516000948594600160a060020a0390911693638bf4515c93899390928392604490910191908501908083838b5b8381101561043d578181015183820152602001610425565b50505050905090810190601f16801561046a5780820380516001836020036101000a031916815260200191505b5092505050602060405180830381600087803b15801561048957600080fd5b505af115801561049d573d6000803e3d6000fd5b505050506040513d60208110156104b357600080fd5b50519150600160a060020a03821615156105bb576002546040517f7ed0c3b2000000000000000000000000000000000000000000000000000000008152602060048201818152875160248401528751600160a060020a0390941693637ed0c3b293899383926044909201919085019080838360005b83811015610540578181015183820152602001610528565b50505050905090810190601f16801561056d5780820380516001836020036101000a031916815260200191505b5092505050602060405180830381600087803b15801561058c57600080fd5b505af11580156105a0573d6000803e3d6000fd5b505050506040513d60208110156105b657600080fd5b505191505b6105c582846102f8565b90509250929050565b600254600160a060020a031681565b6105f333600035600160e060020a03191661073c565b15156105fe57600080fd5b6000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03838116919091178083556040519116917f1abebea81bfa2637f28358c371278fb15ede7ea8dd28d2e03b112ff6d936ada491a250565b600154600160a060020a031681565b600061067e33600035600160e060020a03191661073c565b151561068957600080fd5b6040805134808252602082018381523693830184905260043593602435938493869333600160a060020a03169360008035600160e060020a031916949092606082018484808284376040519201829003965090945050505050a4600160a060020a03841615156106f857600080fd5b60028054600160a060020a03861673ffffffffffffffffffffffffffffffffffffffff19909116179055600192505050919050565b600054600160a060020a031681565b600030600160a060020a031683600160a060020a031614156107605750600161084a565b600154600160a060020a038481169116141561077e5750600161084a565b600054600160a060020a031615156107985750600061084a565b60008054604080517fb7009613000000000000000000000000000000000000000000000000000000008152600160a060020a0387811660048301523081166024830152600160e060020a0319871660448301529151919092169263b700961392606480820193602093909283900390910190829087803b15801561081b57600080fd5b505af115801561082f573d6000803e3d6000fd5b505050506040513d602081101561084557600080fd5b505190505b929150505600a165627a7a72305820f46591861bbf263394a937adb5e126b0cb45c44e38c5d4aa0b5eb9bc8096f7ba0029", + "bytecode": "0x608060405234801561001057600080fd5b506040516109bb3803806109bb8339818101604052602081101561003357600080fd5b5051600180546001600160a01b031916339081179091556040517fce241d7ca1f669fee44b6fc00b8eba2df3bb514eed0f6f668f8f89096e81ed9490600090a2610085816001600160e01b0361009416565b61008e57600080fd5b50610242565b60006100b4336001600160e01b03198335166001600160e01b0361015916565b6100bd57600080fd5b604080513480825260208201838152369383018490526004359360243593849386933393600080356001600160e01b03191694909260608201848480828437600083820152604051601f909101601f1916909201829003965090945050505050a46001600160a01b03841661013157600080fd5b600280546001600160a01b0386166001600160a01b0319909116179055600192505050919050565b60006001600160a01b0383163014156101745750600161023c565b6001546001600160a01b03848116911614156101925750600161023c565b6000546001600160a01b03166101aa5750600061023c565b6000546040805163b700961360e01b81526001600160a01b0386811660048301523060248301526001600160e01b0319861660448301529151919092169163b7009613916064808301926020929190829003018186803b15801561020d57600080fd5b505afa158015610221573d6000803e3d6000fd5b505050506040513d602081101561023757600080fd5b505190505b92915050565b61076a806102516000396000f3fe6080604052600436106100645760003560e01c806313af40351461006d5780631cff79cd146100a05780631f6a1eb91461016657806360c7d295146102475780637a9e5e4b146102785780638da5cb5b146102ab578063bf7e214f146102c05761006b565b3661006b57005b005b34801561007957600080fd5b5061006b6004803603602081101561009057600080fd5b50356001600160a01b03166102d5565b610154600480360360408110156100b657600080fd5b6001600160a01b038235169190810190604081016020820135600160201b8111156100e057600080fd5b8201836020820111156100f257600080fd5b803590602001918460018302840111600160201b8311171561011357600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610344945050505050565b60408051918252519081900360200190f35b6102246004803603604081101561017c57600080fd5b810190602081018135600160201b81111561019657600080fd5b8201836020820111156101a857600080fd5b803590602001918460018302840111600160201b831117156101c957600080fd5b919390929091602081019035600160201b8111156101e657600080fd5b8201836020820111156101f857600080fd5b803590602001918460018302840111600160201b8311171561021957600080fd5b50909250905061040d565b604080516001600160a01b03909316835260208301919091528051918290030190f35b34801561025357600080fd5b5061025c6105b3565b604080516001600160a01b039092168252519081900360200190f35b34801561028457600080fd5b5061006b6004803603602081101561029b57600080fd5b50356001600160a01b03166105c2565b3480156102b757600080fd5b5061025c61062d565b3480156102cc57600080fd5b5061025c61063c565b6102eb336000356001600160e01b03191661064b565b6102f457600080fd5b600180546001600160a01b0319166001600160a01b0383811691909117918290556040519116907fce241d7ca1f669fee44b6fc00b8eba2df3bb514eed0f6f668f8f89096e81ed9490600090a250565b600061035c336000356001600160e01b03191661064b565b61036557600080fd5b604080513480825260208201838152369383018490526004359360243593849386933393600080356001600160e01b03191694909260608201848480828437600083820152604051601f909101601f1916909201829003965090945050505050a46001600160a01b0385166103d957600080fd5b60206000855160208701886113885a03f460005193508015600181146103fe57610403565b600080fd5b5050505092915050565b6002546040516322fd145760e21b81526020600482019081526024820186905260009283926001600160a01b0390911691638bf4515c91899189918190604401848480828437600083820152604051601f909101601f191690920195506020945090925050508083038186803b15801561048657600080fd5b505afa15801561049a573d6000803e3d6000fd5b505050506040513d60208110156104b057600080fd5b505191506001600160a01b03821661056857600254604051633f6861d960e11b8152602060048201908152602482018890526001600160a01b0390921691637ed0c3b291899189918190604401848480828437600081840152601f19601f8201169050808301925050509350505050602060405180830381600087803b15801561053957600080fd5b505af115801561054d573d6000803e3d6000fd5b505050506040513d602081101561056357600080fd5b505191505b6105a88285858080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061034492505050565b905094509492505050565b6002546001600160a01b031681565b6105d8336000356001600160e01b03191661064b565b6105e157600080fd5b600080546001600160a01b0319166001600160a01b03838116919091178083556040519116917f1abebea81bfa2637f28358c371278fb15ede7ea8dd28d2e03b112ff6d936ada491a250565b6001546001600160a01b031681565b6000546001600160a01b031681565b60006001600160a01b0383163014156106665750600161072e565b6001546001600160a01b03848116911614156106845750600161072e565b6000546001600160a01b031661069c5750600061072e565b6000546040805163b700961360e01b81526001600160a01b0386811660048301523060248301526001600160e01b0319861660448301529151919092169163b7009613916064808301926020929190829003018186803b1580156106ff57600080fd5b505afa158015610713573d6000803e3d6000fd5b505050506040513d602081101561072957600080fd5b505190505b9291505056fea26469706673582212207a85fff21b4bf5a2e5057cd4c30eb4525868f2dd0be66af28789fd97fc78ca4364736f6c634300060b0033", + "deployedBytecode": "0x6080604052600436106100645760003560e01c806313af40351461006d5780631cff79cd146100a05780631f6a1eb91461016657806360c7d295146102475780637a9e5e4b146102785780638da5cb5b146102ab578063bf7e214f146102c05761006b565b3661006b57005b005b34801561007957600080fd5b5061006b6004803603602081101561009057600080fd5b50356001600160a01b03166102d5565b610154600480360360408110156100b657600080fd5b6001600160a01b038235169190810190604081016020820135600160201b8111156100e057600080fd5b8201836020820111156100f257600080fd5b803590602001918460018302840111600160201b8311171561011357600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610344945050505050565b60408051918252519081900360200190f35b6102246004803603604081101561017c57600080fd5b810190602081018135600160201b81111561019657600080fd5b8201836020820111156101a857600080fd5b803590602001918460018302840111600160201b831117156101c957600080fd5b919390929091602081019035600160201b8111156101e657600080fd5b8201836020820111156101f857600080fd5b803590602001918460018302840111600160201b8311171561021957600080fd5b50909250905061040d565b604080516001600160a01b03909316835260208301919091528051918290030190f35b34801561025357600080fd5b5061025c6105b3565b604080516001600160a01b039092168252519081900360200190f35b34801561028457600080fd5b5061006b6004803603602081101561029b57600080fd5b50356001600160a01b03166105c2565b3480156102b757600080fd5b5061025c61062d565b3480156102cc57600080fd5b5061025c61063c565b6102eb336000356001600160e01b03191661064b565b6102f457600080fd5b600180546001600160a01b0319166001600160a01b0383811691909117918290556040519116907fce241d7ca1f669fee44b6fc00b8eba2df3bb514eed0f6f668f8f89096e81ed9490600090a250565b600061035c336000356001600160e01b03191661064b565b61036557600080fd5b604080513480825260208201838152369383018490526004359360243593849386933393600080356001600160e01b03191694909260608201848480828437600083820152604051601f909101601f1916909201829003965090945050505050a46001600160a01b0385166103d957600080fd5b60206000855160208701886113885a03f460005193508015600181146103fe57610403565b600080fd5b5050505092915050565b6002546040516322fd145760e21b81526020600482019081526024820186905260009283926001600160a01b0390911691638bf4515c91899189918190604401848480828437600083820152604051601f909101601f191690920195506020945090925050508083038186803b15801561048657600080fd5b505afa15801561049a573d6000803e3d6000fd5b505050506040513d60208110156104b057600080fd5b505191506001600160a01b03821661056857600254604051633f6861d960e11b8152602060048201908152602482018890526001600160a01b0390921691637ed0c3b291899189918190604401848480828437600081840152601f19601f8201169050808301925050509350505050602060405180830381600087803b15801561053957600080fd5b505af115801561054d573d6000803e3d6000fd5b505050506040513d602081101561056357600080fd5b505191505b6105a88285858080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061034492505050565b905094509492505050565b6002546001600160a01b031681565b6105d8336000356001600160e01b03191661064b565b6105e157600080fd5b600080546001600160a01b0319166001600160a01b03838116919091178083556040519116917f1abebea81bfa2637f28358c371278fb15ede7ea8dd28d2e03b112ff6d936ada491a250565b6001546001600160a01b031681565b6000546001600160a01b031681565b60006001600160a01b0383163014156106665750600161072e565b6001546001600160a01b03848116911614156106845750600161072e565b6000546001600160a01b031661069c5750600061072e565b6000546040805163b700961360e01b81526001600160a01b0386811660048301523060248301526001600160e01b0319861660448301529151919092169163b7009613916064808301926020929190829003018186803b1580156106ff57600080fd5b505afa158015610713573d6000803e3d6000fd5b505050506040513d602081101561072957600080fd5b505190505b9291505056fea26469706673582212207a85fff21b4bf5a2e5057cd4c30eb4525868f2dd0be66af28789fd97fc78ca4364736f6c634300060b0033", "linkReferences": {}, "deployedLinkReferences": {} } diff --git a/packages/lib-ethers/live/DSProxyCache.json b/packages/lib-ethers/live/DSProxyCache.json index 3d053e591..7692679f0 100644 --- a/packages/lib-ethers/live/DSProxyCache.json +++ b/packages/lib-ethers/live/DSProxyCache.json @@ -4,46 +4,46 @@ "sourceName": "contracts/TestContracts/DappSys/proxy.sol", "abi": [ { - "constant": false, "inputs": [ { + "internalType": "bytes", "name": "_code", "type": "bytes" } ], - "name": "write", + "name": "read", "outputs": [ { - "name": "target", + "internalType": "address", + "name": "", "type": "address" } ], - "payable": false, - "stateMutability": "nonpayable", + "stateMutability": "view", "type": "function" }, { - "constant": true, "inputs": [ { + "internalType": "bytes", "name": "_code", "type": "bytes" } ], - "name": "read", + "name": "write", "outputs": [ { - "name": "", + "internalType": "address", + "name": "target", "type": "address" } ], - "payable": false, - "stateMutability": "view", + "stateMutability": "nonpayable", "type": "function" } ], - "bytecode": "0x608060405234801561001057600080fd5b5061029c806100206000396000f30060806040526004361061004b5763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416637ed0c3b281146100505780638bf4515c146100d2575b600080fd5b34801561005c57600080fd5b506040805160206004803580820135601f81018490048402850184019095528484526100a994369492936024939284019190819084018382808284375094975061012b9650505050505050565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b3480156100de57600080fd5b506040805160206004803580820135601f81018490048402850184019095528484526100a99436949293602493928401919081908401838280828437509497506101e79650505050505050565b6000808251602084016000f09150813b156001811461004b5750826040518082805190602001908083835b602083106101755780518252601f199092019160209182019101610156565b51815160209384036101000a6000190180199092169116179052604080519290940182900390912060009081529081905291909120805473ffffffffffffffffffffffffffffffffffffffff191673ffffffffffffffffffffffffffffffffffffffff87161790555092949350505050565b600080826040518082805190602001908083835b6020831061021a5780518252601f1990920191602091820191016101fb565b51815160209384036101000a60001901801990921691161790526040805192909401829003909120600090815290819052919091205473ffffffffffffffffffffffffffffffffffffffff1696955050505050505600a165627a7a72305820cca688437ea0f5a5c06951982121f0528d0f9ad7fb1f4498cf419aeda2932a420029", - "deployedBytecode": "0x60806040526004361061004b5763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416637ed0c3b281146100505780638bf4515c146100d2575b600080fd5b34801561005c57600080fd5b506040805160206004803580820135601f81018490048402850184019095528484526100a994369492936024939284019190819084018382808284375094975061012b9650505050505050565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b3480156100de57600080fd5b506040805160206004803580820135601f81018490048402850184019095528484526100a99436949293602493928401919081908401838280828437509497506101e79650505050505050565b6000808251602084016000f09150813b156001811461004b5750826040518082805190602001908083835b602083106101755780518252601f199092019160209182019101610156565b51815160209384036101000a6000190180199092169116179052604080519290940182900390912060009081529081905291909120805473ffffffffffffffffffffffffffffffffffffffff191673ffffffffffffffffffffffffffffffffffffffff87161790555092949350505050565b600080826040518082805190602001908083835b6020831061021a5780518252601f1990920191602091820191016101fb565b51815160209384036101000a60001901801990921691161790526040805192909401829003909120600090815290819052919091205473ffffffffffffffffffffffffffffffffffffffff1696955050505050505600a165627a7a72305820cca688437ea0f5a5c06951982121f0528d0f9ad7fb1f4498cf419aeda2932a420029", + "bytecode": "0x608060405234801561001057600080fd5b5061022a806100206000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c80637ed0c3b21461003b5780638bf4515c146100fb575b600080fd5b6100df6004803603602081101561005157600080fd5b810190602081018135600160201b81111561006b57600080fd5b82018360208201111561007d57600080fd5b803590602001918460018302840111600160201b8311171561009e57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610169945050505050565b604080516001600160a01b039092168252519081900360200190f35b6100df6004803603602081101561011157600080fd5b810190602081018135600160201b81111561012b57600080fd5b82018360208201111561013d57600080fd5b803590602001918460018302840111600160201b8311171561015e57600080fd5b5090925090506101b4565b60008151602083016000f09050803b156001811461003657508151602092830120600090815291829052604090912080546001600160a01b0319166001600160a01b03831617905590565b600080838360405180838380828437604080519190930181900390206000908152602081905291909120546001600160a01b03169897505050505050505056fea26469706673582212203574b1780a951f8f8993b7060d76584a85292c4d29ea4e54f041a1c3c9402ca864736f6c634300060b0033", + "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100365760003560e01c80637ed0c3b21461003b5780638bf4515c146100fb575b600080fd5b6100df6004803603602081101561005157600080fd5b810190602081018135600160201b81111561006b57600080fd5b82018360208201111561007d57600080fd5b803590602001918460018302840111600160201b8311171561009e57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610169945050505050565b604080516001600160a01b039092168252519081900360200190f35b6100df6004803603602081101561011157600080fd5b810190602081018135600160201b81111561012b57600080fd5b82018360208201111561013d57600080fd5b803590602001918460018302840111600160201b8311171561015e57600080fd5b5090925090506101b4565b60008151602083016000f09050803b156001811461003657508151602092830120600090815291829052604090912080546001600160a01b0319166001600160a01b03831617905590565b600080838360405180838380828437604080519190930181900390206000908152602081905291909120546001600160a01b03169897505050505050505056fea26469706673582212203574b1780a951f8f8993b7060d76584a85292c4d29ea4e54f041a1c3c9402ca864736f6c634300060b0033", "linkReferences": {}, "deployedLinkReferences": {} } diff --git a/packages/lib-ethers/live/DSProxyFactory.json b/packages/lib-ethers/live/DSProxyFactory.json index 56975ab1b..3697ebe6c 100644 --- a/packages/lib-ethers/live/DSProxyFactory.json +++ b/packages/lib-ethers/live/DSProxyFactory.json @@ -4,56 +4,53 @@ "sourceName": "contracts/TestContracts/DappSys/proxy.sol", "abi": [ { - "constant": true, + "anonymous": false, "inputs": [ { - "name": "", + "indexed": true, + "internalType": "address", + "name": "sender", "type": "address" - } - ], - "name": "isProxy", - "outputs": [ + }, { - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "cache", - "outputs": [ + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, { - "name": "", + "indexed": false, + "internalType": "address", + "name": "proxy", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "cache", "type": "address" } ], - "payable": false, - "stateMutability": "view", - "type": "function" + "name": "Created", + "type": "event" }, { - "constant": false, "inputs": [], "name": "build", "outputs": [ { + "internalType": "contract DSProxy", "name": "proxy", "type": "address" } ], - "payable": false, "stateMutability": "nonpayable", "type": "function" }, { - "constant": false, "inputs": [ { + "internalType": "address", "name": "owner", "type": "address" } @@ -61,44 +58,49 @@ "name": "build", "outputs": [ { + "internalType": "contract DSProxy", "name": "proxy", "type": "address" } ], - "payable": false, "stateMutability": "nonpayable", "type": "function" }, { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "name": "sender", - "type": "address" - }, + "inputs": [], + "name": "cache", + "outputs": [ { - "indexed": true, - "name": "owner", + "internalType": "contract DSProxyCache", + "name": "", "type": "address" - }, + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ { - "indexed": false, - "name": "proxy", + "internalType": "address", + "name": "", "type": "address" - }, + } + ], + "name": "isProxy", + "outputs": [ { - "indexed": false, - "name": "cache", - "type": "address" + "internalType": "bool", + "name": "", + "type": "bool" } ], - "name": "Created", - "type": "event" + "stateMutability": "view", + "type": "function" } ], - "bytecode": "0x608060405261000c61005b565b604051809103906000f080158015610028573d6000803e3d6000fd5b5060018054600160a060020a031916600160a060020a039290921691909117905534801561005557600080fd5b5061006b565b6040516102bc80610e3f83390190565b610dc58061007a6000396000f3006080604052600436106100485763ffffffff60e060020a60003504166329710388811461004d57806360c7d295146100825780638e1a55fc146100b3578063f3701da2146100c8575b600080fd5b34801561005957600080fd5b5061006e600160a060020a03600435166100e9565b604080519115158252519081900360200190f35b34801561008e57600080fd5b506100976100fe565b60408051600160a060020a039092168252519081900360200190f35b3480156100bf57600080fd5b5061009761010d565b3480156100d457600080fd5b50610097600160a060020a036004351661011d565b60006020819052908152604090205460ff1681565b600154600160a060020a031681565b60006101183361011d565b905090565b600154600090600160a060020a0316610134610252565b600160a060020a03909116815260405190819003602001906000f080158015610161573d6000803e3d6000fd5b5060015460408051600160a060020a038085168252928316602082015281519394508286169333909316927f259b30ca39885c6d801a0b5dbc988640f3c25e2f37531fe138c5c5af8955d41b929181900390910190a380600160a060020a03166313af4035836040518263ffffffff1660e060020a0281526004018082600160a060020a0316600160a060020a03168152602001915050600060405180830381600087803b15801561021257600080fd5b505af1158015610226573d6000803e3d6000fd5b505050600160a060020a0382166000908152602081905260409020805460ff1916600117905550919050565b604051610b3780610263833901905600608060405234801561001057600080fd5b50604051602080610b37833981016040819052905160018054600160a060020a03191633600160a060020a031690811790915590917fce241d7ca1f669fee44b6fc00b8eba2df3bb514eed0f6f668f8f89096e81ed9490600090a261007d8164010000000061008e810204565b151561008857600080fd5b506102ac565b60006100c6337fffffffff00000000000000000000000000000000000000000000000000000000833516640100000000610180810204565b15156100d157600080fd5b6040805134808252602082018381523693830184905260043593602435938493869333600160a060020a031693600080357fffffffff0000000000000000000000000000000000000000000000000000000016949092606082018484808284376040519201829003965090945050505050a4600160a060020a038416151561015857600080fd5b60028054600160a060020a038616600160a060020a0319909116179055600192505050919050565b600030600160a060020a031683600160a060020a031614156101a4575060016102a6565b600154600160a060020a03848116911614156101c2575060016102a6565b600054600160a060020a031615156101dc575060006102a6565b60008054604080517fb7009613000000000000000000000000000000000000000000000000000000008152600160a060020a03878116600483015230811660248301527fffffffff00000000000000000000000000000000000000000000000000000000871660448301529151919092169263b700961392606480820193602093909283900390910190829087803b15801561027757600080fd5b505af115801561028b573d6000803e3d6000fd5b505050506040513d60208110156102a157600080fd5b505190505b92915050565b61087c806102bb6000396000f30060806040526004361061008d5763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166313af4035811461008f5780631cff79cd146100b05780631f6a1eb91461011c57806360c7d295146101c95780637a9e5e4b146101fa5780638da5cb5b1461021b578063948f507614610230578063bf7e214f14610265575b005b34801561009b57600080fd5b5061008d600160a060020a036004351661027a565b60408051602060046024803582810135601f810185900485028601850190965285855261010a958335600160a060020a03169536956044949193909101919081908401838280828437509497506102f89650505050505050565b60408051918252519081900360200190f35b6040805160206004803580820135601f81018490048402850184019095528484526101a694369492936024939284019190819084018382808284375050604080516020601f89358b018035918201839004830284018301909452808352979a9998810197919650918201945092508291508401838280828437509497506103be9650505050505050565b60408051600160a060020a03909316835260208301919091528051918290030190f35b3480156101d557600080fd5b506101de6105ce565b60408051600160a060020a039092168252519081900360200190f35b34801561020657600080fd5b5061008d600160a060020a03600435166105dd565b34801561022757600080fd5b506101de610657565b34801561023c57600080fd5b50610251600160a060020a0360043516610666565b604080519115158252519081900360200190f35b34801561027157600080fd5b506101de61072d565b61029033600035600160e060020a03191661073c565b151561029b57600080fd5b6001805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0383811691909117918290556040519116907fce241d7ca1f669fee44b6fc00b8eba2df3bb514eed0f6f668f8f89096e81ed9490600090a250565b600061031033600035600160e060020a03191661073c565b151561031b57600080fd5b6040805134808252602082018381523693830184905260043593602435938493869333600160a060020a03169360008035600160e060020a031916949092606082018484808284376040519201829003965090945050505050a4600160a060020a038516151561038a57600080fd5b60206000855160208701886113885a03f460005193508015600181146103af576103b4565b600080fd5b5050505092915050565b6002546040517f8bf4515c0000000000000000000000000000000000000000000000000000000081526020600482018181528551602484015285516000948594600160a060020a0390911693638bf4515c93899390928392604490910191908501908083838b5b8381101561043d578181015183820152602001610425565b50505050905090810190601f16801561046a5780820380516001836020036101000a031916815260200191505b5092505050602060405180830381600087803b15801561048957600080fd5b505af115801561049d573d6000803e3d6000fd5b505050506040513d60208110156104b357600080fd5b50519150600160a060020a03821615156105bb576002546040517f7ed0c3b2000000000000000000000000000000000000000000000000000000008152602060048201818152875160248401528751600160a060020a0390941693637ed0c3b293899383926044909201919085019080838360005b83811015610540578181015183820152602001610528565b50505050905090810190601f16801561056d5780820380516001836020036101000a031916815260200191505b5092505050602060405180830381600087803b15801561058c57600080fd5b505af11580156105a0573d6000803e3d6000fd5b505050506040513d60208110156105b657600080fd5b505191505b6105c582846102f8565b90509250929050565b600254600160a060020a031681565b6105f333600035600160e060020a03191661073c565b15156105fe57600080fd5b6000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03838116919091178083556040519116917f1abebea81bfa2637f28358c371278fb15ede7ea8dd28d2e03b112ff6d936ada491a250565b600154600160a060020a031681565b600061067e33600035600160e060020a03191661073c565b151561068957600080fd5b6040805134808252602082018381523693830184905260043593602435938493869333600160a060020a03169360008035600160e060020a031916949092606082018484808284376040519201829003965090945050505050a4600160a060020a03841615156106f857600080fd5b60028054600160a060020a03861673ffffffffffffffffffffffffffffffffffffffff19909116179055600192505050919050565b600054600160a060020a031681565b600030600160a060020a031683600160a060020a031614156107605750600161084a565b600154600160a060020a038481169116141561077e5750600161084a565b600054600160a060020a031615156107985750600061084a565b60008054604080517fb7009613000000000000000000000000000000000000000000000000000000008152600160a060020a0387811660048301523081166024830152600160e060020a0319871660448301529151919092169263b700961392606480820193602093909283900390910190829087803b15801561081b57600080fd5b505af115801561082f573d6000803e3d6000fd5b505050506040513d602081101561084557600080fd5b505190505b929150505600a165627a7a72305820f46591861bbf263394a937adb5e126b0cb45c44e38c5d4aa0b5eb9bc8096f7ba0029a165627a7a723058204019c12d694d5d6be0cb6a95f9598520dd3d5fcd8accaf82053da0e2f07764b90029608060405234801561001057600080fd5b5061029c806100206000396000f30060806040526004361061004b5763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416637ed0c3b281146100505780638bf4515c146100d2575b600080fd5b34801561005c57600080fd5b506040805160206004803580820135601f81018490048402850184019095528484526100a994369492936024939284019190819084018382808284375094975061012b9650505050505050565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b3480156100de57600080fd5b506040805160206004803580820135601f81018490048402850184019095528484526100a99436949293602493928401919081908401838280828437509497506101e79650505050505050565b6000808251602084016000f09150813b156001811461004b5750826040518082805190602001908083835b602083106101755780518252601f199092019160209182019101610156565b51815160209384036101000a6000190180199092169116179052604080519290940182900390912060009081529081905291909120805473ffffffffffffffffffffffffffffffffffffffff191673ffffffffffffffffffffffffffffffffffffffff87161790555092949350505050565b600080826040518082805190602001908083835b6020831061021a5780518252601f1990920191602091820191016101fb565b51815160209384036101000a60001901801990921691161790526040805192909401829003909120600090815290819052919091205473ffffffffffffffffffffffffffffffffffffffff1696955050505050505600a165627a7a72305820cca688437ea0f5a5c06951982121f0528d0f9ad7fb1f4498cf419aeda2932a420029", - "deployedBytecode": "0x6080604052600436106100485763ffffffff60e060020a60003504166329710388811461004d57806360c7d295146100825780638e1a55fc146100b3578063f3701da2146100c8575b600080fd5b34801561005957600080fd5b5061006e600160a060020a03600435166100e9565b604080519115158252519081900360200190f35b34801561008e57600080fd5b506100976100fe565b60408051600160a060020a039092168252519081900360200190f35b3480156100bf57600080fd5b5061009761010d565b3480156100d457600080fd5b50610097600160a060020a036004351661011d565b60006020819052908152604090205460ff1681565b600154600160a060020a031681565b60006101183361011d565b905090565b600154600090600160a060020a0316610134610252565b600160a060020a03909116815260405190819003602001906000f080158015610161573d6000803e3d6000fd5b5060015460408051600160a060020a038085168252928316602082015281519394508286169333909316927f259b30ca39885c6d801a0b5dbc988640f3c25e2f37531fe138c5c5af8955d41b929181900390910190a380600160a060020a03166313af4035836040518263ffffffff1660e060020a0281526004018082600160a060020a0316600160a060020a03168152602001915050600060405180830381600087803b15801561021257600080fd5b505af1158015610226573d6000803e3d6000fd5b505050600160a060020a0382166000908152602081905260409020805460ff1916600117905550919050565b604051610b3780610263833901905600608060405234801561001057600080fd5b50604051602080610b37833981016040819052905160018054600160a060020a03191633600160a060020a031690811790915590917fce241d7ca1f669fee44b6fc00b8eba2df3bb514eed0f6f668f8f89096e81ed9490600090a261007d8164010000000061008e810204565b151561008857600080fd5b506102ac565b60006100c6337fffffffff00000000000000000000000000000000000000000000000000000000833516640100000000610180810204565b15156100d157600080fd5b6040805134808252602082018381523693830184905260043593602435938493869333600160a060020a031693600080357fffffffff0000000000000000000000000000000000000000000000000000000016949092606082018484808284376040519201829003965090945050505050a4600160a060020a038416151561015857600080fd5b60028054600160a060020a038616600160a060020a0319909116179055600192505050919050565b600030600160a060020a031683600160a060020a031614156101a4575060016102a6565b600154600160a060020a03848116911614156101c2575060016102a6565b600054600160a060020a031615156101dc575060006102a6565b60008054604080517fb7009613000000000000000000000000000000000000000000000000000000008152600160a060020a03878116600483015230811660248301527fffffffff00000000000000000000000000000000000000000000000000000000871660448301529151919092169263b700961392606480820193602093909283900390910190829087803b15801561027757600080fd5b505af115801561028b573d6000803e3d6000fd5b505050506040513d60208110156102a157600080fd5b505190505b92915050565b61087c806102bb6000396000f30060806040526004361061008d5763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166313af4035811461008f5780631cff79cd146100b05780631f6a1eb91461011c57806360c7d295146101c95780637a9e5e4b146101fa5780638da5cb5b1461021b578063948f507614610230578063bf7e214f14610265575b005b34801561009b57600080fd5b5061008d600160a060020a036004351661027a565b60408051602060046024803582810135601f810185900485028601850190965285855261010a958335600160a060020a03169536956044949193909101919081908401838280828437509497506102f89650505050505050565b60408051918252519081900360200190f35b6040805160206004803580820135601f81018490048402850184019095528484526101a694369492936024939284019190819084018382808284375050604080516020601f89358b018035918201839004830284018301909452808352979a9998810197919650918201945092508291508401838280828437509497506103be9650505050505050565b60408051600160a060020a03909316835260208301919091528051918290030190f35b3480156101d557600080fd5b506101de6105ce565b60408051600160a060020a039092168252519081900360200190f35b34801561020657600080fd5b5061008d600160a060020a03600435166105dd565b34801561022757600080fd5b506101de610657565b34801561023c57600080fd5b50610251600160a060020a0360043516610666565b604080519115158252519081900360200190f35b34801561027157600080fd5b506101de61072d565b61029033600035600160e060020a03191661073c565b151561029b57600080fd5b6001805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0383811691909117918290556040519116907fce241d7ca1f669fee44b6fc00b8eba2df3bb514eed0f6f668f8f89096e81ed9490600090a250565b600061031033600035600160e060020a03191661073c565b151561031b57600080fd5b6040805134808252602082018381523693830184905260043593602435938493869333600160a060020a03169360008035600160e060020a031916949092606082018484808284376040519201829003965090945050505050a4600160a060020a038516151561038a57600080fd5b60206000855160208701886113885a03f460005193508015600181146103af576103b4565b600080fd5b5050505092915050565b6002546040517f8bf4515c0000000000000000000000000000000000000000000000000000000081526020600482018181528551602484015285516000948594600160a060020a0390911693638bf4515c93899390928392604490910191908501908083838b5b8381101561043d578181015183820152602001610425565b50505050905090810190601f16801561046a5780820380516001836020036101000a031916815260200191505b5092505050602060405180830381600087803b15801561048957600080fd5b505af115801561049d573d6000803e3d6000fd5b505050506040513d60208110156104b357600080fd5b50519150600160a060020a03821615156105bb576002546040517f7ed0c3b2000000000000000000000000000000000000000000000000000000008152602060048201818152875160248401528751600160a060020a0390941693637ed0c3b293899383926044909201919085019080838360005b83811015610540578181015183820152602001610528565b50505050905090810190601f16801561056d5780820380516001836020036101000a031916815260200191505b5092505050602060405180830381600087803b15801561058c57600080fd5b505af11580156105a0573d6000803e3d6000fd5b505050506040513d60208110156105b657600080fd5b505191505b6105c582846102f8565b90509250929050565b600254600160a060020a031681565b6105f333600035600160e060020a03191661073c565b15156105fe57600080fd5b6000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03838116919091178083556040519116917f1abebea81bfa2637f28358c371278fb15ede7ea8dd28d2e03b112ff6d936ada491a250565b600154600160a060020a031681565b600061067e33600035600160e060020a03191661073c565b151561068957600080fd5b6040805134808252602082018381523693830184905260043593602435938493869333600160a060020a03169360008035600160e060020a031916949092606082018484808284376040519201829003965090945050505050a4600160a060020a03841615156106f857600080fd5b60028054600160a060020a03861673ffffffffffffffffffffffffffffffffffffffff19909116179055600192505050919050565b600054600160a060020a031681565b600030600160a060020a031683600160a060020a031614156107605750600161084a565b600154600160a060020a038481169116141561077e5750600161084a565b600054600160a060020a031615156107985750600061084a565b60008054604080517fb7009613000000000000000000000000000000000000000000000000000000008152600160a060020a0387811660048301523081166024830152600160e060020a0319871660448301529151919092169263b700961392606480820193602093909283900390910190829087803b15801561081b57600080fd5b505af115801561082f573d6000803e3d6000fd5b505050506040513d602081101561084557600080fd5b505190505b929150505600a165627a7a72305820f46591861bbf263394a937adb5e126b0cb45c44e38c5d4aa0b5eb9bc8096f7ba0029a165627a7a723058204019c12d694d5d6be0cb6a95f9598520dd3d5fcd8accaf82053da0e2f07764b90029", + "bytecode": "0x60806040526040516100109061005f565b604051809103906000f08015801561002c573d6000803e3d6000fd5b50600180546001600160a01b0319166001600160a01b039290921691909117905534801561005957600080fd5b5061006c565b61024a80610cbc83390190565b610c418061007b6000396000f3fe608060405234801561001057600080fd5b506004361061004c5760003560e01c8063297103881461005157806360c7d2951461008b5780638e1a55fc146100af578063f3701da2146100b7575b600080fd5b6100776004803603602081101561006757600080fd5b50356001600160a01b03166100dd565b604080519115158252519081900360200190f35b6100936100f2565b604080516001600160a01b039092168252519081900360200190f35b610093610101565b610093600480360360208110156100cd57600080fd5b50356001600160a01b0316610111565b60006020819052908152604090205460ff1681565b6001546001600160a01b031681565b600061010c33610111565b905090565b6001546040516000916001600160a01b03169061012d90610243565b6001600160a01b03909116815260405190819003602001906000f08015801561015a573d6000803e3d6000fd5b50600154604080516001600160a01b038085168252928316602082015281519394509185169233927f259b30ca39885c6d801a0b5dbc988640f3c25e2f37531fe138c5c5af8955d41b92908290030190a3806001600160a01b03166313af4035836040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b03168152602001915050600060405180830381600087803b15801561020357600080fd5b505af1158015610217573d6000803e3d6000fd5b5050506001600160a01b0382166000908152602081905260409020805460ff1916600117905550919050565b6109bb806102518339019056fe608060405234801561001057600080fd5b506040516109bb3803806109bb8339818101604052602081101561003357600080fd5b5051600180546001600160a01b031916339081179091556040517fce241d7ca1f669fee44b6fc00b8eba2df3bb514eed0f6f668f8f89096e81ed9490600090a2610085816001600160e01b0361009416565b61008e57600080fd5b50610242565b60006100b4336001600160e01b03198335166001600160e01b0361015916565b6100bd57600080fd5b604080513480825260208201838152369383018490526004359360243593849386933393600080356001600160e01b03191694909260608201848480828437600083820152604051601f909101601f1916909201829003965090945050505050a46001600160a01b03841661013157600080fd5b600280546001600160a01b0386166001600160a01b0319909116179055600192505050919050565b60006001600160a01b0383163014156101745750600161023c565b6001546001600160a01b03848116911614156101925750600161023c565b6000546001600160a01b03166101aa5750600061023c565b6000546040805163b700961360e01b81526001600160a01b0386811660048301523060248301526001600160e01b0319861660448301529151919092169163b7009613916064808301926020929190829003018186803b15801561020d57600080fd5b505afa158015610221573d6000803e3d6000fd5b505050506040513d602081101561023757600080fd5b505190505b92915050565b61076a806102516000396000f3fe6080604052600436106100645760003560e01c806313af40351461006d5780631cff79cd146100a05780631f6a1eb91461016657806360c7d295146102475780637a9e5e4b146102785780638da5cb5b146102ab578063bf7e214f146102c05761006b565b3661006b57005b005b34801561007957600080fd5b5061006b6004803603602081101561009057600080fd5b50356001600160a01b03166102d5565b610154600480360360408110156100b657600080fd5b6001600160a01b038235169190810190604081016020820135600160201b8111156100e057600080fd5b8201836020820111156100f257600080fd5b803590602001918460018302840111600160201b8311171561011357600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610344945050505050565b60408051918252519081900360200190f35b6102246004803603604081101561017c57600080fd5b810190602081018135600160201b81111561019657600080fd5b8201836020820111156101a857600080fd5b803590602001918460018302840111600160201b831117156101c957600080fd5b919390929091602081019035600160201b8111156101e657600080fd5b8201836020820111156101f857600080fd5b803590602001918460018302840111600160201b8311171561021957600080fd5b50909250905061040d565b604080516001600160a01b03909316835260208301919091528051918290030190f35b34801561025357600080fd5b5061025c6105b3565b604080516001600160a01b039092168252519081900360200190f35b34801561028457600080fd5b5061006b6004803603602081101561029b57600080fd5b50356001600160a01b03166105c2565b3480156102b757600080fd5b5061025c61062d565b3480156102cc57600080fd5b5061025c61063c565b6102eb336000356001600160e01b03191661064b565b6102f457600080fd5b600180546001600160a01b0319166001600160a01b0383811691909117918290556040519116907fce241d7ca1f669fee44b6fc00b8eba2df3bb514eed0f6f668f8f89096e81ed9490600090a250565b600061035c336000356001600160e01b03191661064b565b61036557600080fd5b604080513480825260208201838152369383018490526004359360243593849386933393600080356001600160e01b03191694909260608201848480828437600083820152604051601f909101601f1916909201829003965090945050505050a46001600160a01b0385166103d957600080fd5b60206000855160208701886113885a03f460005193508015600181146103fe57610403565b600080fd5b5050505092915050565b6002546040516322fd145760e21b81526020600482019081526024820186905260009283926001600160a01b0390911691638bf4515c91899189918190604401848480828437600083820152604051601f909101601f191690920195506020945090925050508083038186803b15801561048657600080fd5b505afa15801561049a573d6000803e3d6000fd5b505050506040513d60208110156104b057600080fd5b505191506001600160a01b03821661056857600254604051633f6861d960e11b8152602060048201908152602482018890526001600160a01b0390921691637ed0c3b291899189918190604401848480828437600081840152601f19601f8201169050808301925050509350505050602060405180830381600087803b15801561053957600080fd5b505af115801561054d573d6000803e3d6000fd5b505050506040513d602081101561056357600080fd5b505191505b6105a88285858080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061034492505050565b905094509492505050565b6002546001600160a01b031681565b6105d8336000356001600160e01b03191661064b565b6105e157600080fd5b600080546001600160a01b0319166001600160a01b03838116919091178083556040519116917f1abebea81bfa2637f28358c371278fb15ede7ea8dd28d2e03b112ff6d936ada491a250565b6001546001600160a01b031681565b6000546001600160a01b031681565b60006001600160a01b0383163014156106665750600161072e565b6001546001600160a01b03848116911614156106845750600161072e565b6000546001600160a01b031661069c5750600061072e565b6000546040805163b700961360e01b81526001600160a01b0386811660048301523060248301526001600160e01b0319861660448301529151919092169163b7009613916064808301926020929190829003018186803b1580156106ff57600080fd5b505afa158015610713573d6000803e3d6000fd5b505050506040513d602081101561072957600080fd5b505190505b9291505056fea26469706673582212207a85fff21b4bf5a2e5057cd4c30eb4525868f2dd0be66af28789fd97fc78ca4364736f6c634300060b0033a2646970667358221220b0f1dfdea5c6644f21e0d60ee9e035cf4e578d52f36ebbd1a383a59d7909c49e64736f6c634300060b0033608060405234801561001057600080fd5b5061022a806100206000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c80637ed0c3b21461003b5780638bf4515c146100fb575b600080fd5b6100df6004803603602081101561005157600080fd5b810190602081018135600160201b81111561006b57600080fd5b82018360208201111561007d57600080fd5b803590602001918460018302840111600160201b8311171561009e57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610169945050505050565b604080516001600160a01b039092168252519081900360200190f35b6100df6004803603602081101561011157600080fd5b810190602081018135600160201b81111561012b57600080fd5b82018360208201111561013d57600080fd5b803590602001918460018302840111600160201b8311171561015e57600080fd5b5090925090506101b4565b60008151602083016000f09050803b156001811461003657508151602092830120600090815291829052604090912080546001600160a01b0319166001600160a01b03831617905590565b600080838360405180838380828437604080519190930181900390206000908152602081905291909120546001600160a01b03169897505050505050505056fea26469706673582212203574b1780a951f8f8993b7060d76584a85292c4d29ea4e54f041a1c3c9402ca864736f6c634300060b0033", + "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061004c5760003560e01c8063297103881461005157806360c7d2951461008b5780638e1a55fc146100af578063f3701da2146100b7575b600080fd5b6100776004803603602081101561006757600080fd5b50356001600160a01b03166100dd565b604080519115158252519081900360200190f35b6100936100f2565b604080516001600160a01b039092168252519081900360200190f35b610093610101565b610093600480360360208110156100cd57600080fd5b50356001600160a01b0316610111565b60006020819052908152604090205460ff1681565b6001546001600160a01b031681565b600061010c33610111565b905090565b6001546040516000916001600160a01b03169061012d90610243565b6001600160a01b03909116815260405190819003602001906000f08015801561015a573d6000803e3d6000fd5b50600154604080516001600160a01b038085168252928316602082015281519394509185169233927f259b30ca39885c6d801a0b5dbc988640f3c25e2f37531fe138c5c5af8955d41b92908290030190a3806001600160a01b03166313af4035836040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b03168152602001915050600060405180830381600087803b15801561020357600080fd5b505af1158015610217573d6000803e3d6000fd5b5050506001600160a01b0382166000908152602081905260409020805460ff1916600117905550919050565b6109bb806102518339019056fe608060405234801561001057600080fd5b506040516109bb3803806109bb8339818101604052602081101561003357600080fd5b5051600180546001600160a01b031916339081179091556040517fce241d7ca1f669fee44b6fc00b8eba2df3bb514eed0f6f668f8f89096e81ed9490600090a2610085816001600160e01b0361009416565b61008e57600080fd5b50610242565b60006100b4336001600160e01b03198335166001600160e01b0361015916565b6100bd57600080fd5b604080513480825260208201838152369383018490526004359360243593849386933393600080356001600160e01b03191694909260608201848480828437600083820152604051601f909101601f1916909201829003965090945050505050a46001600160a01b03841661013157600080fd5b600280546001600160a01b0386166001600160a01b0319909116179055600192505050919050565b60006001600160a01b0383163014156101745750600161023c565b6001546001600160a01b03848116911614156101925750600161023c565b6000546001600160a01b03166101aa5750600061023c565b6000546040805163b700961360e01b81526001600160a01b0386811660048301523060248301526001600160e01b0319861660448301529151919092169163b7009613916064808301926020929190829003018186803b15801561020d57600080fd5b505afa158015610221573d6000803e3d6000fd5b505050506040513d602081101561023757600080fd5b505190505b92915050565b61076a806102516000396000f3fe6080604052600436106100645760003560e01c806313af40351461006d5780631cff79cd146100a05780631f6a1eb91461016657806360c7d295146102475780637a9e5e4b146102785780638da5cb5b146102ab578063bf7e214f146102c05761006b565b3661006b57005b005b34801561007957600080fd5b5061006b6004803603602081101561009057600080fd5b50356001600160a01b03166102d5565b610154600480360360408110156100b657600080fd5b6001600160a01b038235169190810190604081016020820135600160201b8111156100e057600080fd5b8201836020820111156100f257600080fd5b803590602001918460018302840111600160201b8311171561011357600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610344945050505050565b60408051918252519081900360200190f35b6102246004803603604081101561017c57600080fd5b810190602081018135600160201b81111561019657600080fd5b8201836020820111156101a857600080fd5b803590602001918460018302840111600160201b831117156101c957600080fd5b919390929091602081019035600160201b8111156101e657600080fd5b8201836020820111156101f857600080fd5b803590602001918460018302840111600160201b8311171561021957600080fd5b50909250905061040d565b604080516001600160a01b03909316835260208301919091528051918290030190f35b34801561025357600080fd5b5061025c6105b3565b604080516001600160a01b039092168252519081900360200190f35b34801561028457600080fd5b5061006b6004803603602081101561029b57600080fd5b50356001600160a01b03166105c2565b3480156102b757600080fd5b5061025c61062d565b3480156102cc57600080fd5b5061025c61063c565b6102eb336000356001600160e01b03191661064b565b6102f457600080fd5b600180546001600160a01b0319166001600160a01b0383811691909117918290556040519116907fce241d7ca1f669fee44b6fc00b8eba2df3bb514eed0f6f668f8f89096e81ed9490600090a250565b600061035c336000356001600160e01b03191661064b565b61036557600080fd5b604080513480825260208201838152369383018490526004359360243593849386933393600080356001600160e01b03191694909260608201848480828437600083820152604051601f909101601f1916909201829003965090945050505050a46001600160a01b0385166103d957600080fd5b60206000855160208701886113885a03f460005193508015600181146103fe57610403565b600080fd5b5050505092915050565b6002546040516322fd145760e21b81526020600482019081526024820186905260009283926001600160a01b0390911691638bf4515c91899189918190604401848480828437600083820152604051601f909101601f191690920195506020945090925050508083038186803b15801561048657600080fd5b505afa15801561049a573d6000803e3d6000fd5b505050506040513d60208110156104b057600080fd5b505191506001600160a01b03821661056857600254604051633f6861d960e11b8152602060048201908152602482018890526001600160a01b0390921691637ed0c3b291899189918190604401848480828437600081840152601f19601f8201169050808301925050509350505050602060405180830381600087803b15801561053957600080fd5b505af115801561054d573d6000803e3d6000fd5b505050506040513d602081101561056357600080fd5b505191505b6105a88285858080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061034492505050565b905094509492505050565b6002546001600160a01b031681565b6105d8336000356001600160e01b03191661064b565b6105e157600080fd5b600080546001600160a01b0319166001600160a01b03838116919091178083556040519116917f1abebea81bfa2637f28358c371278fb15ede7ea8dd28d2e03b112ff6d936ada491a250565b6001546001600160a01b031681565b6000546001600160a01b031681565b60006001600160a01b0383163014156106665750600161072e565b6001546001600160a01b03848116911614156106845750600161072e565b6000546001600160a01b031661069c5750600061072e565b6000546040805163b700961360e01b81526001600160a01b0386811660048301523060248301526001600160e01b0319861660448301529151919092169163b7009613916064808301926020929190829003018186803b1580156106ff57600080fd5b505afa158015610713573d6000803e3d6000fd5b505050506040513d602081101561072957600080fd5b505190505b9291505056fea26469706673582212207a85fff21b4bf5a2e5057cd4c30eb4525868f2dd0be66af28789fd97fc78ca4364736f6c634300060b0033a2646970667358221220b0f1dfdea5c6644f21e0d60ee9e035cf4e578d52f36ebbd1a383a59d7909c49e64736f6c634300060b0033", "linkReferences": {}, "deployedLinkReferences": {} } diff --git a/packages/lib-ethers/live/DefaultPool.json b/packages/lib-ethers/live/DefaultPool.json index 1e97ed651..e1a2844bf 100644 --- a/packages/lib-ethers/live/DefaultPool.json +++ b/packages/lib-ethers/live/DefaultPool.json @@ -48,11 +48,11 @@ { "indexed": false, "internalType": "uint256", - "name": "_LUSDDebt", + "name": "_ZUSDDebt", "type": "uint256" } ], - "name": "DefaultPoolLUSDDebtUpdated", + "name": "DefaultPoolZUSDDebtUpdated", "type": "event" }, { @@ -87,19 +87,6 @@ "name": "EtherSent", "type": "event" }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "_newBalance", - "type": "uint256" - } - ], - "name": "LUSDBalanceUpdated", - "type": "event" - }, { "anonymous": false, "inputs": [ @@ -145,6 +132,19 @@ "name": "TroveManagerAddressChanged", "type": "event" }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "_newBalance", + "type": "uint256" + } + ], + "name": "ZUSDBalanceUpdated", + "type": "event" + }, { "inputs": [], "name": "NAME", @@ -179,7 +179,7 @@ "type": "uint256" } ], - "name": "decreaseLUSDDebt", + "name": "decreaseZUSDDebt", "outputs": [], "stateMutability": "nonpayable", "type": "function" @@ -199,54 +199,41 @@ }, { "inputs": [], - "name": "getLUSDDebt", + "name": "getOwner", "outputs": [ { - "internalType": "uint256", - "name": "", - "type": "uint256" + "internalType": "address", + "name": "_owner", + "type": "address" } ], "stateMutability": "view", "type": "function" }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "name": "increaseLUSDDebt", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, { "inputs": [], - "name": "isOwner", + "name": "getZUSDDebt", "outputs": [ { - "internalType": "bool", + "internalType": "uint256", "name": "", - "type": "bool" + "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { - "inputs": [], - "name": "owner", - "outputs": [ + "inputs": [ { - "internalType": "address", - "name": "", - "type": "address" + "internalType": "uint256", + "name": "_amount", + "type": "uint256" } ], - "stateMutability": "view", + "name": "increaseZUSDDebt", + "outputs": [], + "stateMutability": "nonpayable", "type": "function" }, { @@ -280,6 +267,19 @@ "stateMutability": "nonpayable", "type": "function" }, + { + "inputs": [ + { + "internalType": "address", + "name": "_owner", + "type": "address" + } + ], + "name": "setOwner", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, { "inputs": [], "name": "troveManagerAddress", @@ -298,8 +298,8 @@ "type": "receive" } ], - "bytecode": "0x608060405234801561001057600080fd5b50600080546001600160a01b0319163390811782556040519091907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a36109988061005f6000396000f3fe6080604052600436106100a05760003560e01c80638f32d59b116100645780638f32d59b146101ac57806390107afe146101d5578063a3f4df7e14610210578063b08bc7221461029a578063be41205f146102af578063cfb9329a146102d9576100f9565b806314f6c3be146100fe57806338d995a8146101255780635a4d28bb146101515780635eb52fca146101825780638da5cb5b14610197576100f9565b366100f9576100ad610303565b6003546100c0903463ffffffff61034e16565b600381905560408051918252517f9a14ae677a60400af9176bed2e2d5ce8dfa6405e6c1702debb27668f567214289181900360200190a1005b600080fd5b34801561010a57600080fd5b506101136103af565b60408051918252519081900360200190f35b34801561013157600080fd5b5061014f6004803603602081101561014857600080fd5b50356103b5565b005b34801561015d57600080fd5b5061016661040a565b604080516001600160a01b039092168252519081900360200190f35b34801561018e57600080fd5b50610113610419565b3480156101a357600080fd5b5061016661041f565b3480156101b857600080fd5b506101c161042e565b604080519115158252519081900360200190f35b3480156101e157600080fd5b5061014f600480360360408110156101f857600080fd5b506001600160a01b038135811691602001351661043f565b34801561021c57600080fd5b50610225610552565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561025f578181015183820152602001610247565b50505050905090810190601f16801561028c5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156102a657600080fd5b50610166610579565b3480156102bb57600080fd5b5061014f600480360360208110156102d257600080fd5b5035610588565b3480156102e557600080fd5b5061014f600480360360208110156102fc57600080fd5b50356106d8565b6002546001600160a01b0316331461034c5760405162461bcd60e51b815260040180806020018281038252602981526020018061090f6029913960400191505060405180910390fd5b565b6000828201838110156103a8576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b60035490565b6103bd6106f3565b6004546103d0908263ffffffff61073c16565b600481905560408051918252517f7735d8b9c0814a13884384c73ec31633f708b4b920b2158764c6b306541341259181900360200190a150565b6001546001600160a01b031681565b60045490565b6000546001600160a01b031690565b6000546001600160a01b0316331490565b61044761042e565b610498576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b6104a18261077e565b6104aa8161077e565b600180546001600160a01b038085166001600160a01b03199283168117909355600280549185169190921617905560408051918252517f143219c9e69b09e07e095fcc889b43d8f46ca892bba65f08dc3a0050869a56789181900360200190a1604080516001600160a01b038316815290517f78f058b189175430c48dc02699e3a0031ea4ff781536dc2fab847de4babdd8829181900360200190a161054e61082d565b5050565b6040518060400160405280600b81526020016a111959985d5b1d141bdbdb60aa1b81525081565b6002546001600160a01b031681565b6105906106f3565b6002546003546001600160a01b03909116906105b2908363ffffffff61073c16565b600381905560408051918252517f9a14ae677a60400af9176bed2e2d5ce8dfa6405e6c1702debb27668f567214289181900360200190a1604080516001600160a01b03831681526020810184905281517f6109e2559dfa766aaec7118351d48a523f0a4157f49c8d68749c8ac41318ad12929181900390910190a16040516000906001600160a01b0383169084908381818185875af1925050503d8060008114610678576040519150601f19603f3d011682016040523d82523d6000602084013e61067d565b606091505b50509050806106d3576040805162461bcd60e51b815260206004820152601f60248201527f44656661756c74506f6f6c3a2073656e64696e6720455448206661696c656400604482015290519081900360640190fd5b505050565b6106e06106f3565b6004546103d0908263ffffffff61034e16565b6001546001600160a01b0316331461034c5760405162461bcd60e51b815260040180806020018281038252602b815260200180610938602b913960400191505060405180910390fd5b60006103a883836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610877565b6001600160a01b0381166107d9576040805162461bcd60e51b815260206004820152601e60248201527f4163636f756e742063616e6e6f74206265207a65726f20616464726573730000604482015290519081900360640190fd5b803b8061054e576040805162461bcd60e51b815260206004820181905260248201527f4163636f756e7420636f64652073697a652063616e6e6f74206265207a65726f604482015290519081900360640190fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b600081848411156109065760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156108cb5781810151838201526020016108b3565b50505050905090810190601f1680156108f85780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50505090039056fe44656661756c74506f6f6c3a2043616c6c6572206973206e6f742074686520416374697665506f6f6c44656661756c74506f6f6c3a2043616c6c6572206973206e6f74207468652054726f76654d616e61676572a2646970667358221220cbcda65f34301c21fbf82e86e0ec82f47f28495dce5182eca3a040156ac7338c64736f6c634300060b0033", - "deployedBytecode": "0x6080604052600436106100a05760003560e01c80638f32d59b116100645780638f32d59b146101ac57806390107afe146101d5578063a3f4df7e14610210578063b08bc7221461029a578063be41205f146102af578063cfb9329a146102d9576100f9565b806314f6c3be146100fe57806338d995a8146101255780635a4d28bb146101515780635eb52fca146101825780638da5cb5b14610197576100f9565b366100f9576100ad610303565b6003546100c0903463ffffffff61034e16565b600381905560408051918252517f9a14ae677a60400af9176bed2e2d5ce8dfa6405e6c1702debb27668f567214289181900360200190a1005b600080fd5b34801561010a57600080fd5b506101136103af565b60408051918252519081900360200190f35b34801561013157600080fd5b5061014f6004803603602081101561014857600080fd5b50356103b5565b005b34801561015d57600080fd5b5061016661040a565b604080516001600160a01b039092168252519081900360200190f35b34801561018e57600080fd5b50610113610419565b3480156101a357600080fd5b5061016661041f565b3480156101b857600080fd5b506101c161042e565b604080519115158252519081900360200190f35b3480156101e157600080fd5b5061014f600480360360408110156101f857600080fd5b506001600160a01b038135811691602001351661043f565b34801561021c57600080fd5b50610225610552565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561025f578181015183820152602001610247565b50505050905090810190601f16801561028c5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156102a657600080fd5b50610166610579565b3480156102bb57600080fd5b5061014f600480360360208110156102d257600080fd5b5035610588565b3480156102e557600080fd5b5061014f600480360360208110156102fc57600080fd5b50356106d8565b6002546001600160a01b0316331461034c5760405162461bcd60e51b815260040180806020018281038252602981526020018061090f6029913960400191505060405180910390fd5b565b6000828201838110156103a8576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b60035490565b6103bd6106f3565b6004546103d0908263ffffffff61073c16565b600481905560408051918252517f7735d8b9c0814a13884384c73ec31633f708b4b920b2158764c6b306541341259181900360200190a150565b6001546001600160a01b031681565b60045490565b6000546001600160a01b031690565b6000546001600160a01b0316331490565b61044761042e565b610498576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b6104a18261077e565b6104aa8161077e565b600180546001600160a01b038085166001600160a01b03199283168117909355600280549185169190921617905560408051918252517f143219c9e69b09e07e095fcc889b43d8f46ca892bba65f08dc3a0050869a56789181900360200190a1604080516001600160a01b038316815290517f78f058b189175430c48dc02699e3a0031ea4ff781536dc2fab847de4babdd8829181900360200190a161054e61082d565b5050565b6040518060400160405280600b81526020016a111959985d5b1d141bdbdb60aa1b81525081565b6002546001600160a01b031681565b6105906106f3565b6002546003546001600160a01b03909116906105b2908363ffffffff61073c16565b600381905560408051918252517f9a14ae677a60400af9176bed2e2d5ce8dfa6405e6c1702debb27668f567214289181900360200190a1604080516001600160a01b03831681526020810184905281517f6109e2559dfa766aaec7118351d48a523f0a4157f49c8d68749c8ac41318ad12929181900390910190a16040516000906001600160a01b0383169084908381818185875af1925050503d8060008114610678576040519150601f19603f3d011682016040523d82523d6000602084013e61067d565b606091505b50509050806106d3576040805162461bcd60e51b815260206004820152601f60248201527f44656661756c74506f6f6c3a2073656e64696e6720455448206661696c656400604482015290519081900360640190fd5b505050565b6106e06106f3565b6004546103d0908263ffffffff61034e16565b6001546001600160a01b0316331461034c5760405162461bcd60e51b815260040180806020018281038252602b815260200180610938602b913960400191505060405180910390fd5b60006103a883836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610877565b6001600160a01b0381166107d9576040805162461bcd60e51b815260206004820152601e60248201527f4163636f756e742063616e6e6f74206265207a65726f20616464726573730000604482015290519081900360640190fd5b803b8061054e576040805162461bcd60e51b815260206004820181905260248201527f4163636f756e7420636f64652073697a652063616e6e6f74206265207a65726f604482015290519081900360640190fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b600081848411156109065760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156108cb5781810151838201526020016108b3565b50505050905090810190601f1680156108f85780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50505090039056fe44656661756c74506f6f6c3a2043616c6c6572206973206e6f742074686520416374697665506f6f6c44656661756c74506f6f6c3a2043616c6c6572206973206e6f74207468652054726f76654d616e61676572a2646970667358221220cbcda65f34301c21fbf82e86e0ec82f47f28495dce5182eca3a040156ac7338c64736f6c634300060b0033", + "bytecode": "0x608060405234801561001057600080fd5b50610023336001600160e01b0361002816565b610110565b6001600160a01b03811661006d5760405162461bcd60e51b8152600401808060200182810382526022815260200180610bd56022913960400191505060405180910390fd5b6001600160a01b0381166100886001600160e01b036100e616565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3604080517035b2bc9737bbb730b136329737bbb732b960791b8152905190819003601101902055565b604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205490565b610ab68061011f6000396000f3fe6080604052600436106100a05760003560e01c8063893d20e811610064578063893d20e8146101ca57806390107afe146101df578063a3f4df7e1461021a578063b08bc722146102a4578063be41205f146102b9578063f2e91d71146102e3576100f9565b806313af4035146100fe57806314f6c3be146101335780632439789a1461015a5780633963e980146101845780635a4d28bb14610199576100f9565b366100f9576100ad61030d565b6002546100c0903463ffffffff61035816565b600281905560408051918252517f9a14ae677a60400af9176bed2e2d5ce8dfa6405e6c1702debb27668f567214289181900360200190a1005b600080fd5b34801561010a57600080fd5b506101316004803603602081101561012157600080fd5b50356001600160a01b03166103b9565b005b34801561013f57600080fd5b5061014861042c565b60408051918252519081900360200190f35b34801561016657600080fd5b506101316004803603602081101561017d57600080fd5b5035610432565b34801561019057600080fd5b50610148610487565b3480156101a557600080fd5b506101ae61048d565b604080516001600160a01b039092168252519081900360200190f35b3480156101d657600080fd5b506101ae61049c565b3480156101eb57600080fd5b506101316004803603604081101561020257600080fd5b506001600160a01b03813581169160200135166104c6565b34801561022657600080fd5b5061022f6105df565b6040805160208082528351818301528351919283929083019185019080838360005b83811015610269578181015183820152602001610251565b50505050905090810190601f1680156102965780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156102b057600080fd5b506101ae610606565b3480156102c557600080fd5b50610131600480360360208110156102dc57600080fd5b5035610615565b3480156102ef57600080fd5b506101316004803603602081101561030657600080fd5b5035610765565b6001546001600160a01b031633146103565760405162461bcd60e51b8152600401808060200182810382526029815260200180610a0b6029913960400191505060405180910390fd5b565b6000828201838110156103b2576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b6103c161049c565b6001600160a01b0316336001600160a01b031614610420576040805162461bcd60e51b815260206004820152601760248201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604482015290519081900360640190fd5b61042981610780565b50565b60025490565b61043a610835565b60035461044d908263ffffffff61087e16565b600381905560408051918252517f636083bfd8929ae461979d51af53349434cd5ee35f983909b704bded4142b9519181900360200190a150565b60035490565b6000546001600160a01b031681565b604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205490565b6104ce61049c565b6001600160a01b0316336001600160a01b03161461052d576040805162461bcd60e51b815260206004820152601760248201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604482015290519081900360640190fd5b610536826108c0565b61053f816108c0565b600080546001600160a01b038085166001600160a01b03199283168117909355600180549185169190921617905560408051918252517f143219c9e69b09e07e095fcc889b43d8f46ca892bba65f08dc3a0050869a56789181900360200190a1604080516001600160a01b038316815290517f78f058b189175430c48dc02699e3a0031ea4ff781536dc2fab847de4babdd8829181900360200190a15050565b6040518060400160405280600b81526020016a111959985d5b1d141bdbdb60aa1b81525081565b6001546001600160a01b031681565b61061d610835565b6001546002546001600160a01b039091169061063f908363ffffffff61087e16565b600281905560408051918252517f9a14ae677a60400af9176bed2e2d5ce8dfa6405e6c1702debb27668f567214289181900360200190a1604080516001600160a01b03831681526020810184905281517f6109e2559dfa766aaec7118351d48a523f0a4157f49c8d68749c8ac41318ad12929181900390910190a16040516000906001600160a01b0383169084908381818185875af1925050503d8060008114610705576040519150601f19603f3d011682016040523d82523d6000602084013e61070a565b606091505b5050905080610760576040805162461bcd60e51b815260206004820152601f60248201527f44656661756c74506f6f6c3a2073656e64696e6720455448206661696c656400604482015290519081900360640190fd5b505050565b61076d610835565b60035461044d908263ffffffff61035816565b6001600160a01b0381166107c55760405162461bcd60e51b8152600401808060200182810382526022815260200180610a346022913960400191505060405180910390fd5b806001600160a01b03166107d761049c565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3604080517035b2bc9737bbb730b136329737bbb732b960791b8152905190819003601101902055565b6000546001600160a01b031633146103565760405162461bcd60e51b815260040180806020018281038252602b815260200180610a56602b913960400191505060405180910390fd5b60006103b283836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610973565b6001600160a01b03811661091b576040805162461bcd60e51b815260206004820152601e60248201527f4163636f756e742063616e6e6f74206265207a65726f20616464726573730000604482015290519081900360640190fd5b803b8061096f576040805162461bcd60e51b815260206004820181905260248201527f4163636f756e7420636f64652073697a652063616e6e6f74206265207a65726f604482015290519081900360640190fd5b5050565b60008184841115610a025760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156109c75781810151838201526020016109af565b50505050905090810190601f1680156109f45780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50505090039056fe44656661756c74506f6f6c3a2043616c6c6572206973206e6f742074686520416374697665506f6f6c4f776e61626c653a3a7365744f776e65723a20696e76616c6964206164647265737344656661756c74506f6f6c3a2043616c6c6572206973206e6f74207468652054726f76654d616e61676572a2646970667358221220d99aea28c644c442996807d1a9df6b9c6fcb9a4741349be927c8e86d5886d30464736f6c634300060b00334f776e61626c653a3a7365744f776e65723a20696e76616c69642061646472657373", + "deployedBytecode": "0x6080604052600436106100a05760003560e01c8063893d20e811610064578063893d20e8146101ca57806390107afe146101df578063a3f4df7e1461021a578063b08bc722146102a4578063be41205f146102b9578063f2e91d71146102e3576100f9565b806313af4035146100fe57806314f6c3be146101335780632439789a1461015a5780633963e980146101845780635a4d28bb14610199576100f9565b366100f9576100ad61030d565b6002546100c0903463ffffffff61035816565b600281905560408051918252517f9a14ae677a60400af9176bed2e2d5ce8dfa6405e6c1702debb27668f567214289181900360200190a1005b600080fd5b34801561010a57600080fd5b506101316004803603602081101561012157600080fd5b50356001600160a01b03166103b9565b005b34801561013f57600080fd5b5061014861042c565b60408051918252519081900360200190f35b34801561016657600080fd5b506101316004803603602081101561017d57600080fd5b5035610432565b34801561019057600080fd5b50610148610487565b3480156101a557600080fd5b506101ae61048d565b604080516001600160a01b039092168252519081900360200190f35b3480156101d657600080fd5b506101ae61049c565b3480156101eb57600080fd5b506101316004803603604081101561020257600080fd5b506001600160a01b03813581169160200135166104c6565b34801561022657600080fd5b5061022f6105df565b6040805160208082528351818301528351919283929083019185019080838360005b83811015610269578181015183820152602001610251565b50505050905090810190601f1680156102965780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156102b057600080fd5b506101ae610606565b3480156102c557600080fd5b50610131600480360360208110156102dc57600080fd5b5035610615565b3480156102ef57600080fd5b506101316004803603602081101561030657600080fd5b5035610765565b6001546001600160a01b031633146103565760405162461bcd60e51b8152600401808060200182810382526029815260200180610a0b6029913960400191505060405180910390fd5b565b6000828201838110156103b2576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b6103c161049c565b6001600160a01b0316336001600160a01b031614610420576040805162461bcd60e51b815260206004820152601760248201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604482015290519081900360640190fd5b61042981610780565b50565b60025490565b61043a610835565b60035461044d908263ffffffff61087e16565b600381905560408051918252517f636083bfd8929ae461979d51af53349434cd5ee35f983909b704bded4142b9519181900360200190a150565b60035490565b6000546001600160a01b031681565b604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205490565b6104ce61049c565b6001600160a01b0316336001600160a01b03161461052d576040805162461bcd60e51b815260206004820152601760248201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604482015290519081900360640190fd5b610536826108c0565b61053f816108c0565b600080546001600160a01b038085166001600160a01b03199283168117909355600180549185169190921617905560408051918252517f143219c9e69b09e07e095fcc889b43d8f46ca892bba65f08dc3a0050869a56789181900360200190a1604080516001600160a01b038316815290517f78f058b189175430c48dc02699e3a0031ea4ff781536dc2fab847de4babdd8829181900360200190a15050565b6040518060400160405280600b81526020016a111959985d5b1d141bdbdb60aa1b81525081565b6001546001600160a01b031681565b61061d610835565b6001546002546001600160a01b039091169061063f908363ffffffff61087e16565b600281905560408051918252517f9a14ae677a60400af9176bed2e2d5ce8dfa6405e6c1702debb27668f567214289181900360200190a1604080516001600160a01b03831681526020810184905281517f6109e2559dfa766aaec7118351d48a523f0a4157f49c8d68749c8ac41318ad12929181900390910190a16040516000906001600160a01b0383169084908381818185875af1925050503d8060008114610705576040519150601f19603f3d011682016040523d82523d6000602084013e61070a565b606091505b5050905080610760576040805162461bcd60e51b815260206004820152601f60248201527f44656661756c74506f6f6c3a2073656e64696e6720455448206661696c656400604482015290519081900360640190fd5b505050565b61076d610835565b60035461044d908263ffffffff61035816565b6001600160a01b0381166107c55760405162461bcd60e51b8152600401808060200182810382526022815260200180610a346022913960400191505060405180910390fd5b806001600160a01b03166107d761049c565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3604080517035b2bc9737bbb730b136329737bbb732b960791b8152905190819003601101902055565b6000546001600160a01b031633146103565760405162461bcd60e51b815260040180806020018281038252602b815260200180610a56602b913960400191505060405180910390fd5b60006103b283836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610973565b6001600160a01b03811661091b576040805162461bcd60e51b815260206004820152601e60248201527f4163636f756e742063616e6e6f74206265207a65726f20616464726573730000604482015290519081900360640190fd5b803b8061096f576040805162461bcd60e51b815260206004820181905260248201527f4163636f756e7420636f64652073697a652063616e6e6f74206265207a65726f604482015290519081900360640190fd5b5050565b60008184841115610a025760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156109c75781810151838201526020016109af565b50505050905090810190601f1680156109f45780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50505090039056fe44656661756c74506f6f6c3a2043616c6c6572206973206e6f742074686520416374697665506f6f6c4f776e61626c653a3a7365744f776e65723a20696e76616c6964206164647265737344656661756c74506f6f6c3a2043616c6c6572206973206e6f74207468652054726f76654d616e61676572a2646970667358221220d99aea28c644c442996807d1a9df6b9c6fcb9a4741349be927c8e86d5886d30464736f6c634300060b0033", "linkReferences": {}, "deployedLinkReferences": {} } diff --git a/packages/lib-ethers/live/DefaultPoolStorage.json b/packages/lib-ethers/live/DefaultPoolStorage.json new file mode 100644 index 000000000..cafc46334 --- /dev/null +++ b/packages/lib-ethers/live/DefaultPoolStorage.json @@ -0,0 +1,95 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "DefaultPoolStorage", + "sourceName": "contracts/DefaultPoolStorage.sol", + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousOwner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnershipTransferred", + "type": "event" + }, + { + "inputs": [], + "name": "NAME", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "activePoolAddress", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getOwner", + "outputs": [ + { + "internalType": "address", + "name": "_owner", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_owner", + "type": "address" + } + ], + "name": "setOwner", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "troveManagerAddress", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + } + ], + "bytecode": "0x608060405234801561001057600080fd5b50610023336001600160e01b0361002816565b610110565b6001600160a01b03811661006d5760405162461bcd60e51b81526004018080602001828103825260228152602001806104436022913960400191505060405180910390fd5b6001600160a01b0381166100886001600160e01b036100e616565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3604080517035b2bc9737bbb730b136329737bbb732b960791b8152905190819003601101902055565b604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205490565b6103248061011f6000396000f3fe608060405234801561001057600080fd5b50600436106100575760003560e01c806313af40351461005c5780635a4d28bb14610084578063893d20e8146100a8578063a3f4df7e146100b0578063b08bc7221461012d575b600080fd5b6100826004803603602081101561007257600080fd5b50356001600160a01b0316610135565b005b61008c6101a8565b604080516001600160a01b039092168252519081900360200190f35b61008c6101b7565b6100b86101e1565b6040805160208082528351818301528351919283929083019185019080838360005b838110156100f25781810151838201526020016100da565b50505050905090810190601f16801561011f5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61008c610208565b61013d6101b7565b6001600160a01b0316336001600160a01b03161461019c576040805162461bcd60e51b815260206004820152601760248201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604482015290519081900360640190fd5b6101a581610217565b50565b6000546001600160a01b031681565b604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205490565b6040518060400160405280600b81526020016a111959985d5b1d141bdbdb60aa1b81525081565b6001546001600160a01b031681565b6001600160a01b03811661025c5760405162461bcd60e51b81526004018080602001828103825260228152602001806102cd6022913960400191505060405180910390fd5b806001600160a01b031661026e6101b7565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205556fe4f776e61626c653a3a7365744f776e65723a20696e76616c69642061646472657373a2646970667358221220c454f4aeee39d2a62ad85966511802a1e583444d85bead0ad64acdb682541fcd64736f6c634300060b00334f776e61626c653a3a7365744f776e65723a20696e76616c69642061646472657373", + "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100575760003560e01c806313af40351461005c5780635a4d28bb14610084578063893d20e8146100a8578063a3f4df7e146100b0578063b08bc7221461012d575b600080fd5b6100826004803603602081101561007257600080fd5b50356001600160a01b0316610135565b005b61008c6101a8565b604080516001600160a01b039092168252519081900360200190f35b61008c6101b7565b6100b86101e1565b6040805160208082528351818301528351919283929083019185019080838360005b838110156100f25781810151838201526020016100da565b50505050905090810190601f16801561011f5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61008c610208565b61013d6101b7565b6001600160a01b0316336001600160a01b03161461019c576040805162461bcd60e51b815260206004820152601760248201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604482015290519081900360640190fd5b6101a581610217565b50565b6000546001600160a01b031681565b604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205490565b6040518060400160405280600b81526020016a111959985d5b1d141bdbdb60aa1b81525081565b6001546001600160a01b031681565b6001600160a01b03811661025c5760405162461bcd60e51b81526004018080602001828103825260228152602001806102cd6022913960400191505060405180910390fd5b806001600160a01b031661026e6101b7565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205556fe4f776e61626c653a3a7365744f776e65723a20696e76616c69642061646472657373a2646970667358221220c454f4aeee39d2a62ad85966511802a1e583444d85bead0ad64acdb682541fcd64736f6c634300060b0033", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/packages/lib-ethers/live/DefaultPoolTester.json b/packages/lib-ethers/live/DefaultPoolTester.json index f40b9dec1..d2b57659a 100644 --- a/packages/lib-ethers/live/DefaultPoolTester.json +++ b/packages/lib-ethers/live/DefaultPoolTester.json @@ -48,11 +48,11 @@ { "indexed": false, "internalType": "uint256", - "name": "_LUSDDebt", + "name": "_ZUSDDebt", "type": "uint256" } ], - "name": "DefaultPoolLUSDDebtUpdated", + "name": "DefaultPoolZUSDDebtUpdated", "type": "event" }, { @@ -87,19 +87,6 @@ "name": "EtherSent", "type": "event" }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "_newBalance", - "type": "uint256" - } - ], - "name": "LUSDBalanceUpdated", - "type": "event" - }, { "anonymous": false, "inputs": [ @@ -145,6 +132,19 @@ "name": "TroveManagerAddressChanged", "type": "event" }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "_newBalance", + "type": "uint256" + } + ], + "name": "ZUSDBalanceUpdated", + "type": "event" + }, { "inputs": [], "name": "NAME", @@ -179,7 +179,7 @@ "type": "uint256" } ], - "name": "decreaseLUSDDebt", + "name": "decreaseZUSDDebt", "outputs": [], "stateMutability": "nonpayable", "type": "function" @@ -199,54 +199,41 @@ }, { "inputs": [], - "name": "getLUSDDebt", + "name": "getOwner", "outputs": [ { - "internalType": "uint256", - "name": "", - "type": "uint256" + "internalType": "address", + "name": "_owner", + "type": "address" } ], "stateMutability": "view", "type": "function" }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "name": "increaseLUSDDebt", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, { "inputs": [], - "name": "isOwner", + "name": "getZUSDDebt", "outputs": [ { - "internalType": "bool", + "internalType": "uint256", "name": "", - "type": "bool" + "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { - "inputs": [], - "name": "owner", - "outputs": [ + "inputs": [ { - "internalType": "address", - "name": "", - "type": "address" + "internalType": "uint256", + "name": "_amount", + "type": "uint256" } ], - "stateMutability": "view", + "name": "increaseZUSDDebt", + "outputs": [], + "stateMutability": "nonpayable", "type": "function" }, { @@ -280,6 +267,19 @@ "stateMutability": "nonpayable", "type": "function" }, + { + "inputs": [ + { + "internalType": "address", + "name": "_owner", + "type": "address" + } + ], + "name": "setOwner", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, { "inputs": [], "name": "troveManagerAddress", @@ -301,7 +301,7 @@ "type": "uint256" } ], - "name": "unprotectedIncreaseLUSDDebt", + "name": "unprotectedIncreaseZUSDDebt", "outputs": [], "stateMutability": "nonpayable", "type": "function" @@ -318,8 +318,8 @@ "type": "receive" } ], - "bytecode": "0x608060405234801561001057600080fd5b50600080546001600160a01b0319163390811782556040519091907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3610a118061005f6000396000f3fe6080604052600436106100b65760003560e01c80638f32d59b1161006f5780638f32d59b146101ec57806390107afe14610215578063a3f4df7e14610250578063b08bc722146102da578063be41205f146102ef578063cfb9329a14610319578063f3af7c3b146103435761010f565b806314f6c3be1461011457806338d995a81461013b57806344a57242146101675780635a4d28bb146101915780635eb52fca146101c25780638da5cb5b146101d75761010f565b3661010f576100c361034b565b6003546100d6903463ffffffff61039616565b600381905560408051918252517f9a14ae677a60400af9176bed2e2d5ce8dfa6405e6c1702debb27668f567214289181900360200190a1005b600080fd5b34801561012057600080fd5b506101296103f7565b60408051918252519081900360200190f35b34801561014757600080fd5b506101656004803603602081101561015e57600080fd5b50356103fd565b005b34801561017357600080fd5b506101656004803603602081101561018a57600080fd5b5035610452565b34801561019d57600080fd5b506101a661046b565b604080516001600160a01b039092168252519081900360200190f35b3480156101ce57600080fd5b5061012961047a565b3480156101e357600080fd5b506101a6610480565b3480156101f857600080fd5b5061020161048f565b604080519115158252519081900360200190f35b34801561022157600080fd5b506101656004803603604081101561023857600080fd5b506001600160a01b03813581169160200135166104a0565b34801561025c57600080fd5b506102656105b3565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561029f578181015183820152602001610287565b50505050905090810190601f1680156102cc5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156102e657600080fd5b506101a66105da565b3480156102fb57600080fd5b506101656004803603602081101561031257600080fd5b50356105e9565b34801561032557600080fd5b506101656004803603602081101561033c57600080fd5b5035610739565b610165610754565b6002546001600160a01b031633146103945760405162461bcd60e51b81526004018080602001828103825260298152602001806109886029913960400191505060405180910390fd5b565b6000828201838110156103f0576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b60035490565b61040561076c565b600454610418908263ffffffff6107b516565b600481905560408051918252517f7735d8b9c0814a13884384c73ec31633f708b4b920b2158764c6b306541341259181900360200190a150565b600454610465908263ffffffff61039616565b60045550565b6001546001600160a01b031681565b60045490565b6000546001600160a01b031690565b6000546001600160a01b0316331490565b6104a861048f565b6104f9576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b610502826107f7565b61050b816107f7565b600180546001600160a01b038085166001600160a01b03199283168117909355600280549185169190921617905560408051918252517f143219c9e69b09e07e095fcc889b43d8f46ca892bba65f08dc3a0050869a56789181900360200190a1604080516001600160a01b038316815290517f78f058b189175430c48dc02699e3a0031ea4ff781536dc2fab847de4babdd8829181900360200190a16105af6108a6565b5050565b6040518060400160405280600b81526020016a111959985d5b1d141bdbdb60aa1b81525081565b6002546001600160a01b031681565b6105f161076c565b6002546003546001600160a01b0390911690610613908363ffffffff6107b516565b600381905560408051918252517f9a14ae677a60400af9176bed2e2d5ce8dfa6405e6c1702debb27668f567214289181900360200190a1604080516001600160a01b03831681526020810184905281517f6109e2559dfa766aaec7118351d48a523f0a4157f49c8d68749c8ac41318ad12929181900390910190a16040516000906001600160a01b0383169084908381818185875af1925050503d80600081146106d9576040519150601f19603f3d011682016040523d82523d6000602084013e6106de565b606091505b5050905080610734576040805162461bcd60e51b815260206004820152601f60248201527f44656661756c74506f6f6c3a2073656e64696e6720455448206661696c656400604482015290519081900360640190fd5b505050565b61074161076c565b600454610418908263ffffffff61039616565b600354610767903463ffffffff61039616565b600355565b6001546001600160a01b031633146103945760405162461bcd60e51b815260040180806020018281038252602b8152602001806109b1602b913960400191505060405180910390fd5b60006103f083836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506108f0565b6001600160a01b038116610852576040805162461bcd60e51b815260206004820152601e60248201527f4163636f756e742063616e6e6f74206265207a65726f20616464726573730000604482015290519081900360640190fd5b803b806105af576040805162461bcd60e51b815260206004820181905260248201527f4163636f756e7420636f64652073697a652063616e6e6f74206265207a65726f604482015290519081900360640190fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000818484111561097f5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561094457818101518382015260200161092c565b50505050905090810190601f1680156109715780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50505090039056fe44656661756c74506f6f6c3a2043616c6c6572206973206e6f742074686520416374697665506f6f6c44656661756c74506f6f6c3a2043616c6c6572206973206e6f74207468652054726f76654d616e61676572a26469706673582212205fc9f465ae92eb101bf09e522d508a12a23af684c4ea167dee6545e48726a6ba64736f6c634300060b0033", - "deployedBytecode": "0x6080604052600436106100b65760003560e01c80638f32d59b1161006f5780638f32d59b146101ec57806390107afe14610215578063a3f4df7e14610250578063b08bc722146102da578063be41205f146102ef578063cfb9329a14610319578063f3af7c3b146103435761010f565b806314f6c3be1461011457806338d995a81461013b57806344a57242146101675780635a4d28bb146101915780635eb52fca146101c25780638da5cb5b146101d75761010f565b3661010f576100c361034b565b6003546100d6903463ffffffff61039616565b600381905560408051918252517f9a14ae677a60400af9176bed2e2d5ce8dfa6405e6c1702debb27668f567214289181900360200190a1005b600080fd5b34801561012057600080fd5b506101296103f7565b60408051918252519081900360200190f35b34801561014757600080fd5b506101656004803603602081101561015e57600080fd5b50356103fd565b005b34801561017357600080fd5b506101656004803603602081101561018a57600080fd5b5035610452565b34801561019d57600080fd5b506101a661046b565b604080516001600160a01b039092168252519081900360200190f35b3480156101ce57600080fd5b5061012961047a565b3480156101e357600080fd5b506101a6610480565b3480156101f857600080fd5b5061020161048f565b604080519115158252519081900360200190f35b34801561022157600080fd5b506101656004803603604081101561023857600080fd5b506001600160a01b03813581169160200135166104a0565b34801561025c57600080fd5b506102656105b3565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561029f578181015183820152602001610287565b50505050905090810190601f1680156102cc5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156102e657600080fd5b506101a66105da565b3480156102fb57600080fd5b506101656004803603602081101561031257600080fd5b50356105e9565b34801561032557600080fd5b506101656004803603602081101561033c57600080fd5b5035610739565b610165610754565b6002546001600160a01b031633146103945760405162461bcd60e51b81526004018080602001828103825260298152602001806109886029913960400191505060405180910390fd5b565b6000828201838110156103f0576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b60035490565b61040561076c565b600454610418908263ffffffff6107b516565b600481905560408051918252517f7735d8b9c0814a13884384c73ec31633f708b4b920b2158764c6b306541341259181900360200190a150565b600454610465908263ffffffff61039616565b60045550565b6001546001600160a01b031681565b60045490565b6000546001600160a01b031690565b6000546001600160a01b0316331490565b6104a861048f565b6104f9576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b610502826107f7565b61050b816107f7565b600180546001600160a01b038085166001600160a01b03199283168117909355600280549185169190921617905560408051918252517f143219c9e69b09e07e095fcc889b43d8f46ca892bba65f08dc3a0050869a56789181900360200190a1604080516001600160a01b038316815290517f78f058b189175430c48dc02699e3a0031ea4ff781536dc2fab847de4babdd8829181900360200190a16105af6108a6565b5050565b6040518060400160405280600b81526020016a111959985d5b1d141bdbdb60aa1b81525081565b6002546001600160a01b031681565b6105f161076c565b6002546003546001600160a01b0390911690610613908363ffffffff6107b516565b600381905560408051918252517f9a14ae677a60400af9176bed2e2d5ce8dfa6405e6c1702debb27668f567214289181900360200190a1604080516001600160a01b03831681526020810184905281517f6109e2559dfa766aaec7118351d48a523f0a4157f49c8d68749c8ac41318ad12929181900390910190a16040516000906001600160a01b0383169084908381818185875af1925050503d80600081146106d9576040519150601f19603f3d011682016040523d82523d6000602084013e6106de565b606091505b5050905080610734576040805162461bcd60e51b815260206004820152601f60248201527f44656661756c74506f6f6c3a2073656e64696e6720455448206661696c656400604482015290519081900360640190fd5b505050565b61074161076c565b600454610418908263ffffffff61039616565b600354610767903463ffffffff61039616565b600355565b6001546001600160a01b031633146103945760405162461bcd60e51b815260040180806020018281038252602b8152602001806109b1602b913960400191505060405180910390fd5b60006103f083836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506108f0565b6001600160a01b038116610852576040805162461bcd60e51b815260206004820152601e60248201527f4163636f756e742063616e6e6f74206265207a65726f20616464726573730000604482015290519081900360640190fd5b803b806105af576040805162461bcd60e51b815260206004820181905260248201527f4163636f756e7420636f64652073697a652063616e6e6f74206265207a65726f604482015290519081900360640190fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000818484111561097f5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561094457818101518382015260200161092c565b50505050905090810190601f1680156109715780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50505090039056fe44656661756c74506f6f6c3a2043616c6c6572206973206e6f742074686520416374697665506f6f6c44656661756c74506f6f6c3a2043616c6c6572206973206e6f74207468652054726f76654d616e61676572a26469706673582212205fc9f465ae92eb101bf09e522d508a12a23af684c4ea167dee6545e48726a6ba64736f6c634300060b0033", + "bytecode": "0x608060405234801561001057600080fd5b50610023336001600160e01b0361002816565b610110565b6001600160a01b03811661006d5760405162461bcd60e51b8152600401808060200182810382526022815260200180610c4e6022913960400191505060405180910390fd5b6001600160a01b0381166100886001600160e01b036100e616565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3604080517035b2bc9737bbb730b136329737bbb732b960791b8152905190819003601101902055565b604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205490565b610b2f8061011f6000396000f3fe6080604052600436106100b65760003560e01c806390107afe1161006f57806390107afe146101f557806393eaa71414610230578063a3f4df7e1461025a578063b08bc722146102e4578063be41205f146102f9578063f2e91d7114610323578063f3af7c3b1461034d5761010f565b806313af40351461011457806314f6c3be146101495780632439789a146101705780633963e9801461019a5780635a4d28bb146101af578063893d20e8146101e05761010f565b3661010f576100c3610355565b6002546100d6903463ffffffff6103a016565b600281905560408051918252517f9a14ae677a60400af9176bed2e2d5ce8dfa6405e6c1702debb27668f567214289181900360200190a1005b600080fd5b34801561012057600080fd5b506101476004803603602081101561013757600080fd5b50356001600160a01b0316610401565b005b34801561015557600080fd5b5061015e610474565b60408051918252519081900360200190f35b34801561017c57600080fd5b506101476004803603602081101561019357600080fd5b503561047a565b3480156101a657600080fd5b5061015e6104cf565b3480156101bb57600080fd5b506101c46104d5565b604080516001600160a01b039092168252519081900360200190f35b3480156101ec57600080fd5b506101c46104e4565b34801561020157600080fd5b506101476004803603604081101561021857600080fd5b506001600160a01b038135811691602001351661050e565b34801561023c57600080fd5b506101476004803603602081101561025357600080fd5b5035610627565b34801561026657600080fd5b5061026f610640565b6040805160208082528351818301528351919283929083019185019080838360005b838110156102a9578181015183820152602001610291565b50505050905090810190601f1680156102d65780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156102f057600080fd5b506101c4610667565b34801561030557600080fd5b506101476004803603602081101561031c57600080fd5b5035610676565b34801561032f57600080fd5b506101476004803603602081101561034657600080fd5b50356107c6565b6101476107e1565b6001546001600160a01b0316331461039e5760405162461bcd60e51b8152600401808060200182810382526029815260200180610a846029913960400191505060405180910390fd5b565b6000828201838110156103fa576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b6104096104e4565b6001600160a01b0316336001600160a01b031614610468576040805162461bcd60e51b815260206004820152601760248201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604482015290519081900360640190fd5b610471816107f9565b50565b60025490565b6104826108ae565b600354610495908263ffffffff6108f716565b600381905560408051918252517f636083bfd8929ae461979d51af53349434cd5ee35f983909b704bded4142b9519181900360200190a150565b60035490565b6000546001600160a01b031681565b604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205490565b6105166104e4565b6001600160a01b0316336001600160a01b031614610575576040805162461bcd60e51b815260206004820152601760248201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604482015290519081900360640190fd5b61057e82610939565b61058781610939565b600080546001600160a01b038085166001600160a01b03199283168117909355600180549185169190921617905560408051918252517f143219c9e69b09e07e095fcc889b43d8f46ca892bba65f08dc3a0050869a56789181900360200190a1604080516001600160a01b038316815290517f78f058b189175430c48dc02699e3a0031ea4ff781536dc2fab847de4babdd8829181900360200190a15050565b60035461063a908263ffffffff6103a016565b60035550565b6040518060400160405280600b81526020016a111959985d5b1d141bdbdb60aa1b81525081565b6001546001600160a01b031681565b61067e6108ae565b6001546002546001600160a01b03909116906106a0908363ffffffff6108f716565b600281905560408051918252517f9a14ae677a60400af9176bed2e2d5ce8dfa6405e6c1702debb27668f567214289181900360200190a1604080516001600160a01b03831681526020810184905281517f6109e2559dfa766aaec7118351d48a523f0a4157f49c8d68749c8ac41318ad12929181900390910190a16040516000906001600160a01b0383169084908381818185875af1925050503d8060008114610766576040519150601f19603f3d011682016040523d82523d6000602084013e61076b565b606091505b50509050806107c1576040805162461bcd60e51b815260206004820152601f60248201527f44656661756c74506f6f6c3a2073656e64696e6720455448206661696c656400604482015290519081900360640190fd5b505050565b6107ce6108ae565b600354610495908263ffffffff6103a016565b6002546107f4903463ffffffff6103a016565b600255565b6001600160a01b03811661083e5760405162461bcd60e51b8152600401808060200182810382526022815260200180610aad6022913960400191505060405180910390fd5b806001600160a01b03166108506104e4565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3604080517035b2bc9737bbb730b136329737bbb732b960791b8152905190819003601101902055565b6000546001600160a01b0316331461039e5760405162461bcd60e51b815260040180806020018281038252602b815260200180610acf602b913960400191505060405180910390fd5b60006103fa83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506109ec565b6001600160a01b038116610994576040805162461bcd60e51b815260206004820152601e60248201527f4163636f756e742063616e6e6f74206265207a65726f20616464726573730000604482015290519081900360640190fd5b803b806109e8576040805162461bcd60e51b815260206004820181905260248201527f4163636f756e7420636f64652073697a652063616e6e6f74206265207a65726f604482015290519081900360640190fd5b5050565b60008184841115610a7b5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610a40578181015183820152602001610a28565b50505050905090810190601f168015610a6d5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50505090039056fe44656661756c74506f6f6c3a2043616c6c6572206973206e6f742074686520416374697665506f6f6c4f776e61626c653a3a7365744f776e65723a20696e76616c6964206164647265737344656661756c74506f6f6c3a2043616c6c6572206973206e6f74207468652054726f76654d616e61676572a26469706673582212204b4745f728650ac3ff110d4f8bec8a8982853684f8768cae5dd17ea352e9343264736f6c634300060b00334f776e61626c653a3a7365744f776e65723a20696e76616c69642061646472657373", + "deployedBytecode": "0x6080604052600436106100b65760003560e01c806390107afe1161006f57806390107afe146101f557806393eaa71414610230578063a3f4df7e1461025a578063b08bc722146102e4578063be41205f146102f9578063f2e91d7114610323578063f3af7c3b1461034d5761010f565b806313af40351461011457806314f6c3be146101495780632439789a146101705780633963e9801461019a5780635a4d28bb146101af578063893d20e8146101e05761010f565b3661010f576100c3610355565b6002546100d6903463ffffffff6103a016565b600281905560408051918252517f9a14ae677a60400af9176bed2e2d5ce8dfa6405e6c1702debb27668f567214289181900360200190a1005b600080fd5b34801561012057600080fd5b506101476004803603602081101561013757600080fd5b50356001600160a01b0316610401565b005b34801561015557600080fd5b5061015e610474565b60408051918252519081900360200190f35b34801561017c57600080fd5b506101476004803603602081101561019357600080fd5b503561047a565b3480156101a657600080fd5b5061015e6104cf565b3480156101bb57600080fd5b506101c46104d5565b604080516001600160a01b039092168252519081900360200190f35b3480156101ec57600080fd5b506101c46104e4565b34801561020157600080fd5b506101476004803603604081101561021857600080fd5b506001600160a01b038135811691602001351661050e565b34801561023c57600080fd5b506101476004803603602081101561025357600080fd5b5035610627565b34801561026657600080fd5b5061026f610640565b6040805160208082528351818301528351919283929083019185019080838360005b838110156102a9578181015183820152602001610291565b50505050905090810190601f1680156102d65780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156102f057600080fd5b506101c4610667565b34801561030557600080fd5b506101476004803603602081101561031c57600080fd5b5035610676565b34801561032f57600080fd5b506101476004803603602081101561034657600080fd5b50356107c6565b6101476107e1565b6001546001600160a01b0316331461039e5760405162461bcd60e51b8152600401808060200182810382526029815260200180610a846029913960400191505060405180910390fd5b565b6000828201838110156103fa576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b6104096104e4565b6001600160a01b0316336001600160a01b031614610468576040805162461bcd60e51b815260206004820152601760248201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604482015290519081900360640190fd5b610471816107f9565b50565b60025490565b6104826108ae565b600354610495908263ffffffff6108f716565b600381905560408051918252517f636083bfd8929ae461979d51af53349434cd5ee35f983909b704bded4142b9519181900360200190a150565b60035490565b6000546001600160a01b031681565b604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205490565b6105166104e4565b6001600160a01b0316336001600160a01b031614610575576040805162461bcd60e51b815260206004820152601760248201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604482015290519081900360640190fd5b61057e82610939565b61058781610939565b600080546001600160a01b038085166001600160a01b03199283168117909355600180549185169190921617905560408051918252517f143219c9e69b09e07e095fcc889b43d8f46ca892bba65f08dc3a0050869a56789181900360200190a1604080516001600160a01b038316815290517f78f058b189175430c48dc02699e3a0031ea4ff781536dc2fab847de4babdd8829181900360200190a15050565b60035461063a908263ffffffff6103a016565b60035550565b6040518060400160405280600b81526020016a111959985d5b1d141bdbdb60aa1b81525081565b6001546001600160a01b031681565b61067e6108ae565b6001546002546001600160a01b03909116906106a0908363ffffffff6108f716565b600281905560408051918252517f9a14ae677a60400af9176bed2e2d5ce8dfa6405e6c1702debb27668f567214289181900360200190a1604080516001600160a01b03831681526020810184905281517f6109e2559dfa766aaec7118351d48a523f0a4157f49c8d68749c8ac41318ad12929181900390910190a16040516000906001600160a01b0383169084908381818185875af1925050503d8060008114610766576040519150601f19603f3d011682016040523d82523d6000602084013e61076b565b606091505b50509050806107c1576040805162461bcd60e51b815260206004820152601f60248201527f44656661756c74506f6f6c3a2073656e64696e6720455448206661696c656400604482015290519081900360640190fd5b505050565b6107ce6108ae565b600354610495908263ffffffff6103a016565b6002546107f4903463ffffffff6103a016565b600255565b6001600160a01b03811661083e5760405162461bcd60e51b8152600401808060200182810382526022815260200180610aad6022913960400191505060405180910390fd5b806001600160a01b03166108506104e4565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3604080517035b2bc9737bbb730b136329737bbb732b960791b8152905190819003601101902055565b6000546001600160a01b0316331461039e5760405162461bcd60e51b815260040180806020018281038252602b815260200180610acf602b913960400191505060405180910390fd5b60006103fa83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506109ec565b6001600160a01b038116610994576040805162461bcd60e51b815260206004820152601e60248201527f4163636f756e742063616e6e6f74206265207a65726f20616464726573730000604482015290519081900360640190fd5b803b806109e8576040805162461bcd60e51b815260206004820181905260248201527f4163636f756e7420636f64652073697a652063616e6e6f74206265207a65726f604482015290519081900360640190fd5b5050565b60008184841115610a7b5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610a40578181015183820152602001610a28565b50505050905090810190601f168015610a6d5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50505090039056fe44656661756c74506f6f6c3a2043616c6c6572206973206e6f742074686520416374697665506f6f6c4f776e61626c653a3a7365744f776e65723a20696e76616c6964206164647265737344656661756c74506f6f6c3a2043616c6c6572206973206e6f74207468652054726f76654d616e61676572a26469706673582212204b4745f728650ac3ff110d4f8bec8a8982853684f8768cae5dd17ea352e9343264736f6c634300060b0033", "linkReferences": {}, "deployedLinkReferences": {} } diff --git a/packages/lib-ethers/live/Destructible.json b/packages/lib-ethers/live/Destructible.json index d1dcd2f5f..c6876e222 100644 --- a/packages/lib-ethers/live/Destructible.json +++ b/packages/lib-ethers/live/Destructible.json @@ -21,8 +21,8 @@ "type": "receive" } ], - "bytecode": "0x6080604052348015600f57600080fd5b50609d8061001e6000396000f3fe608060405260043610601f5760003560e01c80631beb261514602a576025565b36602557005b600080fd5b348015603557600080fd5b50605960048036036020811015604a57600080fd5b50356001600160a01b0316605b565b005b806001600160a01b0316fffea26469706673582212200b1762b852fbae6f23b5617c9367a0d9686cadf3bb7096addbd9298f4b45b95264736f6c634300060b0033", - "deployedBytecode": "0x608060405260043610601f5760003560e01c80631beb261514602a576025565b36602557005b600080fd5b348015603557600080fd5b50605960048036036020811015604a57600080fd5b50356001600160a01b0316605b565b005b806001600160a01b0316fffea26469706673582212200b1762b852fbae6f23b5617c9367a0d9686cadf3bb7096addbd9298f4b45b95264736f6c634300060b0033", + "bytecode": "0x6080604052348015600f57600080fd5b50609d8061001e6000396000f3fe608060405260043610601f5760003560e01c80631beb261514602a576025565b36602557005b600080fd5b348015603557600080fd5b50605960048036036020811015604a57600080fd5b50356001600160a01b0316605b565b005b806001600160a01b0316fffea26469706673582212209f44f0650a962ecb0d60f0294efef0a4607c772fb78730c7f5b4a401ff23eeee64736f6c634300060b0033", + "deployedBytecode": "0x608060405260043610601f5760003560e01c80631beb261514602a576025565b36602557005b600080fd5b348015603557600080fd5b50605960048036036020811015604a57600080fd5b50356001600160a01b0316605b565b005b806001600160a01b0316fffea26469706673582212209f44f0650a962ecb0d60f0294efef0a4607c772fb78730c7f5b4a401ff23eeee64736f6c634300060b0033", "linkReferences": {}, "deployedLinkReferences": {} } diff --git a/packages/lib-ethers/live/ERC20Mock.json b/packages/lib-ethers/live/ERC20Mock.json deleted file mode 100644 index fa85d4ee8..000000000 --- a/packages/lib-ethers/live/ERC20Mock.json +++ /dev/null @@ -1,389 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "ERC20Mock", - "sourceName": "contracts/LPRewards/TestContracts/ERC20Mock.sol", - "abi": [ - { - "inputs": [ - { - "internalType": "string", - "name": "name", - "type": "string" - }, - { - "internalType": "string", - "name": "symbol", - "type": "string" - }, - { - "internalType": "address", - "name": "initialAccount", - "type": "address" - }, - { - "internalType": "uint256", - "name": "initialBalance", - "type": "uint256" - } - ], - "stateMutability": "payable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "Approval", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "Transfer", - "type": "event" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "address", - "name": "spender", - "type": "address" - } - ], - "name": "allowance", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "approve", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "approveInternal", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "balanceOf", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "burn", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "decimals", - "outputs": [ - { - "internalType": "uint8", - "name": "", - "type": "uint8" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "subtractedValue", - "type": "uint256" - } - ], - "name": "decreaseAllowance", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "addedValue", - "type": "uint256" - } - ], - "name": "increaseAllowance", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "mint", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "name", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "symbol", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "totalSupply", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "transfer", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "transferFrom", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "transferInternal", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": "0x6080604052604051620011ee380380620011ee833981810160405260808110156200002957600080fd5b81019080805160405193929190846401000000008211156200004a57600080fd5b9083019060208201858111156200006057600080fd5b82516401000000008111828201881017156200007b57600080fd5b82525081516020918201929091019080838360005b83811015620000aa57818101518382015260200162000090565b50505050905090810190601f168015620000d85780820380516001836020036101000a031916815260200191505b5060405260200180516040519392919084640100000000821115620000fc57600080fd5b9083019060208201858111156200011257600080fd5b82516401000000008111828201881017156200012d57600080fd5b82525081516020918201929091019080838360005b838110156200015c57818101518382015260200162000142565b50505050905090810190601f1680156200018a5780820380516001836020036101000a031916815260200191505b50604090815260208281015192909101518651929450925085918591620001b7916003918501906200037b565b508051620001cd9060049060208401906200037b565b50506005805460ff1916601217905550620001f282826001600160e01b03620001fc16565b5050505062000420565b6001600160a01b03821662000258576040805162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015290519081900360640190fd5b6200026f600083836001600160e01b036200031416565b6200028b816002546200031960201b620006aa1790919060201c565b6002556001600160a01b03821660009081526020818152604090912054620002be918390620006aa62000319821b17901c565b6001600160a01b0383166000818152602081815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b505050565b60008282018381101562000374576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620003be57805160ff1916838001178555620003ee565b82800160010185558215620003ee579182015b82811115620003ee578251825591602001919060010190620003d1565b50620003fc92915062000400565b5090565b6200041d91905b80821115620003fc576000815560010162000407565b90565b610dbe80620004306000396000f3fe608060405234801561001057600080fd5b50600436106100d55760003560e01c806340c10f191161008757806340c10f191461026957806356189cb41461029557806370a08231146102cb57806395d89b41146102f15780639dc29fac146102f9578063a457c2d714610325578063a9059cbb14610351578063dd62ed3e1461037d576100d5565b806306fdde03146100da578063095ea7b31461015757806318160ddd14610197578063222f5be0146101b157806323b872dd146101e9578063313ce5671461021f578063395093511461023d575b600080fd5b6100e26103ab565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561011c578181015183820152602001610104565b50505050905090810190601f1680156101495780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101836004803603604081101561016d57600080fd5b506001600160a01b038135169060200135610441565b604080519115158252519081900360200190f35b61019f61045e565b60408051918252519081900360200190f35b6101e7600480360360608110156101c757600080fd5b506001600160a01b03813581169160208101359091169060400135610464565b005b610183600480360360608110156101ff57600080fd5b506001600160a01b03813581169160208101359091169060400135610474565b610227610501565b6040805160ff9092168252519081900360200190f35b6101836004803603604081101561025357600080fd5b506001600160a01b03813516906020013561050a565b6101e76004803603604081101561027f57600080fd5b506001600160a01b03813516906020013561055e565b6101e7600480360360608110156102ab57600080fd5b506001600160a01b0381358116916020810135909116906040013561056c565b61019f600480360360208110156102e157600080fd5b50356001600160a01b0316610577565b6100e2610592565b6101e76004803603604081101561030f57600080fd5b506001600160a01b0381351690602001356105f3565b6101836004803603604081101561033b57600080fd5b506001600160a01b0381351690602001356105fd565b6101836004803603604081101561036757600080fd5b506001600160a01b03813516906020013561066b565b61019f6004803603604081101561039357600080fd5b506001600160a01b038135811691602001351661067f565b60038054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156104375780601f1061040c57610100808354040283529160200191610437565b820191906000526020600020905b81548152906001019060200180831161041a57829003601f168201915b5050505050905090565b600061045561044e61070b565b848461070f565b50600192915050565b60025490565b61046f8383836107fb565b505050565b60006104818484846107fb565b6104f78461048d61070b565b6104f285604051806060016040528060288152602001610cb2602891396001600160a01b038a166000908152600160205260408120906104cb61070b565b6001600160a01b03168152602081019190915260400160002054919063ffffffff61095016565b61070f565b5060019392505050565b60055460ff1690565b600061045561051761070b565b846104f2856001600061052861070b565b6001600160a01b03908116825260208083019390935260409182016000908120918c16815292529020549063ffffffff6106aa16565b61056882826109e7565b5050565b61046f83838361070f565b6001600160a01b031660009081526020819052604090205490565b60048054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156104375780601f1061040c57610100808354040283529160200191610437565b6105688282610ad1565b600061045561060a61070b565b846104f285604051806060016040528060258152602001610d64602591396001600061063461070b565b6001600160a01b03908116825260208083019390935260409182016000908120918d1681529252902054919063ffffffff61095016565b600061045561067861070b565b84846107fb565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b600082820183811015610704576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b3390565b6001600160a01b0383166107545760405162461bcd60e51b8152600401808060200182810382526024815260200180610d406024913960400191505060405180910390fd5b6001600160a01b0382166107995760405162461bcd60e51b8152600401808060200182810382526022815260200180610c6a6022913960400191505060405180910390fd5b6001600160a01b03808416600081815260016020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b0383166108405760405162461bcd60e51b8152600401808060200182810382526025815260200180610d1b6025913960400191505060405180910390fd5b6001600160a01b0382166108855760405162461bcd60e51b8152600401808060200182810382526023815260200180610c256023913960400191505060405180910390fd5b61089083838361046f565b6108d381604051806060016040528060268152602001610c8c602691396001600160a01b038616600090815260208190526040902054919063ffffffff61095016565b6001600160a01b038085166000908152602081905260408082209390935590841681522054610908908263ffffffff6106aa16565b6001600160a01b03808416600081815260208181526040918290209490945580518581529051919392871692600080516020610cda83398151915292918290030190a3505050565b600081848411156109df5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156109a457818101518382015260200161098c565b50505050905090810190601f1680156109d15780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b6001600160a01b038216610a42576040805162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015290519081900360640190fd5b610a4e6000838361046f565b600254610a61908263ffffffff6106aa16565b6002556001600160a01b038216600090815260208190526040902054610a8d908263ffffffff6106aa16565b6001600160a01b038316600081815260208181526040808320949094558351858152935192939192600080516020610cda8339815191529281900390910190a35050565b6001600160a01b038216610b165760405162461bcd60e51b8152600401808060200182810382526021815260200180610cfa6021913960400191505060405180910390fd5b610b228260008361046f565b610b6581604051806060016040528060228152602001610c48602291396001600160a01b038516600090815260208190526040902054919063ffffffff61095016565b6001600160a01b038316600090815260208190526040902055600254610b91908263ffffffff610bc716565b6002556040805182815290516000916001600160a01b03851691600080516020610cda8339815191529181900360200190a35050565b600082821115610c1e576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b5090039056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a206275726e20616d6f756e7420657863656564732062616c616e636545524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef45524332303a206275726e2066726f6d20746865207a65726f206164647265737345524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa26469706673582212209b1a2e1950a012d0e94d0ca060a5d6fa566c20773c8622db0bf0dcb084b370fc64736f6c634300060b0033", - "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100d55760003560e01c806340c10f191161008757806340c10f191461026957806356189cb41461029557806370a08231146102cb57806395d89b41146102f15780639dc29fac146102f9578063a457c2d714610325578063a9059cbb14610351578063dd62ed3e1461037d576100d5565b806306fdde03146100da578063095ea7b31461015757806318160ddd14610197578063222f5be0146101b157806323b872dd146101e9578063313ce5671461021f578063395093511461023d575b600080fd5b6100e26103ab565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561011c578181015183820152602001610104565b50505050905090810190601f1680156101495780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101836004803603604081101561016d57600080fd5b506001600160a01b038135169060200135610441565b604080519115158252519081900360200190f35b61019f61045e565b60408051918252519081900360200190f35b6101e7600480360360608110156101c757600080fd5b506001600160a01b03813581169160208101359091169060400135610464565b005b610183600480360360608110156101ff57600080fd5b506001600160a01b03813581169160208101359091169060400135610474565b610227610501565b6040805160ff9092168252519081900360200190f35b6101836004803603604081101561025357600080fd5b506001600160a01b03813516906020013561050a565b6101e76004803603604081101561027f57600080fd5b506001600160a01b03813516906020013561055e565b6101e7600480360360608110156102ab57600080fd5b506001600160a01b0381358116916020810135909116906040013561056c565b61019f600480360360208110156102e157600080fd5b50356001600160a01b0316610577565b6100e2610592565b6101e76004803603604081101561030f57600080fd5b506001600160a01b0381351690602001356105f3565b6101836004803603604081101561033b57600080fd5b506001600160a01b0381351690602001356105fd565b6101836004803603604081101561036757600080fd5b506001600160a01b03813516906020013561066b565b61019f6004803603604081101561039357600080fd5b506001600160a01b038135811691602001351661067f565b60038054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156104375780601f1061040c57610100808354040283529160200191610437565b820191906000526020600020905b81548152906001019060200180831161041a57829003601f168201915b5050505050905090565b600061045561044e61070b565b848461070f565b50600192915050565b60025490565b61046f8383836107fb565b505050565b60006104818484846107fb565b6104f78461048d61070b565b6104f285604051806060016040528060288152602001610cb2602891396001600160a01b038a166000908152600160205260408120906104cb61070b565b6001600160a01b03168152602081019190915260400160002054919063ffffffff61095016565b61070f565b5060019392505050565b60055460ff1690565b600061045561051761070b565b846104f2856001600061052861070b565b6001600160a01b03908116825260208083019390935260409182016000908120918c16815292529020549063ffffffff6106aa16565b61056882826109e7565b5050565b61046f83838361070f565b6001600160a01b031660009081526020819052604090205490565b60048054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156104375780601f1061040c57610100808354040283529160200191610437565b6105688282610ad1565b600061045561060a61070b565b846104f285604051806060016040528060258152602001610d64602591396001600061063461070b565b6001600160a01b03908116825260208083019390935260409182016000908120918d1681529252902054919063ffffffff61095016565b600061045561067861070b565b84846107fb565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b600082820183811015610704576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b3390565b6001600160a01b0383166107545760405162461bcd60e51b8152600401808060200182810382526024815260200180610d406024913960400191505060405180910390fd5b6001600160a01b0382166107995760405162461bcd60e51b8152600401808060200182810382526022815260200180610c6a6022913960400191505060405180910390fd5b6001600160a01b03808416600081815260016020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b0383166108405760405162461bcd60e51b8152600401808060200182810382526025815260200180610d1b6025913960400191505060405180910390fd5b6001600160a01b0382166108855760405162461bcd60e51b8152600401808060200182810382526023815260200180610c256023913960400191505060405180910390fd5b61089083838361046f565b6108d381604051806060016040528060268152602001610c8c602691396001600160a01b038616600090815260208190526040902054919063ffffffff61095016565b6001600160a01b038085166000908152602081905260408082209390935590841681522054610908908263ffffffff6106aa16565b6001600160a01b03808416600081815260208181526040918290209490945580518581529051919392871692600080516020610cda83398151915292918290030190a3505050565b600081848411156109df5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156109a457818101518382015260200161098c565b50505050905090810190601f1680156109d15780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b6001600160a01b038216610a42576040805162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015290519081900360640190fd5b610a4e6000838361046f565b600254610a61908263ffffffff6106aa16565b6002556001600160a01b038216600090815260208190526040902054610a8d908263ffffffff6106aa16565b6001600160a01b038316600081815260208181526040808320949094558351858152935192939192600080516020610cda8339815191529281900390910190a35050565b6001600160a01b038216610b165760405162461bcd60e51b8152600401808060200182810382526021815260200180610cfa6021913960400191505060405180910390fd5b610b228260008361046f565b610b6581604051806060016040528060228152602001610c48602291396001600160a01b038516600090815260208190526040902054919063ffffffff61095016565b6001600160a01b038316600090815260208190526040902055600254610b91908263ffffffff610bc716565b6002556040805182815290516000916001600160a01b03851691600080516020610cda8339815191529181900360200190a35050565b600082821115610c1e576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b5090039056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a206275726e20616d6f756e7420657863656564732062616c616e636545524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef45524332303a206275726e2066726f6d20746865207a65726f206164647265737345524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa26469706673582212209b1a2e1950a012d0e94d0ca060a5d6fa566c20773c8622db0bf0dcb084b370fc64736f6c634300060b0033", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/packages/lib-ethers/live/ETHTransferScript.json b/packages/lib-ethers/live/ETHTransferScript.json index 9266a16c5..f15dfd205 100644 --- a/packages/lib-ethers/live/ETHTransferScript.json +++ b/packages/lib-ethers/live/ETHTransferScript.json @@ -28,8 +28,8 @@ "type": "function" } ], - "bytecode": "0x608060405234801561001057600080fd5b5060fb8061001f6000396000f3fe6080604052348015600f57600080fd5b506004361060285760003560e01c80637b1a490914602d575b600080fd5b605660048036036040811015604157600080fd5b506001600160a01b038135169060200135606a565b604080519115158252519081900360200190f35b60405160009081906001600160a01b0385169084908381818185875af1925050503d806000811460b5576040519150601f19603f3d011682016040523d82523d6000602084013e60ba565b606091505b50909594505050505056fea26469706673582212201637ab86ec5c1ecc4915e519ca2bfe0e417ffdbb08a937328904d061cdab3aba64736f6c634300060b0033", - "deployedBytecode": "0x6080604052348015600f57600080fd5b506004361060285760003560e01c80637b1a490914602d575b600080fd5b605660048036036040811015604157600080fd5b506001600160a01b038135169060200135606a565b604080519115158252519081900360200190f35b60405160009081906001600160a01b0385169084908381818185875af1925050503d806000811460b5576040519150601f19603f3d011682016040523d82523d6000602084013e60ba565b606091505b50909594505050505056fea26469706673582212201637ab86ec5c1ecc4915e519ca2bfe0e417ffdbb08a937328904d061cdab3aba64736f6c634300060b0033", + "bytecode": "0x608060405234801561001057600080fd5b5060fb8061001f6000396000f3fe6080604052348015600f57600080fd5b506004361060285760003560e01c80637b1a490914602d575b600080fd5b605660048036036040811015604157600080fd5b506001600160a01b038135169060200135606a565b604080519115158252519081900360200190f35b60405160009081906001600160a01b0385169084908381818185875af1925050503d806000811460b5576040519150601f19603f3d011682016040523d82523d6000602084013e60ba565b606091505b50909594505050505056fea264697066735822122078b182b4bacf2b930d5b2922e90d915b35dcd549d4b0589f372fd9f8fe7b408564736f6c634300060b0033", + "deployedBytecode": "0x6080604052348015600f57600080fd5b506004361060285760003560e01c80637b1a490914602d575b600080fd5b605660048036036040811015604157600080fd5b506001600160a01b038135169060200135606a565b604080519115158252519081900360200190f35b60405160009081906001600160a01b0385169084908381818185875af1925050503d806000811460b5576040519150601f19603f3d011682016040523d82523d6000602084013e60ba565b606091505b50909594505050505056fea264697066735822122078b182b4bacf2b930d5b2922e90d915b35dcd549d4b0589f372fd9f8fe7b408564736f6c634300060b0033", "linkReferences": {}, "deployedLinkReferences": {} } diff --git a/packages/lib-ethers/live/EchidnaProxy.json b/packages/lib-ethers/live/EchidnaProxy.json index adc398257..ed74d8421 100644 --- a/packages/lib-ethers/live/EchidnaProxy.json +++ b/packages/lib-ethers/live/EchidnaProxy.json @@ -21,7 +21,7 @@ "type": "address" }, { - "internalType": "contract LUSDToken", + "internalType": "contract ZUSDToken", "name": "_zusdToken", "type": "address" } @@ -222,7 +222,7 @@ }, { "internalType": "uint256", - "name": "_LUSDAmount", + "name": "_ZUSDAmount", "type": "uint256" }, { @@ -268,7 +268,7 @@ "inputs": [ { "internalType": "uint256", - "name": "_LUSDAmount", + "name": "_ZUSDAmount", "type": "uint256" }, { @@ -325,7 +325,7 @@ "type": "address" } ], - "name": "repayLUSDPrx", + "name": "repayZUSDPrx", "outputs": [], "stateMutability": "nonpayable", "type": "function" @@ -442,7 +442,7 @@ "type": "uint256" } ], - "name": "withdrawLUSDPrx", + "name": "withdrawZUSDPrx", "outputs": [], "stateMutability": "nonpayable", "type": "function" @@ -452,8 +452,8 @@ "type": "receive" } ], - "bytecode": "0x608060405234801561001057600080fd5b50604051610e35380380610e358339818101604052608081101561003357600080fd5b50805160208201516040830151606090930151600080546001600160a01b039485166001600160a01b0319918216179091556001805493851693821693909317909255600280549484169483169490941790935560038054929093169116179055610d92806100a36000396000f3fe6080604052600436106100ed5760003560e01c80637a97d838116100855780637a97d8381461034f5780637bbb0f5e1461039057806391134731146103d1578063cc51a6c214610413578063cf83544f1461044c578063d466e4eb14610485578063d94bcec2146104be578063f47a1ea714610501578063fb8d67fc1461052b576100f4565b806332e859b9146100f957806335b101791461012f578063390b5f271461018a5780634903a3dd146101d75780634afbac51146101ec5780634c36240b146102695780634d37261f146102a2578063641b09b6146102d5578063650b559c146102ff576100f4565b366100f457005b600080fd5b61012d6004803603606081101561010f57600080fd5b508035906001600160a01b0360208201358116916040013516610574565b005b34801561013b57600080fd5b5061012d600480360360e081101561015257600080fd5b508035906001600160a01b03602082013581169160408101358216916060820135169060808101359060a08101359060c001356105eb565b34801561019657600080fd5b506101c3600480360360408110156101ad57600080fd5b506001600160a01b038135169060200135610683565b604080519115158252519081900360200190f35b3480156101e357600080fd5b5061012d61070f565b3480156101f857600080fd5b5061012d6004803603602081101561020f57600080fd5b81019060208101813564010000000081111561022a57600080fd5b82018360208201111561023c57600080fd5b8035906020019184602083028401116401000000008311171561025e57600080fd5b509092509050610779565b34801561027557600080fd5b5061012d6004803603604081101561028c57600080fd5b50803590602001356001600160a01b0316610812565b3480156102ae57600080fd5b5061012d600480360360208110156102c557600080fd5b50356001600160a01b0316610867565b3480156102e157600080fd5b5061012d600480360360208110156102f857600080fd5b50356108cd565b61012d600480360360e081101561031557600080fd5b5080359060208101359060408101359060608101351515906001600160a01b03608082013581169160a08101359091169060c0013561091a565b34801561035b57600080fd5b5061012d6004803603606081101561037257600080fd5b508035906001600160a01b03602082013581169160400135166109b2565b34801561039c57600080fd5b5061012d600480360360608110156103b357600080fd5b508035906001600160a01b0360208201358116916040013516610a2c565b61012d600480360360a08110156103e757600080fd5b508035906020810135906001600160a01b03604082013581169160608101359091169060800135610a89565b34801561041f57600080fd5b506101c36004803603604081101561043657600080fd5b506001600160a01b038135169060200135610b10565b34801561045857600080fd5b506101c36004803603604081101561046f57600080fd5b506001600160a01b038135169060200135610b69565b34801561049157600080fd5b506101c3600480360360408110156104a857600080fd5b506001600160a01b038135169060200135610bc2565b3480156104ca57600080fd5b506101c3600480360360608110156104e157600080fd5b506001600160a01b03813581169160208101359091169060400135610c1b565b34801561050d57600080fd5b5061012d6004803603602081101561052457600080fd5b5035610cb0565b34801561053757600080fd5b5061012d6004803603608081101561054e57600080fd5b508035906001600160a01b03602082013581169160408101359091169060600135610cf8565b600154604080516368647db160e01b81526001600160a01b0385811660048301528481166024830152915191909216916368647db191869160448082019260009290919082900301818588803b1580156105cd57600080fd5b505af11580156105e1573d6000803e3d6000fd5b5050505050505050565b6000805460408051635e69ba9360e11b8152600481018b90526001600160a01b038a81166024830152898116604483015288811660648301526084820188905260a4820187905260c482018690529151919092169263bcd375269260e4808201939182900301818387803b15801561066257600080fd5b505af1158015610676573d6000803e3d6000fd5b5050505050505050505050565b6003546040805163a9059cbb60e01b81526001600160a01b038581166004830152602482018590529151600093929092169163a9059cbb9160448082019260209290919082900301818787803b1580156106dc57600080fd5b505af11580156106f0573d6000803e3d6000fd5b505050506040513d602081101561070657600080fd5b50519392505050565b600160009054906101000a90046001600160a01b03166001600160a01b0316630e704d506040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561075f57600080fd5b505af1158015610773573d6000803e3d6000fd5b50505050565b600054604051631e8b1c2b60e01b8152602060048201818152602483018590526001600160a01b0390931692631e8b1c2b92869286929182916044909101908590850280828437600081840152601f19601f8201169050808301925050509350505050600060405180830381600087803b1580156107f657600080fd5b505af115801561080a573d6000803e3d6000fd5b505050505050565b60025460408051635f788d6560e01b8152600481018590526001600160a01b03848116602483015291519190921691635f788d6591604480830192600092919082900301818387803b1580156107f657600080fd5b60008054604080516305f0caad60e31b81526001600160a01b03858116600483015291519190921692632f865568926024808201939182900301818387803b1580156108b257600080fd5b505af11580156108c6573d6000803e3d6000fd5b5050505050565b60025460408051632e54bf9560e01b81526004810184905290516001600160a01b0390921691632e54bf959160248082019260009290919082900301818387803b1580156108b257600080fd5b60015460408051630635367960e51b815260048101849052602481018990526044810188905286151560648201526001600160a01b03868116608483015285811660a48301529151919092169163c6a6cf20918a9160c48082019260009290919082900301818588803b15801561099057600080fd5b505af11580156109a4573d6000803e3d6000fd5b505050505050505050505050565b600154604080516304491fa760e01b8152600481018690526001600160a01b0385811660248301528481166044830152915191909216916304491fa791606480830192600092919082900301818387803b158015610a0f57600080fd5b505af1158015610a23573d6000803e3d6000fd5b50505050505050565b6001546040805163154c09cf60e21b8152600481018690526001600160a01b038581166024830152848116604483015291519190921691635530273c91606480830192600092919082900301818387803b158015610a0f57600080fd5b6001546040805163860665b360e01b815260048101849052602481018790526001600160a01b03868116604483015285811660648301529151919092169163860665b391889160848082019260009290919082900301818588803b158015610af057600080fd5b505af1158015610b04573d6000803e3d6000fd5b50505050505050505050565b60035460408051633950935160e01b81526001600160a01b038581166004830152602482018590529151600093929092169163395093519160448082019260209290919082900301818787803b1580156106dc57600080fd5b6003546040805163095ea7b360e01b81526001600160a01b038581166004830152602482018590529151600093929092169163095ea7b39160448082019260209290919082900301818787803b1580156106dc57600080fd5b6003546040805163a457c2d760e01b81526001600160a01b038581166004830152602482018590529151600093929092169163a457c2d79160448082019260209290919082900301818787803b1580156106dc57600080fd5b600354604080516323b872dd60e01b81526001600160a01b038681166004830152858116602483015260448201859052915160009392909216916323b872dd9160648082019260209290919082900301818787803b158015610c7c57600080fd5b505af1158015610c90573d6000803e3d6000fd5b505050506040513d6020811015610ca657600080fd5b5051949350505050565b600080546040805163653d46e760e01b81526004810185905290516001600160a01b039092169263653d46e79260248084019382900301818387803b1580156108b257600080fd5b600154604080516302309cbf60e31b815260048101849052602481018790526001600160a01b038681166044830152858116606483015291519190921691631184e5f891608480830192600092919082900301818387803b1580156105cd57600080fdfea2646970667358221220e0c37da3993278cfbf2118993e869007153c5e698727c39e00e1693577976eaf64736f6c634300060b0033", - "deployedBytecode": "0x6080604052600436106100ed5760003560e01c80637a97d838116100855780637a97d8381461034f5780637bbb0f5e1461039057806391134731146103d1578063cc51a6c214610413578063cf83544f1461044c578063d466e4eb14610485578063d94bcec2146104be578063f47a1ea714610501578063fb8d67fc1461052b576100f4565b806332e859b9146100f957806335b101791461012f578063390b5f271461018a5780634903a3dd146101d75780634afbac51146101ec5780634c36240b146102695780634d37261f146102a2578063641b09b6146102d5578063650b559c146102ff576100f4565b366100f457005b600080fd5b61012d6004803603606081101561010f57600080fd5b508035906001600160a01b0360208201358116916040013516610574565b005b34801561013b57600080fd5b5061012d600480360360e081101561015257600080fd5b508035906001600160a01b03602082013581169160408101358216916060820135169060808101359060a08101359060c001356105eb565b34801561019657600080fd5b506101c3600480360360408110156101ad57600080fd5b506001600160a01b038135169060200135610683565b604080519115158252519081900360200190f35b3480156101e357600080fd5b5061012d61070f565b3480156101f857600080fd5b5061012d6004803603602081101561020f57600080fd5b81019060208101813564010000000081111561022a57600080fd5b82018360208201111561023c57600080fd5b8035906020019184602083028401116401000000008311171561025e57600080fd5b509092509050610779565b34801561027557600080fd5b5061012d6004803603604081101561028c57600080fd5b50803590602001356001600160a01b0316610812565b3480156102ae57600080fd5b5061012d600480360360208110156102c557600080fd5b50356001600160a01b0316610867565b3480156102e157600080fd5b5061012d600480360360208110156102f857600080fd5b50356108cd565b61012d600480360360e081101561031557600080fd5b5080359060208101359060408101359060608101351515906001600160a01b03608082013581169160a08101359091169060c0013561091a565b34801561035b57600080fd5b5061012d6004803603606081101561037257600080fd5b508035906001600160a01b03602082013581169160400135166109b2565b34801561039c57600080fd5b5061012d600480360360608110156103b357600080fd5b508035906001600160a01b0360208201358116916040013516610a2c565b61012d600480360360a08110156103e757600080fd5b508035906020810135906001600160a01b03604082013581169160608101359091169060800135610a89565b34801561041f57600080fd5b506101c36004803603604081101561043657600080fd5b506001600160a01b038135169060200135610b10565b34801561045857600080fd5b506101c36004803603604081101561046f57600080fd5b506001600160a01b038135169060200135610b69565b34801561049157600080fd5b506101c3600480360360408110156104a857600080fd5b506001600160a01b038135169060200135610bc2565b3480156104ca57600080fd5b506101c3600480360360608110156104e157600080fd5b506001600160a01b03813581169160208101359091169060400135610c1b565b34801561050d57600080fd5b5061012d6004803603602081101561052457600080fd5b5035610cb0565b34801561053757600080fd5b5061012d6004803603608081101561054e57600080fd5b508035906001600160a01b03602082013581169160408101359091169060600135610cf8565b600154604080516368647db160e01b81526001600160a01b0385811660048301528481166024830152915191909216916368647db191869160448082019260009290919082900301818588803b1580156105cd57600080fd5b505af11580156105e1573d6000803e3d6000fd5b5050505050505050565b6000805460408051635e69ba9360e11b8152600481018b90526001600160a01b038a81166024830152898116604483015288811660648301526084820188905260a4820187905260c482018690529151919092169263bcd375269260e4808201939182900301818387803b15801561066257600080fd5b505af1158015610676573d6000803e3d6000fd5b5050505050505050505050565b6003546040805163a9059cbb60e01b81526001600160a01b038581166004830152602482018590529151600093929092169163a9059cbb9160448082019260209290919082900301818787803b1580156106dc57600080fd5b505af11580156106f0573d6000803e3d6000fd5b505050506040513d602081101561070657600080fd5b50519392505050565b600160009054906101000a90046001600160a01b03166001600160a01b0316630e704d506040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561075f57600080fd5b505af1158015610773573d6000803e3d6000fd5b50505050565b600054604051631e8b1c2b60e01b8152602060048201818152602483018590526001600160a01b0390931692631e8b1c2b92869286929182916044909101908590850280828437600081840152601f19601f8201169050808301925050509350505050600060405180830381600087803b1580156107f657600080fd5b505af115801561080a573d6000803e3d6000fd5b505050505050565b60025460408051635f788d6560e01b8152600481018590526001600160a01b03848116602483015291519190921691635f788d6591604480830192600092919082900301818387803b1580156107f657600080fd5b60008054604080516305f0caad60e31b81526001600160a01b03858116600483015291519190921692632f865568926024808201939182900301818387803b1580156108b257600080fd5b505af11580156108c6573d6000803e3d6000fd5b5050505050565b60025460408051632e54bf9560e01b81526004810184905290516001600160a01b0390921691632e54bf959160248082019260009290919082900301818387803b1580156108b257600080fd5b60015460408051630635367960e51b815260048101849052602481018990526044810188905286151560648201526001600160a01b03868116608483015285811660a48301529151919092169163c6a6cf20918a9160c48082019260009290919082900301818588803b15801561099057600080fd5b505af11580156109a4573d6000803e3d6000fd5b505050505050505050505050565b600154604080516304491fa760e01b8152600481018690526001600160a01b0385811660248301528481166044830152915191909216916304491fa791606480830192600092919082900301818387803b158015610a0f57600080fd5b505af1158015610a23573d6000803e3d6000fd5b50505050505050565b6001546040805163154c09cf60e21b8152600481018690526001600160a01b038581166024830152848116604483015291519190921691635530273c91606480830192600092919082900301818387803b158015610a0f57600080fd5b6001546040805163860665b360e01b815260048101849052602481018790526001600160a01b03868116604483015285811660648301529151919092169163860665b391889160848082019260009290919082900301818588803b158015610af057600080fd5b505af1158015610b04573d6000803e3d6000fd5b50505050505050505050565b60035460408051633950935160e01b81526001600160a01b038581166004830152602482018590529151600093929092169163395093519160448082019260209290919082900301818787803b1580156106dc57600080fd5b6003546040805163095ea7b360e01b81526001600160a01b038581166004830152602482018590529151600093929092169163095ea7b39160448082019260209290919082900301818787803b1580156106dc57600080fd5b6003546040805163a457c2d760e01b81526001600160a01b038581166004830152602482018590529151600093929092169163a457c2d79160448082019260209290919082900301818787803b1580156106dc57600080fd5b600354604080516323b872dd60e01b81526001600160a01b038681166004830152858116602483015260448201859052915160009392909216916323b872dd9160648082019260209290919082900301818787803b158015610c7c57600080fd5b505af1158015610c90573d6000803e3d6000fd5b505050506040513d6020811015610ca657600080fd5b5051949350505050565b600080546040805163653d46e760e01b81526004810185905290516001600160a01b039092169263653d46e79260248084019382900301818387803b1580156108b257600080fd5b600154604080516302309cbf60e31b815260048101849052602481018790526001600160a01b038681166044830152858116606483015291519190921691631184e5f891608480830192600092919082900301818387803b1580156105cd57600080fdfea2646970667358221220e0c37da3993278cfbf2118993e869007153c5e698727c39e00e1693577976eaf64736f6c634300060b0033", + "bytecode": "0x608060405234801561001057600080fd5b50604051610e35380380610e358339818101604052608081101561003357600080fd5b50805160208201516040830151606090930151600080546001600160a01b039485166001600160a01b0319918216179091556001805493851693821693909317909255600280549484169483169490941790935560038054929093169116179055610d92806100a36000396000f3fe6080604052600436106100ed5760003560e01c8063650b559c11610085578063650b559c1461034857806372d76c87146103985780637bbb0f5e146103d9578063911347311461041a578063cc51a6c21461045c578063cf83544f14610495578063d466e4eb146104ce578063d94bcec214610507578063f47a1ea71461054a576100f4565b806332e859b9146100f95780633332b3281461012f57806335b1017914610178578063390b5f27146101d35780634903a3dd146102205780634afbac51146102355780634c36240b146102b25780634d37261f146102eb578063641b09b61461031e576100f4565b366100f457005b600080fd5b61012d6004803603606081101561010f57600080fd5b508035906001600160a01b0360208201358116916040013516610574565b005b34801561013b57600080fd5b5061012d6004803603608081101561015257600080fd5b508035906001600160a01b036020820135811691604081013590911690606001356105eb565b34801561018457600080fd5b5061012d600480360360e081101561019b57600080fd5b508035906001600160a01b03602082013581169160408101358216916060820135169060808101359060a08101359060c0013561064f565b3480156101df57600080fd5b5061020c600480360360408110156101f657600080fd5b506001600160a01b0381351690602001356106e7565b604080519115158252519081900360200190f35b34801561022c57600080fd5b5061012d610773565b34801561024157600080fd5b5061012d6004803603602081101561025857600080fd5b81019060208101813564010000000081111561027357600080fd5b82018360208201111561028557600080fd5b803590602001918460208302840111640100000000831117156102a757600080fd5b5090925090506107dd565b3480156102be57600080fd5b5061012d600480360360408110156102d557600080fd5b50803590602001356001600160a01b0316610876565b3480156102f757600080fd5b5061012d6004803603602081101561030e57600080fd5b50356001600160a01b03166108cb565b34801561032a57600080fd5b5061012d6004803603602081101561034157600080fd5b5035610931565b61012d600480360360e081101561035e57600080fd5b5080359060208101359060408101359060608101351515906001600160a01b03608082013581169160a08101359091169060c0013561097e565b3480156103a457600080fd5b5061012d600480360360608110156103bb57600080fd5b508035906001600160a01b0360208201358116916040013516610a16565b3480156103e557600080fd5b5061012d600480360360608110156103fc57600080fd5b508035906001600160a01b0360208201358116916040013516610a90565b61012d600480360360a081101561043057600080fd5b508035906020810135906001600160a01b03604082013581169160608101359091169060800135610aed565b34801561046857600080fd5b5061020c6004803603604081101561047f57600080fd5b506001600160a01b038135169060200135610b74565b3480156104a157600080fd5b5061020c600480360360408110156104b857600080fd5b506001600160a01b038135169060200135610bcd565b3480156104da57600080fd5b5061020c600480360360408110156104f157600080fd5b506001600160a01b038135169060200135610c26565b34801561051357600080fd5b5061020c6004803603606081101561052a57600080fd5b506001600160a01b03813581169160208101359091169060400135610c7f565b34801561055657600080fd5b5061012d6004803603602081101561056d57600080fd5b5035610d14565b600154604080516368647db160e01b81526001600160a01b0385811660048301528481166024830152915191909216916368647db191869160448082019260009290919082900301818588803b1580156105cd57600080fd5b505af11580156105e1573d6000803e3d6000fd5b5050505050505050565b600154604080516303752b4b60e51b815260048101849052602481018790526001600160a01b038681166044830152858116606483015291519190921691636ea5696091608480830192600092919082900301818387803b1580156105cd57600080fd5b6000805460408051635e69ba9360e11b8152600481018b90526001600160a01b038a81166024830152898116604483015288811660648301526084820188905260a4820187905260c482018690529151919092169263bcd375269260e4808201939182900301818387803b1580156106c657600080fd5b505af11580156106da573d6000803e3d6000fd5b5050505050505050505050565b6003546040805163a9059cbb60e01b81526001600160a01b038581166004830152602482018590529151600093929092169163a9059cbb9160448082019260209290919082900301818787803b15801561074057600080fd5b505af1158015610754573d6000803e3d6000fd5b505050506040513d602081101561076a57600080fd5b50519392505050565b600160009054906101000a90046001600160a01b03166001600160a01b0316630e704d506040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156107c357600080fd5b505af11580156107d7573d6000803e3d6000fd5b50505050565b600054604051631e8b1c2b60e01b8152602060048201818152602483018590526001600160a01b0390931692631e8b1c2b92869286929182916044909101908590850280828437600081840152601f19601f8201169050808301925050509350505050600060405180830381600087803b15801561085a57600080fd5b505af115801561086e573d6000803e3d6000fd5b505050505050565b60025460408051635f788d6560e01b8152600481018590526001600160a01b03848116602483015291519190921691635f788d6591604480830192600092919082900301818387803b15801561085a57600080fd5b60008054604080516305f0caad60e31b81526001600160a01b03858116600483015291519190921692632f865568926024808201939182900301818387803b15801561091657600080fd5b505af115801561092a573d6000803e3d6000fd5b5050505050565b60025460408051632e54bf9560e01b81526004810184905290516001600160a01b0390921691632e54bf959160248082019260009290919082900301818387803b15801561091657600080fd5b60015460408051630635367960e51b815260048101849052602481018990526044810188905286151560648201526001600160a01b03868116608483015285811660a48301529151919092169163c6a6cf20918a9160c48082019260009290919082900301818588803b1580156109f457600080fd5b505af1158015610a08573d6000803e3d6000fd5b505050505050505050505050565b6001546040805163afbc74b560e01b8152600481018690526001600160a01b03858116602483015284811660448301529151919092169163afbc74b591606480830192600092919082900301818387803b158015610a7357600080fd5b505af1158015610a87573d6000803e3d6000fd5b50505050505050565b6001546040805163154c09cf60e21b8152600481018690526001600160a01b038581166024830152848116604483015291519190921691635530273c91606480830192600092919082900301818387803b158015610a7357600080fd5b6001546040805163860665b360e01b815260048101849052602481018790526001600160a01b03868116604483015285811660648301529151919092169163860665b391889160848082019260009290919082900301818588803b158015610b5457600080fd5b505af1158015610b68573d6000803e3d6000fd5b50505050505050505050565b60035460408051633950935160e01b81526001600160a01b038581166004830152602482018590529151600093929092169163395093519160448082019260209290919082900301818787803b15801561074057600080fd5b6003546040805163095ea7b360e01b81526001600160a01b038581166004830152602482018590529151600093929092169163095ea7b39160448082019260209290919082900301818787803b15801561074057600080fd5b6003546040805163a457c2d760e01b81526001600160a01b038581166004830152602482018590529151600093929092169163a457c2d79160448082019260209290919082900301818787803b15801561074057600080fd5b600354604080516323b872dd60e01b81526001600160a01b038681166004830152858116602483015260448201859052915160009392909216916323b872dd9160648082019260209290919082900301818787803b158015610ce057600080fd5b505af1158015610cf4573d6000803e3d6000fd5b505050506040513d6020811015610d0a57600080fd5b5051949350505050565b600080546040805163653d46e760e01b81526004810185905290516001600160a01b039092169263653d46e79260248084019382900301818387803b15801561091657600080fdfea264697066735822122012ac4d1a12df541b01c9dac4edc3b532ed9e20c4b17857d25541d24b0c54a5fb64736f6c634300060b0033", + "deployedBytecode": "0x6080604052600436106100ed5760003560e01c8063650b559c11610085578063650b559c1461034857806372d76c87146103985780637bbb0f5e146103d9578063911347311461041a578063cc51a6c21461045c578063cf83544f14610495578063d466e4eb146104ce578063d94bcec214610507578063f47a1ea71461054a576100f4565b806332e859b9146100f95780633332b3281461012f57806335b1017914610178578063390b5f27146101d35780634903a3dd146102205780634afbac51146102355780634c36240b146102b25780634d37261f146102eb578063641b09b61461031e576100f4565b366100f457005b600080fd5b61012d6004803603606081101561010f57600080fd5b508035906001600160a01b0360208201358116916040013516610574565b005b34801561013b57600080fd5b5061012d6004803603608081101561015257600080fd5b508035906001600160a01b036020820135811691604081013590911690606001356105eb565b34801561018457600080fd5b5061012d600480360360e081101561019b57600080fd5b508035906001600160a01b03602082013581169160408101358216916060820135169060808101359060a08101359060c0013561064f565b3480156101df57600080fd5b5061020c600480360360408110156101f657600080fd5b506001600160a01b0381351690602001356106e7565b604080519115158252519081900360200190f35b34801561022c57600080fd5b5061012d610773565b34801561024157600080fd5b5061012d6004803603602081101561025857600080fd5b81019060208101813564010000000081111561027357600080fd5b82018360208201111561028557600080fd5b803590602001918460208302840111640100000000831117156102a757600080fd5b5090925090506107dd565b3480156102be57600080fd5b5061012d600480360360408110156102d557600080fd5b50803590602001356001600160a01b0316610876565b3480156102f757600080fd5b5061012d6004803603602081101561030e57600080fd5b50356001600160a01b03166108cb565b34801561032a57600080fd5b5061012d6004803603602081101561034157600080fd5b5035610931565b61012d600480360360e081101561035e57600080fd5b5080359060208101359060408101359060608101351515906001600160a01b03608082013581169160a08101359091169060c0013561097e565b3480156103a457600080fd5b5061012d600480360360608110156103bb57600080fd5b508035906001600160a01b0360208201358116916040013516610a16565b3480156103e557600080fd5b5061012d600480360360608110156103fc57600080fd5b508035906001600160a01b0360208201358116916040013516610a90565b61012d600480360360a081101561043057600080fd5b508035906020810135906001600160a01b03604082013581169160608101359091169060800135610aed565b34801561046857600080fd5b5061020c6004803603604081101561047f57600080fd5b506001600160a01b038135169060200135610b74565b3480156104a157600080fd5b5061020c600480360360408110156104b857600080fd5b506001600160a01b038135169060200135610bcd565b3480156104da57600080fd5b5061020c600480360360408110156104f157600080fd5b506001600160a01b038135169060200135610c26565b34801561051357600080fd5b5061020c6004803603606081101561052a57600080fd5b506001600160a01b03813581169160208101359091169060400135610c7f565b34801561055657600080fd5b5061012d6004803603602081101561056d57600080fd5b5035610d14565b600154604080516368647db160e01b81526001600160a01b0385811660048301528481166024830152915191909216916368647db191869160448082019260009290919082900301818588803b1580156105cd57600080fd5b505af11580156105e1573d6000803e3d6000fd5b5050505050505050565b600154604080516303752b4b60e51b815260048101849052602481018790526001600160a01b038681166044830152858116606483015291519190921691636ea5696091608480830192600092919082900301818387803b1580156105cd57600080fd5b6000805460408051635e69ba9360e11b8152600481018b90526001600160a01b038a81166024830152898116604483015288811660648301526084820188905260a4820187905260c482018690529151919092169263bcd375269260e4808201939182900301818387803b1580156106c657600080fd5b505af11580156106da573d6000803e3d6000fd5b5050505050505050505050565b6003546040805163a9059cbb60e01b81526001600160a01b038581166004830152602482018590529151600093929092169163a9059cbb9160448082019260209290919082900301818787803b15801561074057600080fd5b505af1158015610754573d6000803e3d6000fd5b505050506040513d602081101561076a57600080fd5b50519392505050565b600160009054906101000a90046001600160a01b03166001600160a01b0316630e704d506040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156107c357600080fd5b505af11580156107d7573d6000803e3d6000fd5b50505050565b600054604051631e8b1c2b60e01b8152602060048201818152602483018590526001600160a01b0390931692631e8b1c2b92869286929182916044909101908590850280828437600081840152601f19601f8201169050808301925050509350505050600060405180830381600087803b15801561085a57600080fd5b505af115801561086e573d6000803e3d6000fd5b505050505050565b60025460408051635f788d6560e01b8152600481018590526001600160a01b03848116602483015291519190921691635f788d6591604480830192600092919082900301818387803b15801561085a57600080fd5b60008054604080516305f0caad60e31b81526001600160a01b03858116600483015291519190921692632f865568926024808201939182900301818387803b15801561091657600080fd5b505af115801561092a573d6000803e3d6000fd5b5050505050565b60025460408051632e54bf9560e01b81526004810184905290516001600160a01b0390921691632e54bf959160248082019260009290919082900301818387803b15801561091657600080fd5b60015460408051630635367960e51b815260048101849052602481018990526044810188905286151560648201526001600160a01b03868116608483015285811660a48301529151919092169163c6a6cf20918a9160c48082019260009290919082900301818588803b1580156109f457600080fd5b505af1158015610a08573d6000803e3d6000fd5b505050505050505050505050565b6001546040805163afbc74b560e01b8152600481018690526001600160a01b03858116602483015284811660448301529151919092169163afbc74b591606480830192600092919082900301818387803b158015610a7357600080fd5b505af1158015610a87573d6000803e3d6000fd5b50505050505050565b6001546040805163154c09cf60e21b8152600481018690526001600160a01b038581166024830152848116604483015291519190921691635530273c91606480830192600092919082900301818387803b158015610a7357600080fd5b6001546040805163860665b360e01b815260048101849052602481018790526001600160a01b03868116604483015285811660648301529151919092169163860665b391889160848082019260009290919082900301818588803b158015610b5457600080fd5b505af1158015610b68573d6000803e3d6000fd5b50505050505050505050565b60035460408051633950935160e01b81526001600160a01b038581166004830152602482018590529151600093929092169163395093519160448082019260209290919082900301818787803b15801561074057600080fd5b6003546040805163095ea7b360e01b81526001600160a01b038581166004830152602482018590529151600093929092169163095ea7b39160448082019260209290919082900301818787803b15801561074057600080fd5b6003546040805163a457c2d760e01b81526001600160a01b038581166004830152602482018590529151600093929092169163a457c2d79160448082019260209290919082900301818787803b15801561074057600080fd5b600354604080516323b872dd60e01b81526001600160a01b038681166004830152858116602483015260448201859052915160009392909216916323b872dd9160648082019260209290919082900301818787803b158015610ce057600080fd5b505af1158015610cf4573d6000803e3d6000fd5b505050506040513d6020811015610d0a57600080fd5b5051949350505050565b600080546040805163653d46e760e01b81526004810185905290516001600160a01b039092169263653d46e79260248084019382900301818387803b15801561091657600080fdfea264697066735822122012ac4d1a12df541b01c9dac4edc3b532ed9e20c4b17857d25541d24b0c54a5fb64736f6c634300060b0033", "linkReferences": {}, "deployedLinkReferences": {} } diff --git a/packages/lib-ethers/live/EchidnaTester.json b/packages/lib-ethers/live/EchidnaTester.json index 54bf4afbe..e787cb58d 100644 --- a/packages/lib-ethers/live/EchidnaTester.json +++ b/packages/lib-ethers/live/EchidnaTester.json @@ -310,7 +310,7 @@ }, { "inputs": [], - "name": "echidna_LUSD_global_balances", + "name": "echidna_ZUSD_global_balances", "outputs": [ { "internalType": "bool", @@ -466,10 +466,10 @@ }, { "inputs": [], - "name": "zusdToken", + "name": "liquityBaseParams", "outputs": [ { - "internalType": "contract LUSDToken", + "internalType": "contract LiquityBaseParams", "name": "", "type": "address" } @@ -491,7 +491,7 @@ }, { "internalType": "uint256", - "name": "_LUSDAmount", + "name": "_ZUSDAmount", "type": "uint256" } ], @@ -514,7 +514,7 @@ }, { "internalType": "uint256", - "name": "_LUSDAmount", + "name": "_ZUSDAmount", "type": "uint256" }, { @@ -570,7 +570,7 @@ }, { "internalType": "uint256", - "name": "_LUSDAmount", + "name": "_ZUSDAmount", "type": "uint256" }, { @@ -622,7 +622,7 @@ "type": "address" } ], - "name": "repayLUSDExt", + "name": "repayZUSDExt", "outputs": [], "stateMutability": "nonpayable", "type": "function" @@ -729,6 +729,19 @@ "stateMutability": "view", "type": "function" }, + { + "inputs": [], + "name": "troveManagerRedeemOps", + "outputs": [ + { + "internalType": "contract TroveManagerRedeemOps", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, { "inputs": [ { @@ -803,14 +816,27 @@ "type": "uint256" } ], - "name": "withdrawLUSDExt", + "name": "withdrawZUSDExt", "outputs": [], "stateMutability": "nonpayable", "type": "function" + }, + { + "inputs": [], + "name": "zusdToken", + "outputs": [ + { + "internalType": "contract ZUSDToken", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" } ], - "bytecode": "0x6080604052604051620000129062000ab0565b604051809103906000f0801580156200002f573d6000803e3d6000fd5b50600380546001600160a01b0319166001600160a01b03929092169190911790556040516200005e9062000abe565b604051809103906000f0801580156200007b573d6000803e3d6000fd5b50600480546001600160a01b0319166001600160a01b0392909216919091179055604051620000aa9062000acc565b604051809103906000f080158015620000c7573d6000803e3d6000fd5b50600580546001600160a01b0319166001600160a01b0392909216919091179055604051620000f69062000ada565b604051809103906000f08015801562000113573d6000803e3d6000fd5b50600680546001600160a01b0319166001600160a01b0392909216919091179055604051620001429062000ae8565b604051809103906000f0801580156200015f573d6000803e3d6000fd5b50600780546001600160a01b0319166001600160a01b03929092169190911790556040516200018e9062000af6565b604051809103906000f080158015620001ab573d6000803e3d6000fd5b50600880546001600160a01b0319166001600160a01b039283161790556003546007546004546040519284169391821692911690620001ea9062000b03565b6001600160a01b03938416815291831660208301529091166040808301919091525190819003606001906000f0801580156200022a573d6000803e3d6000fd5b50600a80546001600160a01b0319166001600160a01b0392909216919091179055604051620002599062000b11565b604051809103906000f08015801562000276573d6000803e3d6000fd5b50600980546001600160a01b0319166001600160a01b0392909216919091179055604051620002a59062000b1f565b604051809103906000f080158015620002c2573d6000803e3d6000fd5b50600b80546001600160a01b0319166001600160a01b0392909216919091179055604051620002f19062000b2c565b604051809103906000f0801580156200030e573d6000803e3d6000fd5b50600c80546001600160a01b0319166001600160a01b03928316179081905560035460048054600554600654600754600854600954600b54600a5460408051631e61717960e21b8152988d1699890199909952958b166024880152938a166044870152918916606486015288166084850152871660a4840152861660c4830152851660e482015292841661010484015260006101248401819052610144840181905290519190931692637985c5e492610164808201939182900301818387803b158015620003db57600080fd5b505af1158015620003f0573d6000803e3d6000fd5b505060048054600354600554600654600754600854600954600b54600c54600a5460408051636c37a4af60e01b81526001600160a01b039a8b169c81019c909c5297891660248c015295881660448b015293871660648a01529186166084890152851660a4880152841660c4870152831660e48601528216610104850152600061012485018190529051919092169450636c37a4af93506101448084019382900301818387803b158015620004a457600080fd5b505af1158015620004b9573d6000803e3d6000fd5b50506005546004805460035460075460065460408051634a945f8d60e01b81526001600160a01b039586169681019690965292841660248601529083166044850152821660648401525192169350634a945f8d925060848082019260009290919082900301818387803b1580156200053057600080fd5b505af115801562000545573d6000803e3d6000fd5b5050600654600354600554604080516348083d7f60e11b81526001600160a01b0393841660048201529183166024830152519190921693506390107afe9250604480830192600092919082900301818387803b158015620005a557600080fd5b505af1158015620005ba573d6000803e3d6000fd5b505060075460048054600354600554600a54600c54600b546040805163eaa8ba7f60e01b81526001600160a01b039788169881019890985294861660248801529285166044870152908416606486015283166084850152821660a4840152600060c48401819052905191909316945063eaa8ba7f935060e4808301939282900301818387803b1580156200064d57600080fd5b505af115801562000662573d6000803e3d6000fd5b50506009546004805460035460055460408051630d8efe5960e21b81526001600160a01b0394851695810195909552918316602485015282166044840152519216935063363bf964925060648082019260009290919082900301818387803b158015620006ce57600080fd5b505af1158015620006e3573d6000803e3d6000fd5b5050600c546003546004805460408051631e6edaf360e31b8152670de0b6b3a7640000938101939093526001600160a01b03938416602484015290831660448301525191909216935063f376d7989250606480830192600092919082900301818387803b1580156200075457600080fd5b505af115801562000769573d6000803e3d6000fd5b506000925050505b6064811015620008a957600354600454600754600a546040516001600160a01b0394851694938416939283169290911690620007ad9062000b3a565b6001600160a01b039485168152928416602084015290831660408084019190915292166060820152905190819003608001906000f080158015620007f5573d6000803e3d6000fd5b50600d82606481106200080457fe5b0180546001600160a01b0319166001600160a01b03929092169190911790556000600d82606481106200083357fe5b01546040516001600160a01b039091169069d3c21bcecceda100000090600081818185875af1925050503d80600081146200088b576040519150601f19603f3d011682016040523d82523d6000602084013e62000890565b606091505b50509050806200089f57600080fd5b5060010162000771565b506004805460408051631e5395c960e21b815290516001600160a01b039092169263794e5724928282019260209290829003018186803b158015620008ed57600080fd5b505afa15801562000902573d6000803e3d6000fd5b505050506040513d60208110156200091957600080fd5b50516000556004805460408051635733d58f60e01b815290516001600160a01b0390921692635733d58f928282019260209290829003018186803b1580156200096157600080fd5b505afa15801562000976573d6000803e3d6000fd5b505050506040513d60208110156200098d57600080fd5b505160015560048054604080516305d0d77b60e31b815290516001600160a01b0390921692632e86bbd8928282019260209290829003018186803b158015620009d557600080fd5b505afa158015620009ea573d6000803e3d6000fd5b505050506040513d602081101562000a0157600080fd5b505160025560005462000a1357600080fd5b60006001541162000a2357600080fd5b600b54604080516391b7f5ed60e01b815269021e19e0c9bab2400000600482015290516001600160a01b03909216916391b7f5ed916024808201926020929091908290030181600087803b15801562000a7b57600080fd5b505af115801562000a90573d6000803e3d6000fd5b505050506040513d602081101562000aa757600080fd5b5062000b489050565b615adc80620032e583390190565b6137918062008dc183390190565b610c1c806200c55283390190565b6109f7806200d16e83390190565b613990806200db6583390190565b605c80620114f583390190565b6118ad806201155183390190565b610b998062012dfe83390190565b60f7806201399783390190565b61192d8062013a8e83390190565b610e3580620153bb83390190565b61278d8062000b586000396000f3fe6080604052600436106102055760003560e01c80637f7dde4a11610113578063b83f91a2116100ab578063d21af9681161006f578063d21af96814610859578063e448912714610882578063efa83cf9146108b2578063f2a903a7146108fa578063fa08b0381461090f57610205565b8063b83f91a214610766578063baf5d65f1461077b578063c325347f146107ab578063c91b364a1461082f578063cda775f91461084457610205565b80637f7dde4a146105d45780638e4707d3146105e957806391a4a42614610628578063980c55d7146106525780639cdd0978146106675780639d9da9d8146106a65780639f56ac18146106f5578063a2f5cbdd1461070a578063a3d368341461071f57610205565b80634557559f116101a157806359bed84b1161016557806359bed84b146104d257806369690936146104e757806377553ad4146105215780637c22900e146105365780637ca8b0281461057f57610205565b80634557559f146103e05780634e792a301461040a57806357285cc5146104435780635895ac4e14610466578063597ec7991461047b57610205565b8063048c661d1461020a57806304bbf59c1461023b578063119be5d01461028e5780631c6fbd23146102cd5780633ca4afc1146103065780633cc74225146103455780633d83908a1461035a57806340ba2e271461036f5780634104fbd314610399575b600080fd5b34801561021657600080fd5b5061021f610924565b604080516001600160a01b039092168252519081900360200190f35b34801561024757600080fd5b5061027a6004803603606081101561025e57600080fd5b508035906001600160a01b036020820135169060400135610933565b604080519115158252519081900360200190f35b34801561029a57600080fd5b5061027a600480360360608110156102b157600080fd5b508035906001600160a01b0360208201351690604001356109d3565b610304600480360360a08110156102e357600080fd5b50803590602081013590604081013590606081013590608001351515610a3e565b005b34801561031257600080fd5b506103046004803603606081101561032957600080fd5b50803590602081013590604001356001600160a01b0316610b26565b34801561035157600080fd5b5061021f610bad565b34801561036657600080fd5b5061021f610bbc565b34801561037b57600080fd5b506103046004803603602081101561039257600080fd5b5035610bcb565b3480156103a557600080fd5b50610304600480360360808110156103bc57600080fd5b508035906020810135906001600160a01b0360408201358116916060013516610c4b565b3480156103ec57600080fd5b506103046004803603602081101561040357600080fd5b5035610cdb565b34801561041657600080fd5b506103046004803603604081101561042d57600080fd5b50803590602001356001600160a01b0316610d61565b6103046004803603604081101561045957600080fd5b5080359060200135610de0565b34801561047257600080fd5b5061027a610e93565b610304600480360361010081101561049257600080fd5b5080359060208101359060408101359060608101359060808101351515906001600160a01b0360a082013581169160c08101359091169060e00135610f2a565b3480156104de57600080fd5b5061027a610fdb565b610304600480360360808110156104fd57600080fd5b508035906020810135906001600160a01b0360408201358116916060013516611290565b34801561052d57600080fd5b5061021f611301565b34801561054257600080fd5b5061027a6004803603608081101561055957600080fd5b508035906001600160a01b03602082013581169160408101359091169060600135611310565b34801561058b57600080fd5b50610304600480360360c08110156105a257600080fd5b508035906020810135906001600160a01b03604082013581169160608101358216916080820135169060a001356113b9565b3480156105e057600080fd5b5061021f611466565b3480156105f557600080fd5b5061027a6004803603606081101561060c57600080fd5b508035906001600160a01b036020820135169060400135611475565b34801561063457600080fd5b5061021f6004803603602081101561064b57600080fd5b50356114e0565b34801561065e57600080fd5b5061027a6114fd565b34801561067357600080fd5b5061027a6004803603606081101561068a57600080fd5b508035906001600160a01b0360208201351690604001356117bf565b3480156106b257600080fd5b50610304600480360360a08110156106c957600080fd5b508035906020810135906001600160a01b0360408201358116916060810135909116906080013561182a565b34801561070157600080fd5b5061027a6118a2565b34801561071657600080fd5b5061027a6118c5565b34801561072b57600080fd5b506103046004803603608081101561074257600080fd5b508035906020810135906001600160a01b03604082013581169160600135166118da565b34801561077257600080fd5b5061021f61194b565b34801561078757600080fd5b506103046004803603604081101561079e57600080fd5b508035906020013561195a565b3480156107b757600080fd5b50610304600480360360408110156107ce57600080fd5b813591908101906040810160208201356401000000008111156107f057600080fd5b82018360208201111561080257600080fd5b8035906020019184602083028401116401000000008311171561082457600080fd5b5090925090506119bb565b34801561083b57600080fd5b5061027a611a4c565b34801561085057600080fd5b5061021f611e72565b6103046004803603606081101561086f57600080fd5b5080359060208101359060400135611e81565b34801561088e57600080fd5b50610304600480360360408110156108a557600080fd5b5080359060200135611fd2565b610304600480360360c08110156108c857600080fd5b508035906020810135906040810135906001600160a01b03606082013581169160808101359091169060a00135612033565b34801561090657600080fd5b5061027a6120b2565b34801561091b57600080fd5b5061021f6122f3565b6007546001600160a01b031681565b600080606485069050600d816064811061094957fe5b01546040805163d466e4eb60e01b81526001600160a01b038781166004830152602482018790529151919092169163d466e4eb9160448083019260209291908290030181600087803b15801561099e57600080fd5b505af11580156109b2573d6000803e3d6000fd5b505050506040513d60208110156109c857600080fd5b509195945050505050565b600080606485069050600d81606481106109e957fe5b01546040805163cf83544f60e01b81526001600160a01b038781166004830152602482018790529151919092169163cf83544f9160448083019260209291908290030181600087803b15801561099e57600080fd5b60006064860690506000600d8260648110610a5557fe5b0154600080546001600160a01b039092169250823191610a789083908a90612302565b9050858515610a9157610a8e82886000546123de565b90505b60408051631942d56760e21b815260048101849052602481018a905260448101839052871515606482015260006084820181905260a4820181905260c4820181905291516001600160a01b0387169263650b559c9260e4808201939182900301818387803b158015610b0257600080fd5b505af1158015610b16573d6000803e3d6000fd5b5050505050505050505050505050565b6000606484069050600d8160648110610b3b57fe5b015460408051634c36240b60e01b8152600481018690526001600160a01b03858116602483015291519190921691634c36240b91604480830192600092919082900301818387803b158015610b8f57600080fd5b505af1158015610ba3573d6000803e3d6000fd5b5050505050505050565b6006546001600160a01b031681565b6003546001600160a01b031681565b6000606482069050600d8160648110610be057fe5b0160009054906101000a90046001600160a01b03166001600160a01b0316634903a3dd6040518163ffffffff1660e01b8152600401600060405180830381600087803b158015610c2f57600080fd5b505af1158015610c43573d6000803e3d6000fd5b505050505050565b6000606485069050600d8160648110610c6057fe5b015460408051630f52fb0760e31b8152600481018790526001600160a01b038681166024830152858116604483015291519190921691637a97d83891606480830192600092919082900301818387803b158015610cbc57600080fd5b505af1158015610cd0573d6000803e3d6000fd5b505050505050505050565b600b54604080516391b7f5ed60e01b81526004810184905290516000926001600160a01b0316916391b7f5ed91602480830192602092919082900301818787803b158015610d2857600080fd5b505af1158015610d3c573d6000803e3d6000fd5b505050506040513d6020811015610d5257600080fd5b5051905080610d5d57fe5b5050565b6000606483069050600d8160648110610d7657fe5b015460408051634d37261f60e01b81526001600160a01b03858116600483015291519190921691634d37261f91602480830192600092919082900301818387803b158015610dc357600080fd5b505af1158015610dd7573d6000803e3d6000fd5b50505050505050565b60006064830690506000600d8260648110610df757fe5b0154600080546001600160a01b039092169250823191610e1a9083908790612302565b604080516332e859b960e01b8152600481018390526000602482018190526044820181905291519293506001600160a01b038616926332e859b99260648084019391929182900301818387803b158015610e7357600080fd5b505af1158015610e87573d6000803e3d6000fd5b50505050505050505050565b600080600b60009054906101000a90046001600160a01b03166001600160a01b03166398d5fdca6040518163ffffffff1660e01b815260040160206040518083038186803b158015610ee457600080fd5b505afa158015610ef8573d6000803e3d6000fd5b505050506040513d6020811015610f0e57600080fd5b5051905080610f21576000915050610f27565b60019150505b90565b6000606489069050600d8160648110610f3f57fe5b015460408051631942d56760e21b8152600481018b9052602481018a90526044810189905287151560648201526001600160a01b03878116608483015286811660a483015260c482018690529151919092169163650b559c9160e480830192600092919082900301818387803b158015610fb857600080fd5b505af1158015610fcc573d6000803e3d6000fd5b50505050505050505050505050565b600080600c60009054906101000a90046001600160a01b03166001600160a01b0316631e2231436040518163ffffffff1660e01b815260040160206040518083038186803b15801561102c57600080fd5b505afa158015611040573d6000803e3d6000fd5b505050506040513d602081101561105657600080fd5b5051600c546040805163765e015960e01b81526001600160a01b0380851660048301529151939450600093919092169163765e0159916024808301926020929190829003018186803b1580156110ab57600080fd5b505afa1580156110bf573d6000803e3d6000fd5b505050506040513d60208110156110d557600080fd5b505190505b6001600160a01b038216158015906110fa57506001600160a01b03811615155b15611287576003546040805163b0d8e18160e01b81526001600160a01b0385811660048301529151919092169163b0d8e181916024808301926020929190829003018186803b15801561114c57600080fd5b505afa158015611160573d6000803e3d6000fd5b505050506040513d602081101561117657600080fd5b50516003546040805163b0d8e18160e01b81526001600160a01b0385811660048301529151919092169163b0d8e181916024808301926020929190829003018186803b1580156111c557600080fd5b505afa1580156111d9573d6000803e3d6000fd5b505050506040513d60208110156111ef57600080fd5b5051111561120257600092505050610f27565b600c546040805163765e015960e01b81526001600160a01b03808516600483015291519394508493919092169163765e0159916024808301926020929190829003018186803b15801561125457600080fd5b505afa158015611268573d6000803e3d6000fd5b505050506040513d602081101561127e57600080fd5b505190506110da565b60019250505090565b6000606485069050600d81606481106112a557fe5b0154604080516332e859b960e01b8152600481018790526001600160a01b0386811660248301528581166044830152915191909216916332e859b991606480830192600092919082900301818387803b158015610cbc57600080fd5b6004546001600160a01b031681565b600080606486069050600d816064811061132657fe5b015460408051636ca5e76160e11b81526001600160a01b0388811660048301528781166024830152604482018790529151919092169163d94bcec29160648083019260209291908290030181600087803b15801561138357600080fd5b505af1158015611397573d6000803e3d6000fd5b505050506040513d60208110156113ad57600080fd5b50919695505050505050565b6000606487069050600d81606481106113ce57fe5b0154604080516335b1017960e01b8152600481018990526001600160a01b0388811660248301528781166044830152868116606483015260848201869052600060a4830181905260c4830181905292519316926335b101799260e48084019391929182900301818387803b15801561144557600080fd5b505af1158015611459573d6000803e3d6000fd5b5050505050505050505050565b6005546001600160a01b031681565b600080606485069050600d816064811061148b57fe5b015460408051636628d36160e11b81526001600160a01b038781166004830152602482018790529151919092169163cc51a6c29160448083019260209291908290030181600087803b15801561099e57600080fd5b600d81606481106114ed57fe5b01546001600160a01b0316905081565b600080600c60009054906101000a90046001600160a01b03166001600160a01b0316631e2231436040518163ffffffff1660e01b815260040160206040518083038186803b15801561154e57600080fd5b505afa158015611562573d6000803e3d6000fd5b505050506040513d602081101561157857600080fd5b505190505b6001600160a01b03811615610f21576001600354604080516321e3780160e01b81526001600160a01b038581166004830152915191909216916321e37801916024808301926020929190829003018186803b1580156115db57600080fd5b505afa1580156115ef573d6000803e3d6000fd5b505050506040513d602081101561160557600080fd5b5051600481111561161257fe5b600481111561161d57fe5b1461162c576000915050610f27565b6002546003546040805163d66a255360e01b81526001600160a01b0385811660048301529151919092169163d66a2553916024808301926020929190829003018186803b15801561167c57600080fd5b505afa158015611690573d6000803e3d6000fd5b505050506040513d60208110156116a657600080fd5b505110156116b8576000915050610f27565b60035460408051630326771360e51b81526001600160a01b038481166004830152915191909216916364cee260916024808301926020929190829003018186803b15801561170557600080fd5b505afa158015611719573d6000803e3d6000fd5b505050506040513d602081101561172f57600080fd5b505161173f576000915050610f27565b600c546040805163765e015960e01b81526001600160a01b0384811660048301529151919092169163765e0159916024808301926020929190829003018186803b15801561178c57600080fd5b505afa1580156117a0573d6000803e3d6000fd5b505050506040513d60208110156117b657600080fd5b5051905061157d565b600080606485069050600d81606481106117d557fe5b01546040805163390b5f2760e01b81526001600160a01b038781166004830152602482018790529151919092169163390b5f279160448083019260209291908290030181600087803b15801561099e57600080fd5b6000606486069050600d816064811061183f57fe5b015460408051633ee359ff60e21b8152600481018890526001600160a01b0387811660248301528681166044830152606482018690529151919092169163fb8d67fc91608480830192600092919082900301818387803b158015610e7357600080fd5b6005546000906001600160a01b031631156118bf57506000610f27565b50600190565b6000601460715411156118bf57506000610f27565b6000606485069050600d81606481106118ef57fe5b015460408051633ddd87af60e11b8152600481018790526001600160a01b038681166024830152858116604483015291519190921691637bbb0f5e91606480830192600092919082900301818387803b158015610cbc57600080fd5b600a546001600160a01b031681565b6000606483069050600d816064811061196f57fe5b01546040805163f47a1ea760e01b81526004810185905290516001600160a01b039092169163f47a1ea79160248082019260009290919082900301818387803b158015610dc357600080fd5b6000606484069050600d81606481106119d057fe5b0154604051634afbac5160e01b8152602060048201818152602483018690526001600160a01b0390931692634afbac5192879287929182916044909101908590850280828437600081840152601f19601f8201169050808301925050509350505050600060405180830381600087803b158015610b8f57600080fd5b600080600a60009054906101000a90046001600160a01b03166001600160a01b03166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b158015611a9d57600080fd5b505afa158015611ab1573d6000803e3d6000fd5b505050506040513d6020811015611ac757600080fd5b5051600a54600854604080516370a0823160e01b81526001600160a01b039283166004820152905193945060009391909216916370a08231916024808301926020929190829003018186803b158015611b1f57600080fd5b505afa158015611b33573d6000803e3d6000fd5b505050506040513d6020811015611b4957600080fd5b505160055460408051632f5a97e560e11b815290519293506000926001600160a01b0390921691635eb52fca91600480820192602092909190829003018186803b158015611b9657600080fd5b505afa158015611baa573d6000803e3d6000fd5b505050506040513d6020811015611bc057600080fd5b505160065460408051632f5a97e560e11b815290519293506000926001600160a01b0390921691635eb52fca91600480820192602092909190829003018186803b158015611c0d57600080fd5b505afa158015611c21573d6000803e3d6000fd5b505050506040513d6020811015611c3757600080fd5b505190508181018414611c51576000945050505050610f27565b600754604080516326fcbc6b60e21b815290516000926001600160a01b031691639bf2f1ac916004808301926020929190829003018186803b158015611c9657600080fd5b505afa158015611caa573d6000803e3d6000fd5b505050506040513d6020811015611cc057600080fd5b5051600c5460408051631e22314360e01b815290519293506000926001600160a01b0390921691631e22314391600480820192602092909190829003018186803b158015611d0d57600080fd5b505afa158015611d21573d6000803e3d6000fd5b505050506040513d6020811015611d3757600080fd5b5051905060005b6001600160a01b03821615611e4957600a54604080516370a0823160e01b81526001600160a01b038581166004830152915191909216916370a08231916024808301926020929190829003018186803b158015611d9a57600080fd5b505afa158015611dae573d6000803e3d6000fd5b505050506040513d6020811015611dc457600080fd5b5051600c546040805163765e015960e01b81526001600160a01b0386811660048301529151949093019391169163765e0159916024808301926020929190829003018186803b158015611e1657600080fd5b505afa158015611e2a573d6000803e3d6000fd5b505050506040513d6020811015611e4057600080fd5b50519150611d3e565b85818401018711611e64576000975050505050505050610f27565b600197505050505050505090565b6009546001600160a01b031681565b60006064840690506000600d8260648110611e9857fe5b01546001546001600160a01b039091169150813190600090611ebd9083908890612302565b90506000611ece82876001546123de565b60408051639113473160e01b81526004810185905260248101839052600060448201819052606482018190526084820181905291519293506001600160a01b0387169263911347319260a48084019391929182900301818387803b158015611f3557600080fd5b505af1158015611f49573d6000803e3d6000fd5b50505050600360009054906101000a90046001600160a01b03166001600160a01b03166349eefeee6040518163ffffffff1660e01b815260040160206040518083038186803b158015611f9b57600080fd5b505afa158015611faf573d6000803e3d6000fd5b505050506040513d6020811015611fc557600080fd5b50516071819055610ba357fe5b6000606483069050600d8160648110611fe757fe5b01546040805163320d84db60e11b81526004810185905290516001600160a01b039092169163641b09b69160248082019260009290919082900301818387803b158015610dc357600080fd5b6000606487069050600d816064811061204857fe5b015460408051639113473160e01b815260048101899052602481018890526001600160a01b0387811660448301528681166064830152608482018690529151919092169163911347319160a480830192600092919082900301818387803b15801561144557600080fd5b6003546000906001600160a01b031631156120cf57506000610f27565b6004546001600160a01b031631156120e957506000610f27565b600560009054906101000a90046001600160a01b03166001600160a01b03166314f6c3be6040518163ffffffff1660e01b815260040160206040518083038186803b15801561213757600080fd5b505afa15801561214b573d6000803e3d6000fd5b505050506040513d602081101561216157600080fd5b50516005546001600160a01b0316311461217d57506000610f27565b600660009054906101000a90046001600160a01b03166001600160a01b03166314f6c3be6040518163ffffffff1660e01b815260040160206040518083038186803b1580156121cb57600080fd5b505afa1580156121df573d6000803e3d6000fd5b505050506040513d60208110156121f557600080fd5b50516006546001600160a01b0316311461221157506000610f27565b600760009054906101000a90046001600160a01b03166001600160a01b03166314f6c3be6040518163ffffffff1660e01b815260040160206040518083038186803b15801561225f57600080fd5b505afa158015612273573d6000803e3d6000fd5b505050506040513d602081101561228957600080fd5b50516007546001600160a01b031631146122a557506000610f27565b600a546001600160a01b031631156122bf57506000610f27565b600b546001600160a01b031631156122d957506000610f27565b600c546001600160a01b031631156118bf57506000610f27565b6008546001600160a01b031681565b600080600b60009054906101000a90046001600160a01b03166001600160a01b03166398d5fdca6040518163ffffffff1660e01b815260040160206040518083038186803b15801561235357600080fd5b505afa158015612367573d6000803e3d6000fd5b505050506040513d602081101561237d57600080fd5b505190508061238b57600080fd5b60006123b2826123a6600254876124ca90919063ffffffff16565b9063ffffffff61252c16565b90508086116123c057600080fd5b600081870386816123cd57fe5b0691909101925050505b9392505050565b600080600b60009054906101000a90046001600160a01b03166001600160a01b03166398d5fdca6040518163ffffffff1660e01b815260040160206040518083038186803b15801561242f57600080fd5b505afa158015612443573d6000803e3d6000fd5b505050506040513d602081101561245957600080fd5b5051600254909150849060009061247790839063ffffffff61256e16565b905060006124868883866125c8565b9050858110156124be576124a4866123a68a8763ffffffff6124ca16565b91506124bb600254836125f890919063ffffffff16565b92505b50909695505050505050565b6000826124d957506000612526565b828202828482816124e657fe5b04146125235760405162461bcd60e51b81526004018080602001828103825260218152602001806127376021913960400191505060405180910390fd5b90505b92915050565b600061252383836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061263a565b600082820183811015612523576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b600082156125ef5760006125e6846123a6878663ffffffff6124ca16565b91506123d79050565b506000196123d7565b600061252383836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506126dc565b600081836126c65760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561268b578181015183820152602001612673565b50505050905090810190601f1680156126b85780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385816126d257fe5b0495945050505050565b6000818484111561272e5760405162461bcd60e51b815260206004820181815283516024840152835190928392604490910191908501908083836000831561268b578181015183820152602001612673565b50505090039056fe536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77a26469706673582212208b5ec761c42b41b18f4435d73b7aa36d71f94da091d5ac71bf9d4d768e602dde64736f6c634300060b0033608060405234801561001057600080fd5b50600380546001600160a01b031916339081179091556040516000907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3615a7b80620000616000396000f3fe608060405234801561001057600080fd5b506004361061044a5760003560e01c8063795d26c31161023c578063b83f91a211610146578063d3d6f843116100c3578063e2ac77b011610087578063e2ac77b014610c67578063f34862de14610c8d578063f36b242514610cb3578063f92d34331461065d578063fe2ba84814610cbb5761044a565b8063d3d6f84314610bd3578063d5b3563514610bff578063d66a255314610c1c578063d9a7244414610c42578063dba1c5f214610c5f5761044a565b8063c52861f21161010a578063c52861f214610b69578063c7b5548114610b71578063cbd138ae14610b79578063d293c71014610b9f578063d380a37c14610bcb5761044a565b8063b83f91a214610ab7578063b91af97c14610abf578063bcd3752614610b0b578063bf9befb114610b59578063c35bc55014610b615761044a565b806396d711ff116101d4578063a3f4df7e11610198578063a3f4df7e146109e7578063ae91875414610a64578063b0d8e18114610a6c578063b7f8cf9b14610a92578063b82f263d14610a9a5761044a565b806396d711ff146109a35780639976cf45146109ab5780639dd233d2146109d7578063a20baee614610894578063a3a64017146109df5761044a565b8063795d26c3146108c9578063797250e3146108d15780637985c5e4146108d95780637f7dde4a14610955578063807d138d1461095d57806382fe3eb914610965578063887105d31461098b5780638da5cb5b146109935780638f32d59b1461099b5761044a565b8063477d66cf11610358578063631203b0116102d557806372423c171161029957806372423c171461086857806372fe25aa14610894578063741bef1a1461089c578063756b253e146108a4578063794e5724146108c15761044a565b8063631203b01461079157806364cee260146107ae578063653d46e7146107d457806366ca4a21146107f15780636ef64338146107f95761044a565b80635733d58f1161031c5780635733d58f146107275780635d6b480f1461072f5780635d8c96091461075b5780635dba4c4a1461078157806361ec893d146107895761044a565b8063477d66cf146106a3578063480cd578146106c05780634870dd9a146106e657806349eefeee146106ee5780634e443d9e146106f65761044a565b80631e8b1c2b116103e657806328d28b5b116103aa57806328d28b5b1461065d5780632b11551a146106655780632e86bbd81461066d5780632f865568146106755780633cc742251461069b5761044a565b80631e8b1c2b1461057c5780631f68f20a1461061f5780631f7af3c31461062757806321e378011461062f57806324092669146106555761044a565b8063048c661d1461044f578063060d49a314610473578063071a75411461048d5780630b0765571461049557806312610e92146104bd57806315d549f1146104e95780631673c79a1461050f57806318f2817a1461054e5780631bf4355514610574575b600080fd5b610457610ce1565b604080516001600160a01b039092168252519081900360200190f35b61047b610cf0565b60408051918252519081900360200190f35b61047b610cf6565b6104bb600480360360208110156104ab57600080fd5b50356001600160a01b0316610cfb565b005b61047b600480360360408110156104d357600080fd5b506001600160a01b038135169060200135610d23565b61047b600480360360208110156104ff57600080fd5b50356001600160a01b0316610d7b565b6105356004803603602081101561052557600080fd5b50356001600160a01b0316610d9f565b6040805192835260208301919091528051918290030190f35b61047b6004803603602081101561056457600080fd5b50356001600160a01b0316610db8565b61047b610dcb565b6104bb6004803603602081101561059257600080fd5b8101906020810181356401000000008111156105ad57600080fd5b8201836020820111156105bf57600080fd5b803590602001918460208302840111640100000000831117156105e157600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929550610dd8945050505050565b61047b61117a565b610457611180565b61047b6004803603602081101561064557600080fd5b50356001600160a01b031661118f565b61047b6111b9565b61047b6111cc565b61047b6111dd565b61047b6111ef565b6104bb6004803603602081101561068b57600080fd5b50356001600160a01b03166111fc565b610457611262565b61047b600480360360208110156106b957600080fd5b5035611271565b61047b600480360360208110156106d657600080fd5b50356001600160a01b0316611284565b61047b6112a2565b61047b6112a7565b6107136004803603602081101561070c57600080fd5b50356112ad565b604080519115158252519081900360200190f35b61047b6112b8565b6104bb6004803603604081101561074557600080fd5b506001600160a01b0381351690602001356112c4565b61047b6004803603602081101561077157600080fd5b50356001600160a01b0316611310565b6104bb6113d6565b61047b61143c565b61047b600480360360208110156107a757600080fd5b5035611441565b61047b600480360360208110156107c457600080fd5b50356001600160a01b031661144e565b6104bb600480360360208110156107ea57600080fd5b503561146c565b61047b61181a565b61081f6004803603602081101561080f57600080fd5b50356001600160a01b031661182c565b6040518086815260200185815260200184815260200183600481111561084157fe5b60ff1681526001600160801b03909216602083015250604080519182900301945092505050f35b61047b6004803603604081101561087e57600080fd5b506001600160a01b038135169060200135611866565b61047b6118c3565b6104576118cf565b610457600480360360208110156108ba57600080fd5b50356118de565b61047b611905565b61047b611911565b61047b611a12565b6104bb60048036036101608110156108f057600080fd5b506001600160a01b038135811691602081013582169160408201358116916060810135821691608082013581169160a081013582169160c082013581169160e08101358216916101008201358116916101208101358216916101409091013516611a18565b610457611e11565b61047b611e20565b6104bb6004803603602081101561097b57600080fd5b50356001600160a01b0316611e26565b61047b611e37565b610457611ef3565b610713611f02565b61047b611f13565b61047b600480360360408110156109c157600080fd5b506001600160a01b038135169060200135611f19565b61047b611f4c565b610457611f52565b6109ef611f61565b6040805160208082528351818301528351919283929083019185019080838360005b83811015610a29578181015183820152602001610a11565b50505050905090810190601f168015610a565780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b610457611f89565b61047b60048036036020811015610a8257600080fd5b50356001600160a01b0316611f98565b610457611fbf565b61047b60048036036020811015610ab057600080fd5b5035611fce565b610457611fd9565b610ae560048036036020811015610ad557600080fd5b50356001600160a01b0316611fe8565b604080519485526020850193909352838301919091526060830152519081900360800190f35b6104bb600480360360e0811015610b2157600080fd5b508035906001600160a01b03602082013581169160408101358216916060820135169060808101359060a08101359060c0013561204c565b61047b6127ee565b61047b6127f4565b61047b6127fb565b61047b61280d565b6104bb60048036036020811015610b8f57600080fd5b50356001600160a01b0316612819565b61047b60048036036040811015610bb557600080fd5b506001600160a01b03813516906020013561282c565b61047b61284b565b61047b60048036036040811015610be957600080fd5b506001600160a01b038135169060200135612851565b61047b60048036036020811015610c1557600080fd5b5035612887565b61047b60048036036020811015610c3257600080fd5b50356001600160a01b031661289a565b61045760048036036020811015610c5857600080fd5b50356128b5565b61047b6128df565b61071360048036036020811015610c7d57600080fd5b50356001600160a01b03166128e5565b61047b60048036036020811015610ca357600080fd5b50356001600160a01b0316612943565b61047b612974565b6104bb60048036036020811015610cd157600080fd5b50356001600160a01b0316612981565b6005546001600160a01b031681565b60175481565b600281565b610d03612992565b600054600154610d20916001600160a01b039081169116836129dd565b50565b6000610d2d612992565b6001600160a01b0383166000908152600e6020526040812054610d56908463ffffffff612aff16565b6001600160a01b0385166000908152600e602052604090208190559150505b92915050565b6000610d85612992565b610d8e82612b48565b6001600160801b031690505b919050565b6014602052600090815260409020805460019091015482565b6000610dc2612992565b610d7582612be2565b686194049f30f720000081565b8051610e155760405162461bcd60e51b81526004018080602001828103825260368152602001806159016036913960400191505060405180910390fd5b6000546001546005546001600160a01b03928316929182169116610e376155f9565b610e3f61562a565b600260009054906101000a90046001600160a01b03166001600160a01b0316630fdb11cf6040518163ffffffff1660e01b8152600401602060405180830381600087803b158015610e8f57600080fd5b505af1158015610ea3573d6000803e3d6000fd5b505050506040513d6020811015610eb957600080fd5b50518252604080516326fcbc6b60e21b815290516001600160a01b03851691639bf2f1ac916004808301926020929190829003018186803b158015610efd57600080fd5b505afa158015610f11573d6000803e3d6000fd5b505050506040513d6020811015610f2757600080fd5b505160208301528151610f3990612c91565b1580156040840152610f6157610f5a8585846000015185602001518a612cae565b9050610f79565b610f768585846000015185602001518a612ec9565b90505b6000816020015111610fbc5760405162461bcd60e51b81526004018080602001828103825260228152602001806159f56022913960400191505060405180910390fd5b826001600160a01b031663335525ad82608001518360a001516040518363ffffffff1660e01b81526004018083815260200182815260200192505050600060405180830381600087803b15801561101257600080fd5b505af1158015611026573d6000803e3d6000fd5b5050505061103e85858360c001518460e00151612f91565b610100810151156110bd57600754610100820151604080516364a197f360e01b81526001600160a01b039384166004820152602481019290925251918716916364a197f39160448082019260009290919082900301818387803b1580156110a457600080fd5b505af11580156110b8573d6000803e3d6000fd5b505050505b6110cb858260400151613212565b602081015160608301526101008101516040820151825161110392916110f7919063ffffffff612aff16565b9063ffffffff612aff16565b608080840182905260608085015160408086015186840151825193845260208401969096528282015291810193909352517f4152c73dd2614c4f9fc35e8c9cf16013cd588c75b49a4c1673ecffdcbcda94039281900390910190a1611172853383606001518460400151613359565b505050505050565b600c5481565b6009546001600160a01b031681565b6001600160a01b0381166000908152600e602052604081206003015460ff166004811115610d7557fe5b6064670de0b6b3a76400005b0460050281565b6103e8670de0b6b3a76400006111c5565b60006111ea600c5461345c565b905090565b680ad78ebc5ac620000081565b61120581613492565b60408051600180825281830190925260609160208083019080368337019050509050818160008151811061123557fe5b60200260200101906001600160a01b031690816001600160a01b03168152505061125e81610dd8565b5050565b6001546001600160a01b031681565b6000610d7561127e61181a565b836134fa565b6001600160a01b03166000908152600e602052604090206001015490565b60c881565b60155490565b6000610d7582612c91565b6714d1120d7b16000081565b6112cc612992565b8060048111156112d857fe5b6001600160a01b0383166000908152600e60205260409020600301805460ff1916600183600481111561130757fe5b02179055505050565b6001600160a01b038116600090815260146020526040812054601254829061133e908363ffffffff612aff16565b9050801580611377575060016001600160a01b0385166000908152600e602052604090206003015460ff16600481111561137457fe5b14155b1561138757600092505050610d9a565b6001600160a01b0384166000908152600e6020526040812060020154906113cc670de0b6b3a76400006113c0848663ffffffff61351816565b9063ffffffff61357116565b9695505050505050565b6113de612992565b60006113e86135b3565b9050670de0b6b3a76400008111156113fc57fe5b600c8190556040805182815290517fc454ee9b76c52f782a256af821b857ca6e125d1e3333bcede402fec2bed9600c9181900360200190a1610d206135f7565b603c81565b6000610d7561127e612974565b6001600160a01b03166000908152600e602052604090206002015490565b611474615676565b506040805160e081018252600080546001600160a01b0390811683526001548116602084015292820181905260608201819052600b548316608083015260a0820181905260c08201526005549091166114cb6155f9565b6114d361562a565b600260009054906101000a90046001600160a01b03166001600160a01b0316630fdb11cf6040518163ffffffff1660e01b8152600401602060405180830381600087803b15801561152357600080fd5b505af1158015611537573d6000803e3d6000fd5b505050506040513d602081101561154d57600080fd5b50518252604080516326fcbc6b60e21b815290516001600160a01b03851691639bf2f1ac916004808301926020929190829003018186803b15801561159157600080fd5b505afa1580156115a5573d6000803e3d6000fd5b505050506040513d60208110156115bb57600080fd5b5051602083015281516115cd90612c91565b15801560408401526115f4576115ed848360000151846020015188613653565b9050611614565b6116118460000151856020015184600001518560200151896139e6565b90505b60008160200151116116575760405162461bcd60e51b81526004018080602001828103825260228152602001806159f56022913960400191505060405180910390fd5b826001600160a01b031663335525ad82608001518360a001516040518363ffffffff1660e01b81526004018083815260200182815260200192505050600060405180830381600087803b1580156116ad57600080fd5b505af11580156116c1573d6000803e3d6000fd5b505050506116e1846000015185602001518360c001518460e00151612f91565b61010081015115611762578351600754610100830151604080516364a197f360e01b81526001600160a01b03938416600482015260248101929092525191909216916364a197f391604480830192600092919082900301818387803b15801561174957600080fd5b505af115801561175d573d6000803e3d6000fd5b505050505b61177484600001518260400151613212565b60208101516060830152610100810151604082015182516117a092916110f7919063ffffffff612aff16565b608080840182905260608085015160408086015186840151825193845260208401969096528282015291810193909352517f4152c73dd2614c4f9fc35e8c9cf16013cd588c75b49a4c1673ecffdcbcda94039281900390910190a161181384600001513383606001518460400151613359565b5050505050565b60006111ea6118276135b3565b613b18565b600e6020526000908152604090208054600182015460028301546003909301549192909160ff81169061010090046001600160801b031685565b6000611870612992565b6001600160a01b0383166000908152600e602052604081206001015461189c908463ffffffff613b3f16565b6001600160a01b0385166000908152600e6020526040902060010181905591505092915050565b670de0b6b3a764000081565b6002546001600160a01b031681565b601581815481106118eb57fe5b6000918252602090912001546001600160a01b0316905081565b670f43fc2c04ee000081565b6000805460408051632f5a97e560e11b8152905183926001600160a01b031691635eb52fca916004808301926020929190829003018186803b15801561195657600080fd5b505afa15801561196a573d6000803e3d6000fd5b505050506040513d602081101561198057600080fd5b505160015460408051632f5a97e560e11b815290519293506000926001600160a01b0390921691635eb52fca91600480820192602092909190829003018186803b1580156119cd57600080fd5b505afa1580156119e1573d6000803e3d6000fd5b505050506040513d60208110156119f757600080fd5b50519050611a0b828263ffffffff613b3f16565b9250505090565b60165481565b611a20611f02565b611a71576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b611a7a8b613b99565b611a838a613b99565b611a8c89613b99565b611a9588613b99565b611a9e87613b99565b611aa786613b99565b611ab085613b99565b611ab984613b99565b611ac283613b99565b611acb82613b99565b611ad481613b99565b600480546001600160a01b03199081166001600160a01b038e81169182179093556000805483168e85161790556001805483168d85161790556005805483168c85161790556006805483168b85161790556007805483168a8516179055600280548316898516179055600880548316888516179055600b80548316878516179055600980548316868516179055600a805490921692841692909217905560408051918252517f3ca631ffcd2a9b5d9ae18543fc82f58eb4ca33af9e6ab01b7a8e95331e6ed985916020908290030190a1604080516001600160a01b038c16815290517f78f058b189175430c48dc02699e3a0031ea4ff781536dc2fab847de4babdd8829181900360200190a1604080516001600160a01b038b16815290517f5ee0cae2f063ed938bb55046f6a932fb6ae792bf43624806bb90abe68a50be9b9181900360200190a1604080516001600160a01b038a16815290517f82966d27eea39b038ee0fa30cd16532bb24f6e65d31cb58fb227aa5766cdcc7f9181900360200190a1604080516001600160a01b038916815290517fcfb07d791fcafc032b35837b50eb84b74df518cf4cc287e8084f47630fa70fa09181900360200190a1604080516001600160a01b038816815290517fe67f36a6e961157d6eff83b91f3af5a62131ceb6f04954ef74f51c1c05e7f88d9181900360200190a1604080516001600160a01b038716815290517f8c537274438aa850a330284665d81a85dd38267d09e4050d416bfc94142db2649181900360200190a1604080516001600160a01b038616815290517f227eec0ec317af6ab1a9587ffa1c84332522eb4c583a908f89babc05f8f339bd9181900360200190a1604080516001600160a01b038516815290517f65f4cf077bc01e4742eb5ad98326f6e95b63548ea24b17f8d5e823111fe788009181900360200190a1604080516001600160a01b038416815290517f2ac6e99201ddc1b6eac6f8f28662d1ecafee131f6eb98c29de54528a9888a7d19181900360200190a1604080516001600160a01b038316815290517f756ebc192164c295bba134b5aacd72cc7aff8098a670d1f0a5f6b3a0b4ce67079181900360200190a1611e04613c48565b5050505050505050505050565b6000546001600160a01b031681565b60105481565b611e2e612992565b610d2081613c92565b6000805460408051630a7b61df60e11b8152905183926001600160a01b0316916314f6c3be916004808301926020929190829003018186803b158015611e7c57600080fd5b505afa158015611e90573d6000803e3d6000fd5b505050506040513d6020811015611ea657600080fd5b505160015460408051630a7b61df60e11b815290519293506000926001600160a01b03909216916314f6c3be91600480820192602092909190829003018186803b1580156119cd57600080fd5b6003546001600160a01b031690565b6003546001600160a01b0316331490565b60115481565b6000611f23612992565b6001600160a01b0383166000908152600e6020526040812054610d56908463ffffffff613b3f16565b60125481565b600a546001600160a01b031681565b6040518060400160405280600c81526020016b2a3937bb32a6b0b730b3b2b960a11b81525081565b600b546001600160a01b031681565b6000806000611fa684613cfd565b915091506000611fb68383613d83565b95945050505050565b6004546001600160a01b031681565b6000610d7582613db8565b6008546001600160a01b031681565b6001600160a01b0381166000908152600e60205260408120805460019091015490918061201485612943565b915061201f85611310565b9050612031848363ffffffff613b3f16565b9350612043838263ffffffff613b3f16565b92509193509193565b612054615676565b506040805160e0810182526000546001600160a01b03908116825260015481166020830152600854811692820192909252600a5482166060820152600b5482166080820152600754821660a082015260065490911660c08201526120b66156b2565b6120bf83613de4565b6120c7613e3e565b600260009054906101000a90046001600160a01b03166001600160a01b0316630fdb11cf6040518163ffffffff1660e01b8152600401602060405180830381600087803b15801561211757600080fd5b505af115801561212b573d6000803e3d6000fd5b505050506040513d602081101561214157600080fd5b505160c0820181905261215390613f02565b61215c89613f51565b61216b8260400151338b613f90565b612173611911565b60e0820181905260408084015181516370a0823160e01b815233600482015291516001600160a01b03909116916370a08231916024808301926020929190829003018186803b1580156121c557600080fd5b505afa1580156121d9573d6000803e3d6000fd5b505050506040513d60208110156121ef57600080fd5b505111156121f957fe5b888152608082015160c0820151600091612214918b90614050565b1561222057508761234a565b82608001516001600160a01b0316634d6228316040518163ffffffff1660e01b815260040160206040518083038186803b15801561225d57600080fd5b505afa158015612271573d6000803e3d6000fd5b505050506040513d602081101561228757600080fd5b505190505b6001600160a01b038116158015906122b85750670f43fc2c04ee00006122b6828460c0015161282c565b105b1561234a5782608001516001600160a01b031663b72703ac826040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b15801561231757600080fd5b505afa15801561232b573d6000803e3d6000fd5b505050506040513d602081101561234157600080fd5b5051905061228c565b846123555760001994505b6001600160a01b0381161580159061236d5750815115155b80156123795750600085115b156124ad57848060019003955050600083608001516001600160a01b031663b72703ac836040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b1580156123e357600080fd5b505afa1580156123f7573d6000803e3d6000fd5b505050506040513d602081101561240d57600080fd5b50518451602086015191925061242391846129dd565b61242b6156f7565b612442858486600001518760c001518e8e8e6141c3565b90508060400151156124555750506124ad565b8051602085015161246b9163ffffffff613b3f16565b602080860191909152810151604085015161248b9163ffffffff613b3f16565b6040850152805184516124a39163ffffffff612aff16565b8452509050612355565b60008260400151116124f05760405162461bcd60e51b81526004018080602001828103825260298152602001806157a46029913960400191505060405180910390fd5b61250782604001518360c001518460e00151614476565b50612515826040015161451e565b60608301819052604083015161252c91908661452b565b82600001516001600160a01b03166364a197f3846060015184606001516040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b15801561259857600080fd5b505af11580156125ac573d6000803e3d6000fd5b5050505082606001516001600160a01b0316631e3e2a1a83606001516040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b1580156125fe57600080fd5b505af1158015612612573d6000803e3d6000fd5b505050506060820151604083015161262991612aff565b8260800181815250507f43a3f4082a4dbc33d78e317d2497d3a730bc7fc3574159dcea1056e62e5d9ad88a8360200151846040015185606001516040518085815260200184815260200183815260200182815260200194505050505060405180910390a182604001516001600160a01b0316639dc29fac3384602001516040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b1580156126f557600080fd5b505af1158015612709573d6000803e3d6000fd5b5050505082600001516001600160a01b03166338d995a883602001516040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b15801561275b57600080fd5b505af115801561276f573d6000803e3d6000fd5b505084516080850151604080516364a197f360e01b81523360048201526024810192909252516001600160a01b0390921693506364a197f3925060448082019260009290919082900301818387803b1580156127ca57600080fd5b505af11580156127de573d6000803e3d6000fd5b5050505050505050505050505050565b600f5481565b6212750081565b60006111ea6128086135b3565b61345c565b670ddd4b8c6c7d70d881565b612821612992565b610d208160026145a0565b600080600061283a85613cfd565b9150915060006113cc8383876146b9565b600d5481565b600061285b612992565b6001600160a01b0383166000908152600e602052604081206001015461189c908463ffffffff612aff16565b6000610d756128946127fb565b836146e9565b6001600160a01b03166000908152600e602052604090205490565b6000601582815481106128c457fe5b6000918252602090912001546001600160a01b031692915050565b60135481565b600060016001600160a01b0383166000908152600e602052604090206003015460ff16600481111561291357fe5b1461292057506000610d9a565b506012546001600160a01b03821660009081526014602052604090205410919050565b6001600160a01b038116600090815260146020526040812060010154601354829061133e908363ffffffff612aff16565b60006111ea600c54613b18565b612989612992565b610d2081614748565b6004546001600160a01b031633146129db5760405162461bcd60e51b815260040180806020018281038252603b8152602001806158c6603b913960400191505060405180910390fd5b565b6129e6816128e5565b15612afa576129f481613492565b60006129ff82611310565b90506000612a0c83612943565b6001600160a01b0384166000908152600e6020526040902060010154909150612a3b908363ffffffff613b3f16565b6001600160a01b0384166000908152600e60205260409020600181019190915554612a6c908263ffffffff613b3f16565b6001600160a01b0384166000908152600e6020526040902055612a8e83613c92565b612a9a85858385614798565b6001600160a01b0383166000818152600e602090815260408083208054600182015460029092015483519182529381019190915280820192909252606082019290925290516000805160206158a68339815191529181900360800190a250505b505050565b6000612b4183836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061489a565b9392505050565b601580546001808201835560008381527f55f448fdea98c4d29eb340757ef0a66cd03dbb9538908a6a81d96026b71ec47590920180546001600160a01b0319166001600160a01b03861617905591549091612ba39190612aff565b6001600160a01b03929092166000908152600e602052604090206003018054610100600160881b0319166101006001600160801b038516021790555090565b6001600160a01b0381166000908152600e60205260408120600101548190612c0990614931565b6001600160a01b0384166000908152600e60205260409020600201805490829055600f5491925090612c53908390612c47908463ffffffff612aff16565b9063ffffffff613b3f16565b600f81905560408051918252517f6bac5e0eb3c44eb03a60ab11ec3a2c051771616aecadbcfff2630aabae5203829181900360200190a15092915050565b600080612c9d83613db8565b6714d1120d7b160000119392505050565b612cb661562a565b612cbe61571a565b612cc661562a565b84825260006080830152612cd8611911565b60a0830152612ce5611e37565b60c0830152600060208301525b835182602001511015612ebe5783826020015181518110612d0f57fe5b6020908102919091018101516001600160a01b0316606084018190526000908152600e909152604090206003015460019060ff166004811115612d4e57fe5b14612d5857612eae565b612d6682606001518761282c565b60408301526080820151612e5057670f43fc2c04ee0000826040015110158015612d8f57508151155b15612d9957612eae565b6000612dae8360c001518460a00151896146b9565b9050612dcb8989856060015186604001518760000151868d61496d565b60808101518451919350612de5919063ffffffff612aff16565b8352608082015160a0840151612e009163ffffffff612aff16565b60a08085019190915282015160c0840151612e209163ffffffff612aff16565b60c0840152612e2f8483614ca0565b9350612e448360c001518460a0015189614db7565b15608084015250612eae565b81608001518015612e6c5750670f43fc2c04ee00008260400151105b15612eae57612e85888884606001518560000151614dd8565b60808101518351919250612e9f919063ffffffff612aff16565b8252612eab8382614ca0565b92505b6020820180516001019052612cf2565b505095945050505050565b612ed161562a565b612ed961571a565b612ee161562a565b848252600060208301525b835182602001511015612ebe5783826020015181518110612f0957fe5b60209081029190910101516001600160a01b031660608301819052612f2e908761282c565b60408301819052670f43fc2c04ee00001115612f8157612f58888884606001518560000151614dd8565b60808101518351919250612f72919063ffffffff612aff16565b8252612f7e8382614ca0565b92505b6020820180516001019052612eec565b81612f9b5761320c565b601654600090612fbd90612c4784670de0b6b3a764000063ffffffff61351816565b90506000612fe2601754612c47670de0b6b3a76400008761351890919063ffffffff16565b90506000612ffb600f548461357190919063ffffffff16565b90506000613014600f548461357190919063ffffffff16565b905061303b61302e600f548461351890919063ffffffff16565b859063ffffffff612aff16565b601655600f546130639061305690839063ffffffff61351816565b849063ffffffff612aff16565b601755601254613079908363ffffffff613b3f16565b60125560135461308f908263ffffffff613b3f16565b601381905560125460408051918252602082019290925281517f9f8bc8ab0daf5bceef75ecfd2085d1fcc6548c657ea970d9a23a60610d0737e3929181900390910190a1876001600160a01b03166338d995a8876040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b15801561311957600080fd5b505af115801561312d573d6000803e3d6000fd5b50505050866001600160a01b031663cfb9329a876040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b15801561317757600080fd5b505af115801561318b573d6000803e3d6000fd5b50505050876001600160a01b03166364a197f388876040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b1580156131ef57600080fd5b505af1158015613203573d6000803e3d6000fd5b50505050505050505b50505050565b600f546010819055506000826001600160a01b03166314f6c3be6040518163ffffffff1660e01b815260040160206040518083038186803b15801561325657600080fd5b505afa15801561326a573d6000803e3d6000fd5b505050506040513d602081101561328057600080fd5b505160015460408051630a7b61df60e11b815290519293506000926001600160a01b03909216916314f6c3be91600480820192602092909190829003018186803b1580156132cd57600080fd5b505afa1580156132e1573d6000803e3d6000fd5b505050506040513d60208110156132f757600080fd5b5051905061330f81612c47848663ffffffff612aff16565b601181905560105460408051918252602082019290925281517f51bf4c63ec3cba9d03d43238abbdd979dd91bd16d9895c74ceea9118c7baaf60929181900390910190a150505050565b81156133d85760085460065460408051631062c15f60e11b81526001600160a01b039283166004820152868316602482015260448101869052905191909216916320c582be91606480830192600092919082900301818387803b1580156133bf57600080fd5b505af11580156133d3573d6000803e3d6000fd5b505050505b801561320c57836001600160a01b03166364a197f384836040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b15801561343e57600080fd5b505af1158015613452573d6000803e3d6000fd5b5050505050505050565b6000610d75613484836103e8670de0b6b3a76400005b04600502613b3f90919063ffffffff16565b670de0b6b3a7640000614f47565b60016001600160a01b0382166000908152600e602052604090206003015460ff1660048111156134be57fe5b14610d205760405162461bcd60e51b815260040180806020018281038252602f815260200180615a17602f913960400191505060405180910390fd5b6000612b41670de0b6b3a76400006113c0858563ffffffff61351816565b60008261352757506000610d75565b8282028284828161353457fe5b0414612b415760405162461bcd60e51b81526004018080602001828103825260218152602001806158376021913960400191505060405180910390fd5b6000612b4183836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250614f5d565b6000806135be614fc2565b905060006135d4670ddd4b8c6c7d70d883614fde565b9050611a0b670de0b6b3a76400006113c083600c5461351890919063ffffffff16565b600061360e600d5442612aff90919063ffffffff16565b9050603c8110610d205742600d81905560408051918252517f860f8d2f0c74dd487e89e2883e3b25b8159ce1e1b3433a291cba7b82c508f3bc9181900360200190a150565b61365b61562a565b61366361571a565b61366b61562a565b8482526000608083015261367d611911565b60a083015261368a611e37565b8260c001818152505086608001516001600160a01b0316634d6228316040518163ffffffff1660e01b815260040160206040518083038186803b1580156136d057600080fd5b505afa1580156136e4573d6000803e3d6000fd5b505050506040513d60208110156136fa57600080fd5b50516001600160a01b039081166060840152608088015160408051631e22314360e01b815290516000939290921691631e22314391600480820192602092909190829003018186803b15801561374f57600080fd5b505afa158015613763573d6000803e3d6000fd5b505050506040513d602081101561377957600080fd5b50516000602085015290505b8483602001511080156137ae5750806001600160a01b031683606001516001600160a01b031614155b156139db57600088608001516001600160a01b031663b72703ac85606001516040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b15801561381357600080fd5b505afa158015613827573d6000803e3d6000fd5b505050506040513d602081101561383d57600080fd5b50516060850151909150613851908961282c565b6040850152608084015161394d57670f43fc2c04ee000084604001511015801561387a57508351155b1561388557506139db565b600061389a8560c001518660a001518b6146b9565b8a5160208c01516060880151604089015189519495506138bb94868f61496d565b608081015186519195506138d5919063ffffffff612aff16565b8552608084015160a08601516138f09163ffffffff612aff16565b8560a001818152505061391d8461010001516110f78660a001518860c00151612aff90919063ffffffff16565b60c086015261392c8685614ca0565b95506139418560c001518660a001518b614db7565b156080860152506139bd565b836080015180156139695750670f43fc2c04ee00008460400151105b156139b75761398a89600001518a6020015186606001518760000151614dd8565b608081015185519194506139a4919063ffffffff612aff16565b84526139b08584614ca0565b94506139bd565b506139db565b6001600160a01b031660608401526020830180516001019052613785565b505050949350505050565b6139ee61562a565b6139f661571a565b6139fe61562a565b600b54858352600060208401526001600160a01b03165b8483602001511015613b0c57806001600160a01b0316634d6228316040518163ffffffff1660e01b815260040160206040518083038186803b158015613a5a57600080fd5b505afa158015613a6e573d6000803e3d6000fd5b505050506040513d6020811015613a8457600080fd5b50516001600160a01b031660608401819052613aa0908861282c565b60408401819052670f43fc2c04ee00001115613af757613aca898985606001518660000151614dd8565b60808101518451919350613ae4919063ffffffff612aff16565b8352613af08483614ca0565b9350613afc565b613b0c565b6020830180516001019052613a15565b50505095945050505050565b6000610d75613b32836103e8670de0b6b3a7640000613472565b66b1a2bc2ec50000614f47565b600082820183811015612b41576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b6001600160a01b038116613bf4576040805162461bcd60e51b815260206004820152601e60248201527f4163636f756e742063616e6e6f74206265207a65726f20616464726573730000604482015290519081900360640190fd5b803b8061125e576040805162461bcd60e51b815260206004820181905260248201527f4163636f756e7420636f64652073697a652063616e6e6f74206265207a65726f604482015290519081900360640190fd5b6003546040516000916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600380546001600160a01b0319169055565b601280546001600160a01b0383166000908152601460209081526040918290209283556013546001909301839055925481519081529283019190915280517fc437f324d85e369394148dd9d62f98f534b382e01ed3dd2eb98138fb6d3ab49a9281900390910190a150565b6000806000613d0b84611310565b90506000613d1885612943565b6001600160a01b0386166000908152600e602052604081206001015491925090613d48908463ffffffff613b3f16565b6001600160a01b0387166000908152600e602052604081205491925090613d75908463ffffffff613b3f16565b919550909350505050915091565b60008115613daf57613da8826113c08568056bc75e2d6310000063ffffffff61351816565b9050610d75565b50600019610d75565b600080613dc3611e37565b90506000613dcf611911565b9050613ddc8282866146b9565b949350505050565b6611c37937e080008110801590613e035750670de0b6b3a76400008111155b610d205760405162461bcd60e51b815260040180806020018281038252603081526020018061599b6030913960400191505060405180910390fd5b60095460408051631e425be160e11b815290516000926001600160a01b031691633c84b7c2916004808301926020929190829003018186803b158015613e8357600080fd5b505afa158015613e97573d6000803e3d6000fd5b505050506040513d6020811015613ead57600080fd5b50519050613ec4816212750063ffffffff613b3f16565b421015610d205760405162461bcd60e51b81526004018080602001828103825260408152602001806157f76040913960400191505060405180910390fd5b670f43fc2c04ee0000613f1482613db8565b1015610d205760405162461bcd60e51b815260040180806020018281038252602a8152602001806159cb602a913960400191505060405180910390fd5b60008111610d205760405162461bcd60e51b815260040180806020018281038252602e815260200180615937602e913960400191505060405180910390fd5b80836001600160a01b03166370a08231846040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b158015613fe757600080fd5b505afa158015613ffb573d6000803e3d6000fd5b505050506040513d602081101561401157600080fd5b50511015612afa5760405162461bcd60e51b815260040180806020018281038252604e815260200180615858604e913960600191505060405180910390fd5b60006001600160a01b03831615806140e75750836001600160a01b0316635dbe47e8846040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b1580156140b957600080fd5b505afa1580156140cd573d6000803e3d6000fd5b505050506040513d60208110156140e357600080fd5b5051155b806141025750670f43fc2c04ee0000614100848461282c565b105b1561410f57506000612b41565b6000846001600160a01b031663765e0159856040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b15801561416757600080fd5b505afa15801561417b573d6000803e3d6000fd5b505050506040513d602081101561419157600080fd5b505190506001600160a01b0381161580611fb65750670f43fc2c04ee00006141b9828561282c565b1095945050505050565b6141cb6156f7565b6001600160a01b0387166000908152600e602052604090205461420890879061420390680ad78ebc5ac620000063ffffffff612aff16565b614f47565b8082526142299086906113c090670de0b6b3a764000063ffffffff61351816565b60208083019190915281516001600160a01b0389166000908152600e909252604082205461425c9163ffffffff612aff16565b6020808401516001600160a01b038b166000908152600e909252604082206001015492935090916142929163ffffffff612aff16565b9050680ad78ebc5ac620000082141561432b576142ae89614748565b6142b98960046145a0565b6142ce8a8a680ad78ebc5ac620000084615089565b886001600160a01b03166000805160206158a6833981519152600080600060036040518085815260200184815260200183815260200182600381111561431057fe5b60ff16815260200194505050505060405180910390a2614468565b60006143378284613d83565b905084811415806143585750686194049f30f72000006143568461523e565b105b1561436c575050600160408301525061446b565b60808b01516040805163015f109360e51b81526001600160a01b038d81166004830152602482018590528a81166044830152898116606483015291519190921691632be2126091608480830192600092919082900301818387803b1580156143d357600080fd5b505af11580156143e7573d6000803e3d6000fd5b5050506001600160a01b038b166000908152600e60205260409020848155600101839055506144158a612be2565b506001600160a01b038a166000818152600e6020908152604091829020600201548251878152918201869052818301526003606082015290516000805160206158a68339815191529181900360800190a2505b50505b979650505050505050565b6000806144816135b3565b90506000614499846113c0888863ffffffff61351816565b905060006144be6144b183600263ffffffff61357116565b849063ffffffff613b3f16565b90506144d281670de0b6b3a7640000614f47565b9050600081116144de57fe5b600c8190556040805182815290517fc454ee9b76c52f782a256af821b857ca6e125d1e3333bcede402fec2bed9600c9181900360200190a16113cc6135f7565b6000610d756128946111dd565b6000614549836113c086670de0b6b3a764000063ffffffff61351816565b90508181111561320c576040805162461bcd60e51b815260206004820152601d60248201527f4665652065786365656465642070726f7669646564206d6178696d756d000000604482015290519081900360640190fd5b60008160048111156145ae57fe5b141580156145c8575060018160048111156145c557fe5b14155b6145ce57fe5b6015546145da81615259565b6001600160a01b0383166000908152600e60205260409020600301805483919060ff1916600183600481111561460c57fe5b02179055506001600160a01b0383166000908152600e6020908152604080832060018082018590559084905560149092528220828155015561464e8382615312565b600b5460408051631484968760e11b81526001600160a01b038681166004830152915191909216916329092d0e91602480830192600092919082900301818387803b15801561469c57600080fd5b505af11580156146b0573d6000803e3d6000fd5b50505050505050565b600082156146e05760006146d7846113c0878663ffffffff61351816565b9150612b419050565b50600019612b41565b600080614708670de0b6b3a76400006113c0868663ffffffff61351816565b9050828110612b415760405162461bcd60e51b81526004018080602001828103825260368152602001806159656036913960400191505060405180910390fd5b6001600160a01b0381166000908152600e6020526040902060020154600f54614777908263ffffffff612aff16565b600f55506001600160a01b03166000908152600e6020526040812060020155565b826001600160a01b03166338d995a8836040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b1580156147de57600080fd5b505af11580156147f2573d6000803e3d6000fd5b50505050836001600160a01b031663cfb9329a836040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b15801561483c57600080fd5b505af1158015614850573d6000803e3d6000fd5b50505050826001600160a01b031663be41205f826040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b15801561343e57600080fd5b600081848411156149295760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156148ee5781810151838201526020016148d6565b50505050905090810190601f16801561491b5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b60008060115460001415614946575081610d75565b60006010541161495257fe5b612b416011546113c06010548661351890919063ffffffff16565b61497561562a565b61497d615762565b60155460011061498d575061446b565b61499687611fe8565b604085015260208481019190915284018190529083526149b5906154b9565b60408301819052680ad78ebc5ac6200000606084015260208301516149df9163ffffffff612aff16565b8152670de0b6b3a76400008611614ae757614a04898983602001518460400151614798565b614a0d87614748565b60006080830181905260a0830152815160c0830152805160e0830152614a348760036145a0565b866001600160a01b031660008051602061578483398151915283600001518460200151600260405180848152602001838152602001826003811115614a7557fe5b60ff168152602001935050505060405180910390a2866001600160a01b03166000805160206158a68339815191526000806000600260405180858152602001848152602001838152602001826003811115614acc57fe5b60ff16815260200194505050505060405180910390a2614c94565b670de0b6b3a764000086118015614b055750670f43fc2c04ee000086105b15614b5557614b1e898983602001518460400151614798565b614b2787614748565b81518151614b369190876154c0565b60e086015260c085015260a08401526080830152614a348760036145a0565b670f43fc2c04ee00008610158015614b6c57508386105b8015614b79575081518510155b15614c8357614b92898983602001518460400151614798565b84614b9957fe5b614ba287614748565b614bb5826000015183602001518561552c565b9150614bc28760036145a0565b61010082015115614c425760075461010083015160408051633f10abab60e01b81526001600160a01b038b81166004830152602482019390935290519190921691633f10abab91604480830192600092919082900301818387803b158015614c2957600080fd5b505af1158015614c3d573d6000803e3d6000fd5b505050505b866001600160a01b031660008051602061578483398151915283600001518460a00151600260405180848152602001838152602001826003811115614a7557fe5b614c8b61562a565b915061446b9050565b50979650505050505050565b614ca861562a565b60408083015190840151614cc19163ffffffff613b3f16565b604082015260608083015190840151614cdf9163ffffffff613b3f16565b606082015281516020840151614cfa9163ffffffff613b3f16565b6020808301919091528201518351614d179163ffffffff613b3f16565b815260808083015190840151614d329163ffffffff613b3f16565b608082015260a08083015190840151614d509163ffffffff613b3f16565b60a082015260c08083015190840151614d6e9163ffffffff613b3f16565b60c082015260e08083015190840151614d8c9163ffffffff613b3f16565b60e08201526101008083015190840151614dab9163ffffffff613b3f16565b61010082015292915050565b600080614dc58585856146b9565b6714d1120d7b1600001195945050505050565b614de061562a565b614de8615762565b614df184611fe8565b60408501908152602085810192835286019290925291845290519051614e1b918891889190614798565b614e2484614748565b614e3182602001516154b9565b60408301819052680ad78ebc5ac620000060608401526020830151600091614e5f919063ffffffff612aff16565b9050614e70836000015182866154c0565b60e087015260c086015260a08501526080840152614e8f8560036145a0565b846001600160a01b031660008051602061578483398151915284600001518560200151600160405180848152602001838152602001826003811115614ed057fe5b60ff168152602001935050505060405180910390a2846001600160a01b03166000805160206158a68339815191526000806000600160405180858152602001848152602001838152602001826003811115614f2757fe5b60ff16815260200194505050505060405180910390a25050949350505050565b6000818310614f565781612b41565b5090919050565b60008183614fac5760405162461bcd60e51b81526020600482018181528351602484015283519092839260449091019190850190808383600083156148ee5781810151838201526020016148d6565b506000838581614fb857fe5b0495945050505050565b60006111ea603c6113c0600d5442612aff90919063ffffffff16565b6000631f540500821115614ff457631f54050091505b816150085750670de0b6b3a7640000610d75565b670de0b6b3a764000083835b600181111561507f57600281066150495761502f82836155c6565b915061504281600263ffffffff61357116565b905061507a565b61505382846155c6565b925061505f82836155c6565b915061507760026113c083600163ffffffff612aff16565b90505b615014565b6113cc82846155c6565b6040808501516006548251632770a7eb60e21b81526001600160a01b039182166004820152602481018690529251911691639dc29fac91604480830192600092919082900301818387803b1580156150e057600080fd5b505af11580156150f4573d6000803e3d6000fd5b5050505083600001516001600160a01b03166338d995a8836040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b15801561514257600080fd5b505af1158015615156573d6000803e3d6000fd5b505050508360a001516001600160a01b0316633f10abab84836040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b1580156151be57600080fd5b505af11580156151d2573d6000803e3d6000fd5b5050505083600001516001600160a01b03166364a197f38560a00151836040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b15801561343e57600080fd5b6000610d7582680ad78ebc5ac620000063ffffffff612aff16565b6001811180156152d75750600b546040805163de8fa43160e01b815290516001926001600160a01b03169163de8fa431916004808301926020929190829003018186803b1580156152a957600080fd5b505afa1580156152bd573d6000803e3d6000fd5b505050506040513d60208110156152d357600080fd5b5051115b610d205760405162461bcd60e51b815260040180806020018281038252602a8152602001806157cd602a913960400191505060405180910390fd5b6001600160a01b0382166000908152600e602052604081206003015460ff169081600481111561533e57fe5b141580156153585750600181600481111561535557fe5b14155b61535e57fe5b6001600160a01b0383166000908152600e602052604081206003015461010090046001600160801b0316908390615396826001612aff565b905080836001600160801b031611156153ab57fe5b6000601582815481106153ba57fe5b600091825260209091200154601580546001600160a01b03909216925082916001600160801b0387169081106153ec57fe5b600091825260208083209190910180546001600160a01b0319166001600160a01b03948516179055918316808252600e83526040918290206003018054610100600160881b0319166101006001600160801b038a169081029190911790915582519182529281019290925280517f02b04ae5f7be9ca7c103293a2aa15f3c339d15d6eda53b721fef7b0e609c831a9281900390910190a1601580548061548e57fe5b600082815260209020810160001990810180546001600160a01b031916905501905550505050505050565b60c8900490565b60008080808415615516576154d58786614f47565b93506154eb876113c0888763ffffffff61351816565b92506154fd878563ffffffff612aff16565b915061550f868463ffffffff612aff16565b9050615523565b5060009250829150859050845b93509350935093565b61553461562a565b83815260208101839052600061555c836113c087670f43fc2c04ee000063ffffffff61351816565b9050615567816154b9565b60408301819052680ad78ebc5ac620000060608401526080830186905261559590829063ffffffff612aff16565b60a08301526155aa848263ffffffff612aff16565b61010083015250600060c0820181905260e08201529392505050565b6000806155d9848463ffffffff61351816565b9050613ddc670de0b6b3a76400006113c0836706f05b59d3b20000613b3f565b6040518060a00160405280600081526020016000815260200160001515815260200160008152602001600081525090565b6040518061012001604052806000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081525090565b6040805160e081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c081019190915290565b60405180610100016040528060008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081525090565b604051806060016040528060008152602001600081526020016000151581525090565b6040518060e0016040528060008152602001600081526020016000815260200160006001600160a01b0316815260200160001515815260200160008152602001600081525090565b6040518060600160405280600081526020016000815260200160008152509056feea67486ed7ebe3eea8ab3390efd4a3c8aae48be5bea27df104a8af786c40843454726f76654d616e616765723a20556e61626c6520746f2072656465656d20616e7920616d6f756e7454726f76654d616e616765723a204f6e6c79206f6e652074726f766520696e207468652073797374656d54726f76654d616e616765723a20526564656d7074696f6e7320617265206e6f7420616c6c6f77656420647572696e6720626f6f747374726170207068617365536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7754726f76654d616e616765723a2052657175657374656420726564656d7074696f6e20616d6f756e74206d757374206265203c3d20757365722773204c55534420746f6b656e2062616c616e6365c3770d654ed33aeea6bf11ac8ef05d02a6a04ed4686dd2f624d853bbec43cc8b54726f76654d616e616765723a2043616c6c6572206973206e6f742074686520426f72726f7765724f7065726174696f6e7320636f6e747261637454726f76654d616e616765723a2043616c6c646174612061646472657373206172726179206d757374206e6f7420626520656d70747954726f76654d616e616765723a20416d6f756e74206d7573742062652067726561746572207468616e207a65726f54726f76654d616e616765723a2046656520776f756c642065617420757020616c6c2072657475726e656420636f6c6c61746572616c4d6178206665652070657263656e74616765206d757374206265206265747765656e20302e352520616e64203130302554726f76654d616e616765723a2043616e6e6f742072656465656d207768656e20544352203c204d435254726f76654d616e616765723a206e6f7468696e6720746f206c697175696461746554726f76654d616e616765723a2054726f766520646f6573206e6f74206578697374206f7220697320636c6f736564a264697066735822122058923a9d6c4f36ad9b75dd502c5a29ad6a2ac2fc57cafd7ae36a3c66af64ff7f64736f6c634300060b0033608060405234801561001057600080fd5b50600380546001600160a01b031916339081179091556040516000907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3613731806100606000396000f3fe6080604052600436106101a35760003560e01c8063761ab22c116100e2578063a20baee611610085578063a20baee61461041f578063a3a640171461052a578063a3f4df7e1461053f578063ae918754146105c9578063b83f91a2146105de578063c6a6cf20146105f3578063ea9638bf1461063b578063f92d343314610673576101a3565b8063761ab22c14610449578063794e57241461045e578063795d26c3146104735780637f7dde4a14610488578063860665b31461049d578063887105d3146104d75780638da5cb5b146104ec5780638f32d59b14610501576101a3565b80634ff814431161014a5780634ff81443146102de5780635530273c146103085780635733d58f1461034957806368647db11461035e5780636c37a4af1461038c5780636f0b0c1c1461040a57806372fe25aa1461041f578063741bef1a14610434576101a3565b806304491fa7146101a85780630e704d50146101eb5780631184e5f8146102005780631bf43555146102475780632e86bbd81461026e5780633cc74225146102835780633d83908a146102b45780634870dd9a146102c9575b600080fd5b3480156101b457600080fd5b506101e9600480360360608110156101cb57600080fd5b508035906001600160a01b0360208201358116916040013516610688565b005b3480156101f757600080fd5b506101e961069f565b34801561020c57600080fd5b506101e96004803603608081101561022357600080fd5b508035906020810135906001600160a01b0360408201358116916060013516610a9a565b34801561025357600080fd5b5061025c610ab1565b60408051918252519081900360200190f35b34801561027a57600080fd5b5061025c610abe565b34801561028f57600080fd5b50610298610acb565b604080516001600160a01b039092168252519081900360200190f35b3480156102c057600080fd5b50610298610ada565b3480156102d557600080fd5b5061025c610ae9565b3480156102ea57600080fd5b5061025c6004803603602081101561030157600080fd5b5035610aee565b34801561031457600080fd5b506101e96004803603606081101561032b57600080fd5b508035906001600160a01b0360208201358116916040013516610aff565b34801561035557600080fd5b5061025c610b10565b6101e96004803603604081101561037457600080fd5b506001600160a01b0381358116916020013516610b1c565b34801561039857600080fd5b506101e960048036036101408110156103b057600080fd5b506001600160a01b038135811691602081013582169160408201358116916060810135821691608082013581169160a081013582169160c082013581169160e0810135821691610100820135811691610120013516610b32565b34801561041657600080fd5b506101e9610ee3565b34801561042b57600080fd5b5061025c610f43565b34801561044057600080fd5b50610298610f4f565b34801561045557600080fd5b50610298610f5e565b34801561046a57600080fd5b5061025c610f6d565b34801561047f57600080fd5b5061025c610f79565b34801561049457600080fd5b5061029861107a565b6101e9600480360360808110156104b357600080fd5b508035906020810135906001600160a01b0360408201358116916060013516611089565b3480156104e357600080fd5b5061025c6116be565b3480156104f857600080fd5b5061029861177a565b34801561050d57600080fd5b50610516611789565b604080519115158252519081900360200190f35b34801561053657600080fd5b5061029861179a565b34801561054b57600080fd5b506105546117a9565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561058e578181015183820152602001610576565b50505050905090810190601f1680156105bb5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156105d557600080fd5b506102986117d7565b3480156105ea57600080fd5b506102986117e6565b6101e9600480360360c081101561060957600080fd5b5080359060208101359060408101359060608101351515906001600160a01b03608082013581169160a00135166117f5565b6101e96004803603606081101561065157600080fd5b506001600160a01b03813581169160208101358216916040909101351661180c565b34801561067f57600080fd5b5061025c611826565b61069a33600085600086866000611831565b505050565b600454600054600a546001600160a01b039283169291821691166106c38333611e2e565b60025460408051630fdb11cf60e01b815290516000926001600160a01b031691630fdb11cf91600480830192602092919082900301818787803b15801561070957600080fd5b505af115801561071d573d6000803e3d6000fd5b505050506040513d602081101561073357600080fd5b5051905061074081611ef3565b60408051630b07655760e01b815233600482015290516001600160a01b03861691630b07655791602480830192600092919082900301818387803b15801561078757600080fd5b505af115801561079b573d6000803e3d6000fd5b5050604080516309019aaf60e31b81523360048201529051600093506001600160a01b038816925063480cd57891602480820192602092909190829003018186803b1580156107e957600080fd5b505afa1580156107fd573d6000803e3d6000fd5b505050506040513d602081101561081357600080fd5b50516040805163d66a255360e01b815233600482015290519192506000916001600160a01b0388169163d66a2553916024808301926020929190829003018186803b15801561086157600080fd5b505afa158015610875573d6000803e3d6000fd5b505050506040513d602081101561088b57600080fd5b505190506108b284336108ad84680ad78ebc5ac620000063ffffffff611f3b16565b611f84565b60006108c383600084600088612044565b90506108ce816120cf565b60408051631fc5750960e31b815233600482015290516001600160a01b0389169163fe2ba84891602480830192600092919082900301818387803b15801561091557600080fd5b505af1158015610929573d6000803e3d6000fd5b5050604080516365e89c5760e11b815233600482015290516001600160a01b038b16935063cbd138ae9250602480830192600092919082900301818387803b15801561097457600080fd5b505af1158015610988573d6000803e3d6000fd5b50505050336001600160a01b03166000805160206134cd83398151915260008060006001604051808581526020018481526020018381526020018260028111156109ce57fe5b60ff16815260200194505050505060405180910390a2610a08868633610a0386680ad78ebc5ac620000063ffffffff611f3b16565b612116565b600654610a2b90879087906001600160a01b0316680ad78ebc5ac6200000612116565b604080516364a197f360e01b81523360048201526024810185905290516001600160a01b038816916364a197f391604480830192600092919082900301818387803b158015610a7957600080fd5b505af1158015610a8d573d6000803e3d6000fd5b5050505050505050505050565b610aab33600085600186868a611831565b50505050565b686194049f30f720000081565b680ad78ebc5ac620000081565b6001546001600160a01b031681565b6004546001600160a01b031681565b60c881565b6000610af9826121f2565b92915050565b61069a338460008086866000611831565b6714d1120d7b16000081565b610b2e33600080600086866000611831565b5050565b610b3a611789565b610b8b576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b610b948a61220d565b610b9d8961220d565b610ba68861220d565b610baf8761220d565b610bb88661220d565b610bc18561220d565b610bca8461220d565b610bd38361220d565b610bdc8261220d565b610be58161220d565b600480546001600160a01b03199081166001600160a01b038d81169182179093556000805483168d85161790556001805483168c85161790556005805483168b85161790556006805483168a8516179055600780548316898516179055600280548316888516179055600b80548316878516179055600a80548316868516179055600980548316938516938417905560088054909216909217905560408051918252517f143219c9e69b09e07e095fcc889b43d8f46ca892bba65f08dc3a0050869a5678916020908290030190a1604080516001600160a01b038b16815290517f78f058b189175430c48dc02699e3a0031ea4ff781536dc2fab847de4babdd8829181900360200190a1604080516001600160a01b038a16815290517f5ee0cae2f063ed938bb55046f6a932fb6ae792bf43624806bb90abe68a50be9b9181900360200190a1604080516001600160a01b038916815290517f82966d27eea39b038ee0fa30cd16532bb24f6e65d31cb58fb227aa5766cdcc7f9181900360200190a1604080516001600160a01b038816815290517fcfb07d791fcafc032b35837b50eb84b74df518cf4cc287e8084f47630fa70fa09181900360200190a1604080516001600160a01b038716815290517fe67f36a6e961157d6eff83b91f3af5a62131ceb6f04954ef74f51c1c05e7f88d9181900360200190a1604080516001600160a01b038616815290517f8c537274438aa850a330284665d81a85dd38267d09e4050d416bfc94142db2649181900360200190a1604080516001600160a01b038516815290517f65f4cf077bc01e4742eb5ad98326f6e95b63548ea24b17f8d5e823111fe788009181900360200190a1604080516001600160a01b038416815290517f227eec0ec317af6ab1a9587ffa1c84332522eb4c583a908f89babc05f8f339bd9181900360200190a1604080516001600160a01b038316815290517f756ebc192164c295bba134b5aacd72cc7aff8098a670d1f0a5f6b3a0b4ce67079181900360200190a1610ed76122bc565b50505050505050505050565b6007546040805163b32beb5b60e01b815233600482015290516001600160a01b039092169163b32beb5b9160248082019260009290919082900301818387803b158015610f2f57600080fd5b505af1158015610aab573d6000803e3d6000fd5b670de0b6b3a764000081565b6002546001600160a01b031681565b6009546001600160a01b031681565b670f43fc2c04ee000081565b6000805460408051632f5a97e560e11b8152905183926001600160a01b031691635eb52fca916004808301926020929190829003018186803b158015610fbe57600080fd5b505afa158015610fd2573d6000803e3d6000fd5b505050506040513d6020811015610fe857600080fd5b505160015460408051632f5a97e560e11b815290519293506000926001600160a01b0390921691635eb52fca91600480820192602092909190829003018186803b15801561103557600080fd5b505afa158015611049573d6000803e3d6000fd5b505050506040513d602081101561105f57600080fd5b50519050611073828263ffffffff61230616565b9250505090565b6000546001600160a01b031681565b611091613220565b50604080516060810182526004546001600160a01b03908116825260005481166020830152600a5416918101919091526110c9613240565b600260009054906101000a90046001600160a01b03166001600160a01b0316630fdb11cf6040518163ffffffff1660e01b8152600401602060405180830381600087803b15801561111957600080fd5b505af115801561112d573d6000803e3d6000fd5b505050506040513d602081101561114357600080fd5b505180825260009061115490612360565b9050611160878261237d565b825161116c9033612429565b60408201869052806111ad5761118c83600001518460400151888a612505565b6020830181905260408301516111a79163ffffffff61230616565b60408301525b6111ba82604001516126b5565b6111c782604001516121f2565b606083018190526111d457fe5b6111e734836060015184600001516126fd565b608083015260608201516111fc90349061273b565b60a08301528015611219576112148260800151612770565b61124c565b61122682608001516127b7565b600061123f346001856060015160018760000151612044565b905061124a816120cf565b505b825160408051635d6b480f60e01b81523360048201526001602482015290516001600160a01b0390921691635d6b480f9160448082019260009290919082900301818387803b15801561129e57600080fd5b505af11580156112b2573d6000803e3d6000fd5b50508451604080516372423c1760e01b815233600482015234602482015290516001600160a01b0390921693506372423c1792506044808201926020929091908290030181600087803b15801561130857600080fd5b505af115801561131c573d6000803e3d6000fd5b505050506040513d602081101561133257600080fd5b50508251606083015160408051639976cf4560e01b81523360048201526024810192909252516001600160a01b0390921691639976cf45916044808201926020929091908290030181600087803b15801561138c57600080fd5b505af11580156113a0573d6000803e3d6000fd5b505050506040513d60208110156113b657600080fd5b50508251604080516382fe3eb960e01b815233600482015290516001600160a01b03909216916382fe3eb99160248082019260009290919082900301818387803b15801561140357600080fd5b505af1158015611417573d6000803e3d6000fd5b5050845160408051630c7940bd60e11b815233600482015290516001600160a01b0390921693506318f2817a92506024808201926020929091908290030181600087803b15801561146757600080fd5b505af115801561147b573d6000803e3d6000fd5b505050506040513d602081101561149157600080fd5b505160c0830152600b5460a0830151604080516346f7cf8760e01b815233600482015260248101929092526001600160a01b038881166044840152878116606484015290519216916346f7cf879160848082019260009290919082900301818387803b15801561150057600080fd5b505af1158015611514573d6000803e3d6000fd5b50508451604080516315d549f160e01b815233600482015290516001600160a01b0390921693506315d549f192506024808201926020929091908290030181600087803b15801561156457600080fd5b505af1158015611578573d6000803e3d6000fd5b505050506040513d602081101561158e57600080fd5b505160e08301819052604080519182525133917f59cfd0cd754bc5748b6770e94a4ffa5f678d885cb899dcfadc5734edb97c67ab919081900360200190a26115da8360200151346127fe565b6115f3836020015184604001513389866040015161288e565b6020830151604084015160065461161f9291906001600160a01b0316680ad78ebc5ac62000008061288e565b336001600160a01b03166000805160206134cd8339815191528360600151348560c0015160006040518085815260200184815260200183815260200182600281111561166757fe5b60ff16815260200194505050505060405180910390a2602080830151604080519182525133927fa55c5f48fd29482ad55f4b59bf070cd1ac1a7132a31f7a136ebe8877ae37e1ff928290030190a250505050505050565b6000805460408051630a7b61df60e11b8152905183926001600160a01b0316916314f6c3be916004808301926020929190829003018186803b15801561170357600080fd5b505afa158015611717573d6000803e3d6000fd5b505050506040513d602081101561172d57600080fd5b505160015460408051630a7b61df60e11b815290519293506000926001600160a01b03909216916314f6c3be91600480820192602092909190829003018186803b15801561103557600080fd5b6003546001600160a01b031690565b6003546001600160a01b0316331490565b6008546001600160a01b031681565b60405180604001604052806012815260200171426f72726f7765724f7065726174696f6e7360701b81525081565b600b546001600160a01b031681565b600a546001600160a01b031681565b6118043386868686868c611831565b505050505050565b61181461296b565b61069a83600080600086866000611831565b6611c37937e0800081565b611839613220565b50604080516060810182526004546001600160a01b03908116825260005481166020830152600a541691810191909152611871613285565b600260009054906101000a90046001600160a01b03166001600160a01b0316630fdb11cf6040518163ffffffff1660e01b8152600401602060405180830381600087803b1580156118c157600080fd5b505af11580156118d5573d6000803e3d6000fd5b505050506040513d60208110156118eb57600080fd5b50518082526000906118fc90612360565b905086156119175761190e848261237d565b611917886129b6565b611920896129f5565b61192a8989612a3b565b8251611936908b611e2e565b336001600160a01b038b16148061196c57506005546001600160a01b0316331480156119625750600034115b801561196c575087155b61197257fe5b82600001516001600160a01b0316630b0765578b6040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b03168152602001915050600060405180830381600087803b1580156119ce57600080fd5b505af11580156119e2573d6000803e3d6000fd5b505050506119f0348a612a8d565b15156060840152602083015260408201889052868015611a0e575080155b15611a4957611a27836000015184604001518a87612505565b61012083018190526040830151611a439163ffffffff61230616565b60408301525b82600001516001600160a01b031663d66a25538b6040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b158015611aa357600080fd5b505afa158015611ab7573d6000803e3d6000fd5b505050506040513d6020811015611acd57600080fd5b505160808301528251604080516309019aaf60e31b81526001600160a01b038d811660048301529151919092169163480cd578916024808301926020929190829003018186803b158015611b2057600080fd5b505afa158015611b34573d6000803e3d6000fd5b505050506040513d6020811015611b4a57600080fd5b505160a0830181905260808301518351611b659291906126fd565b8260c0018181525050611b958260a0015183608001518460200151856060015186604001518c8860000151612aac565b60e083015260a0820151891115611ba857fe5b611bb4818a8985612adf565b86158015611bc25750600088115b15611c1557611bf0611beb8360400151611bdf8560800151612b53565b9063ffffffff611f3b16565b6126b5565b611c0282608001518360400151612b6e565b611c1583604001518b8460400151611f84565b611c3383600001518b8460200151856060015186604001518c612bc5565b610140840152610160830152825160408051630c7940bd60e11b81526001600160a01b038d81166004830152915191909216916318f2817a9160248083019260209291908290030181600087803b158015611c8d57600080fd5b505af1158015611ca1573d6000803e3d6000fd5b505050506040513d6020811015611cb757600080fd5b505161018083015260a08201516080830151602084015160608501516040860151600094611ceb949093909290918d612e25565b600b546040805163015f109360e51b81526001600160a01b038f81166004830152602482018590528b811660448301528a811660648301529151939450911691632be212609160848082019260009290919082900301818387803b158015611d5257600080fd5b505af1158015611d66573d6000803e3d6000fd5b505050508a6001600160a01b03166000805160206134cd833981519152846101400151856101600151866101800151600260405180858152602001848152602001838152602001826002811115611db957fe5b60ff16815260200194505050505060405180910390a2610120830151604080519182525133917fa55c5f48fd29482ad55f4b59bf070cd1ac1a7132a31f7a136ebe8877ae37e1ff919081900360200190a2610a8d8460200151856040015133866020015187606001518e8e8a60400151612e56565b6000826001600160a01b03166321e37801836040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b158015611e8657600080fd5b505afa158015611e9a573d6000803e3d6000fd5b505050506040513d6020811015611eb057600080fd5b505190506001811461069a5760405162461bcd60e51b815260040180806020018281038252602e81526020018061349f602e913960400191505060405180910390fd5b611efc81612360565b15611f385760405162461bcd60e51b815260040180806020018281038252603981526020018061334d6039913960400191505060405180910390fd5b50565b6000611f7d83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250612f11565b9392505050565b80836001600160a01b03166370a08231846040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b158015611fdb57600080fd5b505afa158015611fef573d6000803e3d6000fd5b505050506040513d602081101561200557600080fd5b5051101561069a5760405162461bcd60e51b815260040180806020018281038252603d81526020018061352b603d913960400191505060405180910390fd5b60008061204f6116be565b9050600061205b610f79565b90508661207757612072828963ffffffff611f3b16565b612087565b612087828963ffffffff61230616565b9150846120a35761209e818763ffffffff611f3b16565b6120b3565b6120b3818763ffffffff61230616565b905060006120c28383876126fd565b9998505050505050505050565b6714d1120d7b160000811015611f385760405162461bcd60e51b81526004018080602001828103825260498152602001806134566049913960600191505060405180910390fd5b836001600160a01b03166338d995a8826040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b15801561215c57600080fd5b505af1158015612170573d6000803e3d6000fd5b50505050826001600160a01b0316639dc29fac83836040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b1580156121d457600080fd5b505af11580156121e8573d6000803e3d6000fd5b5050505050505050565b6000610af982680ad78ebc5ac620000063ffffffff61230616565b6001600160a01b038116612268576040805162461bcd60e51b815260206004820152601e60248201527f4163636f756e742063616e6e6f74206265207a65726f20616464726573730000604482015290519081900360640190fd5b803b80610b2e576040805162461bcd60e51b815260206004820181905260248201527f4163636f756e7420636f64652073697a652063616e6e6f74206265207a65726f604482015290519081900360640190fd5b6003546040516000916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600380546001600160a01b0319169055565b600082820183811015611f7d576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b60008061236c83612fa8565b6714d1120d7b160000119392505050565b80156123cf57670de0b6b3a76400008211156123ca5760405162461bcd60e51b81526004018080602001828103825260328152602001806133bd6032913960400191505060405180910390fd5b610b2e565b6611c37937e0800082108015906123ee5750670de0b6b3a76400008211155b610b2e5760405162461bcd60e51b81526004018080602001828103825260308152602001806136576030913960400191505060405180910390fd5b6000826001600160a01b03166321e37801836040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b15801561248157600080fd5b505afa158015612495573d6000803e3d6000fd5b505050506040513d60208110156124ab57600080fd5b50519050600181141561069a576040805162461bcd60e51b815260206004820152601c60248201527f426f72726f7765724f70733a2054726f76652069732061637469766500000000604482015290519081900360640190fd5b6000846001600160a01b0316635dba4c4a6040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561254257600080fd5b505af1158015612556573d6000803e3d6000fd5b505050506000856001600160a01b031663631203b0856040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b1580156125a057600080fd5b505afa1580156125b4573d6000803e3d6000fd5b505050506040513d60208110156125ca57600080fd5b505190506125d9818585612fd4565b60085460408051634677ffb360e01b81526004810184905290516001600160a01b0390921691634677ffb39160248082019260009290919082900301818387803b15801561262657600080fd5b505af115801561263a573d6000803e3d6000fd5b5050600954604080516340c10f1960e01b81526001600160a01b03928316600482015260248101869052905191891693506340c10f19925060448082019260009290919082900301818387803b15801561269357600080fd5b505af11580156126a7573d6000803e3d6000fd5b509298975050505050505050565b686194049f30f7200000811015611f385760405162461bcd60e51b815260040180806020018281038252603a8152602001806135b1603a913960400191505060405180910390fd5b600082156127305760006127278461271b878663ffffffff61304916565b9063ffffffff6130a216565b9150611f7d9050565b506000199392505050565b60008115612767576127608261271b8568056bc75e2d6310000063ffffffff61304916565b9050610af9565b50600019610af9565b6714d1120d7b160000811015611f385760405162461bcd60e51b81526004018080602001828103825260378152602001806133866037913960400191505060405180910390fd5b670f43fc2c04ee0000811015611f385760405162461bcd60e51b81526004018080602001828103825260498152602001806135686049913960600191505060405180910390fd5b6040516000906001600160a01b0384169083908381818185875af1925050503d8060008114612849576040519150601f19603f3d011682016040523d82523d6000602084013e61284e565b606091505b505090508061069a5760405162461bcd60e51b815260040180806020018281038252602d8152602001806132f0602d913960400191505060405180910390fd5b846001600160a01b031663cfb9329a826040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b1580156128d457600080fd5b505af11580156128e8573d6000803e3d6000fd5b50505050836001600160a01b03166340c10f1984846040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b15801561294c57600080fd5b505af1158015612960573d6000803e3d6000fd5b505050505050505050565b6005546001600160a01b031633146129b45760405162461bcd60e51b815260040180806020018281038252602981526020018061362e6029913960400191505060405180910390fd5b565b60008111611f385760405162461bcd60e51b81526004018080602001828103825260378152602001806136876037913960400191505060405180910390fd5b341580612a00575080155b611f385760405162461bcd60e51b815260040180806020018281038252603081526020018061331d6030913960400191505060405180910390fd5b34151580612a4857508115155b80612a5257508015155b610b2e5760405162461bcd60e51b81526004018080602001828103825260468152602001806133ef6046913960600191505060405180910390fd5b6000808315612aa157508290506001612aa5565b8291505b9250929050565b6000806000612abf8a8a8a8a8a8a6130e4565b915091506000612ad08383876126fd565b9b9a5050505050505050505050565b8315612b1857612aee8361313f565b8115612b1357612b018160e00151612770565b612b138160e001518260c0015161317c565b610aab565b612b258160e001516127b7565b612b42816020015182606001518360400151858560000151612044565b6101008201819052610aab906120cf565b6000610af982680ad78ebc5ac620000063ffffffff611f3b16565b612b8782680ad78ebc5ac620000063ffffffff611f3b16565b811115610b2e5760405162461bcd60e51b81526004018080602001828103825260438152602001806135eb6043913960600191505060405180910390fd5b600080600085612c6057886001600160a01b031663d3d6f84389896040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050602060405180830381600087803b158015612c2f57600080fd5b505af1158015612c43573d6000803e3d6000fd5b505050506040513d6020811015612c5957600080fd5b5051612ced565b886001600160a01b03166372423c1789896040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050602060405180830381600087803b158015612cc057600080fd5b505af1158015612cd4573d6000803e3d6000fd5b505050506040513d6020811015612cea57600080fd5b50515b9050600084612d8757896001600160a01b03166312610e928a886040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050602060405180830381600087803b158015612d5657600080fd5b505af1158015612d6a573d6000803e3d6000fd5b505050506040513d6020811015612d8057600080fd5b5051612e14565b896001600160a01b0316639976cf458a886040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050602060405180830381600087803b158015612de757600080fd5b505af1158015612dfb573d6000803e3d6000fd5b505050506040513d6020811015612e1157600080fd5b50515b919a91995090975050505050505050565b6000806000612e388989898989896130e4565b915091506000612e48838361273b565b9a9950505050505050505050565b8115612e6e57612e69888888868561288e565b612e7a565b612e7a88888886612116565b8315612e8f57612e8a88866127fe565b6121e8565b876001600160a01b03166364a197f387876040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b158015612eef57600080fd5b505af1158015612f03573d6000803e3d6000fd5b505050505050505050505050565b60008184841115612fa05760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015612f65578181015183820152602001612f4d565b50505050905090810190601f168015612f925780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b600080612fb36116be565b90506000612fbf610f79565b9050612fcc8282866126fd565b949350505050565b6000612ff28361271b86670de0b6b3a764000063ffffffff61304916565b905081811115610aab576040805162461bcd60e51b815260206004820152601d60248201527f4665652065786365656465642070726f7669646564206d6178696d756d000000604482015290519081900360640190fd5b60008261305857506000610af9565b8282028284828161306557fe5b0414611f7d5760405162461bcd60e51b81526004018080602001828103825260218152602001806134356021913960400191505060405180910390fd5b6000611f7d83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506131bb565b600080878786613103576130fe8a8963ffffffff611f3b16565b613113565b6131138a8963ffffffff61230616565b91508461312f5761312a898763ffffffff611f3b16565b612e14565b612e14898763ffffffff61230616565b8015611f385760405162461bcd60e51b815260040180806020018281038252603e8152602001806134ed603e913960400191505060405180910390fd5b80821015610b2e5760405162461bcd60e51b815260040180806020018281038252603e8152602001806136be603e913960400191505060405180910390fd5b6000818361320a5760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315612f65578181015183820152602001612f4d565b50600083858161321657fe5b0495945050505050565b604080516060810182526000808252602082018190529181019190915290565b60405180610100016040528060008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081525090565b604051806101a00160405280600081526020016000815260200160008152602001600015158152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152509056fe426f72726f7765724f70733a2053656e64696e672045544820746f20416374697665506f6f6c206661696c6564426f72726f7765724f7065726174696f6e733a2043616e6e6f7420776974686472617720616e642061646420636f6c6c426f72726f7765724f70733a204f7065726174696f6e206e6f74207065726d697474656420647572696e67205265636f76657279204d6f6465426f72726f7765724f70733a204f7065726174696f6e206d757374206c656176652074726f7665207769746820494352203e3d204343524d6178206665652070657263656e74616765206d757374206c657373207468616e206f7220657175616c20746f2031303025426f72726f7765724f70733a205468657265206d75737420626520656974686572206120636f6c6c61746572616c206368616e6765206f7220612064656274206368616e6765536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77426f72726f7765724f70733a20416e206f7065726174696f6e207468617420776f756c6420726573756c7420696e20544352203c20434352206973206e6f74207065726d6974746564426f72726f7765724f70733a2054726f766520646f6573206e6f74206578697374206f7220697320636c6f736564c3770d654ed33aeea6bf11ac8ef05d02a6a04ed4686dd2f624d853bbec43cc8b426f72726f7765724f70733a20436f6c6c61746572616c207769746864726177616c206e6f74207065726d6974746564205265636f76657279204d6f6465426f72726f7765724f70733a2043616c6c657220646f65736e74206861766520656e6f756768204c55534420746f206d616b652072657061796d656e74426f72726f7765724f70733a20416e206f7065726174696f6e207468617420776f756c6420726573756c7420696e20494352203c204d4352206973206e6f74207065726d6974746564426f72726f7765724f70733a2054726f76652773206e65742064656274206d7573742062652067726561746572207468616e206d696e696d756d426f72726f7765724f70733a20416d6f756e7420726570616964206d757374206e6f74206265206c6172676572207468616e207468652054726f766527732064656274426f72726f7765724f70733a2043616c6c6572206973206e6f742053746162696c69747920506f6f6c4d6178206665652070657263656e74616765206d757374206265206265747765656e20302e352520616e642031303025426f72726f7765724f70733a204465627420696e637265617365207265717569726573206e6f6e2d7a65726f20646562744368616e6765426f72726f7765724f70733a2043616e6e6f7420646563726561736520796f75722054726f766527732049435220696e205265636f76657279204d6f6465a2646970667358221220ff6384a65471624c35cad7a77b32a2857e00b30cafdc8b20094aefc81c0eb04964736f6c634300060b0033608060405234801561001057600080fd5b50600080546001600160a01b0319163390811782556040519091907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3610bbd8061005f6000396000f3fe6080604052600436106100b65760003560e01c806364a197f31161006f57806364a197f31461020d5780638da5cb5b146102465780638f32d59b1461025b578063a3f4df7e14610284578063aac1846f1461030e578063b7f8cf9b14610323578063cfb9329a146103385761010f565b80630b622ab21461011457806314f6c3be1461014557806338d995a81461016c5780634a945f8d146101985780635a4d28bb146101e35780635eb52fca146101f85761010f565b3661010f576100c3610362565b6005546100d6903463ffffffff6103c216565b600581905560408051918252517fca232b5abb988c540b959ff6c3bfae3e97fff964fd098c508f9613c0a6bf1a809181900360200190a1005b600080fd5b34801561012057600080fd5b50610129610423565b604080516001600160a01b039092168252519081900360200190f35b34801561015157600080fd5b5061015a610432565b60408051918252519081900360200190f35b34801561017857600080fd5b506101966004803603602081101561018f57600080fd5b5035610438565b005b3480156101a457600080fd5b50610196600480360360808110156101bb57600080fd5b506001600160a01b03813581169160208101358216916040820135811691606001351661048d565b3480156101ef57600080fd5b50610129610646565b34801561020457600080fd5b5061015a610655565b34801561021957600080fd5b506101966004803603604081101561023057600080fd5b506001600160a01b03813516906020013561065b565b34801561025257600080fd5b5061012961079c565b34801561026757600080fd5b506102706107ab565b604080519115158252519081900360200190f35b34801561029057600080fd5b506102996107bc565b6040805160208082528351818301528351919283929083019185019080838360005b838110156102d35781810151838201526020016102bb565b50505050905090810190601f1680156103005780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561031a57600080fd5b506101296107e2565b34801561032f57600080fd5b506101296107f1565b34801561034457600080fd5b506101966004803603602081101561035b57600080fd5b5035610800565b6001546001600160a01b031633148061038557506004546001600160a01b031633145b6103c05760405162461bcd60e51b8152600401808060200182810382526031815260200180610b576031913960400191505060405180910390fd5b565b60008282018381101561041c576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b6003546001600160a01b031681565b60055490565b61044061081b565b600654610453908263ffffffff61088e16565b600681905560408051918252517f0d4c964e4ceac5d740869d39789a7b91888a787b9c33e9365b1a658a21ffb6969181900360200190a150565b6104956107ab565b6104e6576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b6104ef846108d0565b6104f8836108d0565b610501826108d0565b61050a816108d0565b600180546001600160a01b038087166001600160a01b031992831681179093556002805487831690841617905560038054868316908416179055600480549185169190921617905560408051918252517f3ca631ffcd2a9b5d9ae18543fc82f58eb4ca33af9e6ab01b7a8e95331e6ed9859181900360200190a1604080516001600160a01b038516815290517f143219c9e69b09e07e095fcc889b43d8f46ca892bba65f08dc3a0050869a56789181900360200190a1604080516001600160a01b038416815290517f82966d27eea39b038ee0fa30cd16532bb24f6e65d31cb58fb227aa5766cdcc7f9181900360200190a1604080516001600160a01b038316815290517f5ee0cae2f063ed938bb55046f6a932fb6ae792bf43624806bb90abe68a50be9b9181900360200190a1610640610983565b50505050565b6002546001600160a01b031681565b60065490565b61066361081b565b600554610676908263ffffffff61088e16565b600581905560408051918252517fca232b5abb988c540b959ff6c3bfae3e97fff964fd098c508f9613c0a6bf1a809181900360200190a1604080516001600160a01b03841681526020810183905281517f6109e2559dfa766aaec7118351d48a523f0a4157f49c8d68749c8ac41318ad12929181900390910190a16040516000906001600160a01b0384169083908381818185875af1925050503d806000811461073c576040519150601f19603f3d011682016040523d82523d6000602084013e610741565b606091505b5050905080610797576040805162461bcd60e51b815260206004820152601e60248201527f416374697665506f6f6c3a2073656e64696e6720455448206661696c65640000604482015290519081900360640190fd5b505050565b6000546001600160a01b031690565b6000546001600160a01b0316331490565b6040518060400160405280600a8152602001691058dd1a5d99541bdbdb60b21b81525081565b6004546001600160a01b031681565b6001546001600160a01b031681565b6108086109cd565b600654610453908263ffffffff6103c216565b6001546001600160a01b031633148061083e57506002546001600160a01b031633145b8061085357506003546001600160a01b031633145b6103c05760405162461bcd60e51b8152600401808060200182810382526053815260200180610b046053913960600191505060405180910390fd5b600061041c83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610a2b565b6001600160a01b03811661092b576040805162461bcd60e51b815260206004820152601e60248201527f4163636f756e742063616e6e6f74206265207a65726f20616464726573730000604482015290519081900360640190fd5b803b8061097f576040805162461bcd60e51b815260206004820181905260248201527f4163636f756e7420636f64652073697a652063616e6e6f74206265207a65726f604482015290519081900360640190fd5b5050565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6001546001600160a01b03163314806109f057506002546001600160a01b031633145b6103c05760405162461bcd60e51b8152600401808060200182810382526041815260200180610ac36041913960600191505060405180910390fd5b60008184841115610aba5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610a7f578181015183820152602001610a67565b50505050905090810190601f168015610aac5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50505090039056fe416374697665506f6f6c3a2043616c6c6572206973206e65697468657220426f72726f7765724f7065726174696f6e73206e6f722054726f76654d616e61676572416374697665506f6f6c3a2043616c6c6572206973206e65697468657220426f72726f7765724f7065726174696f6e73206e6f722054726f76654d616e61676572206e6f722053746162696c697479506f6f6c416374697665506f6f6c3a2043616c6c6572206973206e65697468657220424f206e6f722044656661756c7420506f6f6ca26469706673582212203aea0a6deebfc6f5960c1b84c7730ae5dd92ccf877d605d81e8467142b51aa7764736f6c634300060b0033608060405234801561001057600080fd5b50600080546001600160a01b0319163390811782556040519091907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a36109988061005f6000396000f3fe6080604052600436106100a05760003560e01c80638f32d59b116100645780638f32d59b146101ac57806390107afe146101d5578063a3f4df7e14610210578063b08bc7221461029a578063be41205f146102af578063cfb9329a146102d9576100f9565b806314f6c3be146100fe57806338d995a8146101255780635a4d28bb146101515780635eb52fca146101825780638da5cb5b14610197576100f9565b366100f9576100ad610303565b6003546100c0903463ffffffff61034e16565b600381905560408051918252517f9a14ae677a60400af9176bed2e2d5ce8dfa6405e6c1702debb27668f567214289181900360200190a1005b600080fd5b34801561010a57600080fd5b506101136103af565b60408051918252519081900360200190f35b34801561013157600080fd5b5061014f6004803603602081101561014857600080fd5b50356103b5565b005b34801561015d57600080fd5b5061016661040a565b604080516001600160a01b039092168252519081900360200190f35b34801561018e57600080fd5b50610113610419565b3480156101a357600080fd5b5061016661041f565b3480156101b857600080fd5b506101c161042e565b604080519115158252519081900360200190f35b3480156101e157600080fd5b5061014f600480360360408110156101f857600080fd5b506001600160a01b038135811691602001351661043f565b34801561021c57600080fd5b50610225610552565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561025f578181015183820152602001610247565b50505050905090810190601f16801561028c5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156102a657600080fd5b50610166610579565b3480156102bb57600080fd5b5061014f600480360360208110156102d257600080fd5b5035610588565b3480156102e557600080fd5b5061014f600480360360208110156102fc57600080fd5b50356106d8565b6002546001600160a01b0316331461034c5760405162461bcd60e51b815260040180806020018281038252602981526020018061090f6029913960400191505060405180910390fd5b565b6000828201838110156103a8576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b60035490565b6103bd6106f3565b6004546103d0908263ffffffff61073c16565b600481905560408051918252517f7735d8b9c0814a13884384c73ec31633f708b4b920b2158764c6b306541341259181900360200190a150565b6001546001600160a01b031681565b60045490565b6000546001600160a01b031690565b6000546001600160a01b0316331490565b61044761042e565b610498576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b6104a18261077e565b6104aa8161077e565b600180546001600160a01b038085166001600160a01b03199283168117909355600280549185169190921617905560408051918252517f143219c9e69b09e07e095fcc889b43d8f46ca892bba65f08dc3a0050869a56789181900360200190a1604080516001600160a01b038316815290517f78f058b189175430c48dc02699e3a0031ea4ff781536dc2fab847de4babdd8829181900360200190a161054e61082d565b5050565b6040518060400160405280600b81526020016a111959985d5b1d141bdbdb60aa1b81525081565b6002546001600160a01b031681565b6105906106f3565b6002546003546001600160a01b03909116906105b2908363ffffffff61073c16565b600381905560408051918252517f9a14ae677a60400af9176bed2e2d5ce8dfa6405e6c1702debb27668f567214289181900360200190a1604080516001600160a01b03831681526020810184905281517f6109e2559dfa766aaec7118351d48a523f0a4157f49c8d68749c8ac41318ad12929181900390910190a16040516000906001600160a01b0383169084908381818185875af1925050503d8060008114610678576040519150601f19603f3d011682016040523d82523d6000602084013e61067d565b606091505b50509050806106d3576040805162461bcd60e51b815260206004820152601f60248201527f44656661756c74506f6f6c3a2073656e64696e6720455448206661696c656400604482015290519081900360640190fd5b505050565b6106e06106f3565b6004546103d0908263ffffffff61034e16565b6001546001600160a01b0316331461034c5760405162461bcd60e51b815260040180806020018281038252602b815260200180610938602b913960400191505060405180910390fd5b60006103a883836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610877565b6001600160a01b0381166107d9576040805162461bcd60e51b815260206004820152601e60248201527f4163636f756e742063616e6e6f74206265207a65726f20616464726573730000604482015290519081900360640190fd5b803b8061054e576040805162461bcd60e51b815260206004820181905260248201527f4163636f756e7420636f64652073697a652063616e6e6f74206265207a65726f604482015290519081900360640190fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b600081848411156109065760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156108cb5781810151838201526020016108b3565b50505050905090810190601f1680156108f85780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50505090039056fe44656661756c74506f6f6c3a2043616c6c6572206973206e6f742074686520416374697665506f6f6c44656661756c74506f6f6c3a2043616c6c6572206973206e6f74207468652054726f76654d616e61676572a2646970667358221220cbcda65f34301c21fbf82e86e0ec82f47f28495dce5182eca3a040156ac7338c64736f6c634300060b00336080604052670de0b6b3a764000060105534801561001c57600080fd5b50600380546001600160a01b031916339081179091556040516000907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a36139248061006c6000396000f3fe6080604052600436106102975760003560e01c806382e0a5741161015a578063ae918754116100c1578063df9cd84f1161007a578063df9cd84f146108ec578063eaa8ba7f1461091f578063f5f1595d14610984578063f92d3433146109b7578063fc7e286d146109cc578063fda0101a14610a20576102de565b8063ae91875414610850578063b83f91a214610865578063ce4b5bbe1461087a578063cef941e81461088f578063d4ca0575146108a4578063d7fb0443146108d7576102de565b806395fb16bb1161011357806395fb16bb1461073b5780639bf2f1ac14610750578063a20baee6146105b6578063a3f4df7e14610765578063a4e59ac8146107ef578063a7bfff9714610804576102de565b806382e0a5741461066557806386da0824146106a0578063887105d3146106d35780638b8fbd92146106e85780638da5cb5b146106fd5780638f32d59b14610712576102de565b8063538153ca116101fe578063741bef1a116101b7578063741bef1a146105cb57806376671808146105e057806377553ad414610611578063794e572414610626578063795d26c31461063b5780637f7dde4a14610650576102de565b8063538153ca146104f6578063556be1011461050b5780635733d58f146105355780635d2de6421461054a5780635f788d651461057d57806372fe25aa146105b6576102de565b80632e86bbd8116102505780632e86bbd814610423578063335525ad14610438578063389e92a5146104685780633cc742251461049b5780633d83908a146104cc5780634870dd9a146104e1576102de565b806314f6c3be146102e357806316b9d3c51461030a5780631bf43555146103745780631cdc47001461038957806328a0a04d146103bc5780632e54bf95146103f7576102de565b366102de576102a4610a5b565b6009546102b7903463ffffffff610aa616565b600981905560408051918252516000805160206136588339815191529181900360200190a1005b600080fd5b3480156102ef57600080fd5b506102f8610b09565b60408051918252519081900360200190f35b34801561031657600080fd5b5061033d6004803603602081101561032d57600080fd5b50356001600160a01b0316610b0f565b604080519586526020860194909452848401929092526001600160801b039081166060850152166080830152519081900360a00190f35b34801561038057600080fd5b506102f8610b4a565b34801561039557600080fd5b506102f8600480360360208110156103ac57600080fd5b50356001600160a01b0316610b57565b3480156103c857600080fd5b506102f8600480360360408110156103df57600080fd5b506001600160801b0381358116916020013516610bff565b34801561040357600080fd5b506104216004803603602081101561041a57600080fd5b5035610c1c565b005b34801561042f57600080fd5b506102f8610da5565b34801561044457600080fd5b506104216004803603604081101561045b57600080fd5b5080359060200135610db2565b34801561047457600080fd5b506102f86004803603602081101561048b57600080fd5b50356001600160a01b0316610e16565b3480156104a757600080fd5b506104b0610eb3565b604080516001600160a01b039092168252519081900360200190f35b3480156104d857600080fd5b506104b0610ec2565b3480156104ed57600080fd5b506102f8610ed1565b34801561050257600080fd5b506102f8610ed6565b34801561051757600080fd5b506104216004803603602081101561052e57600080fd5b5035610edc565b34801561054157600080fd5b506102f8610f51565b34801561055657600080fd5b506102f86004803603602081101561056d57600080fd5b50356001600160a01b0316610f5d565b34801561058957600080fd5b50610421600480360360408110156105a057600080fd5b50803590602001356001600160a01b0316610f6f565b3480156105c257600080fd5b506102f86110f0565b3480156105d757600080fd5b506104b06110fc565b3480156105ec57600080fd5b506105f561110b565b604080516001600160801b039092168252519081900360200190f35b34801561061d57600080fd5b506104b0611121565b34801561063257600080fd5b506102f8611130565b34801561064757600080fd5b506102f861113c565b34801561065c57600080fd5b506104b061123d565b34801561067157600080fd5b506102f86004803603604081101561068857600080fd5b506001600160801b038135811691602001351661124c565b3480156106ac57600080fd5b5061033d600480360360208110156106c357600080fd5b50356001600160a01b0316611269565b3480156106df57600080fd5b506102f86112a4565b3480156106f457600080fd5b506102f8611360565b34801561070957600080fd5b506104b0611366565b34801561071e57600080fd5b50610727611375565b604080519115158252519081900360200190f35b34801561074757600080fd5b506104b0611386565b34801561075c57600080fd5b506102f8611395565b34801561077157600080fd5b5061077a61139b565b6040805160208082528351818301528351919283929083019185019080838360005b838110156107b457818101518382015260200161079c565b50505050905090810190601f1680156107e15780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156107fb57600080fd5b506105f56113c4565b34801561081057600080fd5b506108376004803603602081101561082757600080fd5b50356001600160a01b03166113d3565b6040805192835290151560208301528051918290030190f35b34801561085c57600080fd5b506104b06113ef565b34801561087157600080fd5b506104b06113fe565b34801561088657600080fd5b506102f861140d565b34801561089b57600080fd5b506102f8611415565b3480156108b057600080fd5b506102f8600480360360208110156108c757600080fd5b50356001600160a01b031661141b565b3480156108e357600080fd5b506102f861151f565b3480156108f857600080fd5b506102f86004803603602081101561090f57600080fd5b50356001600160a01b0316611525565b34801561092b57600080fd5b50610421600480360360e081101561094257600080fd5b506001600160a01b038135811691602081013582169160408201358116916060810135821691608082013581169160a081013582169160c090910135166115c2565b34801561099057600080fd5b506102f8600480360360208110156109a757600080fd5b50356001600160a01b0316611873565b3480156109c357600080fd5b506102f8611970565b3480156109d857600080fd5b506109ff600480360360208110156109ef57600080fd5b50356001600160a01b031661197b565b604080519283526001600160a01b0390911660208301528051918290030190f35b348015610a2c57600080fd5b5061042160048036036040811015610a4357600080fd5b506001600160a01b038135811691602001351661199d565b6000546001600160a01b03163314610aa45760405162461bcd60e51b81526004018080602001828103825260278152602001806136316027913960400191505060405180910390fd5b565b600082820183811015610b00576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b90505b92915050565b60095490565b600f602052600090815260409020805460018201546002830154600390930154919290916001600160801b0380821691600160801b90041685565b686194049f30f720000081565b6001600160a01b0381166000908152600b602052604081205480610b7f576000915050610bfa565b610b87613563565b506001600160a01b0383166000908152600c60209081526040808320815160a08101835281548152600182015493810193909352600281015491830191909152600301546001600160801b038082166060840152600160801b90910416608082015290610bf48383611bcd565b93505050505b919050565b601260209081526000928352604080842090915290825290205481565b8015610c2a57610c2a611cc9565b336000908152600b6020526040902054610c4381611e86565b6008546001600160a01b0316610c5881611ec8565b6000610c6333610e16565b90506000610c7033610b57565b90506000610c7e8683611f3c565b90506000610c92868463ffffffff611f5216565b336000818152600b60205260409020600101549192506001600160a01b0390911690610cc090879083611f94565b6000610ccb82611525565b90506000610cdf828663ffffffff611f5216565b9050610ceb8382612133565b6040805182815233602082015281516001600160a01b0386169260008051602061383e833981519152928290030190a2610d25338661227f565b6000610d37878763ffffffff611f5216565b9050610d433382612305565b60408051828152905133916000805160206136a9833981519152919081900360200190a260408051898152602081018790528151339260008051602061378d833981519152928290030190a2610d988861248b565b5050505050505050505050565b680ad78ebc5ac620000081565b610dba612597565b600a54801580610dc8575082155b15610dd35750610e12565b600854610de8906001600160a01b0316611ec8565b600080610df68486856125e0565b91509150610e0482826126d9565b610e0e84866129d3565b5050505b5050565b6001600160a01b0381166000908152600b602052604081205480610e3e576000915050610bfa565b610e46613563565b506001600160a01b0383166000908152600c60209081526040808320815160a08101835281548152600182015493810193909352600281015491830191909152600301546001600160801b038082166060840152600160801b90910416608082015290610bf48383612b0d565b6001546001600160a01b031681565b6005546001600160a01b031681565b60c881565b60165481565b610ee533612bfe565b610eee33612c59565b610ef781612caf565b336000818152600d60209081526040918290208481556001908101805460ff19169091179055815184815291517f19bc932fb9e16a8b5a1e41be9f4c2de59d5ddd7567b8b81405f532ca00a9880e9281900390910190a250565b6714d1120d7b16000081565b600e6020526000908152604090205481565b610f7881612cf6565b610f8133612bfe565b610f8a82612d62565b336000908152600b60205260409020546008546001600160a01b0316610faf81611ec8565b81610fbe57610fbe3384612da1565b6000610fc933610e16565b90506000610fd633610b57565b90506000610fea858363ffffffff611f5216565b336000818152600b60205260409020600101549192506001600160a01b039091169061101890869083611f94565b600061102382611525565b90506000611037828b63ffffffff610aa616565b90506110438382612133565b6040805182815233602082015281516001600160a01b0386169260008051602061383e833981519152928290030190a261107d338b612dfb565b600061108f868c63ffffffff610aa616565b905061109b3382612305565b60408051828152905133916000805160206136a9833981519152919081900360200190a260408051888152602081018790528151339260008051602061378d833981519152928290030190a2610d988761248b565b670de0b6b3a764000081565b6002546001600160a01b031681565b601154600160801b90046001600160801b031681565b6004546001600160a01b031681565b670f43fc2c04ee000081565b6000805460408051632f5a97e560e11b8152905183926001600160a01b031691635eb52fca916004808301926020929190829003018186803b15801561118157600080fd5b505afa158015611195573d6000803e3d6000fd5b505050506040513d60208110156111ab57600080fd5b505160015460408051632f5a97e560e11b815290519293506000926001600160a01b0390921691635eb52fca91600480820192602092909190829003018186803b1580156111f857600080fd5b505afa15801561120c573d6000803e3d6000fd5b505050506040513d602081101561122257600080fd5b50519050611236828263ffffffff610aa616565b9250505090565b6000546001600160a01b031681565b601360209081526000928352604080842090915290825290205481565b600c602052600090815260409020805460018201546002830154600390930154919290916001600160801b0380821691600160801b90041685565b6000805460408051630a7b61df60e11b8152905183926001600160a01b0316916314f6c3be916004808301926020929190829003018186803b1580156112e957600080fd5b505afa1580156112fd573d6000803e3d6000fd5b505050506040513d602081101561131357600080fd5b505160015460408051630a7b61df60e11b815290519293506000926001600160a01b03909216916314f6c3be91600480820192602092909190829003018186803b1580156111f857600080fd5b60105481565b6003546001600160a01b031690565b6003546001600160a01b0316331490565b6008546001600160a01b031681565b600a5490565b6040518060400160405280600d81526020016c14dd18589a5b1a5d1e541bdbdb609a1b81525081565b6011546001600160801b031681565b600d602052600090815260409020805460019091015460ff1682565b6007546001600160a01b031681565b6006546001600160a01b031681565b633b9aca0081565b60145481565b6001600160a01b0381166000908152600e602052604081205480611443576000915050610bfa565b6001600160a01b0383166000908152600d602052604081205490611475670de0b6b3a76400008363ffffffff611f5216565b905061147f613563565b506001600160a01b0385166000908152600f60209081526040808320815160a08101835281548152600182015493810193909352600281015491830191909152600301546001600160801b038082166060840152600160801b90910416608082015290611514670de0b6b3a76400006115086114fb8886612ec5565b869063ffffffff612f5116565b9063ffffffff612faa16565b979650505050505050565b60155481565b6001600160a01b0381166000908152600e60205260408120548061154d576000915050610bfa565b611555613563565b506001600160a01b0383166000908152600f60209081526040808320815160a08101835281548152600182015493810193909352600281015491830191909152600301546001600160801b038082166060840152600160801b90910416608082015290610bf48383611bcd565b6115ca611375565b61161b576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b61162487612fec565b61162d86612fec565b61163685612fec565b61163f84612fec565b61164883612fec565b61165182612fec565b61165a81612fec565b600480546001600160a01b03199081166001600160a01b038a81169182179093556005805483168a85161790556000805483168985161790556006805483168885161790556007805483168785161790556002805483168685161790556008805490921692841692909217905560408051918252517f3ca631ffcd2a9b5d9ae18543fc82f58eb4ca33af9e6ab01b7a8e95331e6ed985916020908290030190a1604080516001600160a01b038816815290517f143219c9e69b09e07e095fcc889b43d8f46ca892bba65f08dc3a0050869a56789181900360200190a1604080516001600160a01b038716815290517f78f058b189175430c48dc02699e3a0031ea4ff781536dc2fab847de4babdd8829181900360200190a1604080516001600160a01b038616815290517f227eec0ec317af6ab1a9587ffa1c84332522eb4c583a908f89babc05f8f339bd9181900360200190a1604080516001600160a01b038516815290517f65f4cf077bc01e4742eb5ad98326f6e95b63548ea24b17f8d5e823111fe788009181900360200190a1604080516001600160a01b038416815290517f8c537274438aa850a330284665d81a85dd38267d09e4050d416bfc94142db2649181900360200190a1604080516001600160a01b038316815290517f3055265812fb8447b9ada4a5d804ec43bd528ec40e89c952bbc7b85dc5ac68119181900360200190a161186a61309b565b50505050505050565b6001600160a01b0381166000908152600b60205260408120548061189b576000915050610bfa565b6001600160a01b038084166000908152600b60205260408120600101549091169081156118e0576001600160a01b0382166000908152600d60205260409020546118ea565b670de0b6b3a76400005b90506118f4613563565b506001600160a01b0385166000908152600c60209081526040808320815160a08101835281548152600182015493810193909352600281015491830191909152600301546001600160801b038082166060840152600160801b90910416608082015290611514670de0b6b3a76400006115086114fb8886612ec5565b6611c37937e0800081565b600b60205260009081526040902080546001909101546001600160a01b031682565b336000908152600b60205260409020546119b681611e86565b6119bf336130e5565b6119c83361319c565b6008546001600160a01b03166119dd81611ec8565b60006119e833610e16565b905060006119f533610b57565b90506000611a09858363ffffffff611f5216565b336000818152600b60205260409020600101549192506001600160a01b0390911690611a3790869083611f94565b6000611a4282611525565b905080611a4f8382612133565b6040805182815233602082015281516001600160a01b0386169260008051602061383e833981519152928290030190a2611a893386612305565b60408051878152602081018690528151339260008051602061378d833981519152928290030190a260408051868152905133916000805160206136a9833981519152919081900360200190a2600954611ae8908763ffffffff611f5216565b600981905560408051918252516000805160206136588339815191529181900360200190a1604080513381526020810188905281517f6109e2559dfa766aaec7118351d48a523f0a4157f49c8d68749c8ac41318ad12929181900390910190a1600480546040805163ea9638bf60e01b815233938101939093526001600160a01b038d811660248501528c81166044850152905191169163ea9638bf91899160648082019260009290919082900301818588803b158015611ba857600080fd5b505af1158015611bbc573d6000803e3d6000fd5b505050505050505050505050505050565b6020810151606082015160808301516011546000939291906001600160801b03600160801b90910481169082161015611c0c5760009350505050610b03565b6011546000908190611c2d906001600160801b03168563ffffffff6131e816565b90506001600160801b038116611c5d57611c56856115086010548b612f5190919063ffffffff16565b9150611c95565b806001600160801b031660011415611c9057611c56633b9aca00611508876115086010548d612f5190919063ffffffff16565b600091505b611ca988633b9aca0063ffffffff612faa16565b821015611cbe57600095505050505050610b03565b509695505050505050565b60025460408051630fdb11cf60e01b815290516000926001600160a01b031691630fdb11cf91600480830192602092919082900301818787803b158015611d0f57600080fd5b505af1158015611d23573d6000803e3d6000fd5b505050506040513d6020811015611d3957600080fd5b505160075460408051634d62283160e01b815290519293506000926001600160a01b0390921691634d62283191600480820192602092909190829003018186803b158015611d8657600080fd5b505afa158015611d9a573d6000803e3d6000fd5b505050506040513d6020811015611db057600080fd5b505160055460408051630d293c7160e41b81526001600160a01b038085166004830152602482018790529151939450600093919092169163d293c710916044808301926020929190829003018186803b158015611e0c57600080fd5b505afa158015611e20573d6000803e3d6000fd5b505050506040513d6020811015611e3657600080fd5b50519050670f43fc2c04ee0000811015611e815760405162461bcd60e51b81526004018080602001828103825260448152602001806138ab6044913960600191505060405180910390fd5b505050565b60008111611ec55760405162461bcd60e51b815260040180806020018281038252603081526020018061380e6030913960400191505060405180910390fd5b50565b6000816001600160a01b03166346ad34d96040518163ffffffff1660e01b8152600401602060405180830381600087803b158015611f0557600080fd5b505af1158015611f19573d6000803e3d6000fd5b505050506040513d6020811015611f2f57600080fd5b50519050610e1281613241565b6000818310611f4b5781610b00565b5090919050565b6000610b0083836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061335c565b6001600160a01b03811615612069576000611fae8261141b565b9050836001600160a01b031663614d2ab683836040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b15801561201057600080fd5b505af1158015612024573d6000803e3d6000fd5b50506040805184815290516001600160a01b03861693507fcd2cdc1a4af71051394e9c6facd9a266b2ac5bd65d219a701eeda009f47682bf92509081900360200190a2505b600061207483611873565b9050836001600160a01b031663614d2ab684836040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b1580156120d657600080fd5b505af11580156120ea573d6000803e3d6000fd5b50506040805184815290516001600160a01b03871693507f2608b986a6ac0f6c629ca37018e80af5561e366252ae93602a96d3ab2e73e42d92509081900360200190a250505050565b6001600160a01b0382166000908152600e60205260409020819055806121c3576001600160a01b0382166000818152600f60209081526040808320838155600181018490556002810184905560030183905580518381529182019290925281517fbb1322f85cc7cc8bac4e172a5bc5dcc0c1959007f9a030032abf9258205f0e45929181900390910190a2610e12565b6011546010546001600160801b03600160801b80840482166000818152601360209081526040808320978616808452978252808320546001600160a01b038b16808552600f845293829020600181018990556002810182905560030180546001600160801b0319168a17909716958502959095179095558451868152908101849052845192959491927fbb1322f85cc7cc8bac4e172a5bc5dcc0c1959007f9a030032abf9258205f0e45929181900390910190a2505050505050565b8061228957610e12565b60065460408051631062c15f60e11b81523060048201526001600160a01b03858116602483015260448201859052915191909216916320c582be91606480830192600092919082900301818387803b1580156122e457600080fd5b505af11580156122f8573d6000803e3d6000fd5b50505050610e12816133f3565b6001600160a01b0382166000908152600b60205260409020819055806123b3576001600160a01b0382166000818152600b60209081526040808320600190810180546001600160a01b0319169055600c83528184208481559081018490556002810184905560030183905580518381529182018390528181019290925290517f2d6cc0bcdf72c9486f6451bde6b80f44066f4558f77f44dbfedbe7d8b295225a9181900360600190a2610e12565b6011546010546001600160801b03600160801b8084048216600081815260126020908152604080832097861680845297825280832054848452601383528184208985528352818420546001600160a01b038c16808652600c855294839020600181018a90558281556002810182905560030180546001600160801b0319168b179098169686029690961790965580518781529182018690528181018590525192959493927f2d6cc0bcdf72c9486f6451bde6b80f44066f4558f77f44dbfedbe7d8b295225a916060908290030190a250505050505050565b8061249557611ec5565b6009546000906124ab908363ffffffff611f5216565b6009819055604080518281529051919250600080516020613658833981519152919081900360200190a1604080513381526020810184905281517f6109e2559dfa766aaec7118351d48a523f0a4157f49c8d68749c8ac41318ad12929181900390910190a1604051600090339084908381818185875af1925050503d8060008114612552576040519150601f19603f3d011682016040523d82523d6000602084013e612557565b606091505b5050905080611e815760405162461bcd60e51b81526004018080602001828103825260218152602001806136f26021913960400191505060405180910390fd5b6005546001600160a01b03163314610aa45760405162461bcd60e51b81526004018080602001828103825260298152602001806136c96029913960400191505060405180910390fd5b6000806000612612601554612606670de0b6b3a764000089612f5190919063ffffffff16565b9063ffffffff610aa616565b90508385111561261e57fe5b8385141561263b576000601655670de0b6b3a7640000915061269b565b6016546000906126699061265d88670de0b6b3a764000063ffffffff612f5116565b9063ffffffff611f5216565b90506126806001612606838863ffffffff612faa16565b92506126968161265d858863ffffffff612f5116565b601655505b6126ab818563ffffffff612faa16565b92506126cd6126c0848663ffffffff612f5116565b829063ffffffff611f5216565b60155550935093915050565b6010546000670de0b6b3a76400008311156126f057fe5b600061270a670de0b6b3a76400008563ffffffff611f5216565b6011546001600160801b03600160801b82048116600081815260126020908152604080832094909516808352939052928320549394509092909161274e8988612f51565b90506000612762838363ffffffff610aa616565b6001600160801b038086166000818152601260209081526040808320948b16808452948252918290208590558151858152908101929092528181019290925290519192507fe12e2cd2c9afa8069203ca07e7eff1edce4a075686d0736a8e7e0d593597b207919081900360600190a185612899576127f06001600160801b038516600163ffffffff61344916565b601180546001600160801b03908116600160801b938216840217918290556040805193909204168252517fb50f0f59e7cb5b421dc77581c3a9919e3806e076e5fa78a874c3f120cb7d874d916020908290030190a1601180546001600160801b0319169055604080516000815290517f1f9dfc70cd666adb18a39d60a797518f7b4febf4b6e24ef37d44f6e1e7219fbe9181900360200190a1670de0b6b3a76400009650612985565b633b9aca006128ba670de0b6b3a76400006115088b8a63ffffffff612f5116565b1015612966576128f0670de0b6b3a7640000611508633b9aca006128e48c8b63ffffffff612f5116565b9063ffffffff612f5116565b965061290c6001600160801b038616600163ffffffff61344916565b601180546001600160801b0319166001600160801b0392831617908190556040805191909216815290517f1f9dfc70cd666adb18a39d60a797518f7b4febf4b6e24ef37d44f6e1e7219fbe916020908290030190a1612985565b612982670de0b6b3a76400006115088a8963ffffffff612f5116565b96505b6000871161298f57fe5b60108790556040805188815290517fc1a9618cb59ebca77cbdbc2949f126823c407ff13edb285fd0262519a9c18e8c9181900360200190a150505050505050505050565b600080546040805163071b32b560e31b81526004810185905290516001600160a01b039092169283926338d995a892602480820193929182900301818387803b158015612a1f57600080fd5b505af1158015612a33573d6000803e3d6000fd5b50505050612a40826133f3565b60065460408051632770a7eb60e21b81523060048201526024810185905290516001600160a01b0390921691639dc29fac9160448082019260009290919082900301818387803b158015612a9357600080fd5b505af1158015612aa7573d6000803e3d6000fd5b5050604080516364a197f360e01b81523060048201526024810187905290516001600160a01b03851693506364a197f39250604480830192600092919082900301818387803b158015612af957600080fd5b505af115801561186a573d6000803e3d6000fd5b6080810151606082015182516020808501516001600160801b03808616600090815260128452604080822092871682529190935282205491949392918590612b5b908463ffffffff611f5216565b6001600160801b03808716600090815260126020526040812092935091612bbe91633b9aca0091908490612b98908a16600163ffffffff61344916565b6001600160801b031681526020810191909152604001600020549063ffffffff612faa16565b90506000612bf0670de0b6b3a76400006115088681612be3888863ffffffff610aa616565b8f9063ffffffff612f5116565b9a9950505050505050505050565b6001600160a01b0381166000908152600d602052604090206001015460ff1615611ec55760405162461bcd60e51b81526004018080602001828103825260398152602001806137ad6039913960400191505060405180910390fd5b6001600160a01b0381166000908152600b60205260409020548015610e125760405162461bcd60e51b81526004018080602001828103825260288152602001806137e66028913960400191505060405180910390fd5b670de0b6b3a7640000811115611ec55760405162461bcd60e51b81526004018080602001828103825260338152602001806137346033913960400191505060405180910390fd5b6001600160a01b0381166000908152600d602052604090206001015460ff1680612d2757506001600160a01b038116155b611ec55760405162461bcd60e51b81526004018080602001828103825260468152602001806135eb6046913960600191505060405180910390fd5b60008111611ec55760405162461bcd60e51b81526004018080602001828103825260268152602001806137676026913960400191505060405180910390fd5b6001600160a01b038281166000818152600b602052604080822060010180546001600160a01b0319169486169485179055517f094c08e96a8890877a8390b4f967180a7507ad8622244d05fcd0f9f8e086564e9190a35050565b60065460408051632ee65eeb60e21b81526001600160a01b038581166004830152306024830152604482018590529151919092169163bb997bac91606480830192600092919082900301818387803b158015612e5657600080fd5b505af1158015612e6a573d6000803e3d6000fd5b5050600a5460009250612e8491508363ffffffff610aa616565b600a8190556040805182815290519192507fa8e886449d8f7e765877b4a4f54632da3943ae454d5a272bdccb1781f086ff29919081900360200190a1505050565b608081015160608201516040808401516020808601516001600160801b03808716600090815260138452858120918716815292529281205490949392908590612f14908463ffffffff611f5216565b6001600160801b03808716600090815260136020526040812092935091612bbe91633b9aca0091908490612b98908a16600163ffffffff61344916565b600082612f6057506000610b03565b82820282848281612f6d57fe5b0414610b005760405162461bcd60e51b81526004018080602001828103825260218152602001806137136021913960400191505060405180910390fd5b6000610b0083836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250613499565b6001600160a01b038116613047576040805162461bcd60e51b815260206004820152601e60248201527f4163636f756e742063616e6e6f74206265207a65726f20616464726573730000604482015290519081900360640190fd5b803b80610e12576040805162461bcd60e51b815260206004820181905260248201527f4163636f756e7420636f64652073697a652063616e6e6f74206265207a65726f604482015290519081900360640190fd5b6003546040516000916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600380546001600160a01b0319169055565b600554604080516321e3780160e01b81526001600160a01b038481166004830152915191909216916321e37801916024808301926020929190829003018186803b15801561313257600080fd5b505afa158015613146573d6000803e3d6000fd5b505050506040513d602081101561315c57600080fd5b5051600114611ec55760405162461bcd60e51b81526004018080602001828103825260468152602001806135a56046913960600191505060405180910390fd5b60006131a782610e16565b905060008111610e125760405162461bcd60e51b81526004018080602001828103825260318152602001806136786031913960400191505060405180910390fd5b6000826001600160801b0316826001600160801b0316111561323b5760405162461bcd60e51b815260040180806020018281038252602881526020018061385e6028913960400191505060405180910390fd5b50900390565b600a5480158061324f575081155b1561325a5750611ec5565b600061326683836134fe565b9050600061327f60105483612f5190919063ffffffff16565b6011546001600160801b03600160801b8204811660009081526013602090815260408083209390941682529190915220549091506132c3908263ffffffff610aa616565b601180546001600160801b03600160801b808304821660009081526013602081815260408084209686168452958152858320979097559454918204831680825294865283812091909216808352908552908290205482519081529384019290925282810191909152517f2d6127771b164a9cc8827d24b5955db2a77e7a81dac389107ebb8bce9fb649689181900360600190a150505050565b600081848411156133eb5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156133b0578181015183820152602001613398565b50505050905090810190601f1680156133dd5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b600a54600090613409908363ffffffff611f5216565b600a8190556040805182815290519192507fa8e886449d8f7e765877b4a4f54632da3943ae454d5a272bdccb1781f086ff29919081900360200190a15050565b60008282016001600160801b038085169082161015610b005760405162461bcd60e51b81526004018080602001828103825260258152602001806138866025913960400191505060405180910390fd5b600081836134e85760405162461bcd60e51b81526020600482018181528351602484015283519092839260449091019190850190808383600083156133b0578181015183820152602001613398565b5060008385816134f457fe5b0495945050505050565b600080613522601454612606670de0b6b3a764000087612f5190919063ffffffff16565b90506000613536828563ffffffff612faa16565b905061355861354b828663ffffffff612f5116565b839063ffffffff611f5216565b601455949350505050565b6040518060a0016040528060008152602001600081526020016000815260200160006001600160801b0316815260200160006001600160801b03168152509056fe53746162696c697479506f6f6c3a2063616c6c6572206d757374206861766520616e206163746976652074726f766520746f207769746864726177204554484761696e20746f53746162696c697479506f6f6c3a20546167206d757374206265206120726567697374657265642066726f6e7420656e642c206f7220746865207a65726f206164647265737353746162696c697479506f6f6c3a2043616c6c6572206973206e6f7420416374697665506f6f6cceb6d671277d4354fd29977ada70695fbd93a16612abf765d6b0e25c28dc6db353746162696c697479506f6f6c3a2063616c6c6572206d7573742068617665206e6f6e2d7a65726f20455448204761696ebce78369dccab09eec1986f4d409ab09ffbb47d65423e5148fcf98411c5111c953746162696c697479506f6f6c3a2043616c6c6572206973206e6f742054726f76654d616e6167657253746162696c697479506f6f6c3a2073656e64696e6720455448206661696c6564536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7753746162696c697479506f6f6c3a204b69636b6261636b2072617465206d75737420626520696e2072616e6765205b302c315d53746162696c697479506f6f6c3a20416d6f756e74206d757374206265206e6f6e2d7a65726f51457222ebca92c335c9c86e2baa1cc0e40ffaa9084a51452980d5ba8dec2f6353746162696c697479506f6f6c3a206d757374206e6f7420616c7265616479206265206120726567697374657265642066726f6e7420656e6453746162696c697479506f6f6c3a2055736572206d7573742068617665206e6f206465706f73697453746162696c697479506f6f6c3a2055736572206d75737420686176652061206e6f6e2d7a65726f206465706f73697499920012339b5a3368d3a04b8606ce412c46ed92b7dcd8602d41fc8862cb8f254c697175697479536166654d6174683132383a207375627472616374696f6e206f766572666c6f774c697175697479536166654d6174683132383a206164646974696f6e206f766572666c6f7753746162696c697479506f6f6c3a2043616e6e6f74207769746864726177207768696c65207468657265206172652074726f766573207769746820494352203c204d4352a2646970667358221220a933496260fd68a40610a4fd1fa4621c153dab6beff4bfe0e8c5416c4fe4722164736f6c634300060b00336080604052348015600f57600080fd5b50603f80601d6000396000f3fe6080604052600080fdfea264697066735822122039256888add74d9ba1e587b30d8fba59588d324fa8a904bb5bafa6e715256de564736f6c634300060b00336101606040523480156200001257600080fd5b50604051620018ad380380620018ad833981810160405260608110156200003857600080fd5b50805160208201516040909201519091906200005d836001600160e01b036200025316565b62000071826001600160e01b036200025316565b62000085816001600160e01b036200025316565b6001600160601b0319606084901b1661010052604080516001600160a01b038516815290517f143219c9e69b09e07e095fcc889b43d8f46ca892bba65f08dc3a0050869a56789181900360200190a16001600160601b0319606083901b1661012052604080516001600160a01b038416815290517f82966d27eea39b038ee0fa30cd16532bb24f6e65d31cb58fb227aa5766cdcc7f9181900360200190a16001600160601b0319606082901b1661014052604080516001600160a01b038316815290517f3ca631ffcd2a9b5d9ae18543fc82f58eb4ca33af9e6ab01b7a8e95331e6ed9859181900360200190a1604080518082018252600f81526e262aa9a21029ba30b13632b1b7b4b760891b602091820152815180830190925260018252603160f81b9101527fabccaf2943f70764a048255e50e07d10e3c94973a6c6ba8b8ea62b1155209b0160c08190527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660e08190526200020b6001600160e01b036200030816565b60a052620002447f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83836001600160e01b036200030c16565b608052506200036d9350505050565b6001600160a01b038116620002af576040805162461bcd60e51b815260206004820152601e60248201527f4163636f756e742063616e6e6f74206265207a65726f20616464726573730000604482015290519081900360640190fd5b803b8062000304576040805162461bcd60e51b815260206004820181905260248201527f4163636f756e7420636f64652073697a652063616e6e6f74206265207a65726f604482015290519081900360640190fd5b5050565b4690565b6000838383620003246001600160e01b036200030816565b6040805160208082019690965280820194909452606084019290925260808301523060a0808401919091528151808403909101815260c090920190528051910120949350505050565b60805160a05160c05160e0516101005160601c6101205160601c6101405160601c6114b1620003fc6000398061076d5280610d5c5280610ed25280610fcd5250806105285280610b425280610ce1528061103252806111505250806106785280610b105280610d1e5280610fff525080610a58525080610a375250806109bd5250806109ed52506114b16000f3fe608060405234801561001057600080fd5b506004361061014d5760003560e01c80635a4d28bb116100c3578063a9059cbb1161007c578063a9059cbb146103f5578063b7f8cf9b14610421578063bb997bac14610429578063d505accf1461045f578063dd62ed3e146104b0578063f698da25146104de5761014d565b80635a4d28bb1461034157806370a08231146103495780637ecebe001461036f57806395d89b41146103955780639dc29fac1461039d578063a457c2d7146103c95761014d565b806320c582be1161011557806320c582be1461025557806323b872dd1461028d578063313ce567146102c357806339509351146102e157806340c10f191461030d57806354fd4d50146103395761014d565b806306fdde0314610152578063095ea7b3146101cf5780630b622ab21461020f57806310ce43bd1461023357806318160ddd1461024d575b600080fd5b61015a6104e6565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561019457818101518382015260200161017c565b50505050905090810190601f1680156101c15780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101fb600480360360408110156101e557600080fd5b506001600160a01b038135169060200135610510565b604080519115158252519081900360200190f35b610217610526565b604080516001600160a01b039092168252519081900360200190f35b61023b61054a565b60408051918252519081900360200190f35b61023b61056e565b61028b6004803603606081101561026b57600080fd5b506001600160a01b03813581169160208101359091169060400135610574565b005b6101fb600480360360608110156102a357600080fd5b506001600160a01b0381358116916020810135909116906040013561058c565b6102cb610604565b6040805160ff9092168252519081900360200190f35b6101fb600480360360408110156102f757600080fd5b506001600160a01b038135169060200135610609565b61028b6004803603604081101561032357600080fd5b506001600160a01b038135169060200135610645565b61015a61065b565b610217610676565b61023b6004803603602081101561035f57600080fd5b50356001600160a01b031661069a565b61023b6004803603602081101561038557600080fd5b50356001600160a01b03166106b5565b61015a6106d0565b61028b600480360360408110156103b357600080fd5b506001600160a01b0381351690602001356106ee565b6101fb600480360360408110156103df57600080fd5b506001600160a01b038135169060200135610700565b6101fb6004803603604081101561040b57600080fd5b506001600160a01b038135169060200135610755565b61021761076b565b61028b6004803603606081101561043f57600080fd5b506001600160a01b0381358116916020810135909116906040013561078f565b61028b600480360360e081101561047557600080fd5b506001600160a01b03813581169160208101359091169060408101359060608101359060ff6080820135169060a08101359060c00135610797565b61023b600480360360408110156104c657600080fd5b506001600160a01b038135811691602001351661098e565b61023b6109b9565b60408051808201909152600f81526e262aa9a21029ba30b13632b1b7b4b760891b60208201525b90565b600061051d338484610a83565b50600192915050565b7f000000000000000000000000000000000000000000000000000000000000000081565b7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c990565b60005490565b61057c610b05565b610587838383610ba1565b505050565b600061059783610c83565b6105a2848484610ba1565b6105fa84336105f585604051806060016040528060288152602001611364602891396001600160a01b038a166000908152600360209081526040808320338452909152902054919063ffffffff610dcf16565b610a83565b5060019392505050565b601290565b3360008181526003602090815260408083206001600160a01b0387168452909152812054909161051d9185906105f5908663ffffffff610e6616565b61064d610ec7565b6106578282610f2e565b5050565b6040805180820190915260018152603160f81b602082015290565b7f000000000000000000000000000000000000000000000000000000000000000081565b6001600160a01b031660009081526002602052604090205490565b6001600160a01b031660009081526001602052604090205490565b604080518082019091526004815263131554d160e21b602082015290565b6106f6610fc2565b610657828261108f565b600061051d33846105f585604051806060016040528060258152602001611403602591393360009081526003602090815260408083206001600160a01b038d168452909152902054919063ffffffff610dcf16565b600061076083610c83565b61051d338484610ba1565b7f000000000000000000000000000000000000000000000000000000000000000081565b61057c611145565b428410156107e5576040805162461bcd60e51b81526020600482015260166024820152754c5553443a206578706972656420646561646c696e6560501b604482015290519081900360640190fd5b60006107ef6109b9565b6001600160a01b03808a166000818152600160208181526040808420805480850190915581517f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98185015280830196909652958e166060860152608085018d905260a085019590955260c08085018c90528551808603909101815260e08501865280519082012061190160f01b6101008601526101028501969096526101228085019690965284518085039096018652610142840180865286519682019690962095839052610162840180865286905260ff8a166101828501526101a284018990526101c284018890529351949550909390926101e2808401939192601f1981019281900390910190855afa15801561090c573d6000803e3d6000fd5b505050602060405103519050886001600160a01b0316816001600160a01b031614610978576040805162461bcd60e51b81526020600482015260176024820152764c5553443a20696e76616c6964207369676e617475726560481b604482015290519081900360640190fd5b610983898989610a83565b505050505050505050565b6001600160a01b03918216600090815260036020908152604080832093909416825291909152205490565b60007f00000000000000000000000000000000000000000000000000000000000000006109e46111ac565b1415610a1157507f000000000000000000000000000000000000000000000000000000000000000061050d565b610a7c7f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006111b0565b905061050d565b6001600160a01b038316610a9357fe5b6001600160a01b038216610aa357fe5b6001600160a01b03808416600081815260036020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161480610b645750336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016145b610b9f5760405162461bcd60e51b81526004018080602001828103825260368152602001806112496036913960400191505060405180910390fd5b565b6001600160a01b038316610bb157fe5b6001600160a01b038216610bc157fe5b610c04816040518060600160405280602681526020016112a1602691396001600160a01b038616600090815260026020526040902054919063ffffffff610dcf16565b6001600160a01b038085166000908152600260205260408082209390935590841681522054610c39908263ffffffff610e6616565b6001600160a01b0380841660008181526002602090815260409182902094909455805185815290519193928716926000805160206113e383398151915292918290030190a3505050565b6001600160a01b03811615801590610ca457506001600160a01b0381163014155b610cdf5760405162461bcd60e51b81526004018080602001828103825260548152602001806114286054913960600191505060405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316816001600160a01b031614158015610d5357507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316816001600160a01b031614155b8015610d9157507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316816001600160a01b031614155b610dcc5760405162461bcd60e51b815260040180806020018281038252605781526020018061138c6057913960600191505060405180910390fd5b50565b60008184841115610e5e5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610e23578181015183820152602001610e0b565b50505050905090810190601f168015610e505780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b600082820183811015610ec0576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610b9f5760405162461bcd60e51b815260040180806020018281038252602b815260200180611339602b913960400191505060405180910390fd5b6001600160a01b038216610f3e57fe5b600054610f51908263ffffffff610e6616565b60009081556001600160a01b038316815260026020526040902054610f7c908263ffffffff610e6616565b6001600160a01b03831660008181526002602090815260408083209490945583518581529351929391926000805160206113e38339815191529281900390910190a35050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614806110215750336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016145b806110545750336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016145b610b9f5760405162461bcd60e51b815260040180806020018281038252604d8152602001806112c7604d913960600191505060405180910390fd5b6001600160a01b03821661109f57fe5b6110e28160405180606001604052806022815260200161127f602291396001600160a01b038516600090815260026020526040902054919063ffffffff610dcf16565b6001600160a01b0383166000908152600260205260408120919091555461110f908263ffffffff61120616565b60009081556040805183815290516001600160a01b038516916000805160206113e3833981519152919081900360200190a35050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610b9f5760405162461bcd60e51b81526004018080602001828103825260258152602001806113146025913960400191505060405180910390fd5b4690565b60008383836111bd6111ac565b6040805160208082019690965280820194909452606084019290925260808301523060a0808401919091528151808403909101815260c090920190528051910120949350505050565b6000610ec083836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610dcf56fe4c5553443a2043616c6c6572206973206e6569746865722054726f76654d616e61676572206e6f722053746162696c697479506f6f6c45524332303a206275726e20616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e63654c5553443a2043616c6c6572206973206e65697468657220426f72726f7765724f7065726174696f6e73206e6f722054726f76654d616e61676572206e6f722053746162696c697479506f6f6c4c5553443a2043616c6c6572206973206e6f74207468652053746162696c697479506f6f6c4c555344546f6b656e3a2043616c6c6572206973206e6f7420426f72726f7765724f7065726174696f6e7345524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e63654c5553443a2043616e6e6f74207472616e7366657220746f6b656e73206469726563746c7920746f207468652053746162696c697479506f6f6c2c2054726f76654d616e61676572206f7220426f72726f7765724f7073ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726f4c5553443a2043616e6e6f74207472616e7366657220746f6b656e73206469726563746c7920746f20746865204c55534420746f6b656e20636f6e7472616374206f7220746865207a65726f2061646472657373a26469706673582212206dc65db95e865cba6ffa713e3be890a08b3e49d6cbd99b74dd8407f56a90cb5a64736f6c634300060b0033608060405234801561001057600080fd5b50600080546001600160a01b0319163390811782556040519091907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3610b3a8061005f6000396000f3fe6080604052600436106100a05760003560e01c80638f32d59b116100645780638f32d59b146101b75780639b56d6c9146101e0578063a3f4df7e14610213578063b08bc7221461029d578063b32beb5b146102b2578063b7f8cf9b146102e5576100c5565b806314f6c3be146100ca578063363bf964146100f15780633f10abab146101385780635a4d28bb146101715780638da5cb5b146101a2576100c5565b366100c5576100ad6102fa565b6004546100c0903463ffffffff61034516565b600455005b600080fd5b3480156100d657600080fd5b506100df6103a6565b60408051918252519081900360200190f35b3480156100fd57600080fd5b506101366004803603606081101561011457600080fd5b506001600160a01b0381358116916020810135821691604090910135166103ac565b005b34801561014457600080fd5b506101366004803603604081101561015b57600080fd5b506001600160a01b038135169060200135610512565b34801561017d57600080fd5b5061018661059e565b604080516001600160a01b039092168252519081900360200190f35b3480156101ae57600080fd5b506101866105ad565b3480156101c357600080fd5b506101cc6105bc565b604080519115158252519081900360200190f35b3480156101ec57600080fd5b506100df6004803603602081101561020357600080fd5b50356001600160a01b03166105cd565b34801561021f57600080fd5b506102286105e8565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561026257818101518382015260200161024a565b50505050905090810190601f16801561028f5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156102a957600080fd5b50610186610613565b3480156102be57600080fd5b50610136600480360360208110156102d557600080fd5b50356001600160a01b0316610622565b3480156102f157600080fd5b506101866107b7565b6003546001600160a01b031633146103435760405162461bcd60e51b815260040180806020018281038252602a815260200180610a5b602a913960400191505060405180910390fd5b565b60008282018381101561039f576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b60045490565b6103b46105bc565b610405576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b61040e836107c6565b610417826107c6565b610420816107c6565b600180546001600160a01b038086166001600160a01b0319928316811790935560028054868316908416179055600380549185169190921617905560408051918252517f3ca631ffcd2a9b5d9ae18543fc82f58eb4ca33af9e6ab01b7a8e95331e6ed9859181900360200190a1604080516001600160a01b038416815290517f143219c9e69b09e07e095fcc889b43d8f46ca892bba65f08dc3a0050869a56789181900360200190a1604080516001600160a01b038316815290517f78f058b189175430c48dc02699e3a0031ea4ff781536dc2fab847de4babdd8829181900360200190a161050d610879565b505050565b61051a6108c3565b6001600160a01b038216600090815260056020526040812054610543908363ffffffff61034516565b6001600160a01b0384166000818152600560209081526040918290208490558151848152915193945091927ff0393a34d05e6567686ad4e097f9d9d2781565957394f1f0d984e5d8e6378f20929181900390910190a2505050565b6002546001600160a01b031681565b6000546001600160a01b031690565b6000546001600160a01b0316331490565b6001600160a01b031660009081526005602052604090205490565b6040518060400160405280600f81526020016e10dbdb1b14dd5c9c1b1d5cd41bdbdb608a1b81525081565b6003546001600160a01b031681565b61062a61090c565b6001600160a01b0381166000908152600560205260409020548061067f5760405162461bcd60e51b8152600401808060200182810382526031815260200180610a2a6031913960400191505060405180910390fd5b6001600160a01b03821660008181526005602090815260408083208390558051928352517ff0393a34d05e6567686ad4e097f9d9d2781565957394f1f0d984e5d8e6378f209281900390910190a26004546106e0908263ffffffff61095516565b600455604080516001600160a01b03841681526020810183905281517f6109e2559dfa766aaec7118351d48a523f0a4157f49c8d68749c8ac41318ad12929181900390910190a16040516000906001600160a01b0384169083908381818185875af1925050503d8060008114610772576040519150601f19603f3d011682016040523d82523d6000602084013e610777565b606091505b505090508061050d5760405162461bcd60e51b8152600401808060200182810382526023815260200180610a856023913960400191505060405180910390fd5b6001546001600160a01b031681565b6001600160a01b038116610821576040805162461bcd60e51b815260206004820152601e60248201527f4163636f756e742063616e6e6f74206265207a65726f20616464726573730000604482015290519081900360640190fd5b803b80610875576040805162461bcd60e51b815260206004820181905260248201527f4163636f756e7420636f64652073697a652063616e6e6f74206265207a65726f604482015290519081900360640190fd5b5050565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6002546001600160a01b031633146103435760405162461bcd60e51b815260040180806020018281038252602b815260200180610ada602b913960400191505060405180910390fd5b6001546001600160a01b031633146103435760405162461bcd60e51b8152600401808060200182810382526032815260200180610aa86032913960400191505060405180910390fd5b600061039f83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525060008184841115610a215760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156109e65781810151838201526020016109ce565b50505050905090810190601f168015610a135780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50505090039056fe436f6c6c537572706c7573506f6f6c3a204e6f20636f6c6c61746572616c20617661696c61626c6520746f20636c61696d436f6c6c537572706c7573506f6f6c3a2043616c6c6572206973206e6f742041637469766520506f6f6c436f6c6c537572706c7573506f6f6c3a2073656e64696e6720455448206661696c6564436f6c6c537572706c7573506f6f6c3a2043616c6c6572206973206e6f7420426f72726f776572204f7065726174696f6e73436f6c6c537572706c7573506f6f6c3a2043616c6c6572206973206e6f742054726f76654d616e61676572a2646970667358221220af768870d1a17ac3ec6f54f84701f8afa72397e127b7185e673efb442d546de864736f6c634300060b00336080604052680ad78ebc5ac620000060005534801561001d57600080fd5b5060cb8061002c6000396000f3fe6080604052348015600f57600080fd5b5060043610603c5760003560e01c80630fdb11cf14604157806391b7f5ed14605957806398d5fdca146041575b600080fd5b60476087565b60408051918252519081900360200190f35b607360048036036020811015606d57600080fd5b5035608d565b604080519115158252519081900360200190f35b60005490565b60005560019056fea2646970667358221220987d1afde74388e098a39b40724f88f529e6c3ebb79473037c7e38555b3a243e64736f6c634300060b0033608060405234801561001057600080fd5b50600080546001600160a01b0319163390811782556040519091907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a36118ce8061005f6000396000f3fe608060405234801561001057600080fd5b50600436106101375760003560e01c8063681fe70c116100b8578063a3f4df7e1161007c578063a3f4df7e1461036a578063b72703ac146103e7578063b7f8cf9b1461040d578063babd3d9a14610415578063de8fa4311461041d578063f376d7981461042557610137565b8063681fe70c146102f257806373d4a13a146102fa578063765e0159146103345780638da5cb5b1461035a5780638f32d59b1461036257610137565b8063416980dc116100ff578063416980dc1461021457806346f7cf871461026e5780634d622831146102aa5780635dbe47e8146102b257806363e1d57c146102d857610137565b80631e2231431461013c57806329092d0e146101605780632be21260146101885780633d83908a146101c45780633fce12d5146101cc575b600080fd5b610144610459565b604080516001600160a01b039092168252519081900360200190f35b6101866004803603602081101561017657600080fd5b50356001600160a01b0316610468565b005b6101866004803603608081101561019e57600080fd5b506001600160a01b0381358116916020810135916040820135811691606001351661047c565b610144610531565b610200600480360360608110156101e257600080fd5b508035906001600160a01b0360208201358116916040013516610540565b604080519115158252519081900360200190f35b6102486004803603606081101561022a57600080fd5b508035906001600160a01b0360208201358116916040013516610563565b604080516001600160a01b03938416815291909216602082015281519081900390910190f35b6101866004803603608081101561028457600080fd5b506001600160a01b0381358116916020810135916040820135811691606001351661058d565b6101446105a2565b610200600480360360208110156102c857600080fd5b50356001600160a01b03166105b1565b6102e06105cf565b60408051918252519081900360200190f35b6102006105d5565b6103026105dc565b604080516001600160a01b03958616815293909416602084015282840191909152606082015290519081900360800190f35b6101446004803603602081101561034a57600080fd5b50356001600160a01b03166105fb565b61014461061e565b61020061062d565b61037261063e565b6040805160208082528351818301528351919283929083019185019080838360005b838110156103ac578181015183820152602001610394565b50505050905090810190601f1680156103d95780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b610144600480360360208110156103fd57600080fd5b50356001600160a01b0316610666565b610144610687565b610200610696565b6102e06106a0565b6101866004803603606081101561043b57600080fd5b508035906001600160a01b03602082013581169160400135166106a6565b6003546001600160a01b031690565b6104706107fe565b61047981610849565b50565b6002546001600160a01b031661049181610a7d565b61049a856105b1565b6104d55760405162461bcd60e51b815260040180806020018281038252602a8152602001806117d1602a913960400191505060405180910390fd5b600084116105145760405162461bcd60e51b81526004018080602001828103825260238152602001806118766023913960400191505060405180910390fd5b61051d85610849565b61052a8186868686610ad9565b5050505050565b6002546001600160a01b031681565b60025460009061055b906001600160a01b0316858585610e5d565b949350505050565b6002546000908190610580906001600160a01b0316868686611104565b915091505b935093915050565b6002546001600160a01b031661051d81610a7d565b6004546001600160a01b031690565b6001600160a01b031660009081526007602052604090205460ff1690565b60055490565b6006541590565b6003546004546005546006546001600160a01b03938416939092169184565b6001600160a01b0390811660009081526007602052604090205461010090041690565b6000546001600160a01b031690565b6000546001600160a01b0316331490565b6040518060400160405280600c81526020016b536f7274656454726f76657360a01b81525081565b6001600160a01b039081166000908152600760205260409020600101541690565b6001546001600160a01b031681565b6005546006541490565b60065490565b6106ae61062d565b6106ff576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b6000831161073e5760405162461bcd60e51b81526004018080602001828103825260228152602001806117fb6022913960400191505060405180910390fd5b610747826112f1565b610750816112f1565b6005839055600280546001600160a01b038085166001600160a01b03199283168117909355600180549185169190921617905560408051918252517f143219c9e69b09e07e095fcc889b43d8f46ca892bba65f08dc3a0050869a56789181900360200190a1604080516001600160a01b038316815290517f3ca631ffcd2a9b5d9ae18543fc82f58eb4ca33af9e6ab01b7a8e95331e6ed9859181900360200190a16107f96113a4565b505050565b6002546001600160a01b031633146108475760405162461bcd60e51b815260040180806020018281038252602c81526020018061181d602c913960400191505060405180910390fd5b565b610852816105b1565b61088d5760405162461bcd60e51b815260040180806020018281038252602a8152602001806117d1602a913960400191505060405180910390fd5b600654600110156109d3576003546001600160a01b03828116911614156108fc576001600160a01b03818116600090815260076020526040808220546003805461010090920485166001600160a01b0319928316179081905590931682529020600101805490911690556109ce565b6004546001600160a01b0382811691161415610963576001600160a01b0380821660009081526007602052604080822060010154600480546001600160a01b03191691851691909117908190559092168152208054610100600160a81b03191690556109ce565b6001600160a01b038082166000908152600760205260408082208054600180830180548716865284862080546101009485900489168502610100600160a81b03199091161790555492549190910485168452919092200180546001600160a01b031916919092161790555b6109f0565b600380546001600160a01b03199081169091556004805490911690555b6001600160a01b038116600090815260076020526040902080546001600160a81b0319168155600190810180546001600160a01b0319169055600654610a3b9163ffffffff6113ee16565b600655604080516001600160a01b038316815290517fcfc24166db4bb677e857cacabd1541fb2b30645021b27c5130419589b84db52b9181900360200190a150565b6001546001600160a01b0316331480610a9e5750336001600160a01b038216145b6104795760405162461bcd60e51b815260040180806020018281038252602d815260200180611849602d913960400191505060405180910390fd5b610ae1610696565b15610b33576040805162461bcd60e51b815260206004820152601a60248201527f536f7274656454726f7665733a204c6973742069732066756c6c000000000000604482015290519081900360640190fd5b610b3c846105b1565b15610b785760405162461bcd60e51b815260040180806020018281038252602c8152602001806117a5602c913960400191505060405180910390fd5b6001600160a01b038416610bd3576040805162461bcd60e51b815260206004820152601f60248201527f536f7274656454726f7665733a2049642063616e6e6f74206265207a65726f00604482015290519081900360640190fd5b60008311610c125760405162461bcd60e51b81526004018080602001828103825260238152602001806118766023913960400191505060405180910390fd5b8181610c2087868484610e5d565b610c3657610c3087868484611104565b90925090505b6001600160a01b038087166000908152600760205260409020805460ff191660011790558216158015610c7057506001600160a01b038116155b15610ca557600380546001600160a01b0388166001600160a01b03199182168117909255600480549091169091179055610df9565b6001600160a01b038216610d1957600380546001600160a01b03888116600081815260076020526040808220805495851661010002610100600160a81b0319909616959095179094558454909216825291902060010180546001600160a01b03199081168317909155825416179055610df9565b6001600160a01b038116610d8957600480546001600160a01b0388811660008181526007602052604080822060010180549585166001600160a01b031996871617905585549093168152919091208054610100600160a81b03191661010083021790558254909116179055610df9565b6001600160a01b038087166000818152600760205260408082208054858716610100818102610100600160a81b031993841617845560019384018054988b166001600160a01b0319998a168117909155865284862080549188029190931617909155835291200180549092161790555b600654610e0d90600163ffffffff61143716565b600655604080516001600160a01b03881681526020810187905281517fe02b43adbee0c123de070a04554a71877a0007e2fc161466299cae3c094fe82f929181900390910190a150505050505050565b60006001600160a01b038316158015610e7d57506001600160a01b038216155b15610e9157610e8a6105d5565b905061055b565b6001600160a01b038316610f43576003546001600160a01b038381169116148015610e8a5750846001600160a01b031663b0d8e181836040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b158015610f0d57600080fd5b505afa158015610f21573d6000803e3d6000fd5b505050506040513d6020811015610f3757600080fd5b5051841015905061055b565b6001600160a01b038216610ff5576004546001600160a01b038481169116148015610e8a5750846001600160a01b031663b0d8e181846040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b158015610fbf57600080fd5b505afa158015610fd3573d6000803e3d6000fd5b505050506040513d6020811015610fe957600080fd5b5051841115905061055b565b6001600160a01b03838116600090815260076020526040902054610100900481169083161480156110a7575083856001600160a01b031663b0d8e181856040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b15801561107857600080fd5b505afa15801561108c573d6000803e3d6000fd5b505050506040513d60208110156110a257600080fd5b505110155b8015610e8a5750846001600160a01b031663b0d8e181836040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b158015610f0d57600080fd5b60008083836001600160a01b038216156111b757611121826105b1565b15806111ad5750876001600160a01b031663b0d8e181836040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b15801561117e57600080fd5b505afa158015611192573d6000803e3d6000fd5b505050506040513d60208110156111a857600080fd5b505187115b156111b757600091505b6001600160a01b03811615611264576111cf816105b1565b158061125b5750876001600160a01b031663b0d8e181826040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b15801561122c57600080fd5b505afa158015611240573d6000803e3d6000fd5b505050506040513d602081101561125657600080fd5b505187105b15611264575060005b6001600160a01b03821615801561128257506001600160a01b038116155b156112ab576003546112a090899089906001600160a01b0316611491565b9350935050506112e8565b6001600160a01b0382166112c4576112a08888836115d2565b6001600160a01b0381166112dd576112a0888884611491565b6112a0888884611491565b94509492505050565b6001600160a01b03811661134c576040805162461bcd60e51b815260206004820152601e60248201527f4163636f756e742063616e6e6f74206265207a65726f20616464726573730000604482015290519081900360640190fd5b803b806113a0576040805162461bcd60e51b815260206004820181905260248201527f4163636f756e7420636f64652073697a652063616e6e6f74206265207a65726f604482015290519081900360640190fd5b5050565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b600061143083836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061170d565b9392505050565b600082820183811015611430576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b60035460009081906001600160a01b0384811691161480156115345750846001600160a01b031663b0d8e181846040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b15801561150457600080fd5b505afa158015611518573d6000803e3d6000fd5b505050506040513d602081101561152e57600080fd5b50518410155b1561154457506000905081610585565b6001600160a01b038084166000908152600760205260409020548491610100909104165b6001600160a01b03821615801590611589575061158787878484610e5d565b155b156115c657506001600160a01b03908116600090815260076020526040808220546101009081900484168084529190922054909291900416611568565b90969095509350505050565b60045460009081906001600160a01b0384811691161480156116755750846001600160a01b031663b0d8e181846040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b15801561164557600080fd5b505afa158015611659573d6000803e3d6000fd5b505050506040513d602081101561166f57600080fd5b50518411155b1561168557508190506000610585565b6001600160a01b038084166000908152600760205260409020600101548491165b6001600160a01b038216158015906116c757506116c587878385610e5d565b155b1561170257506001600160a01b03908116600090815260076020526040808220600190810154841680845291909220909101549091166116a6565b969095509350505050565b6000818484111561179c5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611761578181015183820152602001611749565b50505050905090810190601f16801561178e5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50505090039056fe536f7274656454726f7665733a204c69737420616c726561647920636f6e7461696e7320746865206e6f6465536f7274656454726f7665733a204c69737420646f6573206e6f7420636f6e7461696e20746865206964536f7274656454726f7665733a2053697a652063616ee2809974206265207a65726f536f7274656454726f7665733a2043616c6c6572206973206e6f74207468652054726f76654d616e61676572536f7274656454726f7665733a2043616c6c6572206973206e65697468657220424f206e6f722054726f76654d536f7274656454726f7665733a204e494352206d75737420626520706f736974697665a26469706673582212201d874b55cf00dbe12667ece34475e1aad0be33f636deb090d42aa2285522364f64736f6c634300060b0033608060405234801561001057600080fd5b50604051610e35380380610e358339818101604052608081101561003357600080fd5b50805160208201516040830151606090930151600080546001600160a01b039485166001600160a01b0319918216179091556001805493851693821693909317909255600280549484169483169490941790935560038054929093169116179055610d92806100a36000396000f3fe6080604052600436106100ed5760003560e01c80637a97d838116100855780637a97d8381461034f5780637bbb0f5e1461039057806391134731146103d1578063cc51a6c214610413578063cf83544f1461044c578063d466e4eb14610485578063d94bcec2146104be578063f47a1ea714610501578063fb8d67fc1461052b576100f4565b806332e859b9146100f957806335b101791461012f578063390b5f271461018a5780634903a3dd146101d75780634afbac51146101ec5780634c36240b146102695780634d37261f146102a2578063641b09b6146102d5578063650b559c146102ff576100f4565b366100f457005b600080fd5b61012d6004803603606081101561010f57600080fd5b508035906001600160a01b0360208201358116916040013516610574565b005b34801561013b57600080fd5b5061012d600480360360e081101561015257600080fd5b508035906001600160a01b03602082013581169160408101358216916060820135169060808101359060a08101359060c001356105eb565b34801561019657600080fd5b506101c3600480360360408110156101ad57600080fd5b506001600160a01b038135169060200135610683565b604080519115158252519081900360200190f35b3480156101e357600080fd5b5061012d61070f565b3480156101f857600080fd5b5061012d6004803603602081101561020f57600080fd5b81019060208101813564010000000081111561022a57600080fd5b82018360208201111561023c57600080fd5b8035906020019184602083028401116401000000008311171561025e57600080fd5b509092509050610779565b34801561027557600080fd5b5061012d6004803603604081101561028c57600080fd5b50803590602001356001600160a01b0316610812565b3480156102ae57600080fd5b5061012d600480360360208110156102c557600080fd5b50356001600160a01b0316610867565b3480156102e157600080fd5b5061012d600480360360208110156102f857600080fd5b50356108cd565b61012d600480360360e081101561031557600080fd5b5080359060208101359060408101359060608101351515906001600160a01b03608082013581169160a08101359091169060c0013561091a565b34801561035b57600080fd5b5061012d6004803603606081101561037257600080fd5b508035906001600160a01b03602082013581169160400135166109b2565b34801561039c57600080fd5b5061012d600480360360608110156103b357600080fd5b508035906001600160a01b0360208201358116916040013516610a2c565b61012d600480360360a08110156103e757600080fd5b508035906020810135906001600160a01b03604082013581169160608101359091169060800135610a89565b34801561041f57600080fd5b506101c36004803603604081101561043657600080fd5b506001600160a01b038135169060200135610b10565b34801561045857600080fd5b506101c36004803603604081101561046f57600080fd5b506001600160a01b038135169060200135610b69565b34801561049157600080fd5b506101c3600480360360408110156104a857600080fd5b506001600160a01b038135169060200135610bc2565b3480156104ca57600080fd5b506101c3600480360360608110156104e157600080fd5b506001600160a01b03813581169160208101359091169060400135610c1b565b34801561050d57600080fd5b5061012d6004803603602081101561052457600080fd5b5035610cb0565b34801561053757600080fd5b5061012d6004803603608081101561054e57600080fd5b508035906001600160a01b03602082013581169160408101359091169060600135610cf8565b600154604080516368647db160e01b81526001600160a01b0385811660048301528481166024830152915191909216916368647db191869160448082019260009290919082900301818588803b1580156105cd57600080fd5b505af11580156105e1573d6000803e3d6000fd5b5050505050505050565b6000805460408051635e69ba9360e11b8152600481018b90526001600160a01b038a81166024830152898116604483015288811660648301526084820188905260a4820187905260c482018690529151919092169263bcd375269260e4808201939182900301818387803b15801561066257600080fd5b505af1158015610676573d6000803e3d6000fd5b5050505050505050505050565b6003546040805163a9059cbb60e01b81526001600160a01b038581166004830152602482018590529151600093929092169163a9059cbb9160448082019260209290919082900301818787803b1580156106dc57600080fd5b505af11580156106f0573d6000803e3d6000fd5b505050506040513d602081101561070657600080fd5b50519392505050565b600160009054906101000a90046001600160a01b03166001600160a01b0316630e704d506040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561075f57600080fd5b505af1158015610773573d6000803e3d6000fd5b50505050565b600054604051631e8b1c2b60e01b8152602060048201818152602483018590526001600160a01b0390931692631e8b1c2b92869286929182916044909101908590850280828437600081840152601f19601f8201169050808301925050509350505050600060405180830381600087803b1580156107f657600080fd5b505af115801561080a573d6000803e3d6000fd5b505050505050565b60025460408051635f788d6560e01b8152600481018590526001600160a01b03848116602483015291519190921691635f788d6591604480830192600092919082900301818387803b1580156107f657600080fd5b60008054604080516305f0caad60e31b81526001600160a01b03858116600483015291519190921692632f865568926024808201939182900301818387803b1580156108b257600080fd5b505af11580156108c6573d6000803e3d6000fd5b5050505050565b60025460408051632e54bf9560e01b81526004810184905290516001600160a01b0390921691632e54bf959160248082019260009290919082900301818387803b1580156108b257600080fd5b60015460408051630635367960e51b815260048101849052602481018990526044810188905286151560648201526001600160a01b03868116608483015285811660a48301529151919092169163c6a6cf20918a9160c48082019260009290919082900301818588803b15801561099057600080fd5b505af11580156109a4573d6000803e3d6000fd5b505050505050505050505050565b600154604080516304491fa760e01b8152600481018690526001600160a01b0385811660248301528481166044830152915191909216916304491fa791606480830192600092919082900301818387803b158015610a0f57600080fd5b505af1158015610a23573d6000803e3d6000fd5b50505050505050565b6001546040805163154c09cf60e21b8152600481018690526001600160a01b038581166024830152848116604483015291519190921691635530273c91606480830192600092919082900301818387803b158015610a0f57600080fd5b6001546040805163860665b360e01b815260048101849052602481018790526001600160a01b03868116604483015285811660648301529151919092169163860665b391889160848082019260009290919082900301818588803b158015610af057600080fd5b505af1158015610b04573d6000803e3d6000fd5b50505050505050505050565b60035460408051633950935160e01b81526001600160a01b038581166004830152602482018590529151600093929092169163395093519160448082019260209290919082900301818787803b1580156106dc57600080fd5b6003546040805163095ea7b360e01b81526001600160a01b038581166004830152602482018590529151600093929092169163095ea7b39160448082019260209290919082900301818787803b1580156106dc57600080fd5b6003546040805163a457c2d760e01b81526001600160a01b038581166004830152602482018590529151600093929092169163a457c2d79160448082019260209290919082900301818787803b1580156106dc57600080fd5b600354604080516323b872dd60e01b81526001600160a01b038681166004830152858116602483015260448201859052915160009392909216916323b872dd9160648082019260209290919082900301818787803b158015610c7c57600080fd5b505af1158015610c90573d6000803e3d6000fd5b505050506040513d6020811015610ca657600080fd5b5051949350505050565b600080546040805163653d46e760e01b81526004810185905290516001600160a01b039092169263653d46e79260248084019382900301818387803b1580156108b257600080fd5b600154604080516302309cbf60e31b815260048101849052602481018790526001600160a01b038681166044830152858116606483015291519190921691631184e5f891608480830192600092919082900301818387803b1580156105cd57600080fdfea2646970667358221220e0c37da3993278cfbf2118993e869007153c5e698727c39e00e1693577976eaf64736f6c634300060b0033", - "deployedBytecode": "0x6080604052600436106102055760003560e01c80637f7dde4a11610113578063b83f91a2116100ab578063d21af9681161006f578063d21af96814610859578063e448912714610882578063efa83cf9146108b2578063f2a903a7146108fa578063fa08b0381461090f57610205565b8063b83f91a214610766578063baf5d65f1461077b578063c325347f146107ab578063c91b364a1461082f578063cda775f91461084457610205565b80637f7dde4a146105d45780638e4707d3146105e957806391a4a42614610628578063980c55d7146106525780639cdd0978146106675780639d9da9d8146106a65780639f56ac18146106f5578063a2f5cbdd1461070a578063a3d368341461071f57610205565b80634557559f116101a157806359bed84b1161016557806359bed84b146104d257806369690936146104e757806377553ad4146105215780637c22900e146105365780637ca8b0281461057f57610205565b80634557559f146103e05780634e792a301461040a57806357285cc5146104435780635895ac4e14610466578063597ec7991461047b57610205565b8063048c661d1461020a57806304bbf59c1461023b578063119be5d01461028e5780631c6fbd23146102cd5780633ca4afc1146103065780633cc74225146103455780633d83908a1461035a57806340ba2e271461036f5780634104fbd314610399575b600080fd5b34801561021657600080fd5b5061021f610924565b604080516001600160a01b039092168252519081900360200190f35b34801561024757600080fd5b5061027a6004803603606081101561025e57600080fd5b508035906001600160a01b036020820135169060400135610933565b604080519115158252519081900360200190f35b34801561029a57600080fd5b5061027a600480360360608110156102b157600080fd5b508035906001600160a01b0360208201351690604001356109d3565b610304600480360360a08110156102e357600080fd5b50803590602081013590604081013590606081013590608001351515610a3e565b005b34801561031257600080fd5b506103046004803603606081101561032957600080fd5b50803590602081013590604001356001600160a01b0316610b26565b34801561035157600080fd5b5061021f610bad565b34801561036657600080fd5b5061021f610bbc565b34801561037b57600080fd5b506103046004803603602081101561039257600080fd5b5035610bcb565b3480156103a557600080fd5b50610304600480360360808110156103bc57600080fd5b508035906020810135906001600160a01b0360408201358116916060013516610c4b565b3480156103ec57600080fd5b506103046004803603602081101561040357600080fd5b5035610cdb565b34801561041657600080fd5b506103046004803603604081101561042d57600080fd5b50803590602001356001600160a01b0316610d61565b6103046004803603604081101561045957600080fd5b5080359060200135610de0565b34801561047257600080fd5b5061027a610e93565b610304600480360361010081101561049257600080fd5b5080359060208101359060408101359060608101359060808101351515906001600160a01b0360a082013581169160c08101359091169060e00135610f2a565b3480156104de57600080fd5b5061027a610fdb565b610304600480360360808110156104fd57600080fd5b508035906020810135906001600160a01b0360408201358116916060013516611290565b34801561052d57600080fd5b5061021f611301565b34801561054257600080fd5b5061027a6004803603608081101561055957600080fd5b508035906001600160a01b03602082013581169160408101359091169060600135611310565b34801561058b57600080fd5b50610304600480360360c08110156105a257600080fd5b508035906020810135906001600160a01b03604082013581169160608101358216916080820135169060a001356113b9565b3480156105e057600080fd5b5061021f611466565b3480156105f557600080fd5b5061027a6004803603606081101561060c57600080fd5b508035906001600160a01b036020820135169060400135611475565b34801561063457600080fd5b5061021f6004803603602081101561064b57600080fd5b50356114e0565b34801561065e57600080fd5b5061027a6114fd565b34801561067357600080fd5b5061027a6004803603606081101561068a57600080fd5b508035906001600160a01b0360208201351690604001356117bf565b3480156106b257600080fd5b50610304600480360360a08110156106c957600080fd5b508035906020810135906001600160a01b0360408201358116916060810135909116906080013561182a565b34801561070157600080fd5b5061027a6118a2565b34801561071657600080fd5b5061027a6118c5565b34801561072b57600080fd5b506103046004803603608081101561074257600080fd5b508035906020810135906001600160a01b03604082013581169160600135166118da565b34801561077257600080fd5b5061021f61194b565b34801561078757600080fd5b506103046004803603604081101561079e57600080fd5b508035906020013561195a565b3480156107b757600080fd5b50610304600480360360408110156107ce57600080fd5b813591908101906040810160208201356401000000008111156107f057600080fd5b82018360208201111561080257600080fd5b8035906020019184602083028401116401000000008311171561082457600080fd5b5090925090506119bb565b34801561083b57600080fd5b5061027a611a4c565b34801561085057600080fd5b5061021f611e72565b6103046004803603606081101561086f57600080fd5b5080359060208101359060400135611e81565b34801561088e57600080fd5b50610304600480360360408110156108a557600080fd5b5080359060200135611fd2565b610304600480360360c08110156108c857600080fd5b508035906020810135906040810135906001600160a01b03606082013581169160808101359091169060a00135612033565b34801561090657600080fd5b5061027a6120b2565b34801561091b57600080fd5b5061021f6122f3565b6007546001600160a01b031681565b600080606485069050600d816064811061094957fe5b01546040805163d466e4eb60e01b81526001600160a01b038781166004830152602482018790529151919092169163d466e4eb9160448083019260209291908290030181600087803b15801561099e57600080fd5b505af11580156109b2573d6000803e3d6000fd5b505050506040513d60208110156109c857600080fd5b509195945050505050565b600080606485069050600d81606481106109e957fe5b01546040805163cf83544f60e01b81526001600160a01b038781166004830152602482018790529151919092169163cf83544f9160448083019260209291908290030181600087803b15801561099e57600080fd5b60006064860690506000600d8260648110610a5557fe5b0154600080546001600160a01b039092169250823191610a789083908a90612302565b9050858515610a9157610a8e82886000546123de565b90505b60408051631942d56760e21b815260048101849052602481018a905260448101839052871515606482015260006084820181905260a4820181905260c4820181905291516001600160a01b0387169263650b559c9260e4808201939182900301818387803b158015610b0257600080fd5b505af1158015610b16573d6000803e3d6000fd5b5050505050505050505050505050565b6000606484069050600d8160648110610b3b57fe5b015460408051634c36240b60e01b8152600481018690526001600160a01b03858116602483015291519190921691634c36240b91604480830192600092919082900301818387803b158015610b8f57600080fd5b505af1158015610ba3573d6000803e3d6000fd5b5050505050505050565b6006546001600160a01b031681565b6003546001600160a01b031681565b6000606482069050600d8160648110610be057fe5b0160009054906101000a90046001600160a01b03166001600160a01b0316634903a3dd6040518163ffffffff1660e01b8152600401600060405180830381600087803b158015610c2f57600080fd5b505af1158015610c43573d6000803e3d6000fd5b505050505050565b6000606485069050600d8160648110610c6057fe5b015460408051630f52fb0760e31b8152600481018790526001600160a01b038681166024830152858116604483015291519190921691637a97d83891606480830192600092919082900301818387803b158015610cbc57600080fd5b505af1158015610cd0573d6000803e3d6000fd5b505050505050505050565b600b54604080516391b7f5ed60e01b81526004810184905290516000926001600160a01b0316916391b7f5ed91602480830192602092919082900301818787803b158015610d2857600080fd5b505af1158015610d3c573d6000803e3d6000fd5b505050506040513d6020811015610d5257600080fd5b5051905080610d5d57fe5b5050565b6000606483069050600d8160648110610d7657fe5b015460408051634d37261f60e01b81526001600160a01b03858116600483015291519190921691634d37261f91602480830192600092919082900301818387803b158015610dc357600080fd5b505af1158015610dd7573d6000803e3d6000fd5b50505050505050565b60006064830690506000600d8260648110610df757fe5b0154600080546001600160a01b039092169250823191610e1a9083908790612302565b604080516332e859b960e01b8152600481018390526000602482018190526044820181905291519293506001600160a01b038616926332e859b99260648084019391929182900301818387803b158015610e7357600080fd5b505af1158015610e87573d6000803e3d6000fd5b50505050505050505050565b600080600b60009054906101000a90046001600160a01b03166001600160a01b03166398d5fdca6040518163ffffffff1660e01b815260040160206040518083038186803b158015610ee457600080fd5b505afa158015610ef8573d6000803e3d6000fd5b505050506040513d6020811015610f0e57600080fd5b5051905080610f21576000915050610f27565b60019150505b90565b6000606489069050600d8160648110610f3f57fe5b015460408051631942d56760e21b8152600481018b9052602481018a90526044810189905287151560648201526001600160a01b03878116608483015286811660a483015260c482018690529151919092169163650b559c9160e480830192600092919082900301818387803b158015610fb857600080fd5b505af1158015610fcc573d6000803e3d6000fd5b50505050505050505050505050565b600080600c60009054906101000a90046001600160a01b03166001600160a01b0316631e2231436040518163ffffffff1660e01b815260040160206040518083038186803b15801561102c57600080fd5b505afa158015611040573d6000803e3d6000fd5b505050506040513d602081101561105657600080fd5b5051600c546040805163765e015960e01b81526001600160a01b0380851660048301529151939450600093919092169163765e0159916024808301926020929190829003018186803b1580156110ab57600080fd5b505afa1580156110bf573d6000803e3d6000fd5b505050506040513d60208110156110d557600080fd5b505190505b6001600160a01b038216158015906110fa57506001600160a01b03811615155b15611287576003546040805163b0d8e18160e01b81526001600160a01b0385811660048301529151919092169163b0d8e181916024808301926020929190829003018186803b15801561114c57600080fd5b505afa158015611160573d6000803e3d6000fd5b505050506040513d602081101561117657600080fd5b50516003546040805163b0d8e18160e01b81526001600160a01b0385811660048301529151919092169163b0d8e181916024808301926020929190829003018186803b1580156111c557600080fd5b505afa1580156111d9573d6000803e3d6000fd5b505050506040513d60208110156111ef57600080fd5b5051111561120257600092505050610f27565b600c546040805163765e015960e01b81526001600160a01b03808516600483015291519394508493919092169163765e0159916024808301926020929190829003018186803b15801561125457600080fd5b505afa158015611268573d6000803e3d6000fd5b505050506040513d602081101561127e57600080fd5b505190506110da565b60019250505090565b6000606485069050600d81606481106112a557fe5b0154604080516332e859b960e01b8152600481018790526001600160a01b0386811660248301528581166044830152915191909216916332e859b991606480830192600092919082900301818387803b158015610cbc57600080fd5b6004546001600160a01b031681565b600080606486069050600d816064811061132657fe5b015460408051636ca5e76160e11b81526001600160a01b0388811660048301528781166024830152604482018790529151919092169163d94bcec29160648083019260209291908290030181600087803b15801561138357600080fd5b505af1158015611397573d6000803e3d6000fd5b505050506040513d60208110156113ad57600080fd5b50919695505050505050565b6000606487069050600d81606481106113ce57fe5b0154604080516335b1017960e01b8152600481018990526001600160a01b0388811660248301528781166044830152868116606483015260848201869052600060a4830181905260c4830181905292519316926335b101799260e48084019391929182900301818387803b15801561144557600080fd5b505af1158015611459573d6000803e3d6000fd5b5050505050505050505050565b6005546001600160a01b031681565b600080606485069050600d816064811061148b57fe5b015460408051636628d36160e11b81526001600160a01b038781166004830152602482018790529151919092169163cc51a6c29160448083019260209291908290030181600087803b15801561099e57600080fd5b600d81606481106114ed57fe5b01546001600160a01b0316905081565b600080600c60009054906101000a90046001600160a01b03166001600160a01b0316631e2231436040518163ffffffff1660e01b815260040160206040518083038186803b15801561154e57600080fd5b505afa158015611562573d6000803e3d6000fd5b505050506040513d602081101561157857600080fd5b505190505b6001600160a01b03811615610f21576001600354604080516321e3780160e01b81526001600160a01b038581166004830152915191909216916321e37801916024808301926020929190829003018186803b1580156115db57600080fd5b505afa1580156115ef573d6000803e3d6000fd5b505050506040513d602081101561160557600080fd5b5051600481111561161257fe5b600481111561161d57fe5b1461162c576000915050610f27565b6002546003546040805163d66a255360e01b81526001600160a01b0385811660048301529151919092169163d66a2553916024808301926020929190829003018186803b15801561167c57600080fd5b505afa158015611690573d6000803e3d6000fd5b505050506040513d60208110156116a657600080fd5b505110156116b8576000915050610f27565b60035460408051630326771360e51b81526001600160a01b038481166004830152915191909216916364cee260916024808301926020929190829003018186803b15801561170557600080fd5b505afa158015611719573d6000803e3d6000fd5b505050506040513d602081101561172f57600080fd5b505161173f576000915050610f27565b600c546040805163765e015960e01b81526001600160a01b0384811660048301529151919092169163765e0159916024808301926020929190829003018186803b15801561178c57600080fd5b505afa1580156117a0573d6000803e3d6000fd5b505050506040513d60208110156117b657600080fd5b5051905061157d565b600080606485069050600d81606481106117d557fe5b01546040805163390b5f2760e01b81526001600160a01b038781166004830152602482018790529151919092169163390b5f279160448083019260209291908290030181600087803b15801561099e57600080fd5b6000606486069050600d816064811061183f57fe5b015460408051633ee359ff60e21b8152600481018890526001600160a01b0387811660248301528681166044830152606482018690529151919092169163fb8d67fc91608480830192600092919082900301818387803b158015610e7357600080fd5b6005546000906001600160a01b031631156118bf57506000610f27565b50600190565b6000601460715411156118bf57506000610f27565b6000606485069050600d81606481106118ef57fe5b015460408051633ddd87af60e11b8152600481018790526001600160a01b038681166024830152858116604483015291519190921691637bbb0f5e91606480830192600092919082900301818387803b158015610cbc57600080fd5b600a546001600160a01b031681565b6000606483069050600d816064811061196f57fe5b01546040805163f47a1ea760e01b81526004810185905290516001600160a01b039092169163f47a1ea79160248082019260009290919082900301818387803b158015610dc357600080fd5b6000606484069050600d81606481106119d057fe5b0154604051634afbac5160e01b8152602060048201818152602483018690526001600160a01b0390931692634afbac5192879287929182916044909101908590850280828437600081840152601f19601f8201169050808301925050509350505050600060405180830381600087803b158015610b8f57600080fd5b600080600a60009054906101000a90046001600160a01b03166001600160a01b03166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b158015611a9d57600080fd5b505afa158015611ab1573d6000803e3d6000fd5b505050506040513d6020811015611ac757600080fd5b5051600a54600854604080516370a0823160e01b81526001600160a01b039283166004820152905193945060009391909216916370a08231916024808301926020929190829003018186803b158015611b1f57600080fd5b505afa158015611b33573d6000803e3d6000fd5b505050506040513d6020811015611b4957600080fd5b505160055460408051632f5a97e560e11b815290519293506000926001600160a01b0390921691635eb52fca91600480820192602092909190829003018186803b158015611b9657600080fd5b505afa158015611baa573d6000803e3d6000fd5b505050506040513d6020811015611bc057600080fd5b505160065460408051632f5a97e560e11b815290519293506000926001600160a01b0390921691635eb52fca91600480820192602092909190829003018186803b158015611c0d57600080fd5b505afa158015611c21573d6000803e3d6000fd5b505050506040513d6020811015611c3757600080fd5b505190508181018414611c51576000945050505050610f27565b600754604080516326fcbc6b60e21b815290516000926001600160a01b031691639bf2f1ac916004808301926020929190829003018186803b158015611c9657600080fd5b505afa158015611caa573d6000803e3d6000fd5b505050506040513d6020811015611cc057600080fd5b5051600c5460408051631e22314360e01b815290519293506000926001600160a01b0390921691631e22314391600480820192602092909190829003018186803b158015611d0d57600080fd5b505afa158015611d21573d6000803e3d6000fd5b505050506040513d6020811015611d3757600080fd5b5051905060005b6001600160a01b03821615611e4957600a54604080516370a0823160e01b81526001600160a01b038581166004830152915191909216916370a08231916024808301926020929190829003018186803b158015611d9a57600080fd5b505afa158015611dae573d6000803e3d6000fd5b505050506040513d6020811015611dc457600080fd5b5051600c546040805163765e015960e01b81526001600160a01b0386811660048301529151949093019391169163765e0159916024808301926020929190829003018186803b158015611e1657600080fd5b505afa158015611e2a573d6000803e3d6000fd5b505050506040513d6020811015611e4057600080fd5b50519150611d3e565b85818401018711611e64576000975050505050505050610f27565b600197505050505050505090565b6009546001600160a01b031681565b60006064840690506000600d8260648110611e9857fe5b01546001546001600160a01b039091169150813190600090611ebd9083908890612302565b90506000611ece82876001546123de565b60408051639113473160e01b81526004810185905260248101839052600060448201819052606482018190526084820181905291519293506001600160a01b0387169263911347319260a48084019391929182900301818387803b158015611f3557600080fd5b505af1158015611f49573d6000803e3d6000fd5b50505050600360009054906101000a90046001600160a01b03166001600160a01b03166349eefeee6040518163ffffffff1660e01b815260040160206040518083038186803b158015611f9b57600080fd5b505afa158015611faf573d6000803e3d6000fd5b505050506040513d6020811015611fc557600080fd5b50516071819055610ba357fe5b6000606483069050600d8160648110611fe757fe5b01546040805163320d84db60e11b81526004810185905290516001600160a01b039092169163641b09b69160248082019260009290919082900301818387803b158015610dc357600080fd5b6000606487069050600d816064811061204857fe5b015460408051639113473160e01b815260048101899052602481018890526001600160a01b0387811660448301528681166064830152608482018690529151919092169163911347319160a480830192600092919082900301818387803b15801561144557600080fd5b6003546000906001600160a01b031631156120cf57506000610f27565b6004546001600160a01b031631156120e957506000610f27565b600560009054906101000a90046001600160a01b03166001600160a01b03166314f6c3be6040518163ffffffff1660e01b815260040160206040518083038186803b15801561213757600080fd5b505afa15801561214b573d6000803e3d6000fd5b505050506040513d602081101561216157600080fd5b50516005546001600160a01b0316311461217d57506000610f27565b600660009054906101000a90046001600160a01b03166001600160a01b03166314f6c3be6040518163ffffffff1660e01b815260040160206040518083038186803b1580156121cb57600080fd5b505afa1580156121df573d6000803e3d6000fd5b505050506040513d60208110156121f557600080fd5b50516006546001600160a01b0316311461221157506000610f27565b600760009054906101000a90046001600160a01b03166001600160a01b03166314f6c3be6040518163ffffffff1660e01b815260040160206040518083038186803b15801561225f57600080fd5b505afa158015612273573d6000803e3d6000fd5b505050506040513d602081101561228957600080fd5b50516007546001600160a01b031631146122a557506000610f27565b600a546001600160a01b031631156122bf57506000610f27565b600b546001600160a01b031631156122d957506000610f27565b600c546001600160a01b031631156118bf57506000610f27565b6008546001600160a01b031681565b600080600b60009054906101000a90046001600160a01b03166001600160a01b03166398d5fdca6040518163ffffffff1660e01b815260040160206040518083038186803b15801561235357600080fd5b505afa158015612367573d6000803e3d6000fd5b505050506040513d602081101561237d57600080fd5b505190508061238b57600080fd5b60006123b2826123a6600254876124ca90919063ffffffff16565b9063ffffffff61252c16565b90508086116123c057600080fd5b600081870386816123cd57fe5b0691909101925050505b9392505050565b600080600b60009054906101000a90046001600160a01b03166001600160a01b03166398d5fdca6040518163ffffffff1660e01b815260040160206040518083038186803b15801561242f57600080fd5b505afa158015612443573d6000803e3d6000fd5b505050506040513d602081101561245957600080fd5b5051600254909150849060009061247790839063ffffffff61256e16565b905060006124868883866125c8565b9050858110156124be576124a4866123a68a8763ffffffff6124ca16565b91506124bb600254836125f890919063ffffffff16565b92505b50909695505050505050565b6000826124d957506000612526565b828202828482816124e657fe5b04146125235760405162461bcd60e51b81526004018080602001828103825260218152602001806127376021913960400191505060405180910390fd5b90505b92915050565b600061252383836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061263a565b600082820183811015612523576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b600082156125ef5760006125e6846123a6878663ffffffff6124ca16565b91506123d79050565b506000196123d7565b600061252383836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506126dc565b600081836126c65760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561268b578181015183820152602001612673565b50505050905090810190601f1680156126b85780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385816126d257fe5b0495945050505050565b6000818484111561272e5760405162461bcd60e51b815260206004820181815283516024840152835190928392604490910191908501908083836000831561268b578181015183820152602001612673565b50505090039056fe536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77a26469706673582212208b5ec761c42b41b18f4435d73b7aa36d71f94da091d5ac71bf9d4d768e602dde64736f6c634300060b0033", + "bytecode": "0x6080604052604051620000129062000c88565b604051809103906000f0801580156200002f573d6000803e3d6000fd5b50600380546001600160a01b0319166001600160a01b03929092169190911790556040516212750090620000639062000c96565b6200006f919062000efd565b604051809103906000f0801580156200008c573d6000803e3d6000fd5b50600480546001600160a01b0319166001600160a01b03929092169190911790556040516212750090620000c09062000ca4565b620000cc919062000efd565b604051809103906000f080158015620000e9573d6000803e3d6000fd5b50600580546001600160a01b0319166001600160a01b0392909216919091179055604051620001189062000cb2565b604051809103906000f08015801562000135573d6000803e3d6000fd5b50600680546001600160a01b0319166001600160a01b0392909216919091179055604051620001649062000cc0565b604051809103906000f08015801562000181573d6000803e3d6000fd5b50600780546001600160a01b0319166001600160a01b0392909216919091179055604051620001b09062000cce565b604051809103906000f080158015620001cd573d6000803e3d6000fd5b50600880546001600160a01b0319166001600160a01b0392909216919091179055604051620001fc9062000cdc565b604051809103906000f08015801562000219573d6000803e3d6000fd5b50600980546001600160a01b0319166001600160a01b0392909216919091179055604051620002489062000cea565b604051809103906000f08015801562000265573d6000803e3d6000fd5b50600a80546001600160a01b0319166001600160a01b0392909216919091179055604051620002949062000cf7565b604051809103906000f080158015620002b1573d6000803e3d6000fd5b50600c80546001600160a01b0319166001600160a01b03928316179081905560055460095460065460405163c0c53b8b60e01b81529385169463c0c53b8b9462000308948216938216929091169060040162000e65565b600060405180830381600087803b1580156200032357600080fd5b505af115801562000338573d6000803e3d6000fd5b505050506040516200034a9062000d05565b604051809103906000f08015801562000367573d6000803e3d6000fd5b50600b80546001600160a01b0319166001600160a01b0392909216919091179055604051620003969062000d13565b604051809103906000f080158015620003b3573d6000803e3d6000fd5b50600d80546001600160a01b0319166001600160a01b0392909216919091179055604051620003e29062000d21565b604051809103906000f080158015620003ff573d6000803e3d6000fd5b50600e80546001600160a01b0319166001600160a01b039283161790819055600554604080516101c081018252600080825260048054871660208401526003548716838501526006548716606084015260075487166080840152600854871660a0840152600954871660c0840152600a54871660e0840152600b548716610100840152600d548716610120840152600c54871661014084015294861661016083015261018082018190526101a08201529051623e2dc360e31b815291909316926301f16e1892620004d1920162000f25565b600060405180830381600087803b158015620004ec57600080fd5b505af115801562000501573d6000803e3d6000fd5b5050600654600354600554600754600854600954600a54600b54600d54600e54600c5460405163734f622d60e01b81526001600160a01b039b8c169d5063734f622d9c50620005759b60009b81169a81169981169881169781169681169581169481169381169216908b9060040162000db8565b600060405180830381600087803b1580156200059057600080fd5b505af1158015620005a5573d6000803e3d6000fd5b5050600754600654600554600954600854604051634a945f8d60e01b81526001600160a01b039586169750634a945f8d9650620005f5959485169493841693928316929091169060040162000e88565b600060405180830381600087803b1580156200061057600080fd5b505af115801562000625573d6000803e3d6000fd5b50506008546005546007546040516348083d7f60e11b81526001600160a01b0393841695506390107afe94506200066793928316929091169060040162000e4b565b600060405180830381600087803b1580156200068257600080fd5b505af115801562000697573d6000803e3d6000fd5b5050600954600354600654600554600754600c54600e54600d54604051630d733cfd60e41b81526001600160a01b039889169a5063d733cfd09950620006ff989788169796871696958616959485169493841693928316929091169060009060040162000eb3565b600060405180830381600087803b1580156200071a57600080fd5b505af11580156200072f573d6000803e3d6000fd5b5050600b54600654600554600754604051630d8efe5960e21b81526001600160a01b03948516965063363bf9649550620007789493841693928316929091169060040162000e65565b600060405180830381600087803b1580156200079357600080fd5b505af1158015620007a8573d6000803e3d6000fd5b5050600e54600554600654604051631e6edaf360e31b81526001600160a01b03938416955063f376d7989450620007f193670de0b6b3a764000093811692169060040162000f06565b600060405180830381600087803b1580156200080c57600080fd5b505af115801562000821573d6000803e3d6000fd5b506000925050505b60648110156200095457600554600654600954600c546040516001600160a01b0394851694938416939283169290911690620008659062000d2f565b62000874949392919062000e88565b604051809103906000f08015801562000891573d6000803e3d6000fd5b50600f8260648110620008a057fe5b0180546001600160a01b0319166001600160a01b03929092169190911790556000600f8260648110620008cf57fe5b01546040516001600160a01b039091169069d3c21bcecceda100000090620008f79062000db5565b60006040518083038185875af1925050503d806000811462000936576040519150601f19603f3d011682016040523d82523d6000602084013e6200093b565b606091505b50509050806200094a57600080fd5b5060010162000829565b50600660009054906101000a90046001600160a01b03166001600160a01b0316639f0706706040518163ffffffff1660e01b815260040160206040518083038186803b158015620009a457600080fd5b505afa158015620009b9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620009df919062000d66565b6001600160a01b031663794e57246040518163ffffffff1660e01b815260040160206040518083038186803b15801562000a1857600080fd5b505afa15801562000a2d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000a53919062000d8f565b600055600654604080516309f0706760e41b815290516001600160a01b0390921691639f07067091600480820192602092909190829003018186803b15801562000a9c57600080fd5b505afa15801562000ab1573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000ad7919062000d66565b6001600160a01b0316635733d58f6040518163ffffffff1660e01b815260040160206040518083038186803b15801562000b1057600080fd5b505afa15801562000b25573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000b4b919062000d8f565b60015560065460408051631d66cc0d60e21b815290516001600160a01b039092169163759b303491600480820192602092909190829003018186803b15801562000b9457600080fd5b505afa15801562000ba9573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000bcf919062000d8f565b60025560005462000bdf57600080fd5b60006001541162000bef57600080fd5b600d546040516391b7f5ed60e01b81526001600160a01b03909116906391b7f5ed9062000c2b9069021e19e0c9bab24000009060040162000efd565b602060405180830381600087803b15801562000c4657600080fd5b505af115801562000c5b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000c81919062000d3d565b506200105e565b61090880620039d383390190565b6137ec80620042db83390190565b61563b8062007ac783390190565b614bd8806200d10283390190565b610e188062011cda83390190565b610bf78062012af283390190565b6144d380620136e983390190565b605c8062017bbc83390190565b6118868062017c1883390190565b610d9a806201949e83390190565b61013b806201a23883390190565b611b3a806201a37383390190565b610e35806201bead83390190565b60006020828403121562000d4f578081fd5b8151801515811462000d5f578182fd5b9392505050565b60006020828403121562000d78578081fd5b81516001600160a01b038116811462000d5f578182fd5b60006020828403121562000da1578081fd5b5051919050565b6001600160a01b03169052565b90565b6001600160a01b038d811682528c811660208301528b811660408301528a81166060830152898116608083015288811660a083015287811660c083015286811660e08301528516610100820152610180810162000e1a61012083018662000da8565b62000e2a61014083018562000da8565b62000e3a61016083018462000da8565b9d9c50505050505050505050505050565b6001600160a01b0392831681529116602082015260400190565b6001600160a01b0393841681529183166020830152909116604082015260600190565b6001600160a01b03948516815292841660208401529083166040830152909116606082015260800190565b6001600160a01b0398891681529688166020880152948716604087015292861660608601529085166080850152841660a0840152831660c083015290911660e08201526101000190565b90815260200190565b9283526001600160a01b03918216602084015216604082015260600190565b60006101c08201905062000f3b82845162000da8565b602083015162000f4f602084018262000da8565b50604083015162000f64604084018262000da8565b50606083015162000f79606084018262000da8565b50608083015162000f8e608084018262000da8565b5060a083015162000fa360a084018262000da8565b5060c083015162000fb860c084018262000da8565b5060e083015162000fcd60e084018262000da8565b506101008084015162000fe38285018262000da8565b50506101208084015162000ffa8285018262000da8565b505061014080840151620010118285018262000da8565b505061016080840151620010288285018262000da8565b5050610180808401516200103f8285018262000da8565b50506101a080840151620010568285018262000da8565b505092915050565b612965806200106e6000396000f3fe60806040526004361061023b5760003560e01c80637ca8b0281161012e578063ba5a851f116100ab578063e44891271161006f578063e4489127146105ea578063ec9f7d461461060a578063efa83cf91461061f578063f2a903a714610632578063fa08b038146106475761023b565b8063ba5a851f14610562578063baf5d65f14610582578063c325347f146105a2578063cda775f9146105c2578063d21af968146105d75761023b565b80639cdd0978116100f25780639cdd0978146104e35780639f070670146105035780639f56ac1814610518578063a2f5cbdd1461052d578063a3d36834146105425761023b565b80637ca8b028146104595780637f7dde4a146104795780638e4707d31461048e57806391a4a426146104ae578063980c55d7146104ce5761023b565b80634e792a30116101bc57806359bed84b1161018057806359bed84b146103e757806369690936146103fc578063716c47e61461040f57806377553ad4146104245780637c22900e146104395761023b565b80634e792a301461036c57806354e174d81461038c57806357285cc5146103ac5780635895ac4e146103bf578063597ec799146103d45761023b565b80633ca4afc1116102035780633ca4afc1146102e25780633cc74225146103025780633d83908a1461031757806340ba2e271461032c5780634557559f1461034c5761023b565b8063048c661d1461024057806304bbf59c1461026b578063119be5d0146102985780631c6fbd23146102b857806325df85a2146102cd575b600080fd5b34801561024c57600080fd5b5061025561065c565b6040516102629190612689565b60405180910390f35b34801561027757600080fd5b5061028b610286366004612358565b61066b565b6040516102629190612728565b3480156102a457600080fd5b5061028b6102b3366004612358565b61070d565b6102cb6102c63660046125c2565b610754565b005b3480156102d957600080fd5b5061028b61081e565b3480156102ee57600080fd5b506102cb6102fd366004612427565b610cac565b34801561030e57600080fd5b50610255610d2a565b34801561032357600080fd5b50610255610d39565b34801561033857600080fd5b506102cb6103473660046122b2565b610d48565b34801561035857600080fd5b506102cb6103673660046122b2565b610dc8565b34801561037857600080fd5b506102cb6103873660046122e2565b610e58565b34801561039857600080fd5b506102cb6103a736600461245f565b610ed3565b6102cb6103ba366004612406565b610f54565b3480156103cb57600080fd5b5061028b610ffc565b6102cb6103e236600461260e565b61109e565b3480156103f357600080fd5b5061028b61112b565b6102cb61040a36600461245f565b611408565b34801561041b57600080fd5b50610255611450565b34801561043057600080fd5b5061025561145f565b34801561044557600080fd5b5061028b610454366004612311565b61146e565b34801561046557600080fd5b506102cb6104743660046124a8565b611513565b34801561048557600080fd5b5061025561159f565b34801561049a57600080fd5b5061028b6104a9366004612358565b6115ae565b3480156104ba57600080fd5b506102556104c93660046122b2565b6115f5565b3480156104da57600080fd5b5061028b611612565b3480156104ef57600080fd5b5061028b6104fe366004612358565b6118fb565b34801561050f57600080fd5b50610255611942565b34801561052457600080fd5b5061028b611951565b34801561053957600080fd5b5061028b611974565b34801561054e57600080fd5b506102cb61055d36600461245f565b611989565b34801561056e57600080fd5b506102cb61057d36600461250e565b6119d1565b34801561058e57600080fd5b506102cb61059d366004612406565b611a1b565b3480156105ae57600080fd5b506102cb6105bd36600461238f565b611a5f565b3480156105ce57600080fd5b50610255611aa5565b6102cb6105e536600461255f565b611ab4565b3480156105f657600080fd5b506102cb610605366004612406565b611bfc565b34801561061657600080fd5b50610255611c40565b6102cb61062d36600461258a565b611c4f565b34801561063e57600080fd5b5061028b611c9b565b34801561065357600080fd5b50610255611f00565b6009546001600160a01b031681565b600080606485069050600f816064811061068157fe5b015460405163d466e4eb60e01b81526001600160a01b039091169063d466e4eb906106b290879087906004016126c1565b602060405180830381600087803b1580156106cc57600080fd5b505af11580156106e0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107049190612296565b50509392505050565b600080606485069050600f816064811061072357fe5b015460405163cf83544f60e01b81526001600160a01b039091169063cf83544f906106b290879087906004016126c1565b60006064860690506000600f826064811061076b57fe5b0154600080546001600160a01b03909216925082319161078e9083908a90611f0f565b90508585156107a7576107a48288600054611ffa565b90505b604051631942d56760e21b81526001600160a01b0385169063650b559c906107e09085908c9086908c90600090819081906004016128cd565b600060405180830381600087803b1580156107fa57600080fd5b505af115801561080e573d6000803e3d6000fd5b5050505050505050505050505050565b600080600c60009054906101000a90046001600160a01b03166001600160a01b03166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b15801561086f57600080fd5b505afa158015610883573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108a791906122ca565b600c54600a546040516370a0823160e01b81529293506000926001600160a01b03928316926370a08231926108e192911690600401612689565b60206040518083038186803b1580156108f957600080fd5b505afa15801561090d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061093191906122ca565b90506000600760009054906101000a90046001600160a01b03166001600160a01b0316633963e9806040518163ffffffff1660e01b815260040160206040518083038186803b15801561098357600080fd5b505afa158015610997573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109bb91906122ca565b90506000600860009054906101000a90046001600160a01b03166001600160a01b0316633963e9806040518163ffffffff1660e01b815260040160206040518083038186803b158015610a0d57600080fd5b505afa158015610a21573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a4591906122ca565b90508082018414610a5d576000945050505050610ca9565b60095460408051635ed79bf560e11b815290516000926001600160a01b03169163bdaf37ea916004808301926020929190829003018186803b158015610aa257600080fd5b505afa158015610ab6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ada91906122ca565b90506000600e60009054906101000a90046001600160a01b03166001600160a01b0316631e2231436040518163ffffffff1660e01b815260040160206040518083038186803b158015610b2c57600080fd5b505afa158015610b40573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b64919061227a565b905060005b6001600160a01b03821615610c8257600c546040516370a0823160e01b81526001600160a01b03909116906370a0823190610ba8908590600401612689565b60206040518083038186803b158015610bc057600080fd5b505afa158015610bd4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bf891906122ca565b600e5460405163765e015960e01b815291909201916001600160a01b03169063765e015990610c2b908590600401612689565b60206040518083038186803b158015610c4357600080fd5b505afa158015610c57573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c7b919061227a565b9150610b69565b85818401018711610c9d576000975050505050505050610ca9565b60019750505050505050505b90565b6000606484069050600f8160648110610cc157fe5b0154604051634c36240b60e01b81526001600160a01b0390911690634c36240b90610cf29086908690600401612807565b600060405180830381600087803b158015610d0c57600080fd5b505af1158015610d20573d6000803e3d6000fd5b5050505050505050565b6008546001600160a01b031681565b6005546001600160a01b031681565b6000606482069050600f8160648110610d5d57fe5b0160009054906101000a90046001600160a01b03166001600160a01b0316634903a3dd6040518163ffffffff1660e01b8152600401600060405180830381600087803b158015610dac57600080fd5b505af1158015610dc0573d6000803e3d6000fd5b505050505050565b600d546040516391b7f5ed60e01b81526000916001600160a01b0316906391b7f5ed90610df99085906004016127fe565b602060405180830381600087803b158015610e1357600080fd5b505af1158015610e27573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e4b9190612296565b905080610e5457fe5b5050565b6000606483069050600f8160648110610e6d57fe5b0154604051634d37261f60e01b81526001600160a01b0390911690634d37261f90610e9c908590600401612689565b600060405180830381600087803b158015610eb657600080fd5b505af1158015610eca573d6000803e3d6000fd5b50505050505050565b6000606485069050600f8160648110610ee857fe5b01546040516372d76c8760e01b81526001600160a01b03909116906372d76c8790610f1b9087908790879060040161281e565b600060405180830381600087803b158015610f3557600080fd5b505af1158015610f49573d6000803e3d6000fd5b505050505050505050565b60006064830690506000600f8260648110610f6b57fe5b0154600080546001600160a01b039092169250823191610f8e9083908790611f0f565b6040516332e859b960e01b81529091506001600160a01b038416906332e859b990610fc2908490600090819060040161281e565b600060405180830381600087803b158015610fdc57600080fd5b505af1158015610ff0573d6000803e3d6000fd5b50505050505050505050565b600080600d60009054906101000a90046001600160a01b03166001600160a01b03166398d5fdca6040518163ffffffff1660e01b815260040160206040518083038186803b15801561104d57600080fd5b505afa158015611061573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061108591906122ca565b905080611096576000915050610ca9565b600191505090565b6000606489069050600f81606481106110b357fe5b0154604051631942d56760e21b81526001600160a01b039091169063650b559c906110ee908b908b908b908b908b908b908b906004016128cd565b600060405180830381600087803b15801561110857600080fd5b505af115801561111c573d6000803e3d6000fd5b50505050505050505050505050565b600080600e60009054906101000a90046001600160a01b03166001600160a01b0316631e2231436040518163ffffffff1660e01b815260040160206040518083038186803b15801561117c57600080fd5b505afa158015611190573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111b4919061227a565b600e5460405163765e015960e01b81529192506000916001600160a01b039091169063765e0159906111ea908590600401612689565b60206040518083038186803b15801561120257600080fd5b505afa158015611216573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061123a919061227a565b90505b6001600160a01b0382161580159061125d57506001600160a01b03811615155b156113ff5760055460405163b0d8e18160e01b81526001600160a01b039091169063b0d8e18190611292908590600401612689565b60206040518083038186803b1580156112aa57600080fd5b505afa1580156112be573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112e291906122ca565b60055460405163b0d8e18160e01b81526001600160a01b039091169063b0d8e18190611312908590600401612689565b60206040518083038186803b15801561132a57600080fd5b505afa15801561133e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061136291906122ca565b111561137357600092505050610ca9565b600e5460405163765e015960e01b815291925082916001600160a01b039091169063765e0159906113a8908490600401612689565b60206040518083038186803b1580156113c057600080fd5b505afa1580156113d4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113f8919061227a565b905061123d565b60019250505090565b6000606485069050600f816064811061141d57fe5b01546040516332e859b960e01b81526001600160a01b03909116906332e859b990610f1b9087908790879060040161281e565b6004546001600160a01b031681565b6006546001600160a01b031681565b600080606486069050600f816064811061148457fe5b0154604051636ca5e76160e11b81526001600160a01b039091169063d94bcec2906114b79088908890889060040161269d565b602060405180830381600087803b1580156114d157600080fd5b505af11580156114e5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115099190612296565b5050949350505050565b6000606487069050600f816064811061152857fe5b01546040516335b1017960e01b81526001600160a01b03909116906335b10179906115649089908990899089908990600090819060040161283d565b600060405180830381600087803b15801561157e57600080fd5b505af1158015611592573d6000803e3d6000fd5b5050505050505050505050565b6007546001600160a01b031681565b600080606485069050600f81606481106115c457fe5b0154604051636628d36160e11b81526001600160a01b039091169063cc51a6c2906106b290879087906004016126c1565b600f816064811061160257fe5b01546001600160a01b0316905081565b600080600e60009054906101000a90046001600160a01b03166001600160a01b0316631e2231436040518163ffffffff1660e01b815260040160206040518083038186803b15801561166357600080fd5b505afa158015611677573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061169b919061227a565b90505b6001600160a01b03811615611096576005546040516321e3780160e01b81526001916001600160a01b0316906321e37801906116de908590600401612689565b60206040518083038186803b1580156116f657600080fd5b505afa15801561170a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061172e91906122ca565b600481111561173957fe5b600481111561174457fe5b14611753576000915050610ca9565b60025460055460405163d66a255360e01b81526001600160a01b039091169063d66a255390611786908590600401612689565b60206040518083038186803b15801561179e57600080fd5b505afa1580156117b2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117d691906122ca565b10156117e6576000915050610ca9565b600554604051630326771360e51b81526001600160a01b03909116906364cee26090611816908490600401612689565b60206040518083038186803b15801561182e57600080fd5b505afa158015611842573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061186691906122ca565b611874576000915050610ca9565b600e5460405163765e015960e01b81526001600160a01b039091169063765e0159906118a4908490600401612689565b60206040518083038186803b1580156118bc57600080fd5b505afa1580156118d0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118f4919061227a565b905061169e565b600080606485069050600f816064811061191157fe5b015460405163390b5f2760e01b81526001600160a01b039091169063390b5f27906106b290879087906004016126c1565b6003546001600160a01b031681565b6007546000906001600160a01b0316311561196e57506000610ca9565b50600190565b60006014607354111561196e57506000610ca9565b6000606485069050600f816064811061199e57fe5b0154604051633ddd87af60e11b81526001600160a01b0390911690637bbb0f5e90610f1b9087908790879060040161281e565b6000606486069050600f81606481106119e657fe5b0154604051630666566560e31b81526001600160a01b0390911690633332b32890610fc290889088908890889060040161287c565b6000606483069050600f8160648110611a3057fe5b015460405163f47a1ea760e01b81526001600160a01b039091169063f47a1ea790610e9c9085906004016127fe565b6000606484069050600f8160648110611a7457fe5b0154604051634afbac5160e01b81526001600160a01b0390911690634afbac5190610cf290869086906004016126da565b600b546001600160a01b031681565b60006064840690506000600f8260648110611acb57fe5b01546001546001600160a01b039091169150813190600090611af09083908890611f0f565b90506000611b018287600154611ffa565b604051639113473160e01b81529091506001600160a01b03851690639113473190611b399085908590600090819081906004016128a1565b600060405180830381600087803b158015611b5357600080fd5b505af1158015611b67573d6000803e3d6000fd5b50505050600560009054906101000a90046001600160a01b03166001600160a01b03166349eefeee6040518163ffffffff1660e01b815260040160206040518083038186803b158015611bb957600080fd5b505afa158015611bcd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611bf191906122ca565b6073819055610d2057fe5b6000606483069050600f8160648110611c1157fe5b015460405163320d84db60e11b81526001600160a01b039091169063641b09b690610e9c9085906004016127fe565b600c546001600160a01b031681565b6000606487069050600f8160648110611c6457fe5b0154604051639113473160e01b81526001600160a01b039091169063911347319061156490899089908990899089906004016128a1565b6005546000906001600160a01b03163115611cb857506000610ca9565b6006546001600160a01b03163115611cd257506000610ca9565b600760009054906101000a90046001600160a01b03166001600160a01b03166314f6c3be6040518163ffffffff1660e01b815260040160206040518083038186803b158015611d2057600080fd5b505afa158015611d34573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d5891906122ca565b6007546001600160a01b03163114611d7257506000610ca9565b600860009054906101000a90046001600160a01b03166001600160a01b03166314f6c3be6040518163ffffffff1660e01b815260040160206040518083038186803b158015611dc057600080fd5b505afa158015611dd4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611df891906122ca565b6008546001600160a01b03163114611e1257506000610ca9565b600960009054906101000a90046001600160a01b03166001600160a01b03166314f6c3be6040518163ffffffff1660e01b815260040160206040518083038186803b158015611e6057600080fd5b505afa158015611e74573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e9891906122ca565b6009546001600160a01b03163114611eb257506000610ca9565b600c546001600160a01b03163115611ecc57506000610ca9565b600d546001600160a01b03163115611ee657506000610ca9565b600e546001600160a01b0316311561196e57506000610ca9565b600a546001600160a01b031681565b600080600d60009054906101000a90046001600160a01b03166001600160a01b03166398d5fdca6040518163ffffffff1660e01b815260040160206040518083038186803b158015611f6057600080fd5b505afa158015611f74573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f9891906122ca565b905060008111611fa757600080fd5b6000611fce82611fc2600254876120f290919063ffffffff16565b9063ffffffff61213e16565b9050808611611fdc57600080fd5b60008187038681611fe957fe5b0691909101925050505b9392505050565b600080600d60009054906101000a90046001600160a01b03166001600160a01b03166398d5fdca6040518163ffffffff1660e01b815260040160206040518083038186803b15801561204b57600080fd5b505afa15801561205f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061208391906122ca565b600254909150849060009061209f90839063ffffffff61218016565b905060006120ae8883866121a5565b9050858110156120e6576120cc86611fc28a8763ffffffff6120f216565b91506120e3600254836121d590919063ffffffff16565b92505b50909695505050505050565b60008261210157506000612138565b8282028284828161210e57fe5b04146121355760405162461bcd60e51b815260040161212c906127bd565b60405180910390fd5b90505b92915050565b600061213583836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612217565b6000828201838110156121355760405162461bcd60e51b815260040161212c90612786565b600082156121cc5760006121c384611fc2878663ffffffff6120f216565b9150611ff39050565b50600019611ff3565b600061213583836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061224e565b600081836122385760405162461bcd60e51b815260040161212c9190612733565b50600083858161224457fe5b0495945050505050565b600081848411156122725760405162461bcd60e51b815260040161212c9190612733565b505050900390565b60006020828403121561228b578081fd5b815161213581612909565b6000602082840312156122a7578081fd5b815161213581612921565b6000602082840312156122c3578081fd5b5035919050565b6000602082840312156122db578081fd5b5051919050565b600080604083850312156122f4578081fd5b82359150602083013561230681612909565b809150509250929050565b60008060008060808587031215612326578182fd5b84359350602085013561233881612909565b9250604085013561234881612909565b9396929550929360600135925050565b60008060006060848603121561236c578283fd5b83359250602084013561237e81612909565b929592945050506040919091013590565b6000806000604084860312156123a3578283fd5b83359250602084013567ffffffffffffffff808211156123c1578384fd5b81860187601f8201126123d2578485fd5b80359250818311156123e2578485fd5b87602080850283010111156123f5578485fd5b949760209095019650909450505050565b60008060408385031215612418578182fd5b50508035926020909101359150565b60008060006060848603121561243b578283fd5b8335925060208401359150604084013561245481612909565b809150509250925092565b60008060008060808587031215612474578384fd5b8435935060208501359250604085013561248d81612909565b9150606085013561249d81612909565b939692955090935050565b60008060008060008060c087890312156124c0578182fd5b863595506020870135945060408701356124d981612909565b935060608701356124e981612909565b925060808701356124f981612909565b8092505060a087013590509295509295509295565b600080600080600060a08688031215612525578081fd5b8535945060208601359350604086013561253e81612909565b9250606086013561254e81612909565b949793965091946080013592915050565b600080600060608486031215612573578081fd5b505081359360208301359350604090920135919050565b60008060008060008060c087890312156125a2578384fd5b86359550602087013594506040870135935060608701356124e981612909565b600080600080600060a086880312156125d9578283fd5b85359450602086013593506040860135925060608601359150608086013561260081612921565b809150509295509295909350565b600080600080600080600080610100898b03121561262a578586fd5b88359750602089013596506040890135955060608901359450608089013561265181612921565b935060a089013561266181612909565b925060c089013561267181612909565b8092505060e089013590509295985092959890939650565b6001600160a01b0391909116815260200190565b6001600160a01b039384168152919092166020820152604081019190915260600190565b6001600160a01b03929092168252602082015260400190565b60208082528181018390526000908460408401835b8681101561271d57823561270281612909565b6001600160a01b0316825291830191908301906001016126ef565b509695505050505050565b901515815260200190565b6000602080835283518082850152825b8181101561275f57858101830151858201604001528201612743565b818111156127705783604083870101525b50601f01601f1916929092016040019392505050565b6020808252601b908201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604082015260600190565b60208082526021908201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6040820152607760f81b606082015260800190565b90815260200190565b9182526001600160a01b0316602082015260400190565b9283526001600160a01b03918216602084015216604082015260600190565b9687526001600160a01b0395861660208801529385166040870152919093166060850152608084019290925260a083019190915260c082015260e00190565b9384526001600160a01b03928316602085015291166040830152606082015260800190565b94855260208501939093526001600160a01b039182166040850152166060830152608082015260a00190565b9687526020870195909552604086019390935290151560608501526001600160a01b0390811660808501521660a083015260c082015260e00190565b6001600160a01b038116811461291e57600080fd5b50565b801515811461291e57600080fdfea2646970667358221220eb7ad9d5b909f9e648eae8c7f89922a08c7cbcabc1ba72a37e06f9184fc06c6364736f6c634300060b0033608060405234801561001057600080fd5b50610023336001600160e01b0361002816565b610110565b6001600160a01b03811661006d5760405162461bcd60e51b81526004018080602001828103825260228152602001806108e66022913960400191505060405180910390fd5b6001600160a01b0381166100886001600160e01b036100e616565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3604080517035b2bc9737bbb730b136329737bbb732b960791b8152905190819003601101902055565b604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205490565b6107c78061011f6000396000f3fe608060405234801561001057600080fd5b50600436106100e05760003560e01c80636030cc8c116100875780636030cc8c146101965780636d454561146101b3578063794e5724146101d057806380038a0b146101d85780638129fc1c146101f5578063893d20e8146101fd578063a20baee614610221578063f92d343314610229576100e0565b806313af4035146100e5578063240926691461010d57806328d28b5b146101275780632e2465f81461012f578063385a128f1461014c5780634139ad60146101695780634870dd9a146101865780635733d58f1461018e575b600080fd5b61010b600480360360208110156100fb57600080fd5b50356001600160a01b0316610231565b005b610115610298565b60408051918252519081900360200190f35b61011561029e565b61010b6004803603602081101561014557600080fd5b50356102a4565b61010b6004803603602081101561016257600080fd5b5035610304565b61010b6004803603602081101561017f57600080fd5b5035610364565b6101156103c4565b6101156103ca565b61010b600480360360208110156101ac57600080fd5b50356103d0565b61010b600480360360208110156101c957600080fd5b5035610430565b610115610490565b61010b600480360360208110156101ee57600080fd5b5035610496565b61010b6104f6565b61020561062a565b604080516001600160a01b039092168252519081900360200190f35b610115610654565b610115610660565b61023961062a565b6001600160a01b0316336001600160a01b03161461028c576040805162461bcd60e51b81526020600482015260176024820152600080516020610722833981519152604482015290519081900360640190fd5b61029581610666565b50565b60385481565b60375481565b6102ac61062a565b6001600160a01b0316336001600160a01b0316146102ff576040805162461bcd60e51b81526020600482015260176024820152600080516020610722833981519152604482015290519081900360640190fd5b603655565b61030c61062a565b6001600160a01b0316336001600160a01b03161461035f576040805162461bcd60e51b81526020600482015260176024820152600080516020610722833981519152604482015290519081900360640190fd5b603355565b61036c61062a565b6001600160a01b0316336001600160a01b0316146103bf576040805162461bcd60e51b81526020600482015260176024820152600080516020610722833981519152604482015290519081900360640190fd5b603455565b60355481565b60345481565b6103d861062a565b6001600160a01b0316336001600160a01b03161461042b576040805162461bcd60e51b81526020600482015260176024820152600080516020610722833981519152604482015290519081900360640190fd5b603755565b61043861062a565b6001600160a01b0316336001600160a01b03161461048b576040805162461bcd60e51b81526020600482015260176024820152600080516020610722833981519152604482015290519081900360640190fd5b603555565b60335481565b61049e61062a565b6001600160a01b0316336001600160a01b0316146104f1576040805162461bcd60e51b81526020600482015260176024820152600080516020610722833981519152604482015290519081900360640190fd5b603855565b600054610100900460ff168061050f575061050f61071b565b8061051d575060005460ff16155b6105585760405162461bcd60e51b815260040180806020018281038252602e815260200180610764602e913960400191505060405180910390fd5b600054610100900460ff16158015610583576000805460ff1961ff0019909116610100171660011790555b61058b61062a565b6001600160a01b0316336001600160a01b0316146105de576040805162461bcd60e51b81526020600482015260176024820152600080516020610722833981519152604482015290519081900360640190fd5b670f43fc2c04ee00006033556714d1120d7b16000060345560c86035556611c37937e08000603681905560375566b1a2bc2ec500006038558015610295576000805461ff001916905550565b604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205490565b670de0b6b3a764000081565b60365481565b6001600160a01b0381166106ab5760405162461bcd60e51b81526004018080602001828103825260228152602001806107426022913960400191505060405180910390fd5b806001600160a01b03166106bd61062a565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3604080517035b2bc9737bbb730b136329737bbb732b960791b8152905190819003601101902055565b303b159056fe4f776e61626c653a3a206163636573732064656e6965640000000000000000004f776e61626c653a3a7365744f776e65723a20696e76616c69642061646472657373436f6e747261637420696e7374616e63652068617320616c7265616479206265656e20696e697469616c697a6564a26469706673582212209b1fc4ebe36b013e04c33c8b1574ab765154511a9b95fe7e760cf2d686fd7abb64736f6c634300060b00334f776e61626c653a3a7365744f776e65723a20696e76616c6964206164647265737360a06040523480156200001157600080fd5b50604051620037ec380380620037ec833981016040819052620000349162000118565b8062000049336001600160e01b036200005316565b6080525062000190565b6001600160a01b038116620000855760405162461bcd60e51b81526004016200007c906200014e565b60405180910390fd5b6001600160a01b038116620000a26001600160e01b03620000f716565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000604051620000e79062000131565b6040519081900390209190915550565b600080604051620001089062000131565b6040519081900390205492915050565b6000602082840312156200012a578081fd5b5051919050565b7035b2bc9737bbb730b136329737bbb732b960791b815260110190565b60208082526022908201527f4f776e61626c653a3a7365744f776e65723a20696e76616c6964206164647265604082015261737360f01b606082015260800190565b60805161363c620001b060003980610aa952806119d6525061363c6000f3fe608060405234801561001057600080fd5b50600436106102745760003560e01c8063797250e311610151578063ae7bec19116100c3578063bf9befb111610087578063bf9befb114610455578063c35bc5501461045d578063c7b5548114610465578063d380a37c1461046d578063d815e8e914610475578063e056e9181461047d57610274565b8063ae7bec1914610422578063ae9187541461042a578063b7f8cf9b14610432578063bcd375261461043a578063be4b03341461044d57610274565b8063893d20e811610115578063893d20e8146103ed57806396d711ff146103f55780639dd233d2146103fd5780639f07067014610405578063a20baee614610392578063a3f4df7e1461040d57610274565b8063797250e3146103c55780637cf54e40146103cd5780637f7dde4a146103d5578063807d138d146103dd578063887105d3146103e557610274565b806342ccf1e4116101ea578063716c47e6116101ae578063716c47e61461038a57806372fe25aa14610392578063741bef1a1461039a578063756b253e146103a2578063759b3034146103b5578063795d26c3146103bd57610274565b806342ccf1e4146103305780634a767d681461034357806361ec893d146103565780636b4449521461035e5780636ef643381461036657610274565b80631a59a50e1161023c5780631a59a50e146102f55780631bf43555146103085780631f68f20a1461031057806331c903b0146103185780633a128595146103205780633cc742251461032857610274565b806305b6f5ca14610279578063071a75411461028e5780630d43e8ad146102ac57806313af4035146102c15780631673c79a146102d4575b600080fd5b61028c610287366004612ec7565b61049d565b005b610296610558565b6040516102a39190613554565b60405180910390f35b6102b461055d565b6040516102a39190612f8f565b61028c6102cf366004612da7565b61056c565b6102e76102e2366004612da7565b6105b9565b6040516102a392919061355d565b610296610303366004612da7565b6105d2565b61029661069a565b6102966106a7565b6102966106ad565b6102b46106bf565b6102b46106ce565b61029661033e366004612da7565b6106dd565b610296610351366004612ddf565b61070e565b610296610739565b61029661073e565b610379610374366004612da7565b610744565b6040516102a395949392919061356b565b6102b461077e565b61029661078d565b6102b4610799565b6102b46103b0366004612e2a565b6107a8565b6102966107cf565b6102966107dc565b6102966108fb565b6102b4610901565b6102b4610910565b61029661091f565b610296610925565b6102b46109f4565b610296610a13565b610296610a19565b6102b4610a1f565b610415610a2e565b6040516102a391906130a4565b6102b4610a56565b6102b4610a65565b6102b4610a74565b61028c610448366004612e5a565b610a83565b610296610a9b565b610296610aa1565b610296610aa7565b610296610acb565b610296610ad7565b6102b4610add565b61049061048b366004612da7565b610aec565b6040516102a3919061306d565b600061053c600560009054906101000a90046001600160a01b03166001600160a01b031663e9fc34616040518163ffffffff1660e01b815260040160206040518083038186803b1580156104f057600080fd5b505afa158015610504573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105289190612dc3565b6009548b906001600160a01b031685610b4a565b905061054d81898989898989610dfb565b505050505050505050565b600281565b600c546001600160a01b031681565b6105746109f4565b6001600160a01b0316336001600160a01b0316146105ad5760405162461bcd60e51b81526004016105a49061335f565b60405180910390fd5b6105b6816115c2565b50565b6016602052600090815260409020805460019091015482565b6001600160a01b0381166000908152601660205260408120546014548290610600908363ffffffff61164d16565b9050801580610639575060016001600160a01b03851660009081526010602052604090206003015460ff16600481111561063657fe5b14155b1561064957600092505050610695565b6001600160a01b0384166000908152601060205260408120600201549061068e670de0b6b3a7640000610682848663ffffffff61169616565b9063ffffffff6116d016565b9450505050505b919050565b6809c2007651b250000081565b600e5481565b60006106ba600e54611712565b905090565b600b546001600160a01b031681565b6001546001600160a01b031681565b6001600160a01b0381166000908152601660205260408120600101546015548290610600908363ffffffff61164d16565b600080600061071c856117bb565b91509150600061072d838387611841565b93505050505b92915050565b603c81565b60195481565b60106020526000908152604090208054600182015460028301546003909301549192909160ff81169061010090046001600160801b031685565b6004546001600160a01b031681565b670de0b6b3a764000081565b6002546001600160a01b031681565b601781815481106107b557fe5b6000918252602090912001546001600160a01b0316905081565b6801158e460913d0000081565b60008054604080516272c7d360e71b8152905183926001600160a01b031691633963e980916004808301926020929190829003018186803b15801561082057600080fd5b505afa158015610834573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108589190612e42565b90506000600160009054906101000a90046001600160a01b03166001600160a01b0316633963e9806040518163ffffffff1660e01b815260040160206040518083038186803b1580156108aa57600080fd5b505afa1580156108be573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108e29190612e42565b90506108f4828263ffffffff61187316565b9250505090565b60185481565b600a546001600160a01b031681565b6000546001600160a01b031681565b60125481565b6000805460408051630a7b61df60e11b8152905183926001600160a01b0316916314f6c3be916004808301926020929190829003018186803b15801561096a57600080fd5b505afa15801561097e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109a29190612e42565b90506000600160009054906101000a90046001600160a01b03166001600160a01b03166314f6c3be6040518163ffffffff1660e01b815260040160206040518083038186803b1580156108aa57600080fd5b600080604051610a0390612f72565b6040519081900390205492915050565b60135481565b60145481565b6003546001600160a01b031681565b6040518060400160405280600c81526020016b2a3937bb32a6b0b730b3b2b960a11b81525081565b6006546001600160a01b031681565b600d546001600160a01b031681565b6005546001600160a01b031681565b610a9287878787878787610dfb565b50505050505050565b60155481565b60115481565b7f000000000000000000000000000000000000000000000000000000000000000081565b670ddd4b8c6c7d70d881565b600f5481565b6009546001600160a01b031681565b600060016001600160a01b03831660009081526010602052604090206003015460ff166004811115610b1a57fe5b14610b2757506000610695565b506014546001600160a01b03821660009081526016602052604090205410919050565b600080856001600160a01b03166321df0da76040518163ffffffff1660e01b815260040160206040518083038186803b158015610b8657600080fd5b505afa158015610b9a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bbe9190612dc3565b90506000816001600160a01b03166370a08231306040518263ffffffff1660e01b8152600401610bee9190612f8f565b60206040518083038186803b158015610c0657600080fd5b505afa158015610c1a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c3e9190612e42565b9050306001600160a01b03831663605629d633838a8935610c6560408c0160208d01612f51565b8b604001358c606001356040518863ffffffff1660e01b8152600401610c919796959493929190612fa3565b600060405180830381600087803b158015610cab57600080fd5b505af1158015610cbf573d6000803e3d6000fd5b5050505086610d5083856001600160a01b03166370a08231856040518263ffffffff1660e01b8152600401610cf49190612f8f565b60206040518083038186803b158015610d0c57600080fd5b505afa158015610d20573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d449190612e42565b9063ffffffff61164d16565b14610d6d5760405162461bcd60e51b81526004016105a49061316b565b60405163fb2c922360e01b81526001600160a01b0389169063fb2c922390610d9d9089908b90339060040161301f565b602060405180830381600087803b158015610db757600080fd5b505af1158015610dcb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610def9190612e42565b98975050505050505050565b610e03612d03565b506040805160e0810182526000546001600160a01b03908116825260015481166020830152600954811692820192909252600b5482166060820152600d5482166080820152600854821660a082015260075490911660c0820152610e65612d3f565b610e6e83611898565b610e76611951565b600260009054906101000a90046001600160a01b03166001600160a01b0316630fdb11cf6040518163ffffffff1660e01b8152600401602060405180830381600087803b158015610ec657600080fd5b505af1158015610eda573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610efe9190612e42565b60c08201819052610f0e90611a1f565b610f1789611acc565b610f268260400151338b611aec565b610f2e6107dc565b60e0820181905260408084015190516370a0823160e01b81526001600160a01b03909116906370a0823190610f67903390600401612f8f565b60206040518083038186803b158015610f7f57600080fd5b505afa158015610f93573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fb79190612e42565b1115610fbf57fe5b888152608082015160c0820151600091610fda918b90611b8d565b15610fe6575087611193565b82608001516001600160a01b0316634d6228316040518163ffffffff1660e01b815260040160206040518083038186803b15801561102357600080fd5b505afa158015611037573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061105b9190612dc3565b90505b6001600160a01b038116158015906111075750600360009054906101000a90046001600160a01b03166001600160a01b031663794e57246040518163ffffffff1660e01b815260040160206040518083038186803b1580156110bf57600080fd5b505afa1580156110d3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110f79190612e42565b611105828460c0015161070e565b105b156111935782608001516001600160a01b031663b72703ac826040518263ffffffff1660e01b815260040161113c9190612f8f565b60206040518083038186803b15801561115457600080fd5b505afa158015611168573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061118c9190612dc3565b905061105e565b8461119e5760001994505b6001600160a01b038116158015906111b65750815115155b80156111c25750600085115b156112f0576080830151604051632dc9c0eb60e21b8152600019909601956000916001600160a01b03169063b72703ac90611201908590600401612f8f565b60206040518083038186803b15801561121957600080fd5b505afa15801561122d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112519190612dc3565b90506112668460000151856020015184611df0565b61126e612d84565b611285858486600001518760c001518e8e8e611f01565b90508060400151156112985750506112f0565b805160208501516112ae9163ffffffff61187316565b60208086019190915281015160408501516112ce9163ffffffff61187316565b6040850152805184516112e69163ffffffff61164d16565b845250905061119e565b60008260400151116113145760405162461bcd60e51b81526004016105a4906131b4565b61132b82604001518360c001518460e00151612175565b50611339826040015161222c565b60608301819052604083015161135091908661223f565b8251600c5460608401516040516364a197f360e01b81526001600160a01b03938416936364a197f39361138893911691600401612fe4565b600060405180830381600087803b1580156113a257600080fd5b505af11580156113b6573d6000803e3d6000fd5b50505050600c60009054906101000a90046001600160a01b03166001600160a01b031663bb57ad206040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561140a57600080fd5b505af115801561141e573d6000803e3d6000fd5b50505050606082015160408301516114359161164d565b60808301526020820151604080840151606085015191517f43a3f4082a4dbc33d78e317d2497d3a730bc7fc3574159dcea1056e62e5d9ad89361147b938f9391926135ab565b60405180910390a182604001516001600160a01b0316639dc29fac3384602001516040518363ffffffff1660e01b81526004016114b9929190612fe4565b600060405180830381600087803b1580156114d357600080fd5b505af11580156114e7573d6000803e3d6000fd5b50508451602085015160405163121cbc4d60e11b81526001600160a01b039092169350632439789a925061151d91600401613554565b600060405180830381600087803b15801561153757600080fd5b505af115801561154b573d6000803e3d6000fd5b5050845160808501516040516364a197f360e01b81526001600160a01b0390921693506364a197f3925061158491339190600401612fe4565b600060405180830381600087803b15801561159e57600080fd5b505af11580156115b2573d6000803e3d6000fd5b5050505050505050505050505050565b6001600160a01b0381166115e85760405162461bcd60e51b81526004016105a490613234565b806001600160a01b03166115fa6109f4565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3600060405161163d90612f72565b6040519081900390209190915550565b600061168f83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250612285565b9392505050565b6000826116a557506000610733565b828202828482816116b257fe5b041461168f5760405162461bcd60e51b81526004016105a49061331e565b600061168f83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506122b1565b60006107336117ad83600360009054906101000a90046001600160a01b03166001600160a01b03166328d28b5b6040518163ffffffff1660e01b815260040160206040518083038186803b15801561176957600080fd5b505afa15801561177d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117a19190612e42565b9063ffffffff61187316565b670de0b6b3a76400006122e8565b60008060006117c9846105d2565b905060006117d6856106dd565b6001600160a01b03861660009081526010602052604081206001015491925090611806908463ffffffff61187316565b6001600160a01b03871660009081526010602052604081205491925090611833908463ffffffff61187316565b919550909350505050915091565b6000821561186857600061185f84610682878663ffffffff61169616565b915061168f9050565b506000199392505050565b60008282018381101561168f5760405162461bcd60e51b81526004016105a4906131fd565b600360009054906101000a90046001600160a01b03166001600160a01b03166328d28b5b6040518163ffffffff1660e01b815260040160206040518083038186803b1580156118e657600080fd5b505afa1580156118fa573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061191e9190612e42565b81101580156119355750670de0b6b3a76400008111155b6105b65760405162461bcd60e51b81526004016105a490613434565b600a5460408051631e425be160e11b815290516000926001600160a01b031691633c84b7c2916004808301926020929190829003018186803b15801561199657600080fd5b505afa1580156119aa573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119ce9190612e42565b9050611a00817f000000000000000000000000000000000000000000000000000000000000000063ffffffff61187316565b4210156105b65760405162461bcd60e51b81526004016105a4906132c0565b600360009054906101000a90046001600160a01b03166001600160a01b031663794e57246040518163ffffffff1660e01b815260040160206040518083038186803b158015611a6d57600080fd5b505afa158015611a81573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611aa59190612e42565b611aae826122fe565b10156105b65760405162461bcd60e51b81526004016105a490613484565b600081116105b65760405162461bcd60e51b81526004016105a490613390565b6040516370a0823160e01b815281906001600160a01b038516906370a0823190611b1a908690600401612f8f565b60206040518083038186803b158015611b3257600080fd5b505afa158015611b46573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b6a9190612e42565b1015611b885760405162461bcd60e51b81526004016105a4906130f7565b505050565b60006001600160a01b0383161580611c1e5750604051630bb7c8fd60e31b81526001600160a01b03851690635dbe47e890611bcc908690600401612f8f565b60206040518083038186803b158015611be457600080fd5b505afa158015611bf8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c1c9190612e0a565b155b80611cb65750600360009054906101000a90046001600160a01b03166001600160a01b031663794e57246040518163ffffffff1660e01b815260040160206040518083038186803b158015611c7257600080fd5b505afa158015611c86573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611caa9190612e42565b611cb4848461070e565b105b15611cc35750600061168f565b60405163765e015960e01b81526000906001600160a01b0386169063765e015990611cf2908790600401612f8f565b60206040518083038186803b158015611d0a57600080fd5b505afa158015611d1e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d429190612dc3565b90506001600160a01b0381161580611de75750600360009054906101000a90046001600160a01b03166001600160a01b031663794e57246040518163ffffffff1660e01b815260040160206040518083038186803b158015611da357600080fd5b505afa158015611db7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ddb9190612e42565b611de5828561070e565b105b95945050505050565b611df981610aec565b15611b8857611e078161232a565b6000611e12826105d2565b90506000611e1f836106dd565b6001600160a01b038416600090815260106020526040902060010154909150611e4e908363ffffffff61187316565b6001600160a01b0384166000908152601060205260409020600181019190915554611e7f908263ffffffff61187316565b6001600160a01b038416600090815260106020526040902055611ea183612373565b611ead858583856123db565b6001600160a01b0383166000818152601060205260408082208054600182015460029092015492516000805160206135e783398151915294611ef29492939291613078565b60405180910390a25050505050565b611f09612d84565b6001600160a01b038716600090815260106020526040902054611f46908790611f41906801158e460913d0000063ffffffff61164d16565b6122e8565b808252611f6790869061068290670de0b6b3a764000063ffffffff61169616565b60208083019190915281516001600160a01b038916600090815260109092526040822054611f9a9163ffffffff61164d16565b6020808401516001600160a01b038b166000908152601090925260408220600101549293509091611fd09163ffffffff61164d16565b90506801158e460913d0000082141561204957611fec896124fb565b611ff789600461254b565b61200c8a8a6801158e460913d0000084612657565b886001600160a01b03166000805160206135e78339815191526000806000600360405161203c9493929190613078565b60405180910390a2612167565b600061205582846127ba565b9050848114158061207657506809c2007651b2500000612074846127ef565b105b1561208a575050600160408301525061216a565b8a608001516001600160a01b0316632be212608b838a8a6040518563ffffffff1660e01b81526004016120c09493929190613042565b600060405180830381600087803b1580156120da57600080fd5b505af11580156120ee573d6000803e3d6000fd5b5050506001600160a01b038b1660009081526010602052604090208481556001018390555061211c8a61280a565b506001600160a01b038a16600081815260106020526040908190206002015490516000805160206135e78339815191529161215d9187918791600390613078565b60405180910390a2505b50505b979650505050505050565b6000806121806128b1565b9050600061219884610682888863ffffffff61169616565b905060006121bd6121b083600263ffffffff6116d016565b849063ffffffff61187316565b90506121d181670de0b6b3a76400006122e8565b9050600081116121dd57fe5b600e8190556040517fc454ee9b76c52f782a256af821b857ca6e125d1e3333bcede402fec2bed9600c90612212908390613554565b60405180910390a16122226128f5565b9695505050505050565b60006107336122396106ad565b8361294a565b600061225d8361068286670de0b6b3a764000063ffffffff61169616565b90508181111561227f5760405162461bcd60e51b81526004016105a4906134ce565b50505050565b600081848411156122a95760405162461bcd60e51b81526004016105a491906130a4565b505050900390565b600081836122d25760405162461bcd60e51b81526004016105a491906130a4565b5060008385816122de57fe5b0495945050505050565b60008183106122f7578161168f565b5090919050565b600080612309610925565b905060006123156107dc565b9050612322828286611841565b949350505050565b60016001600160a01b03821660009081526010602052604090206003015460ff16600481111561235657fe5b146105b65760405162461bcd60e51b81526004016105a490613505565b601480546001600160a01b038316600090815260166020526040908190209182556015546001909201829055915491517fc437f324d85e369394148dd9d62f98f534b382e01ed3dd2eb98138fb6d3ab49a926123d092909161355d565b60405180910390a150565b60405163121cbc4d60e11b81526001600160a01b03841690632439789a90612407908590600401613554565b600060405180830381600087803b15801561242157600080fd5b505af1158015612435573d6000803e3d6000fd5b505060405163f2e91d7160e01b81526001600160a01b038716925063f2e91d719150612465908590600401613554565b600060405180830381600087803b15801561247f57600080fd5b505af1158015612493573d6000803e3d6000fd5b505060405163be41205f60e01b81526001600160a01b038616925063be41205f91506124c3908490600401613554565b600060405180830381600087803b1580156124dd57600080fd5b505af11580156124f1573d6000803e3d6000fd5b5050505050505050565b6001600160a01b03811660009081526010602052604090206002015460115461252a908263ffffffff61164d16565b601155506001600160a01b0316600090815260106020526040812060020155565b600081600481111561255957fe5b141580156125735750600181600481111561257057fe5b14155b61257957fe5b6017546125858161298a565b6001600160a01b0383166000908152601060205260409020600301805483919060ff191660018360048111156125b757fe5b02179055506001600160a01b03831660009081526010602090815260408083206001808201859055908490556016909252822082815501556125f98382612a30565b600d54604051631484968760e11b81526001600160a01b03909116906329092d0e90612629908690600401612f8f565b600060405180830381600087803b15801561264357600080fd5b505af1158015610a92573d6000803e3d6000fd5b6040808501516007549151632770a7eb60e21b81526001600160a01b0391821692639dc29fac9261268f929116908690600401612fe4565b600060405180830381600087803b1580156126a957600080fd5b505af11580156126bd573d6000803e3d6000fd5b5050855160405163121cbc4d60e11b81526001600160a01b039091169250632439789a91506126f0908590600401613554565b600060405180830381600087803b15801561270a57600080fd5b505af115801561271e573d6000803e3d6000fd5b505050508360a001516001600160a01b0316633f10abab84836040518363ffffffff1660e01b8152600401612754929190612fe4565b600060405180830381600087803b15801561276e57600080fd5b505af1158015612782573d6000803e3d6000fd5b5050855160a08701516040516364a197f360e01b81526001600160a01b0390921693506364a197f392506124c3918590600401612fe4565b600081156127e6576127df826106828568056bc75e2d6310000063ffffffff61169616565b9050610733565b50600019610733565b6000610733826801158e460913d0000063ffffffff61164d16565b6001600160a01b038116600090815260106020526040812060010154819061283190612bd1565b6001600160a01b03841660009081526010602052604090206002018054908290556011549192509061286f9083906117a1908463ffffffff61164d16565b60118190556040517f6bac5e0eb3c44eb03a60ab11ec3a2c051771616aecadbcfff2630aabae520382916128a291613554565b60405180910390a15092915050565b6000806128bc612c0d565b905060006128d2670ddd4b8c6c7d70d883612c29565b90506108f4670de0b6b3a764000061068283600e5461169690919063ffffffff16565b600061290c600f544261164d90919063ffffffff16565b9050603c81106105b65742600f8190556040517f860f8d2f0c74dd487e89e2883e3b25b8159ce1e1b3433a291cba7b82c508f3bc916123d091613554565b600080612969670de0b6b3a7640000610682868663ffffffff61169616565b905082811061168f5760405162461bcd60e51b81526004016105a4906133de565b600181118015612a145750600d546040805163de8fa43160e01b815290516001926001600160a01b03169163de8fa431916004808301926020929190829003018186803b1580156129da57600080fd5b505afa1580156129ee573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612a129190612e42565b115b6105b65760405162461bcd60e51b81526004016105a490613276565b6001600160a01b03821660009081526010602052604081206003015460ff1690816004811115612a5c57fe5b14158015612a7657506001816004811115612a7357fe5b14155b612a7c57fe5b6001600160a01b03831660009081526010602052604081206003015461010090046001600160801b0316908390612ab482600161164d565b905080836001600160801b03161115612ac957fe5b600060178281548110612ad857fe5b600091825260209091200154601780546001600160a01b03909216925082916001600160801b038716908110612b0a57fe5b600091825260208083209190910180546001600160a01b0319166001600160a01b03948516179055918316815260109091526040908190206003018054610100600160881b0319166101006001600160801b03881602179055517f02b04ae5f7be9ca7c103293a2aa15f3c339d15d6eda53b721fef7b0e609c831a90612b939083908790612ffd565b60405180910390a16017805480612ba657fe5b600082815260209020810160001990810180546001600160a01b031916905501905550505050505050565b60008060135460001415612be6575081610733565b600060125411612bf257fe5b61168f6013546106826012548661169690919063ffffffff16565b60006106ba603c610682600f544261164d90919063ffffffff16565b6000631f540500821115612c3f57631f54050091505b81612c535750670de0b6b3a7640000610733565b670de0b6b3a764000083835b6001811115612cca5760028106612c9457612c7a8283612cd0565b9150612c8d81600263ffffffff6116d016565b9050612cc5565b612c9e8284612cd0565b9250612caa8283612cd0565b9150612cc2600261068283600163ffffffff61164d16565b90505b612c5f565b61072d82845b600080612ce3848463ffffffff61169616565b9050612322670de0b6b3a7640000610682836706f05b59d3b20000611873565b6040805160e081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c081019190915290565b60405180610100016040528060008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081525090565b604051806060016040528060008152602001600081526020016000151581525090565b600060208284031215612db8578081fd5b813561168f816135d1565b600060208284031215612dd4578081fd5b815161168f816135d1565b60008060408385031215612df1578081fd5b8235612dfc816135d1565b946020939093013593505050565b600060208284031215612e1b578081fd5b8151801515811461168f578182fd5b600060208284031215612e3b578081fd5b5035919050565b600060208284031215612e53578081fd5b5051919050565b600080600080600080600060e0888a031215612e74578283fd5b873596506020880135612e86816135d1565b95506040880135612e96816135d1565b94506060880135612ea6816135d1565b9699959850939660808101359560a0820135955060c0909101359350915050565b600080600080600080600080888a03610160811215612ee4578182fd5b8935985060208a0135612ef6816135d1565b975060408a0135612f06816135d1565b965060608a0135612f16816135d1565b955060808a810135955060a08b0135945060c08b0135935060df1982011215612f3d578182fd5b5060e0890190509295985092959890939650565b600060208284031215612f62578081fd5b813560ff8116811461168f578182fd5b7035b2bc9737bbb730b136329737bbb732b960791b815260110190565b6001600160a01b0391909116815260200190565b6001600160a01b0397881681529590961660208601526040850193909352606084019190915260ff16608083015260a082015260c081019190915260e00190565b6001600160a01b03929092168252602082015260400190565b6001600160a01b039290921682526001600160801b0316602082015260400190565b6001600160a01b0393841681526020810192909252909116604082015260600190565b6001600160a01b03948516815260208101939093529083166040830152909116606082015260800190565b901515815260200190565b848152602081018490526040810183905260808101613096836135c6565b606083015295945050505050565b6000602080835283518082850152825b818110156130d0578581018301518582016040015282016130b4565b818111156130e15783604083870101525b50601f01601f1916929092016040019392505050565b6020808252604e908201527f54726f76654d616e616765723a2052657175657374656420726564656d70746960408201527f6f6e20616d6f756e74206d757374206265203c3d20757365722773205a55534460608201526d20746f6b656e2062616c616e636560901b608082015260a00190565b60208082526029908201527f444c4c52207472616e7366657272656420616d6f756e742076616c69646174696040820152681bdb8819985a5b195960ba1b606082015260800190565b60208082526029908201527f54726f76654d616e616765723a20556e61626c6520746f2072656465656d20616040820152681b9e48185b5bdd5b9d60ba1b606082015260800190565b6020808252601b908201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604082015260600190565b60208082526022908201527f4f776e61626c653a3a7365744f776e65723a20696e76616c6964206164647265604082015261737360f01b606082015260800190565b6020808252602a908201527f54726f76654d616e616765723a204f6e6c79206f6e652074726f766520696e206040820152697468652073797374656d60b01b606082015260800190565b602080825260409082018190527f54726f76654d616e616765723a20526564656d7074696f6e7320617265206e6f908201527f7420616c6c6f77656420647572696e6720626f6f747374726170207068617365606082015260800190565b60208082526021908201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6040820152607760f81b606082015260800190565b60208082526017908201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604082015260600190565b6020808252602e908201527f54726f76654d616e616765723a20416d6f756e74206d7573742062652067726560408201526d61746572207468616e207a65726f60901b606082015260800190565b60208082526036908201527f54726f76654d616e616765723a2046656520776f756c642065617420757020616040820152751b1b081c995d1d5c9b99590818dbdb1b185d195c985b60521b606082015260800190565b60208082526030908201527f4d6178206665652070657263656e74616765206d75737420626520626574776560408201526f656e20302e352520616e64203130302560801b606082015260800190565b6020808252602a908201527f54726f76654d616e616765723a2043616e6e6f742072656465656d207768656e604082015269102a21a9101e1026a1a960b11b606082015260800190565b6020808252601d908201527f4665652065786365656465642070726f7669646564206d6178696d756d000000604082015260600190565b6020808252602f908201527f54726f76654d616e616765723a2054726f766520646f6573206e6f742065786960408201526e1cdd081bdc881a5cc818db1bdcd959608a1b606082015260800190565b90815260200190565b918252602082015260400190565b858152602081018590526040810184905260a081016005841061358a57fe5b60608201939093526001600160801b03919091166080909101529392505050565b93845260208401929092526040830152606082015260800190565b806004811061069557fe5b6001600160a01b03811681146105b657600080fdfec3770d654ed33aeea6bf11ac8ef05d02a6a04ed4686dd2f624d853bbec43cc8ba2646970667358221220a9962a8c24fca3c3e4803945eb02feb9953c759cd9a777c8c4175709a8d4dc7b64736f6c634300060b003360a06040523480156200001157600080fd5b506040516200563b3803806200563b833981016040819052620000349162000118565b8062000049336001600160e01b036200005316565b6080525062000190565b6001600160a01b038116620000855760405162461bcd60e51b81526004016200007c906200014e565b60405180910390fd5b6001600160a01b038116620000a26001600160e01b03620000f716565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000604051620000e79062000131565b6040519081900390209190915550565b600080604051620001089062000131565b6040519081900390205492915050565b6000602082840312156200012a578081fd5b5051919050565b7035b2bc9737bbb730b136329737bbb732b960791b815260110190565b60208082526022908201527f4f776e61626c653a3a7365744f776e65723a20696e76616c6964206164647265604082015261737360f01b606082015260800190565b608051615490620001ab6000398061214452506154906000f3fe608060405234801561001057600080fd5b50600436106104ac5760003560e01c8063756b253e1161026d578063b7f8cf9b11610151578063d293c710116100ce578063d815e8e911610092578063d815e8e914610929578063d9a7244414610931578063e056e91814610944578063e2ac77b014610957578063f36b24251461096a578063fe2ba84814610972576104ac565b8063d293c710146108d5578063d380a37c146108e8578063d3d6f843146108f0578063d5b3563514610903578063d66a255314610916576104ac565b8063bf9befb111610115578063bf9befb1146108a2578063c35bc550146108aa578063c52861f2146108b2578063c7b55481146108ba578063cbd138ae146108c2576104ac565b8063b7f8cf9b14610849578063b82f263d14610851578063b91af97c14610864578063bcd3752614610887578063be4b03341461089a576104ac565b8063887105d3116101ea5780639f070670116101ae5780639f07067014610809578063a20baee614610755578063a3f4df7e14610811578063ae7bec1914610826578063ae9187541461082e578063b0d8e18114610836576104ac565b8063887105d3146107d6578063893d20e8146107de57806396d711ff146107e65780639976cf45146107ee5780639dd233d214610801576104ac565b80637cf54e40116102315780637cf54e40146107985780637f7dde4a146107a0578063807d138d146107a857806382fe3eb9146107b057806387436936146107c3576104ac565b8063756b253e14610765578063759b303414610778578063794e572414610780578063795d26c314610788578063797250e314610790576104ac565b806342ccf1e41161039457806361ec893d116103115780636b444952116102d55780636b4449521461070e5780636ef6433814610716578063716c47e61461073a57806372423c171461074257806372fe25aa14610755578063741bef1a1461075d576104ac565b806361ec893d146106c5578063631203b0146106cd57806364cee260146106e0578063653d46e7146106f357806366ca4a2114610706576104ac565b80634e443d9e116103585780634e443d9e1461066f5780635733d58f1461068f5780635d6b480f146106975780635d8c9609146106aa5780635dba4c4a146106bd576104ac565b806342ccf1e41461061b578063477d66cf1461062e578063480cd5781461064157806349eefeee146106545780634a767d681461065c576104ac565b806318f2817a1161042d57806321e37801116103f157806321e37801146105d55780632b11551a146105e85780632f865568146105f057806331c903b0146106035780633a1285951461060b5780633cc7422514610613576104ac565b806318f2817a1461058c5780631a59a50e1461059f5780631bf43555146105b25780631e8b1c2b146105ba5780631f68f20a146105cd576104ac565b806312610e921161047457806312610e921461051f57806313af40351461053257806315d549f1146105455780631673c79a1461055857806317c62b1714610579576104ac565b806301f16e18146104b157806305b6f5ca146104c6578063071a7541146104d95780630b076557146104f75780630d43e8ad1461050a575b600080fd5b6104c46104bf366004614c61565b610985565b005b6104c46104d4366004614e2c565b610eeb565b6104e1610f82565b6040516104ee919061531b565b60405180910390f35b6104c4610505366004614b6a565b610f87565b610512610faf565b6040516104ee9190614ee3565b6104e161052d366004614ba2565b610fbe565b6104c4610540366004614b6a565b611016565b6104e1610553366004614b6a565b611057565b61056b610566366004614b6a565b61107b565b6040516104ee929190615324565b6104e1610587366004614b6a565b611094565b6104e161059a366004614b6a565b61109f565b6104e16105ad366004614b6a565b6110b2565b6104e1611178565b6104c46105c8366004614bcd565b611185565b6104e16114e6565b6104e16105e3366004614b6a565b6114ec565b6104e1611516565b6104c46105fe366004614b6a565b611525565b6104e161158b565b610512611598565b6105126115a7565b6104e1610629366004614b6a565b6115b6565b6104e161063c366004614d8f565b6115e7565b6104e161064f366004614b6a565b6115fa565b6104e1611618565b6104e161066a366004614ba2565b61161e565b61068261067d366004614d8f565b61163d565b6040516104ee9190614f56565b6104e1611648565b6104c46106a5366004614ba2565b6116c5565b6104e16106b8366004614b6a565b611711565b6104c461171c565b6104e1611787565b6104e16106db366004614d8f565b61178c565b6104e16106ee366004614b6a565b611799565b6104c4610701366004614d8f565b6117b7565b6104e1611b41565b6104e1611b53565b610729610724366004614b6a565b611b59565b6040516104ee959493929190615358565b610512611b93565b6104e1610750366004614ba2565b611ba2565b6104e1611bff565b610512611c0b565b610512610773366004614d8f565b611c1a565b6104e1611c41565b6104e1611c4e565b6104e1611c93565b6104e1611db2565b610512611db8565b610512611dc7565b6104e1611dd6565b6104c46107be366004614b6a565b611ddc565b6104c46107d1366004614b6a565b611ded565b6104e1611e79565b610512611f48565b6104e1611f67565b6104e16107fc366004614ba2565b611f6d565b6104e1611fa0565b610512611fa6565b610819611fb5565b6040516104ee9190614f8d565b610512611fdd565b610512611fec565b6104e1610844366004614b6a565b611ffb565b610512612022565b6104e161085f366004614d8f565b612031565b610877610872366004614b6a565b61203c565b6040516104ee9493929190615398565b6104c4610895366004614dbf565b6120a0565b6104e1612136565b6104e161213c565b6104e1612142565b6104e1612166565b6104e1612178565b6104c46108d0366004614b6a565b612184565b6104e16108e3366004614ba2565b612197565b6104e16121aa565b6104e16108fe366004614ba2565b6121b0565b6104e1610911366004614d8f565b6121e6565b6104e1610924366004614b6a565b6121f9565b610512612214565b61051261093f366004614d8f565b612223565b610682610952366004614b6a565b61224d565b610682610965366004614b6a565b6122ab565b6104e16122b6565b6104c4610980366004614b6a565b6122c3565b61098d611f48565b6001600160a01b0316336001600160a01b0316146109c65760405162461bcd60e51b81526004016109bd90615178565b60405180910390fd5b80516109d1906122d4565b6109de81602001516122d4565b6109eb81604001516122d4565b6109f881606001516122d4565b610a0581608001516122d4565b610a128160a001516122d4565b610a1f8160c001516122d4565b610a2c8160e001516122d4565b610a3a8161010001516122d4565b610a488161012001516122d4565b610a568161014001516122d4565b610a648161016001516122d4565b610a728161018001516122d4565b610a80816101a001516122d4565b8051600c80546001600160a01b03199081166001600160a01b038085169190911790925560208401516004805483169184169190911790556040808501516003805484169185169190911790556060850151600580548416918516919091179055608085015160008054841691851691909117905560a085015160018054841691851691909117905560c085015160068054841691851691909117905560e0850151600780548416918516919091179055610100850151600880548416918516919091179055610120850151600280548416918516919091179055610140850151600980548416918516919091179055610160850151600d80548416918516919091179055610180850151600a805484169185169190911790556101a0850151600b80549093169316929092179055517f84861842e6a98dd759145eb5e7b48279d0f02ebeabc8a69e5196b2f4c5023db991610bdb91614ee3565b60405180910390a17f6493041f605f233753d9b16dd158c9f297b8eaca22b2d0dc402a454f5683a5b18160200151604051610c169190614ee3565b60405180910390a17fbf65195e6d5213f6fcbce65b1454c925197a45e616dabd2e243542b039b050928160600151604051610c519190614ee3565b60405180910390a17f3ca631ffcd2a9b5d9ae18543fc82f58eb4ca33af9e6ab01b7a8e95331e6ed9858160600151604051610c8c9190614ee3565b60405180910390a17f78f058b189175430c48dc02699e3a0031ea4ff781536dc2fab847de4babdd8828160800151604051610cc79190614ee3565b60405180910390a17f5ee0cae2f063ed938bb55046f6a932fb6ae792bf43624806bb90abe68a50be9b8160a00151604051610d029190614ee3565b60405180910390a17f82966d27eea39b038ee0fa30cd16532bb24f6e65d31cb58fb227aa5766cdcc7f8160c00151604051610d3d9190614ee3565b60405180910390a17fcfb07d791fcafc032b35837b50eb84b74df518cf4cc287e8084f47630fa70fa08160e00151604051610d789190614ee3565b60405180910390a17fe67f36a6e961157d6eff83b91f3af5a62131ceb6f04954ef74f51c1c05e7f88d816101000151604051610db49190614ee3565b60405180910390a17f8c537274438aa850a330284665d81a85dd38267d09e4050d416bfc94142db264816101200151604051610df09190614ee3565b60405180910390a17fcdf33850c44a1a874b5fefb51dae615ac6afebd581ef90d571f81b06541d8e9d816101400151604051610e2c9190614ee3565b60405180910390a17f65f4cf077bc01e4742eb5ad98326f6e95b63548ea24b17f8d5e823111fe78800816101600151604051610e689190614ee3565b60405180910390a17f61e0c29d5028a9e4facaa476a46e78912e99f1ba945c9560b86b82ebe36ee52d816101800151604051610ea49190614ee3565b60405180910390a17f7624075ed781e3aa34b0f492d70d1bb5a6fcde04534165e20f990d2e546be4dd816101a00151604051610ee09190614ee3565b60405180910390a150565b6004546040516000916060916001600160a01b0390911690610f109084903690614eb6565b600060405180830381855af49150503d8060008114610f4b576040519150601f19603f3d011682016040523d82523d6000602084013e610f50565b606091505b5091509150818190610f755760405162461bcd60e51b81526004016109bd9190614f8d565b5050505050505050505050565b600281565b610f8f612319565b600054600154610fac916001600160a01b03908116911683612345565b50565b600c546001600160a01b031681565b6000610fc8612319565b6001600160a01b038316600090815260106020526040812054610ff1908463ffffffff61245716565b6001600160a01b03851660009081526010602052604090208190559150505b92915050565b61101e611f48565b6001600160a01b0316336001600160a01b03161461104e5760405162461bcd60e51b81526004016109bd90615178565b610fac81612499565b6000611061612319565b61106a82612524565b6001600160801b031690505b919050565b6016602052600090815260409020805460019091015482565b6000611010826115b6565b60006110a9612319565b611010826125be565b6001600160a01b03811660009081526016602052604081205460145482906110e0908363ffffffff61245716565b9050801580611119575060016001600160a01b03851660009081526010602052604090206003015460ff16600481111561111657fe5b14155b1561112957600092505050611076565b6001600160a01b0384166000908152601060205260408120600201549061116e670de0b6b3a7640000611162848663ffffffff61267116565b9063ffffffff6126ab16565b9695505050505050565b6809c2007651b250000081565b80516111a35760405162461bcd60e51b81526004016109bd906151a9565b6000546001546006546001600160a01b039283169291821691166111c5614a3d565b6111cd614a6e565b600260009054906101000a90046001600160a01b03166001600160a01b0316630fdb11cf6040518163ffffffff1660e01b8152600401602060405180830381600087803b15801561121d57600080fd5b505af1158015611231573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112559190614da7565b826000018181525050826001600160a01b031663bdaf37ea6040518163ffffffff1660e01b815260040160206040518083038186803b15801561129757600080fd5b505afa1580156112ab573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112cf9190614da7565b602083015281516112df906126ed565b1580156040840152611307576113008585846000015185602001518a612788565b905061131f565b61131c8585846000015185602001518a612a9d565b90505b60008160200151116113435760405162461bcd60e51b81526004016109bd9061528a565b608081015160a082015160405163335525ad60e01b81526001600160a01b0386169263335525ad9261137792600401615324565b600060405180830381600087803b15801561139157600080fd5b505af11580156113a5573d6000803e3d6000fd5b505050506113bd85858360c001518460e00151612bdd565b61010081015115611434576008546101008201516040516364a197f360e01b81526001600160a01b03888116936364a197f393611401939290911691600401614f3d565b600060405180830381600087803b15801561141b57600080fd5b505af115801561142f573d6000803e3d6000fd5b505050505b611442858260400151612e41565b602081015160608301526101008101516040820151825161147a929161146e919063ffffffff61245716565b9063ffffffff61245716565b608083018190526060808401516040808501519285015190517f4152c73dd2614c4f9fc35e8c9cf16013cd588c75b49a4c1673ecffdcbcda9403946114c29490929091615398565b60405180910390a16114de853383606001518460400151612fa2565b505050505050565b600e5481565b6001600160a01b03811660009081526010602052604081206003015460ff16600481111561101057fe5b600061152061158b565b905090565b61152e8161307f565b60408051600180825281830190925260609160208083019080368337019050509050818160008151811061155e57fe5b60200260200101906001600160a01b031690816001600160a01b03168152505061158781611185565b5050565b6000611520600e546130c8565b600b546001600160a01b031681565b6001546001600160a01b031681565b6001600160a01b03811660009081526016602052604081206001015460155482906110e0908363ffffffff61245716565b60006110106115f4611b41565b83613165565b6001600160a01b031660009081526010602052604090206001015490565b60175490565b600080600061162c85613183565b91509150600061116e838387613209565b6000611010826126ed565b60035460408051635733d58f60e01b815290516000926001600160a01b031691635733d58f916004808301926020929190829003018186803b15801561168d57600080fd5b505afa1580156116a1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115209190614da7565b6116cd612319565b8060048111156116d957fe5b6001600160a01b0383166000908152601060205260409020600301805460ff1916600183600481111561170857fe5b02179055505050565b6000611010826110b2565b611724612319565b600061172e61323b565b9050670de0b6b3a764000081111561174257fe5b600e8190556040517fc454ee9b76c52f782a256af821b857ca6e125d1e3333bcede402fec2bed9600c9061177790839061531b565b60405180910390a1610fac61327f565b603c81565b60006110106115f46122b6565b6001600160a01b031660009081526010602052604090206002015490565b6117bf614aba565b506040805160e081018252600080546001600160a01b0390811683526001548116602084015292820181905260608201819052600d548316608083015260a0820181905260c0820152600654909116611816614a3d565b61181e614a6e565b600260009054906101000a90046001600160a01b03166001600160a01b0316630fdb11cf6040518163ffffffff1660e01b8152600401602060405180830381600087803b15801561186e57600080fd5b505af1158015611882573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118a69190614da7565b826000018181525050826001600160a01b031663bdaf37ea6040518163ffffffff1660e01b815260040160206040518083038186803b1580156118e857600080fd5b505afa1580156118fc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119209190614da7565b60208301528151611930906126ed565b1580156040840152611957576119508483600001518460200151886132d4565b9050611977565b61197484600001518560200151846000015185602001518961377b565b90505b600081602001511161199b5760405162461bcd60e51b81526004016109bd9061528a565b608081015160a082015160405163335525ad60e01b81526001600160a01b0386169263335525ad926119cf92600401615324565b600060405180830381600087803b1580156119e957600080fd5b505af11580156119fd573d6000803e3d6000fd5b50505050611a1d846000015185602001518360c001518460e00151612bdd565b61010081015115611a945783516008546101008301516040516364a197f360e01b81526001600160a01b03938416936364a197f393611a6193911691600401614f3d565b600060405180830381600087803b158015611a7b57600080fd5b505af1158015611a8f573d6000803e3d6000fd5b505050505b611aa684600001518260400151612e41565b6020810151606083015261010081015160408201518251611ad2929161146e919063ffffffff61245716565b608083018190526060808401516040808501519285015190517f4152c73dd2614c4f9fc35e8c9cf16013cd588c75b49a4c1673ecffdcbcda940394611b1a9490929091615398565b60405180910390a1611b3a84600001513383606001518460400151612fa2565b5050505050565b6000611520611b4e61323b565b613931565b60195481565b60106020526000908152604090208054600182015460028301546003909301549192909160ff81169061010090046001600160801b031685565b6004546001600160a01b031681565b6000611bac612319565b6001600160a01b038316600090815260106020526040812060010154611bd8908463ffffffff613a1316565b6001600160a01b038516600090815260106020526040902060010181905591505092915050565b670de0b6b3a764000081565b6002546001600160a01b031681565b60178181548110611c2757fe5b6000918252602090912001546001600160a01b0316905081565b6801158e460913d0000081565b60035460408051631e5395c960e21b815290516000926001600160a01b03169163794e5724916004808301926020929190829003018186803b15801561168d57600080fd5b60008054604080516272c7d360e71b8152905183926001600160a01b031691633963e980916004808301926020929190829003018186803b158015611cd757600080fd5b505afa158015611ceb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d0f9190614da7565b90506000600160009054906101000a90046001600160a01b03166001600160a01b0316633963e9806040518163ffffffff1660e01b815260040160206040518083038186803b158015611d6157600080fd5b505afa158015611d75573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d999190614da7565b9050611dab828263ffffffff613a1316565b9250505090565b60185481565b600a546001600160a01b031681565b6000546001600160a01b031681565b60125481565b611de4612319565b610fac81613a38565b611df5611f48565b6001600160a01b0316336001600160a01b031614611e255760405162461bcd60e51b81526004016109bd90615178565b611e2e816122d4565b600480546001600160a01b0319166001600160a01b0383161790556040517f6493041f605f233753d9b16dd158c9f297b8eaca22b2d0dc402a454f5683a5b190610ee0908390614ee3565b6000805460408051630a7b61df60e11b8152905183926001600160a01b0316916314f6c3be916004808301926020929190829003018186803b158015611ebe57600080fd5b505afa158015611ed2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ef69190614da7565b90506000600160009054906101000a90046001600160a01b03166001600160a01b03166314f6c3be6040518163ffffffff1660e01b815260040160206040518083038186803b158015611d6157600080fd5b600080604051611f5790614ec6565b6040519081900390205492915050565b60135481565b6000611f77612319565b6001600160a01b038316600090815260106020526040812054610ff1908463ffffffff613a1316565b60145481565b6003546001600160a01b031681565b6040518060400160405280600c81526020016b2a3937bb32a6b0b730b3b2b960a11b81525081565b6006546001600160a01b031681565b600d546001600160a01b031681565b600080600061200984613183565b9150915060006120198383613a95565b95945050505050565b6005546001600160a01b031681565b600061101082613aca565b6001600160a01b0381166000908152601060205260408120805460019091015490918061206885611094565b915061207385611711565b9050612085848363ffffffff613a1316565b9350612097838263ffffffff613a1316565b92509193509193565b6004546040516000916060916001600160a01b03909116906120c59084903690614eb6565b600060405180830381855af49150503d8060008114612100576040519150601f19603f3d011682016040523d82523d6000602084013e612105565b606091505b509150915081819061212a5760405162461bcd60e51b81526004016109bd9190614f8d565b50505050505050505050565b60155481565b60115481565b7f000000000000000000000000000000000000000000000000000000000000000081565b600061152061217361323b565b6130c8565b670ddd4b8c6c7d70d881565b61218c612319565b610fac816002613af6565b60006121a3838361161e565b9392505050565b600f5481565b60006121ba612319565b6001600160a01b038316600090815260106020526040812060010154611bd8908463ffffffff61245716565b60006110106121f3612166565b83613c0b565b6001600160a01b031660009081526010602052604090205490565b6009546001600160a01b031681565b60006017828154811061223257fe5b6000918252602090912001546001600160a01b031692915050565b600060016001600160a01b03831660009081526010602052604090206003015460ff16600481111561227b57fe5b1461228857506000611076565b506014546001600160a01b03821660009081526016602052604090205410919050565b60006110108261224d565b6000611520600e54613931565b6122cb612319565b610fac81613c4b565b6001600160a01b0381166122fa5760405162461bcd60e51b81526004016109bd90615059565b803b806115875760405162461bcd60e51b81526004016109bd906151ff565b6005546001600160a01b031633146123435760405162461bcd60e51b81526004016109bd9061511b565b565b61234e8161224d565b156124525761235c8161307f565b6000612367826110b2565b90506000612374836115b6565b6001600160a01b0384166000908152601060205260409020600101549091506123a3908363ffffffff613a1316565b6001600160a01b03841660009081526010602052604090206001810191909155546123d4908263ffffffff613a1316565b6001600160a01b0384166000908152601060205260409020556123f683613a38565b61240285858385613c9b565b6001600160a01b03831660008181526010602052604080822080546001820154600290920154925160008051602061543b833981519152946124479492939291614f61565b60405180910390a250505b505050565b60006121a383836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250613d83565b6001600160a01b0381166124bf5760405162461bcd60e51b81526004016109bd90615017565b806001600160a01b03166124d1611f48565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3600060405161251490614ec6565b6040519081900390209190915550565b601780546001808201835560008381527fc624b66cc0138b8fabc209247f72d758e1cf3343756d543badbf24212bed8c1590920180546001600160a01b0319166001600160a01b0386161790559154909161257f9190612457565b6001600160a01b039290921660009081526010602052604090206003018054610100600160881b0319166101006001600160801b038516021790555090565b6001600160a01b03811660009081526010602052604081206001015481906125e590613daf565b6001600160a01b03841660009081526010602052604090206002018054908290556011549192509061262f908390612623908463ffffffff61245716565b9063ffffffff613a1316565b60118190556040517f6bac5e0eb3c44eb03a60ab11ec3a2c051771616aecadbcfff2630aabae520382916126629161531b565b60405180910390a15092915050565b60008261268057506000611010565b8282028284828161268d57fe5b04146121a35760405162461bcd60e51b81526004016109bd906150da565b60006121a383836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250613deb565b6000806126f983613aca565b9050600360009054906101000a90046001600160a01b03166001600160a01b0316635733d58f6040518163ffffffff1660e01b815260040160206040518083038186803b15801561274957600080fd5b505afa15801561275d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127819190614da7565b1192915050565b612790614a6e565b612798614af6565b6127a0614a6e565b848252600060808301526127b2611c93565b60a08301526127bf611e79565b60c0830152600060208301525b835182602001511015612a9257838260200151815181106127e957fe5b6020908102919091018101516001600160a01b03166060840181905260009081526010909152604090206003015460019060ff16600481111561282857fe5b1461283257612a82565b61284082606001518761161e565b604083015260808201516129a757600360009054906101000a90046001600160a01b03166001600160a01b031663794e57246040518163ffffffff1660e01b815260040160206040518083038186803b15801561289c57600080fd5b505afa1580156128b0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906128d49190614da7565b8260400151101580156128e657508151155b156128f057612a82565b60006129058360c001518460a0015189613209565b90506129228989856060015186604001518760000151868d613e22565b6080810151845191935061293c919063ffffffff61245716565b8352608082015160a08401516129579163ffffffff61245716565b60a08085019190915282015160c08401516129779163ffffffff61245716565b60c084015261298684836141f8565b935061299b8360c001518460a001518961430f565b15608084015250612a82565b81608001518015612a405750600360009054906101000a90046001600160a01b03166001600160a01b031663794e57246040518163ffffffff1660e01b815260040160206040518083038186803b158015612a0157600080fd5b505afa158015612a15573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612a399190614da7565b8260400151105b15612a8257612a598888846060015185600001516143ae565b60808101518351919250612a73919063ffffffff61245716565b8252612a7f83826141f8565b92505b60208201805160010190526127cc565b505095945050505050565b612aa5614a6e565b612aad614af6565b612ab5614a6e565b848252600060208301525b835182602001511015612a925783826020015181518110612add57fe5b60209081029190910101516001600160a01b031660608301819052612b02908761161e565b6040808401919091526003548151631e5395c960e21b815291516001600160a01b039091169163794e5724916004808301926020929190829003018186803b158015612b4d57600080fd5b505afa158015612b61573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612b859190614da7565b82604001511015612bcd57612ba48888846060015185600001516143ae565b60808101518351919250612bbe919063ffffffff61245716565b8252612bca83826141f8565b92505b6020820180516001019052612ac0565b81612be757612e3b565b601854600090612c099061262384670de0b6b3a764000063ffffffff61267116565b90506000612c2e601954612623670de0b6b3a76400008761267190919063ffffffff16565b90506000612c47601154846126ab90919063ffffffff16565b90506000612c60601154846126ab90919063ffffffff16565b9050612c87612c7a6011548461267190919063ffffffff16565b859063ffffffff61245716565b601855601154612caf90612ca290839063ffffffff61267116565b849063ffffffff61245716565b601955601454612cc5908363ffffffff613a1316565b601455601554612cdb908263ffffffff613a1316565b60158190556014546040517f9f8bc8ab0daf5bceef75ecfd2085d1fcc6548c657ea970d9a23a60610d0737e392612d129291615324565b60405180910390a160405163121cbc4d60e11b81526001600160a01b03891690632439789a90612d4690899060040161531b565b600060405180830381600087803b158015612d6057600080fd5b505af1158015612d74573d6000803e3d6000fd5b505060405163f2e91d7160e01b81526001600160a01b038a16925063f2e91d719150612da490899060040161531b565b600060405180830381600087803b158015612dbe57600080fd5b505af1158015612dd2573d6000803e3d6000fd5b50506040516364a197f360e01b81526001600160a01b038b1692506364a197f39150612e04908a908990600401614f3d565b600060405180830381600087803b158015612e1e57600080fd5b505af1158015612e32573d6000803e3d6000fd5b50505050505050505b50505050565b6011546012819055506000826001600160a01b03166314f6c3be6040518163ffffffff1660e01b815260040160206040518083038186803b158015612e8557600080fd5b505afa158015612e99573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612ebd9190614da7565b90506000600160009054906101000a90046001600160a01b03166001600160a01b03166314f6c3be6040518163ffffffff1660e01b815260040160206040518083038186803b158015612f0f57600080fd5b505afa158015612f23573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612f479190614da7565b9050612f5d81612623848663ffffffff61245716565b60138190556012546040517f51bf4c63ec3cba9d03d43238abbdd979dd91bd16d9895c74ceea9118c7baaf6092612f949291615324565b60405180910390a150505050565b811561301357600954600754604051631062c15f60e11b81526001600160a01b03928316926320c582be92612fe09291169087908790600401614ef7565b600060405180830381600087803b158015612ffa57600080fd5b505af115801561300e573d6000803e3d6000fd5b505050505b8015612e3b576040516364a197f360e01b81526001600160a01b038516906364a197f3906130479086908590600401614f3d565b600060405180830381600087803b15801561306157600080fd5b505af1158015613075573d6000803e3d6000fd5b5050505050505050565b60016001600160a01b03821660009081526010602052604090206003015460ff1660048111156130ab57fe5b14610fac5760405162461bcd60e51b81526004016109bd906152cc565b600061101061315783600360009054906101000a90046001600160a01b03166001600160a01b03166328d28b5b6040518163ffffffff1660e01b815260040160206040518083038186803b15801561311f57600080fd5b505afa158015613133573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906126239190614da7565b670de0b6b3a76400006144e0565b60006121a3670de0b6b3a7640000611162858563ffffffff61267116565b6000806000613191846110b2565b9050600061319e856115b6565b6001600160a01b038616600090815260106020526040812060010154919250906131ce908463ffffffff613a1316565b6001600160a01b038716600090815260106020526040812054919250906131fb908463ffffffff613a1316565b919550909350505050915091565b6000821561323057600061322784611162878663ffffffff61267116565b91506121a39050565b506000199392505050565b6000806132466144f6565b9050600061325c670ddd4b8c6c7d70d883614512565b9050611dab670de0b6b3a764000061116283600e5461267190919063ffffffff16565b6000613296600f544261245790919063ffffffff16565b9050603c8110610fac5742600f8190556040517f860f8d2f0c74dd487e89e2883e3b25b8159ce1e1b3433a291cba7b82c508f3bc91610ee09161531b565b6132dc614a6e565b6132e4614af6565b6132ec614a6e565b848252600060808301526132fe611c93565b60a083015261330b611e79565b8260c001818152505086608001516001600160a01b0316634d6228316040518163ffffffff1660e01b815260040160206040518083038186803b15801561335157600080fd5b505afa158015613365573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906133899190614b86565b82606001906001600160a01b031690816001600160a01b031681525050600087608001516001600160a01b0316631e2231436040518163ffffffff1660e01b815260040160206040518083038186803b1580156133e557600080fd5b505afa1580156133f9573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061341d9190614b86565b6000602085015290505b8483602001511080156134505750806001600160a01b031683606001516001600160a01b031614155b156137705760808801516060840151604051632dc9c0eb60e21b81526000926001600160a01b03169163b72703ac9161348c9190600401614ee3565b60206040518083038186803b1580156134a457600080fd5b505afa1580156134b8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906134dc9190614b86565b90506134ec84606001518961161e565b6040850152608084015161366557600360009054906101000a90046001600160a01b03166001600160a01b031663794e57246040518163ffffffff1660e01b815260040160206040518083038186803b15801561354857600080fd5b505afa15801561355c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906135809190614da7565b84604001511015801561359257508351155b1561359d5750613770565b60006135b28560c001518660a001518b613209565b8a5160208c01516060880151604089015189519495506135d394868f613e22565b608081015186519195506135ed919063ffffffff61245716565b8552608084015160a08601516136089163ffffffff61245716565b8560a001818152505061363584610100015161146e8660a001518860c0015161245790919063ffffffff16565b60c086015261364486856141f8565b95506136598560c001518660a001518b61430f565b15608086015250613752565b836080015180156136fe5750600360009054906101000a90046001600160a01b03166001600160a01b031663794e57246040518163ffffffff1660e01b815260040160206040518083038186803b1580156136bf57600080fd5b505afa1580156136d3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906136f79190614da7565b8460400151105b1561374c5761371f89600001518a60200151866060015187600001516143ae565b60808101518551919450613739919063ffffffff61245716565b845261374585846141f8565b9450613752565b50613770565b6001600160a01b031660608401526020830180516001019052613427565b505050949350505050565b613783614a6e565b61378b614af6565b613793614a6e565b600d54858352600060208401526001600160a01b03165b848360200151101561392557806001600160a01b0316634d6228316040518163ffffffff1660e01b815260040160206040518083038186803b1580156137ef57600080fd5b505afa158015613803573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906138279190614b86565b6001600160a01b031660608401819052613841908861161e565b6040808501919091526003548151631e5395c960e21b815291516001600160a01b039091169163794e5724916004808301926020929190829003018186803b15801561388c57600080fd5b505afa1580156138a0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906138c49190614da7565b83604001511015613910576138e38989856060015186600001516143ae565b608081015184519193506138fd919063ffffffff61245716565b835261390984836141f8565b9350613915565b613925565b60208301805160010190526137aa565b50505095945050505050565b600061101061398883600360009054906101000a90046001600160a01b03166001600160a01b031663f92d34336040518163ffffffff1660e01b815260040160206040518083038186803b15801561311f57600080fd5b600360009054906101000a90046001600160a01b03166001600160a01b031663240926696040518163ffffffff1660e01b815260040160206040518083038186803b1580156139d657600080fd5b505afa1580156139ea573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613a0e9190614da7565b6144e0565b6000828201838110156121a35760405162461bcd60e51b81526004016109bd90614fe0565b601480546001600160a01b038316600090815260166020526040908190209182556015546001909201829055915491517fc437f324d85e369394148dd9d62f98f534b382e01ed3dd2eb98138fb6d3ab49a92610ee0929091615324565b60008115613ac157613aba826111628568056bc75e2d6310000063ffffffff61267116565b9050611010565b50600019611010565b600080613ad5611e79565b90506000613ae1611c93565b9050613aee828286613209565b949350505050565b6000816004811115613b0457fe5b14158015613b1e57506001816004811115613b1b57fe5b14155b613b2457fe5b601754613b30816145bd565b6001600160a01b0383166000908152601060205260409020600301805483919060ff19166001836004811115613b6257fe5b02179055506001600160a01b0383166000908152601060209081526040808320600180820185905590849055601690925282208281550155613ba48382614663565b600d54604051631484968760e11b81526001600160a01b03909116906329092d0e90613bd4908690600401614ee3565b600060405180830381600087803b158015613bee57600080fd5b505af1158015613c02573d6000803e3d6000fd5b50505050505050565b600080613c2a670de0b6b3a7640000611162868663ffffffff61267116565b90508281106121a35760405162461bcd60e51b81526004016109bd90615234565b6001600160a01b038116600090815260106020526040902060020154601154613c7a908263ffffffff61245716565b601155506001600160a01b0316600090815260106020526040812060020155565b60405163121cbc4d60e11b81526001600160a01b03841690632439789a90613cc790859060040161531b565b600060405180830381600087803b158015613ce157600080fd5b505af1158015613cf5573d6000803e3d6000fd5b505060405163f2e91d7160e01b81526001600160a01b038716925063f2e91d719150613d2590859060040161531b565b600060405180830381600087803b158015613d3f57600080fd5b505af1158015613d53573d6000803e3d6000fd5b505060405163be41205f60e01b81526001600160a01b038616925063be41205f915061304790849060040161531b565b60008184841115613da75760405162461bcd60e51b81526004016109bd9190614f8d565b505050900390565b60008060135460001415613dc4575081611010565b600060125411613dd057fe5b6121a36013546111626012548661267190919063ffffffff16565b60008183613e0c5760405162461bcd60e51b81526004016109bd9190614f8d565b506000838581613e1857fe5b0495945050505050565b613e2a614a6e565b613e32614b3e565b601754600110613e4257506141ed565b613e4b8761203c565b60408501526020848101919091528401819052908352613e6a90614804565b604083018190526801158e460913d0000060608401526020830151613e949163ffffffff61245716565b8152670de0b6b3a76400008611613f5f57613eb9898983602001518460400151613c9b565b613ec287613c4b565b60006080830181905260a0830152815160c0830152805160e0830152613ee9876003613af6565b815160208301516040516001600160a01b038a169260008051602061541b83398151915292613f1a92600290615332565b60405180910390a2866001600160a01b031660008051602061543b83398151915260008060006002604051613f529493929190614f61565b60405180910390a26141eb565b670de0b6b3a764000086118015613ffa5750600360009054906101000a90046001600160a01b03166001600160a01b031663794e57246040518163ffffffff1660e01b815260040160206040518083038186803b158015613fbf57600080fd5b505afa158015613fd3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613ff79190614da7565b86105b1561404a57614013898983602001518460400151613c9b565b61401c87613c4b565b8151815161402b919087614890565b60e086015260c085015260a08401526080830152613ee9876003613af6565b600360009054906101000a90046001600160a01b03166001600160a01b031663794e57246040518163ffffffff1660e01b815260040160206040518083038186803b15801561409857600080fd5b505afa1580156140ac573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906140d09190614da7565b86101580156140de57508386105b80156140eb575081518510155b156141da57614104898983602001518460400151613c9b565b8461410b57fe5b61411487613c4b565b61412782600001518360200151856148fc565b9150614134876003613af6565b610100820151156141a957600854610100830151604051633f10abab60e01b81526001600160a01b0390921691633f10abab91614176918b9190600401614f3d565b600060405180830381600087803b15801561419057600080fd5b505af11580156141a4573d6000803e3d6000fd5b505050505b815160a08301516040516001600160a01b038a169260008051602061541b83398151915292613f1a92600290615332565b6141e2614a6e565b91506141ed9050565b505b979650505050505050565b614200614a6e565b604080830151908401516142199163ffffffff613a1316565b6040820152606080830151908401516142379163ffffffff613a1316565b6060820152815160208401516142529163ffffffff613a1316565b602080830191909152820151835161426f9163ffffffff613a1316565b81526080808301519084015161428a9163ffffffff613a1316565b608082015260a080830151908401516142a89163ffffffff613a1316565b60a082015260c080830151908401516142c69163ffffffff613a1316565b60c082015260e080830151908401516142e49163ffffffff613a1316565b60e082015261010080830151908401516143039163ffffffff613a1316565b61010082015292915050565b60008061431d858585613209565b9050600360009054906101000a90046001600160a01b03166001600160a01b0316635733d58f6040518163ffffffff1660e01b815260040160206040518083038186803b15801561436d57600080fd5b505afa158015614381573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906143a59190614da7565b11949350505050565b6143b6614a6e565b6143be614b3e565b6143c78461203c565b604085019081526020858101928352860192909252918452905190516143f1918891889190613c9b565b6143fa84613c4b565b6144078260200151614804565b604083018190526801158e460913d0000060608401526020830151600091614435919063ffffffff61245716565b905061444683600001518286614890565b60e087015260c086015260a08501526080840152614465856003613af6565b825160208401516040516001600160a01b0388169260008051602061541b8339815191529261449692600190615332565b60405180910390a2846001600160a01b031660008051602061543b833981519152600080600060016040516144ce9493929190614f61565b60405180910390a25050949350505050565b60008183106144ef57816121a3565b5090919050565b6000611520603c611162600f544261245790919063ffffffff16565b6000631f54050082111561452857631f54050091505b8161453c5750670de0b6b3a7640000611010565b670de0b6b3a764000083835b60018111156145b3576002810661457d576145638283614a0a565b915061457681600263ffffffff6126ab16565b90506145ae565b6145878284614a0a565b92506145938283614a0a565b91506145ab600261116283600163ffffffff61245716565b90505b614548565b61116e8284614a0a565b6001811180156146475750600d546040805163de8fa43160e01b815290516001926001600160a01b03169163de8fa431916004808301926020929190829003018186803b15801561460d57600080fd5b505afa158015614621573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906146459190614da7565b115b610fac5760405162461bcd60e51b81526004016109bd90615090565b6001600160a01b03821660009081526010602052604081206003015460ff169081600481111561468f57fe5b141580156146a9575060018160048111156146a657fe5b14155b6146af57fe5b6001600160a01b03831660009081526010602052604081206003015461010090046001600160801b03169083906146e7826001612457565b905080836001600160801b031611156146fc57fe5b60006017828154811061470b57fe5b600091825260209091200154601780546001600160a01b03909216925082916001600160801b03871690811061473d57fe5b600091825260208083209190910180546001600160a01b0319166001600160a01b03948516179055918316815260109091526040908190206003018054610100600160881b0319166101006001600160801b03881602179055517f02b04ae5f7be9ca7c103293a2aa15f3c339d15d6eda53b721fef7b0e609c831a906147c69083908790614f1b565b60405180910390a160178054806147d957fe5b600082815260209020810160001990810180546001600160a01b031916905501905550505050505050565b600354604080516324386ecd60e11b815290516000926001600160a01b031691634870dd9a916004808301926020929190829003018186803b15801561484957600080fd5b505afa15801561485d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906148819190614da7565b828161488957fe5b0492915050565b600080808084156148e6576148a587866144e0565b93506148bb87611162888763ffffffff61267116565b92506148cd878563ffffffff61245716565b91506148df868463ffffffff61245716565b90506148f3565b5060009250829150859050845b93509350935093565b614904614a6e565b838152602080820184905260035460408051631e5395c960e21b815290516000936149a0938793611162936001600160a01b039092169263794e572492600480840193829003018186803b15801561495b57600080fd5b505afa15801561496f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906149939190614da7565b889063ffffffff61267116565b90506149ab81614804565b604083018190526801158e460913d000006060840152608083018690526149d990829063ffffffff61245716565b60a08301526149ee848263ffffffff61245716565b61010083015250600060c0820181905260e08201529392505050565b600080614a1d848463ffffffff61267116565b9050613aee670de0b6b3a7640000611162836706f05b59d3b20000613a13565b6040518060a00160405280600081526020016000815260200160001515815260200160008152602001600081525090565b6040518061012001604052806000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081525090565b6040805160e081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c081019190915290565b6040518060e0016040528060008152602001600081526020016000815260200160006001600160a01b0316815260200160001515815260200160008152602001600081525090565b60405180606001604052806000815260200160008152602001600081525090565b803561101081615405565b600060208284031215614b7b578081fd5b81356121a381615405565b600060208284031215614b97578081fd5b81516121a381615405565b60008060408385031215614bb4578081fd5b8235614bbf81615405565b946020939093013593505050565b60006020808385031215614bdf578182fd5b823567ffffffffffffffff811115614bf5578283fd5b80840185601f820112614c06578384fd5b80359150614c1b614c16836153da565b6153b3565b8281528381019082850185850284018601891015614c37578687fd5b8693505b848410156141eb57614c4d8982614b5f565b835260019390930192918501918501614c3b565b60006101c0808385031215614c74578182fd5b614c7d816153b3565b614c878585614b5f565b8152614c968560208601614b5f565b6020820152614ca88560408601614b5f565b6040820152614cba8560608601614b5f565b6060820152614ccc8560808601614b5f565b6080820152614cde8560a08601614b5f565b60a0820152614cf08560c08601614b5f565b60c0820152614d028560e08601614b5f565b60e08201526101009150614d1885838601614b5f565b828201526101209150614d2d85838601614b5f565b828201526101409150614d4285838601614b5f565b828201526101609150614d5785838601614b5f565b828201526101809150614d6c85838601614b5f565b828201526101a09150614d8185838601614b5f565b918101919091529392505050565b600060208284031215614da0578081fd5b5035919050565b600060208284031215614db8578081fd5b5051919050565b600080600080600080600060e0888a031215614dd9578283fd5b873596506020880135614deb81615405565b95506040880135614dfb81615405565b94506060880135614e0b81615405565b9699959850939660808101359560a0820135955060c0909101359350915050565b600080600080600080600080888a03610160811215614e49578182fd5b8935985060208a0135614e5b81615405565b975060408a0135614e6b81615405565b965060608a0135614e7b81615405565b955060808a810135955060a08b0135945060c08b0135935060df1982011215614ea2578182fd5b5060e0890190509295985092959890939650565b6000828483379101908152919050565b7035b2bc9737bbb730b136329737bbb732b960791b815260110190565b6001600160a01b0391909116815260200190565b6001600160a01b039384168152919092166020820152604081019190915260600190565b6001600160a01b039290921682526001600160801b0316602082015260400190565b6001600160a01b03929092168252602082015260400190565b901515815260200190565b848152602081018490526040810183905260808101614f7f836153fa565b606083015295945050505050565b6000602080835283518082850152825b81811015614fb957858101830151858201604001528201614f9d565b81811115614fca5783604083870101525b50601f01601f1916929092016040019392505050565b6020808252601b908201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604082015260600190565b60208082526022908201527f4f776e61626c653a3a7365744f776e65723a20696e76616c6964206164647265604082015261737360f01b606082015260800190565b6020808252601e908201527f4163636f756e742063616e6e6f74206265207a65726f20616464726573730000604082015260600190565b6020808252602a908201527f54726f76654d616e616765723a204f6e6c79206f6e652074726f766520696e206040820152697468652073797374656d60b01b606082015260800190565b60208082526021908201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6040820152607760f81b606082015260800190565b6020808252603b908201527f54726f76654d616e616765723a2043616c6c6572206973206e6f74207468652060408201527f426f72726f7765724f7065726174696f6e7320636f6e74726163740000000000606082015260800190565b60208082526017908201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604082015260600190565b60208082526036908201527f54726f76654d616e616765723a2043616c6c646174612061646472657373206160408201527572726179206d757374206e6f7420626520656d70747960501b606082015260800190565b6020808252818101527f4163636f756e7420636f64652073697a652063616e6e6f74206265207a65726f604082015260600190565b60208082526036908201527f54726f76654d616e616765723a2046656520776f756c642065617420757020616040820152751b1b081c995d1d5c9b99590818dbdb1b185d195c985b60521b606082015260800190565b60208082526022908201527f54726f76654d616e616765723a206e6f7468696e6720746f206c697175696461604082015261746560f01b606082015260800190565b6020808252602f908201527f54726f76654d616e616765723a2054726f766520646f6573206e6f742065786960408201526e1cdd081bdc881a5cc818db1bdcd959608a1b606082015260800190565b90815260200190565b918252602082015260400190565b83815260208101839052606081016004831061534a57fe5b826040830152949350505050565b858152602081018590526040810184905260a081016005841061537757fe5b60608201939093526001600160801b03919091166080909101529392505050565b93845260208401929092526040830152606082015260800190565b60405181810167ffffffffffffffff811182821017156153d257600080fd5b604052919050565b600067ffffffffffffffff8211156153f0578081fd5b5060209081020190565b806004811061107657fe5b6001600160a01b0381168114610fac57600080fdfeea67486ed7ebe3eea8ab3390efd4a3c8aae48be5bea27df104a8af786c408434c3770d654ed33aeea6bf11ac8ef05d02a6a04ed4686dd2f624d853bbec43cc8ba2646970667358221220360ab705f9ed8e8222e50d6d6310ee7c0693ad08921592870dfffe5ff62b48e964736f6c634300060b003360806040523480156200001157600080fd5b5062000026336001600160e01b036200002c16565b62000150565b6001600160a01b0381166200005e5760405162461bcd60e51b815260040162000055906200010e565b60405180910390fd5b6001600160a01b0381166200007b6001600160e01b03620000d016565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000604051620000c090620000f1565b6040519081900390209190915550565b600080604051620000e190620000f1565b6040519081900390205492915050565b7035b2bc9737bbb730b136329737bbb732b960791b815260110190565b60208082526022908201527f4f776e61626c653a3a7365744f776e65723a20696e76616c6964206164647265604082015261737360f01b606082015260800190565b614a7880620001606000396000f3fe6080604052600436106102205760003560e01c80637778a3db1161012e578063a3f4df7e116100ab578063e9fc34611161006f578063e9fc346114610570578063ea9638bf14610585578063ec5472fd14610598578063ec9f7d46146105ad578063f92d3433146105c257610220565b8063a3f4df7e146104f1578063ae91875414610513578063afbc74b514610528578063b5c89bab14610548578063c6a6cf201461055d57610220565b8063887105d3116100f2578063887105d31461049f578063893d20e8146104b45780638d5c3dc1146104c95780639f070670146104dc578063a20baee6146103c357610220565b80637778a3db14610422578063795d26c3146104425780637e3eefdc146104575780637f7dde4a14610477578063860665b31461048c57610220565b8063485f190f116101bc5780636f0b0c1c116101805780636f0b0c1c146103ae57806372fe25aa146103c3578063734f622d146103d8578063741bef1a146103f8578063759b30341461040d57610220565b8063485f190f146103285780634ff814431461033b5780635530273c1461035b57806368647db11461037b5780636ea569601461038e57610220565b80630d43e8ad146102255780630e704d50146102505780630ff9a5121461026757806313af40351461027c5780631a7777171461029c5780631bf43555146102bc5780632771510a146102de5780633cc74225146102fe5780633d83908a14610313575b600080fd5b34801561023157600080fd5b5061023a6105d7565b6040516102479190613fe0565b60405180910390f35b34801561025c57600080fd5b506102656105e6565b005b34801561027357600080fd5b5061023a6105f0565b34801561028857600080fd5b50610265610297366004613bf3565b6105ff565b3480156102a857600080fd5b506102656102b7366004613e27565b61064c565b3480156102c857600080fd5b506102d1610663565b60405161024791906149eb565b3480156102ea57600080fd5b506102656102f9366004613bf3565b610670565b34801561030a57600080fd5b5061023a6106fe565b34801561031f57600080fd5b5061023a61070d565b610265610336366004613e78565b61071c565b34801561034757600080fd5b506102d1610356366004613dd1565b610886565b34801561036757600080fd5b50610265610376366004613e01565b610899565b610265610389366004613c2b565b6108af565b34801561039a57600080fd5b506102656103a9366004613e78565b6108c5565b3480156103ba57600080fd5b506102656108d6565b3480156103cf57600080fd5b506102d1610934565b3480156103e457600080fd5b506102656103f3366004613cad565b610940565b34801561040457600080fd5b5061023a610d04565b34801561041957600080fd5b506102d1610d13565b34801561042e57600080fd5b5061026561043d366004613db6565b610d20565b34801561044e57600080fd5b506102d1610e11565b34801561046357600080fd5b506102d1610472366004613e78565b610f30565b34801561048357600080fd5b5061023a6111ab565b61026561049a366004613e78565b6111ba565b3480156104ab57600080fd5b506102d16111c7565b3480156104c057600080fd5b5061023a611296565b6102656104d7366004613f27565b6112b5565b3480156104e857600080fd5b5061023a6112cd565b3480156104fd57600080fd5b506105066112dc565b60405161024791906140c8565b34801561051f57600080fd5b5061023a61130a565b34801561053457600080fd5b50610265610543366004613e01565b611319565b34801561055457600080fd5b5061023a61132b565b61026561056b366004613ec1565b61133a565b34801561057c57600080fd5b5061023a611351565b610265610593366004613c63565b611360565b3480156105a457600080fd5b5061023a61137a565b3480156105b957600080fd5b5061023a611389565b3480156105ce57600080fd5b506102d1611398565b600d546001600160a01b031681565b6105ee61141a565b565b6009546001600160a01b031681565b610607611296565b6001600160a01b0316336001600160a01b0316146106405760405162461bcd60e51b8152600401610637906145b1565b60405180910390fd5b61064981611809565b50565b61065d600080866000878787611894565b50505050565b6809c2007651b250000081565b610678611296565b6001600160a01b0316336001600160a01b0316146106a85760405162461bcd60e51b8152600401610637906145b1565b600c80546001600160a01b0319166001600160a01b0383161790556040517f6926b3375b54960080b7d8a184061f39a02e8c3bf64aa9df7e75359fdc00d814906106f3908390613fe0565b60405180910390a150565b6001546001600160a01b031681565b6004546001600160a01b031681565b600c546001600160a01b03166107445760405162461bcd60e51b8152600401610637906149bb565b6107518484848430611a4a565b600a54600c5460405163095ea7b360e01b81526001600160a01b039283169263095ea7b392610787929116908790600401614035565b602060405180830381600087803b1580156107a157600080fd5b505af11580156107b5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107d99190613d9a565b6107f55760405162461bcd60e51b81526004016106379061463f565b600c54600a5460405163438b1b4b60e01b81526001600160a01b039283169263438b1b4b9261082d9291169087903390600401614079565b602060405180830381600087803b15801561084757600080fd5b505af115801561085b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061087f9190613de9565b5050505050565b600061089182612075565b90505b919050565b6108aa338460008086866000612090565b505050565b6108c133600080600086866000612090565b5050565b61065d33600085600186868a612090565b60075460405163b32beb5b60e01b81526001600160a01b039091169063b32beb5b90610906903390600401613fe0565b600060405180830381600087803b15801561092057600080fd5b505af115801561065d573d6000803e3d6000fd5b670de0b6b3a764000081565b610948611296565b6001600160a01b0316336001600160a01b0316146109785760405162461bcd60e51b8152600401610637906145b1565b6109818c6120a0565b61098a8b6120a0565b6109938a6120a0565b61099c896120a0565b6109a5886120a0565b6109ae876120a0565b6109b7866120a0565b6109c0856120a0565b6109c9846120a0565b6109d2836120a0565b6109db826120a0565b6109e4816120a0565b600d80546001600160a01b03199081166001600160a01b038f8116919091179092556003805482168e84161790556004805482168d84161790556000805482168c84161790556001805482168b84161790556005805482168a8416179055600680548216898416179055600780548216888416179055600280548216878416179055600b80548216868416179055600a8054821685841617905560098054821692841692831790556008805490911690911790556040517f84861842e6a98dd759145eb5e7b48279d0f02ebeabc8a69e5196b2f4c5023db990610ac8908e90613fe0565b60405180910390a17f143219c9e69b09e07e095fcc889b43d8f46ca892bba65f08dc3a0050869a56788a604051610aff9190613fe0565b60405180910390a17f78f058b189175430c48dc02699e3a0031ea4ff781536dc2fab847de4babdd88289604051610b369190613fe0565b60405180910390a17f5ee0cae2f063ed938bb55046f6a932fb6ae792bf43624806bb90abe68a50be9b88604051610b6d9190613fe0565b60405180910390a17f82966d27eea39b038ee0fa30cd16532bb24f6e65d31cb58fb227aa5766cdcc7f87604051610ba49190613fe0565b60405180910390a17fcfb07d791fcafc032b35837b50eb84b74df518cf4cc287e8084f47630fa70fa086604051610bdb9190613fe0565b60405180910390a17fe67f36a6e961157d6eff83b91f3af5a62131ceb6f04954ef74f51c1c05e7f88d85604051610c129190613fe0565b60405180910390a17f8c537274438aa850a330284665d81a85dd38267d09e4050d416bfc94142db26484604051610c499190613fe0565b60405180910390a17f65f4cf077bc01e4742eb5ad98326f6e95b63548ea24b17f8d5e823111fe7880083604051610c809190613fe0565b60405180910390a17fcdf33850c44a1a874b5fefb51dae615ac6afebd581ef90d571f81b06541d8e9d82604051610cb79190613fe0565b60405180910390a17f7624075ed781e3aa34b0f492d70d1bb5a6fcde04534165e20f990d2e546be4dd81604051610cee9190613fe0565b60405180910390a1505050505050505050505050565b6002546001600160a01b031681565b6801158e460913d0000081565b600c546001600160a01b0316610d485760405162461bcd60e51b8152600401610637906149bb565b6004805460405163d66a255360e01b81526000926001600160a01b039092169163d66a255391610d7a91339101613fe0565b60206040518083038186803b158015610d9257600080fd5b505afa158015610da6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610dca9190613de9565b600c54909150610e08906001600160a01b0316610df6836801158e460913d0000063ffffffff6120e516565b600a546001600160a01b031685612130565b506108c161141a565b60008054604080516272c7d360e71b8152905183926001600160a01b031691633963e980916004808301926020929190829003018186803b158015610e5557600080fd5b505afa158015610e69573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e8d9190613de9565b90506000600160009054906101000a90046001600160a01b03166001600160a01b0316633963e9806040518163ffffffff1660e01b815260040160206040518083038186803b158015610edf57600080fd5b505afa158015610ef3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f179190613de9565b9050610f29828263ffffffff6123e116565b9250505090565b600a546040516370a0823160e01b8152600091309183916001600160a01b0316906370a0823190610f65908590600401613fe0565b60206040518083038186803b158015610f7d57600080fd5b505afa158015610f91573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fb59190613de9565b9050610fc533838888888c612406565b610fd5818763ffffffff6123e116565b600a546040516370a0823160e01b81526001600160a01b03909116906370a0823190611005908690600401613fe0565b60206040518083038186803b15801561101d57600080fd5b505afa158015611031573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110559190613de9565b146110725760405162461bcd60e51b815260040161063790614245565b600a54600c5460405163095ea7b360e01b81526001600160a01b039283169263095ea7b3926110a8929116908a90600401614035565b602060405180830381600087803b1580156110c257600080fd5b505af11580156110d6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110fa9190613d9a565b6111165760405162461bcd60e51b81526004016106379061463f565b600c54600a5460405163438b1b4b60e01b81526001600160a01b039283169263438b1b4b9261114e929116908a903390600401614079565b602060405180830381600087803b15801561116857600080fd5b505af115801561117c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111a09190613de9565b979650505050505050565b6000546001600160a01b031681565b61065d8484848433611a4a565b6000805460408051630a7b61df60e11b8152905183926001600160a01b0316916314f6c3be916004808301926020929190829003018186803b15801561120c57600080fd5b505afa158015611220573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112449190613de9565b90506000600160009054906101000a90046001600160a01b03166001600160a01b03166314f6c3be6040518163ffffffff1660e01b815260040160206040518083038186803b158015610edf57600080fd5b6000806040516112a590613fc3565b6040519081900390205492915050565b6112c487878787878787611894565b50505050505050565b6003546001600160a01b031681565b60405180604001604052806012815260200171426f72726f7765724f7065726174696f6e7360701b81525081565b600b546001600160a01b031681565b6108aa33600085600086866000612090565b600c546001600160a01b031681565b6113493386868686868c612090565b505050505050565b600c546001600160a01b031690565b611368612418565b6108aa83600080600086866000612090565b6008546001600160a01b031681565b600a546001600160a01b031681565b6003546040805163f92d343360e01b815290516000926001600160a01b03169163f92d3433916004808301926020929190829003018186803b1580156113dd57600080fd5b505afa1580156113f1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114159190613de9565b905090565b600454600054600a546001600160a01b0392831692918216911661143e8333612442565b60025460408051630fdb11cf60e01b815290516000926001600160a01b031691630fdb11cf91600480830192602092919082900301818787803b15801561148457600080fd5b505af1158015611498573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114bc9190613de9565b90506114c7816124e3565b604051630b07655760e01b81526001600160a01b03851690630b076557906114f3903390600401613fe0565b600060405180830381600087803b15801561150d57600080fd5b505af1158015611521573d6000803e3d6000fd5b50506040516309019aaf60e31b8152600092506001600160a01b038716915063480cd57890611554903390600401613fe0565b60206040518083038186803b15801561156c57600080fd5b505afa158015611580573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115a49190613de9565b90506000856001600160a01b031663d66a2553336040518263ffffffff1660e01b81526004016115d49190613fe0565b60206040518083038186803b1580156115ec57600080fd5b505afa158015611600573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116249190613de9565b90506116498433611644846801158e460913d0000063ffffffff6120e516565b612509565b600061165a836000846000886125a5565b905061166581612630565b604051631fc5750960e31b81526001600160a01b0388169063fe2ba84890611691903390600401613fe0565b600060405180830381600087803b1580156116ab57600080fd5b505af11580156116bf573d6000803e3d6000fd5b50506040516365e89c5760e11b81526001600160a01b038a16925063cbd138ae91506116ef903390600401613fe0565b600060405180830381600087803b15801561170957600080fd5b505af115801561171d573d6000803e3d6000fd5b50505050336001600160a01b0316600080516020614a2383398151915260008060006001604051611751949392919061409c565b60405180910390a261177d868633611778866801158e460913d0000063ffffffff6120e516565b6126d5565b6006546117a090879087906001600160a01b03166801158e460913d000006126d5565b6040516364a197f360e01b81526001600160a01b038716906364a197f3906117ce9033908790600401614035565b600060405180830381600087803b1580156117e857600080fd5b505af11580156117fc573d6000803e3d6000fd5b5050505050505050505050565b6001600160a01b03811661182f5760405162461bcd60e51b81526004016106379061427c565b806001600160a01b0316611841611296565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3600060405161188490613fc3565b6040519081900390209190915550565b600c546001600160a01b03166118bc5760405162461bcd60e51b8152600401610637906149bb565b831580156118ca5750600085115b156118f057600c54600a546118ee916001600160a01b039081169188911684612130565b505b6119003387878787878d3061278f565b83801561190d5750600085115b156112c457600a54600c5460405163095ea7b360e01b81526001600160a01b039283169263095ea7b392611948929116908990600401614035565b602060405180830381600087803b15801561196257600080fd5b505af1158015611976573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061199a9190613d9a565b6119b65760405162461bcd60e51b81526004016106379061463f565b600c54600a5460405163438b1b4b60e01b81526001600160a01b039283169263438b1b4b926119ee9291169089903390600401614079565b602060405180830381600087803b158015611a0857600080fd5b505af1158015611a1c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a409190613de9565b5050505050505050565b611a52613af2565b50604080516060810182526004546001600160a01b03908116825260005481166020830152600a541691810191909152611a8a613b12565b600260009054906101000a90046001600160a01b03166001600160a01b0316630fdb11cf6040518163ffffffff1660e01b8152600401602060405180830381600087803b158015611ada57600080fd5b505af1158015611aee573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b129190613de9565b808252600090611b2190612d73565b9050611b2d8882612e0e565b8251611b399033612efa565b6040820187905280611b7a57611b5983600001518460400151898b612f9c565b602083018190526040830151611b749163ffffffff6123e116565b60408301525b611b878260400151613155565b611b948260400151612075565b60608301819052611ba157fe5b611bb4348360600151846000015161317e565b60808301526060820151611bc99034906131bd565b60a08301528015611be657611be182608001516131f2565b611c19565b611bf38260800151613297565b6000611c0c3460018560600151600187600001516125a5565b9050611c1781612630565b505b8251604051635d6b480f60e01b81526001600160a01b0390911690635d6b480f90611c4b903390600190600401614035565b600060405180830381600087803b158015611c6557600080fd5b505af1158015611c79573d6000803e3d6000fd5b505084516040516372423c1760e01b81526001600160a01b0390911692506372423c179150611cae9033903490600401614035565b602060405180830381600087803b158015611cc857600080fd5b505af1158015611cdc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d009190613de9565b5082516060830151604051639976cf4560e01b81526001600160a01b0390921691639976cf4591611d3691339190600401614035565b602060405180830381600087803b158015611d5057600080fd5b505af1158015611d64573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d889190613de9565b5082516040516382fe3eb960e01b81526001600160a01b03909116906382fe3eb990611db8903390600401613fe0565b600060405180830381600087803b158015611dd257600080fd5b505af1158015611de6573d6000803e3d6000fd5b50508451604051630c7940bd60e11b81526001600160a01b0390911692506318f2817a9150611e19903390600401613fe0565b602060405180830381600087803b158015611e3357600080fd5b505af1158015611e47573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e6b9190613de9565b60c0830152600b5460a08301516040516346f7cf8760e01b81526001600160a01b03909216916346f7cf8791611eaa913391908b908b9060040161404e565b600060405180830381600087803b158015611ec457600080fd5b505af1158015611ed8573d6000803e3d6000fd5b505084516040516315d549f160e01b81526001600160a01b0390911692506315d549f19150611f0b903390600401613fe0565b602060405180830381600087803b158015611f2557600080fd5b505af1158015611f39573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f5d9190613de9565b60e0830181905260405133917f59cfd0cd754bc5748b6770e94a4ffa5f678d885cb899dcfadc5734edb97c67ab91611f9591906149eb565b60405180910390a2611fab83602001513461333c565b611fc483602001518460400151868a86604001516133b8565b60208301516040840151600654611ff09291906001600160a01b03166801158e460913d00000806133b8565b606082015160c08301516040513392600080516020614a238339815191529261201e9234919060009061409c565b60405180910390a2336001600160a01b03167f71457d8a5ab7e4561ed49d05338674b73ac3b83b0b315f165f5b12bcc0022741836020015160405161206391906149eb565b60405180910390a25050505050505050565b6000610891826801158e460913d0000063ffffffff6123e116565b6112c4878787878787873361278f565b6001600160a01b0381166120c65760405162461bcd60e51b8152600401610637906143be565b803b806108c15760405162461bcd60e51b815260040161063790614762565b600061212783836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061347d565b90505b92915050565b600080856001600160a01b03166321df0da76040518163ffffffff1660e01b815260040160206040518083038186803b15801561216c57600080fd5b505afa158015612180573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121a49190613c0f565b90506000816001600160a01b03166370a08231306040518263ffffffff1660e01b81526004016121d49190613fe0565b60206040518083038186803b1580156121ec57600080fd5b505afa158015612200573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122249190613de9565b9050306001600160a01b03831663605629d633838a893561224b60408c0160208d01613f9f565b8b604001358c606001356040518863ffffffff1660e01b81526004016122779796959493929190613ff4565b600060405180830381600087803b15801561229157600080fd5b505af11580156122a5573d6000803e3d6000fd5b505050508661233683856001600160a01b03166370a08231856040518263ffffffff1660e01b81526004016122da9190613fe0565b60206040518083038186803b1580156122f257600080fd5b505afa158015612306573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061232a9190613de9565b9063ffffffff6120e516565b146123535760405162461bcd60e51b8152600401610637906141c5565b60405163fb2c922360e01b81526001600160a01b0389169063fb2c9223906123839089908b903390600401614079565b602060405180830381600087803b15801561239d57600080fd5b505af11580156123b1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123d59190613de9565b98975050505050505050565b6000828201838110156121275760405162461bcd60e51b81526004016106379061420e565b6113498660008660018787878c61278f565b6005546001600160a01b031633146105ee5760405162461bcd60e51b815260040161063790614800565b6040516321e3780160e01b81526000906001600160a01b038416906321e3780190612471908590600401613fe0565b60206040518083038186803b15801561248957600080fd5b505afa15801561249d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124c19190613de9565b9050806001146108aa5760405162461bcd60e51b815260040161063790614563565b6124ec81612d73565b156106495760405162461bcd60e51b81526004016106379061430e565b6040516370a0823160e01b815281906001600160a01b038516906370a0823190612537908690600401613fe0565b60206040518083038186803b15801561254f57600080fd5b505afa158015612563573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125879190613de9565b10156108aa5760405162461bcd60e51b81526004016106379061411b565b6000806125b06111c7565b905060006125bc610e11565b9050866125d8576125d3828963ffffffff6120e516565b6125e8565b6125e8828963ffffffff6123e116565b915084612604576125ff818763ffffffff6120e516565b612614565b612614818763ffffffff6123e116565b9050600061262383838761317e565b9998505050505050505050565b600360009054906101000a90046001600160a01b03166001600160a01b0316635733d58f6040518163ffffffff1660e01b815260040160206040518083038186803b15801561267e57600080fd5b505afa158015612692573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906126b69190613de9565b8110156106495760405162461bcd60e51b8152600401610637906144f4565b60405163121cbc4d60e11b81526001600160a01b03851690632439789a906127019084906004016149eb565b600060405180830381600087803b15801561271b57600080fd5b505af115801561272f573d6000803e3d6000fd5b5050604051632770a7eb60e21b81526001600160a01b0386169250639dc29fac91506127619085908590600401614035565b600060405180830381600087803b15801561277b57600080fd5b505af1158015611a40573d6000803e3d6000fd5b612797613af2565b50604080516060810182526004546001600160a01b03908116825260005481166020830152600a5416918101919091526127cf613b57565b600260009054906101000a90046001600160a01b03166001600160a01b0316630fdb11cf6040518163ffffffff1660e01b8152600401602060405180830381600087803b15801561281f57600080fd5b505af1158015612833573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906128579190613de9565b80825261286390612d73565b15156101c082015286156128895761288084826101c00151612e0e565b612889886134a9565b612892896134c9565b61289c89896134f0565b81516128a8908b612442565b336001600160a01b038b1614806128de57506005546001600160a01b0316331480156128d45750600034115b80156128de575087155b6128e457fe5b8151604051630b07655760e01b81526001600160a01b0390911690630b07655790612913908d90600401613fe0565b600060405180830381600087803b15801561292d57600080fd5b505af1158015612941573d6000803e3d6000fd5b5050505061294f348a613523565b151560608301526020820152604081018890528680156129725750806101c00151155b156129ad5761298b826000015183604001518a87612f9c565b610120820181905260408201516129a79163ffffffff6123e116565b60408201525b815160405163d66a255360e01b81526001600160a01b039091169063d66a2553906129dc908d90600401613fe0565b60206040518083038186803b1580156129f457600080fd5b505afa158015612a08573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612a2c9190613de9565b608082015281516040516309019aaf60e31b81526001600160a01b039091169063480cd57890612a60908d90600401613fe0565b60206040518083038186803b158015612a7857600080fd5b505afa158015612a8c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612ab09190613de9565b60a0820181905260808201518251612ac992919061317e565b8160c0018181525050612af98160a0015182608001518360200151846060015185604001518c8760000151613542565b60e082015260a0810151891115612b0c57fe5b612b1d816101c001518a8984613575565b86158015612b2b5750600088115b15612b7257612b4d612b48826040015161232a84608001516135e9565b613155565b612b5f81608001518260400151613604565b612b7282604001518b8360400151612509565b612b9082600001518b8360200151846060015185604001518c61363c565b6101408301526101608201528151604051630c7940bd60e11b81526001600160a01b03909116906318f2817a90612bcb908d90600401613fe0565b602060405180830381600087803b158015612be557600080fd5b505af1158015612bf9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612c1d9190613de9565b81610180018181525050612c498160a0015182608001518360200151846060015185604001518c61386a565b6101a08201819052600b5460405163015f109360e51b81526001600160a01b0390911691632be2126091612c85918e918b908b9060040161404e565b600060405180830381600087803b158015612c9f57600080fd5b505af1158015612cb3573d6000803e3d6000fd5b50505050896001600160a01b0316600080516020614a238339815191528261014001518361016001518461018001516002604051612cf4949392919061409c565b60405180910390a2336001600160a01b03167f71457d8a5ab7e4561ed49d05338674b73ac3b83b0b315f165f5b12bcc0022741826101200151604051612d3a91906149eb565b60405180910390a2612d678260200151836040015133846020015185606001518d8d88604001518b61389b565b50505050505050505050565b600080612d7f8361393f565b9050600360009054906101000a90046001600160a01b03166001600160a01b0316635733d58f6040518163ffffffff1660e01b815260040160206040518083038186803b158015612dcf57600080fd5b505afa158015612de3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612e079190613de9565b1192915050565b8015612e4157670de0b6b3a7640000821115612e3c5760405162461bcd60e51b8152600401610637906143f5565b6108c1565b600360009054906101000a90046001600160a01b03166001600160a01b031663f92d34336040518163ffffffff1660e01b815260040160206040518083038186803b158015612e8f57600080fd5b505afa158015612ea3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612ec79190613de9565b8210158015612ede5750670de0b6b3a76400008211155b6108c15760405162461bcd60e51b815260040161063790614849565b6040516321e3780160e01b81526000906001600160a01b038416906321e3780190612f29908590600401613fe0565b60206040518083038186803b158015612f4157600080fd5b505afa158015612f55573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612f799190613de9565b905080600114156108aa5760405162461bcd60e51b815260040161063790614899565b6000846001600160a01b0316635dba4c4a6040518163ffffffff1660e01b8152600401600060405180830381600087803b158015612fd957600080fd5b505af1158015612fed573d6000803e3d6000fd5b5050604051630631203b60e41b8152600092506001600160a01b038816915063631203b0906130209087906004016149eb565b60206040518083038186803b15801561303857600080fd5b505afa15801561304c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906130709190613de9565b905061307d81858561396b565b600d546040516340c10f1960e01b81526001600160a01b03878116926340c10f19926130b192909116908590600401614035565b600060405180830381600087803b1580156130cb57600080fd5b505af11580156130df573d6000803e3d6000fd5b50505050600d60009054906101000a90046001600160a01b03166001600160a01b031663bb57ad206040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561313357600080fd5b505af1158015613147573d6000803e3d6000fd5b509298975050505050505050565b6809c2007651b25000008110156106495760405162461bcd60e51b815260040161063790614705565b600082156131b15760006131a88461319c878663ffffffff6139ab16565b9063ffffffff6139e516565b91506131b69050565b506000195b9392505050565b600081156131e9576131e28261319c8568056bc75e2d6310000063ffffffff6139ab16565b905061212a565b5060001961212a565b600360009054906101000a90046001600160a01b03166001600160a01b0316635733d58f6040518163ffffffff1660e01b815260040160206040518083038186803b15801561324057600080fd5b505afa158015613254573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906132789190613de9565b8110156106495760405162461bcd60e51b815260040161063790614367565b600360009054906101000a90046001600160a01b03166001600160a01b031663794e57246040518163ffffffff1660e01b815260040160206040518083038186803b1580156132e557600080fd5b505afa1580156132f9573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061331d9190613de9565b8110156106495760405162461bcd60e51b815260040161063790614696565b6000826001600160a01b03168260405161335590613fc0565b60006040518083038185875af1925050503d8060008114613392576040519150601f19603f3d011682016040523d82523d6000602084013e613397565b606091505b50509050806108aa5760405162461bcd60e51b815260040161063790614178565b60405163f2e91d7160e01b81526001600160a01b0386169063f2e91d71906133e49084906004016149eb565b600060405180830381600087803b1580156133fe57600080fd5b505af1158015613412573d6000803e3d6000fd5b50506040516340c10f1960e01b81526001600160a01b03871692506340c10f1991506134449086908690600401614035565b600060405180830381600087803b15801561345e57600080fd5b505af1158015613472573d6000803e3d6000fd5b505050505050505050565b600081848411156134a15760405162461bcd60e51b815260040161063791906140c8565b505050900390565b600081116106495760405162461bcd60e51b8152600401610637906148d0565b3415806134d4575080155b6106495760405162461bcd60e51b8152600401610637906142be565b341515806134fd57508115155b8061350757508015155b6108c15760405162461bcd60e51b815260040161063790614447565b60008083156135375750829050600161353b565b8291505b9250929050565b60008060006135558a8a8a8a8a8a613a27565b91509150600061356683838761317e565b9b9a5050505050505050505050565b83156135ae5761358483613a7d565b81156135a9576135978160e001516131f2565b6135a98160e001518260c00151613a9b565b61065d565b6135bb8160e00151613297565b6135d88160200151826060015183604001518585600001516125a5565b610100820181905261065d90612630565b6000610891826801158e460913d0000063ffffffff6120e516565b61361d826801158e460913d0000063ffffffff6120e516565b8111156108c15760405162461bcd60e51b815260040161063790614797565b6000806000856136cb5760405163d3d6f84360e01b81526001600160a01b038a169063d3d6f84390613674908b908b90600401614035565b602060405180830381600087803b15801561368e57600080fd5b505af11580156136a2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906136c69190613de9565b61374b565b6040516372423c1760e01b81526001600160a01b038a16906372423c17906136f9908b908b90600401614035565b602060405180830381600087803b15801561371357600080fd5b505af1158015613727573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061374b9190613de9565b90506000846137d957604051630930874960e11b81526001600160a01b038b16906312610e9290613782908c908a90600401614035565b602060405180830381600087803b15801561379c57600080fd5b505af11580156137b0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906137d49190613de9565b613859565b604051639976cf4560e01b81526001600160a01b038b1690639976cf4590613807908c908a90600401614035565b602060405180830381600087803b15801561382157600080fd5b505af1158015613835573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906138599190613de9565b919a91995090975050505050505050565b600080600061387d898989898989613a27565b91509150600061388d83836131bd565b9a9950505050505050505050565b82156138b3576138ae89898387866133b8565b6138bf565b6138bf898989876126d5565b84156138d4576138cf898761333c565b613472565b6040516364a197f360e01b81526001600160a01b038a16906364a197f390613902908a908a90600401614035565b600060405180830381600087803b15801561391c57600080fd5b505af1158015613930573d6000803e3d6000fd5b50505050505050505050505050565b60008061394a6111c7565b90506000613956610e11565b905061396382828661317e565b949350505050565b60006139898361319c86670de0b6b3a764000063ffffffff6139ab16565b90508181111561065d5760405162461bcd60e51b815260040161063790614984565b6000826139ba5750600061212a565b828202828482816139c757fe5b04146121275760405162461bcd60e51b8152600401610637906144b3565b600061212783836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250613abb565b600080878786613a4657613a418a8963ffffffff6120e516565b613a56565b613a568a8963ffffffff6123e116565b915084613a6d576137d4898763ffffffff6120e516565b613859898763ffffffff6123e116565b80156106495760405162461bcd60e51b8152600401610637906145e2565b808210156108c15760405162461bcd60e51b815260040161063790614927565b60008183613adc5760405162461bcd60e51b815260040161063791906140c8565b506000838581613ae857fe5b0495945050505050565b604080516060810182526000808252602082018190529181019190915290565b60405180610100016040528060008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081525090565b604051806101e00160405280600081526020016000815260200160008152602001600015158152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000151581525090565b803561212a816149ff565b600060808284031215613bed578081fd5b50919050565b600060208284031215613c04578081fd5b8135612127816149ff565b600060208284031215613c20578081fd5b8151612127816149ff565b60008060408385031215613c3d578081fd5b8235613c48816149ff565b91506020830135613c58816149ff565b809150509250929050565b600080600060608486031215613c77578081fd5b8335613c82816149ff565b92506020840135613c92816149ff565b91506040840135613ca2816149ff565b809150509250925092565b6000806000806000806000806000806000806101808d8f031215613ccf578788fd5b8c35613cda816149ff565b9b5060208d0135613cea816149ff565b9a5060408d0135613cfa816149ff565b995060608d0135613d0a816149ff565b985060808d0135613d1a816149ff565b975060a08d0135613d2a816149ff565b9650613d398e60c08f01613bd1565b9550613d488e60e08f01613bd1565b9450613d588e6101008f01613bd1565b9350613d688e6101208f01613bd1565b9250613d788e6101408f01613bd1565b9150613d888e6101608f01613bd1565b90509295989b509295989b509295989b565b600060208284031215613dab578081fd5b815161212781614a14565b600060808284031215613dc7578081fd5b6121278383613bdc565b600060208284031215613de2578081fd5b5035919050565b600060208284031215613dfa578081fd5b5051919050565b600080600060608486031215613e15578283fd5b833592506020840135613c92816149ff565b60008060008060e08587031215613e3c578384fd5b843593506020850135613e4e816149ff565b92506040850135613e5e816149ff565b9150613e6d8660608701613bdc565b905092959194509250565b60008060008060808587031215613e8d578384fd5b84359350602085013592506040850135613ea6816149ff565b91506060850135613eb6816149ff565b939692955090935050565b60008060008060008060c08789031215613ed9578384fd5b8635955060208701359450604087013593506060870135613ef981614a14565b92506080870135613f09816149ff565b915060a0870135613f19816149ff565b809150509295509295509295565b6000806000806000806000610140888a031215613f42578081fd5b8735965060208801359550604088013594506060880135613f6281614a14565b93506080880135613f72816149ff565b925060a0880135613f82816149ff565b9150613f918960c08a01613bdc565b905092959891949750929550565b600060208284031215613fb0578081fd5b813560ff81168114612127578182fd5b90565b7035b2bc9737bbb730b136329737bbb732b960791b815260110190565b6001600160a01b0391909116815260200190565b6001600160a01b0397881681529590961660208601526040850193909352606084019190915260ff16608083015260a082015260c081019190915260e00190565b6001600160a01b03929092168252602082015260400190565b6001600160a01b03948516815260208101939093529083166040830152909116606082015260800190565b6001600160a01b0393841681526020810192909252909116604082015260600190565b8481526020810184905260408101839052608081016140ba836149f4565b606083015295945050505050565b6000602080835283518082850152825b818110156140f4578581018301518582016040015282016140d8565b818111156141055783604083870101525b50601f01601f1916929092016040019392505050565b6020808252603d908201527f426f72726f7765724f70733a2043616c6c657220646f65736e7420686176652060408201527f656e6f756768205a55534420746f206d616b652072657061796d656e74000000606082015260800190565b6020808252602d908201527f426f72726f7765724f70733a2053656e64696e672045544820746f204163746960408201526c1d99541bdbdb0819985a5b1959609a1b606082015260800190565b60208082526029908201527f444c4c52207472616e7366657272656420616d6f756e742076616c69646174696040820152681bdb8819985a5b195960ba1b606082015260800190565b6020808252601b908201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604082015260600190565b6020808252601e908201527f5a555344206973206e6f7420626f72726f77656420636f72726563746c790000604082015260600190565b60208082526022908201527f4f776e61626c653a3a7365744f776e65723a20696e76616c6964206164647265604082015261737360f01b606082015260800190565b60208082526030908201527f426f72726f7765724f7065726174696f6e733a2043616e6e6f7420776974686460408201526f1c985dc8185b99081859190818dbdb1b60821b606082015260800190565b60208082526039908201527f426f72726f7765724f70733a204f7065726174696f6e206e6f74207065726d696040820152787474656420647572696e67205265636f76657279204d6f646560381b606082015260800190565b60208082526037908201527f426f72726f7765724f70733a204f7065726174696f6e206d757374206c65617660408201527632903a3937bb32903bb4ba341024a1a9101f1e9021a1a960491b606082015260800190565b6020808252601e908201527f4163636f756e742063616e6e6f74206265207a65726f20616464726573730000604082015260600190565b60208082526032908201527f4d6178206665652070657263656e74616765206d757374206c657373207468616040820152716e206f7220657175616c20746f203130302560701b606082015260800190565b60208082526046908201527f426f72726f7765724f70733a205468657265206d75737420626520656974686560408201527f72206120636f6c6c61746572616c206368616e6765206f7220612064656274206060820152656368616e676560d01b608082015260a00190565b60208082526021908201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6040820152607760f81b606082015260800190565b60208082526049908201527f426f72726f7765724f70733a20416e206f7065726174696f6e2074686174207760408201527f6f756c6420726573756c7420696e20544352203c20434352206973206e6f74206060820152681c195c9b5a5d1d195960ba1b608082015260a00190565b6020808252602e908201527f426f72726f7765724f70733a2054726f766520646f6573206e6f74206578697360408201526d1d081bdc881a5cc818db1bdcd95960921b606082015260800190565b60208082526017908201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604082015260600190565b6020808252603e908201527f426f72726f7765724f70733a20436f6c6c61746572616c20776974686472617760408201527f616c206e6f74207065726d6974746564205265636f76657279204d6f64650000606082015260800190565b60208082526037908201527f4661696c656420746f20617070726f7665205a55534420616d6f756e7420666f60408201527672204d796e74206d417373657420746f2072656465656d60481b606082015260800190565b60208082526049908201527f426f72726f7765724f70733a20416e206f7065726174696f6e2074686174207760408201527f6f756c6420726573756c7420696e20494352203c204d4352206973206e6f74206060820152681c195c9b5a5d1d195960ba1b608082015260a00190565b6020808252603a908201527f426f72726f7765724f70733a2054726f76652773206e65742064656274206d7560408201527f73742062652067726561746572207468616e206d696e696d756d000000000000606082015260800190565b6020808252818101527f4163636f756e7420636f64652073697a652063616e6e6f74206265207a65726f604082015260600190565b60208082526043908201527f426f72726f7765724f70733a20416d6f756e7420726570616964206d7573742060408201527f6e6f74206265206c6172676572207468616e207468652054726f76652773206460608201526219589d60ea1b608082015260a00190565b60208082526029908201527f426f72726f7765724f70733a2043616c6c6572206973206e6f742053746162696040820152681b1a5d1e48141bdbdb60ba1b606082015260800190565b60208082526030908201527f4d6178206665652070657263656e74616765206d75737420626520626574776560408201526f656e20302e352520616e64203130302560801b606082015260800190565b6020808252601c908201527f426f72726f7765724f70733a2054726f76652069732061637469766500000000604082015260600190565b60208082526037908201527f426f72726f7765724f70733a204465627420696e637265617365207265717569604082015276726573206e6f6e2d7a65726f20646562744368616e676560481b606082015260800190565b6020808252603e908201527f426f72726f7765724f70733a2043616e6e6f7420646563726561736520796f7560408201527f722054726f766527732049435220696e205265636f76657279204d6f64650000606082015260800190565b6020808252601d908201527f4665652065786365656465642070726f7669646564206d6178696d756d000000604082015260600190565b60208082526016908201527513585cdcd95d081859191c995cdcc81b9bdd081cd95d60521b604082015260600190565b90815260200190565b806003811061089457fe5b6001600160a01b038116811461064957600080fd5b801515811461064957600080fdfec3770d654ed33aeea6bf11ac8ef05d02a6a04ed4686dd2f624d853bbec43cc8ba26469706673582212203cec7d4c5337979a752ab4f1b8da0cc607bc2508b28986739fefcae556b2e90264736f6c634300060b0033608060405234801561001057600080fd5b50610023336001600160e01b0361002816565b610110565b6001600160a01b03811661006d5760405162461bcd60e51b8152600401808060200182810382526022815260200180610df66022913960400191505060405180910390fd5b6001600160a01b0381166100886001600160e01b036100e616565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3604080517035b2bc9737bbb730b136329737bbb732b960791b8152905190819003601101902055565b604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205490565b610cd78061011f6000396000f3fe6080604052600436106100b65760003560e01c80635a4d28bb1161006f5780635a4d28bb1461022b57806364a197f314610240578063893d20e814610279578063a3f4df7e1461028e578063aac1846f14610318578063b7f8cf9b1461032d578063f2e91d71146103425761010f565b80630b622ab21461011457806313af40351461014557806314f6c3be1461017a5780632439789a146101a15780633963e980146101cb5780634a945f8d146101e05761010f565b3661010f576100c361036c565b6004546100d6903463ffffffff6103cc16565b600481905560408051918252517fca232b5abb988c540b959ff6c3bfae3e97fff964fd098c508f9613c0a6bf1a809181900360200190a1005b600080fd5b34801561012057600080fd5b5061012961042d565b604080516001600160a01b039092168252519081900360200190f35b34801561015157600080fd5b506101786004803603602081101561016857600080fd5b50356001600160a01b031661043c565b005b34801561018657600080fd5b5061018f6104af565b60408051918252519081900360200190f35b3480156101ad57600080fd5b50610178600480360360208110156101c457600080fd5b50356104b5565b3480156101d757600080fd5b5061018f61050a565b3480156101ec57600080fd5b506101786004803603608081101561020357600080fd5b506001600160a01b038135811691602081013582169160408201358116916060013516610510565b34801561023757600080fd5b506101296106cf565b34801561024c57600080fd5b506101786004803603604081101561026357600080fd5b506001600160a01b0381351690602001356106de565b34801561028557600080fd5b5061012961081f565b34801561029a57600080fd5b506102a3610849565b6040805160208082528351818301528351919283929083019185019080838360005b838110156102dd5781810151838201526020016102c5565b50505050905090810190601f16801561030a5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561032457600080fd5b5061012961086f565b34801561033957600080fd5b5061012961087e565b34801561034e57600080fd5b506101786004803603602081101561036557600080fd5b503561088d565b6000546001600160a01b031633148061038f57506003546001600160a01b031633145b6103ca5760405162461bcd60e51b8152600401808060200182810382526031815260200180610c716031913960400191505060405180910390fd5b565b600082820183811015610426576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b6002546001600160a01b031681565b61044461081f565b6001600160a01b0316336001600160a01b0316146104a3576040805162461bcd60e51b815260206004820152601760248201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604482015290519081900360640190fd5b6104ac816108a8565b50565b60045490565b6104bd61095d565b6005546104d0908263ffffffff6109d016565b600581905560408051918252517fc179e77847def189a2838a920a4d2d78f966467c47494a7fb5fbd1477a2cf4f59181900360200190a150565b60055490565b61051861081f565b6001600160a01b0316336001600160a01b031614610577576040805162461bcd60e51b815260206004820152601760248201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604482015290519081900360640190fd5b61058084610a12565b61058983610a12565b61059282610a12565b61059b81610a12565b600080546001600160a01b038087166001600160a01b031992831681179093556001805487831690841617905560028054868316908416179055600380549185169190921617905560408051918252517f3ca631ffcd2a9b5d9ae18543fc82f58eb4ca33af9e6ab01b7a8e95331e6ed9859181900360200190a1604080516001600160a01b038516815290517f143219c9e69b09e07e095fcc889b43d8f46ca892bba65f08dc3a0050869a56789181900360200190a1604080516001600160a01b038416815290517f82966d27eea39b038ee0fa30cd16532bb24f6e65d31cb58fb227aa5766cdcc7f9181900360200190a1604080516001600160a01b038316815290517f5ee0cae2f063ed938bb55046f6a932fb6ae792bf43624806bb90abe68a50be9b9181900360200190a150505050565b6001546001600160a01b031681565b6106e661095d565b6004546106f9908263ffffffff6109d016565b600481905560408051918252517fca232b5abb988c540b959ff6c3bfae3e97fff964fd098c508f9613c0a6bf1a809181900360200190a1604080516001600160a01b03841681526020810183905281517f6109e2559dfa766aaec7118351d48a523f0a4157f49c8d68749c8ac41318ad12929181900390910190a16040516000906001600160a01b0384169083908381818185875af1925050503d80600081146107bf576040519150601f19603f3d011682016040523d82523d6000602084013e6107c4565b606091505b505090508061081a576040805162461bcd60e51b815260206004820152601e60248201527f416374697665506f6f6c3a2073656e64696e6720455448206661696c65640000604482015290519081900360640190fd5b505050565b604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205490565b6040518060400160405280600a8152602001691058dd1a5d99541bdbdb60b21b81525081565b6003546001600160a01b031681565b6000546001600160a01b031681565b610895610ac5565b6005546104d0908263ffffffff6103cc16565b6001600160a01b0381166108ed5760405162461bcd60e51b8152600401808060200182810382526022815260200180610bfc6022913960400191505060405180910390fd5b806001600160a01b03166108ff61081f565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3604080517035b2bc9737bbb730b136329737bbb732b960791b8152905190819003601101902055565b6000546001600160a01b031633148061098057506001546001600160a01b031633145b8061099557506002546001600160a01b031633145b6103ca5760405162461bcd60e51b8152600401808060200182810382526053815260200180610c1e6053913960600191505060405180910390fd5b600061042683836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610b23565b6001600160a01b038116610a6d576040805162461bcd60e51b815260206004820152601e60248201527f4163636f756e742063616e6e6f74206265207a65726f20616464726573730000604482015290519081900360640190fd5b803b80610ac1576040805162461bcd60e51b815260206004820181905260248201527f4163636f756e7420636f64652073697a652063616e6e6f74206265207a65726f604482015290519081900360640190fd5b5050565b6000546001600160a01b0316331480610ae857506001546001600160a01b031633145b6103ca5760405162461bcd60e51b8152600401808060200182810382526041815260200180610bbb6041913960600191505060405180910390fd5b60008184841115610bb25760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610b77578181015183820152602001610b5f565b50505050905090810190601f168015610ba45780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50505090039056fe416374697665506f6f6c3a2043616c6c6572206973206e65697468657220426f72726f7765724f7065726174696f6e73206e6f722054726f76654d616e616765724f776e61626c653a3a7365744f776e65723a20696e76616c69642061646472657373416374697665506f6f6c3a2043616c6c6572206973206e65697468657220426f72726f7765724f7065726174696f6e73206e6f722054726f76654d616e61676572206e6f722053746162696c697479506f6f6c416374697665506f6f6c3a2043616c6c6572206973206e65697468657220424f206e6f722044656661756c7420506f6f6ca26469706673582212209b05c372200c8127ca513fb34ec2474a15cb2a4151e9268b0749f3eb662cb88b64736f6c634300060b00334f776e61626c653a3a7365744f776e65723a20696e76616c69642061646472657373608060405234801561001057600080fd5b50610023336001600160e01b0361002816565b610110565b6001600160a01b03811661006d5760405162461bcd60e51b8152600401808060200182810382526022815260200180610bd56022913960400191505060405180910390fd5b6001600160a01b0381166100886001600160e01b036100e616565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3604080517035b2bc9737bbb730b136329737bbb732b960791b8152905190819003601101902055565b604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205490565b610ab68061011f6000396000f3fe6080604052600436106100a05760003560e01c8063893d20e811610064578063893d20e8146101ca57806390107afe146101df578063a3f4df7e1461021a578063b08bc722146102a4578063be41205f146102b9578063f2e91d71146102e3576100f9565b806313af4035146100fe57806314f6c3be146101335780632439789a1461015a5780633963e980146101845780635a4d28bb14610199576100f9565b366100f9576100ad61030d565b6002546100c0903463ffffffff61035816565b600281905560408051918252517f9a14ae677a60400af9176bed2e2d5ce8dfa6405e6c1702debb27668f567214289181900360200190a1005b600080fd5b34801561010a57600080fd5b506101316004803603602081101561012157600080fd5b50356001600160a01b03166103b9565b005b34801561013f57600080fd5b5061014861042c565b60408051918252519081900360200190f35b34801561016657600080fd5b506101316004803603602081101561017d57600080fd5b5035610432565b34801561019057600080fd5b50610148610487565b3480156101a557600080fd5b506101ae61048d565b604080516001600160a01b039092168252519081900360200190f35b3480156101d657600080fd5b506101ae61049c565b3480156101eb57600080fd5b506101316004803603604081101561020257600080fd5b506001600160a01b03813581169160200135166104c6565b34801561022657600080fd5b5061022f6105df565b6040805160208082528351818301528351919283929083019185019080838360005b83811015610269578181015183820152602001610251565b50505050905090810190601f1680156102965780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156102b057600080fd5b506101ae610606565b3480156102c557600080fd5b50610131600480360360208110156102dc57600080fd5b5035610615565b3480156102ef57600080fd5b506101316004803603602081101561030657600080fd5b5035610765565b6001546001600160a01b031633146103565760405162461bcd60e51b8152600401808060200182810382526029815260200180610a0b6029913960400191505060405180910390fd5b565b6000828201838110156103b2576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b6103c161049c565b6001600160a01b0316336001600160a01b031614610420576040805162461bcd60e51b815260206004820152601760248201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604482015290519081900360640190fd5b61042981610780565b50565b60025490565b61043a610835565b60035461044d908263ffffffff61087e16565b600381905560408051918252517f636083bfd8929ae461979d51af53349434cd5ee35f983909b704bded4142b9519181900360200190a150565b60035490565b6000546001600160a01b031681565b604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205490565b6104ce61049c565b6001600160a01b0316336001600160a01b03161461052d576040805162461bcd60e51b815260206004820152601760248201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604482015290519081900360640190fd5b610536826108c0565b61053f816108c0565b600080546001600160a01b038085166001600160a01b03199283168117909355600180549185169190921617905560408051918252517f143219c9e69b09e07e095fcc889b43d8f46ca892bba65f08dc3a0050869a56789181900360200190a1604080516001600160a01b038316815290517f78f058b189175430c48dc02699e3a0031ea4ff781536dc2fab847de4babdd8829181900360200190a15050565b6040518060400160405280600b81526020016a111959985d5b1d141bdbdb60aa1b81525081565b6001546001600160a01b031681565b61061d610835565b6001546002546001600160a01b039091169061063f908363ffffffff61087e16565b600281905560408051918252517f9a14ae677a60400af9176bed2e2d5ce8dfa6405e6c1702debb27668f567214289181900360200190a1604080516001600160a01b03831681526020810184905281517f6109e2559dfa766aaec7118351d48a523f0a4157f49c8d68749c8ac41318ad12929181900390910190a16040516000906001600160a01b0383169084908381818185875af1925050503d8060008114610705576040519150601f19603f3d011682016040523d82523d6000602084013e61070a565b606091505b5050905080610760576040805162461bcd60e51b815260206004820152601f60248201527f44656661756c74506f6f6c3a2073656e64696e6720455448206661696c656400604482015290519081900360640190fd5b505050565b61076d610835565b60035461044d908263ffffffff61035816565b6001600160a01b0381166107c55760405162461bcd60e51b8152600401808060200182810382526022815260200180610a346022913960400191505060405180910390fd5b806001600160a01b03166107d761049c565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3604080517035b2bc9737bbb730b136329737bbb732b960791b8152905190819003601101902055565b6000546001600160a01b031633146103565760405162461bcd60e51b815260040180806020018281038252602b815260200180610a56602b913960400191505060405180910390fd5b60006103b283836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610973565b6001600160a01b03811661091b576040805162461bcd60e51b815260206004820152601e60248201527f4163636f756e742063616e6e6f74206265207a65726f20616464726573730000604482015290519081900360640190fd5b803b8061096f576040805162461bcd60e51b815260206004820181905260248201527f4163636f756e7420636f64652073697a652063616e6e6f74206265207a65726f604482015290519081900360640190fd5b5050565b60008184841115610a025760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156109c75781810151838201526020016109af565b50505050905090810190601f1680156109f45780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50505090039056fe44656661756c74506f6f6c3a2043616c6c6572206973206e6f742074686520416374697665506f6f6c4f776e61626c653a3a7365744f776e65723a20696e76616c6964206164647265737344656661756c74506f6f6c3a2043616c6c6572206973206e6f74207468652054726f76654d616e61676572a2646970667358221220d99aea28c644c442996807d1a9df6b9c6fcb9a4741349be927c8e86d5886d30464736f6c634300060b00334f776e61626c653a3a7365744f776e65723a20696e76616c6964206164647265737360806040523480156200001157600080fd5b5062000026336001600160e01b036200002c16565b62000150565b6001600160a01b0381166200005e5760405162461bcd60e51b815260040162000055906200010e565b60405180910390fd5b6001600160a01b0381166200007b6001600160e01b03620000d016565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000604051620000c090620000f1565b6040519081900390209190915550565b600080604051620000e190620000f1565b6040519081900390205492915050565b7035b2bc9737bbb730b136329737bbb732b960791b815260110190565b60208082526022908201527f4f776e61626c653a3a7365744f776e65723a20696e76616c6964206164647265604082015261737360f01b606082015260800190565b61437380620001606000396000f3fe60806040526004361061028c5760003560e01c80638692a8a21161015a578063b31ee965116100c1578063d733cfd01161007a578063d733cfd01461073d578063d7fb04431461075d578063df9cd84f14610772578063ec9f7d4614610792578063fc7e286d146107a7578063fda0101a146107d5576102d7565b8063b31ee965146106a9578063b71d3bf3146106be578063bdaf37ea146106d3578063c0a90828146106e8578063c3a34a0e14610708578063ce4b5bbe14610728576102d7565b80639f070670116101135780639f0706701461061a578063a20baee6146104c6578063a3f4df7e1461062f578063a4e59ac814610651578063a7bfff9714610666578063ae91875414610694576102d7565b80638692a8a21461058657806386da0824146105a6578063887105d3146105c6578063893d20e8146105db5780638b8fbd92146105f057806395fb16bb14610605576102d7565b806340ed1afd116101fe578063759b3034116101b7578063759b3034146104f0578063766718081461050557806377553ad414610527578063795d26c31461053c5780637f7dde4a1461055157806382e0a57414610566576102d7565b806340ed1afd14610446578063556be101146104665780635d2de642146104865780635f788d65146104a657806372fe25aa146104c6578063741bef1a146104db576102d7565b806328a0a04d1161025057806328a0a04d1461038f5780632e54bf95146103af578063335525ad146103cf578063389e92a5146103ef5780633cc742251461040f5780633d83908a14610431576102d7565b80630fbfe38b146102dc57806313af4035146102fe57806314f6c3be1461031e57806316b9d3c5146103495780631bf435551461037a576102d7565b366102d7576102996107f5565b6009546102ac903463ffffffff61082a16565b60098190556040516000805160206142be833981519152916102cd9161422a565b60405180910390a1005b600080fd5b3480156102e857600080fd5b506102fc6102f73660046138ab565b610858565b005b34801561030a57600080fd5b506102fc61031936600461373f565b610a58565b34801561032a57600080fd5b50610333610a9c565b604051610340919061422a565b60405180910390f35b34801561035557600080fd5b5061036961036436600461373f565b610aa2565b604051610340959493929190614279565b34801561038657600080fd5b50610333610add565b34801561039b57600080fd5b506103336103aa366004613877565b610aea565b3480156103bb57600080fd5b506102fc6103ca3660046138ab565b610b07565b3480156103db57600080fd5b506102fc6103ea366004613935565b610b15565b3480156103fb57600080fd5b5061033361040a36600461373f565b610b78565b34801561041b57600080fd5b50610424610c20565b6040516103409190613997565b34801561043d57600080fd5b50610424610c2f565b34801561045257600080fd5b5061033361046136600461373f565b610c3e565b34801561047257600080fd5b506102fc6104813660046138ab565b610cdb565b34801561049257600080fd5b506103336104a136600461373f565b610d53565b3480156104b257600080fd5b506102fc6104c13660046138db565b610d65565b3480156104d257600080fd5b50610333610d6f565b3480156104e757600080fd5b50610424610d7b565b3480156104fc57600080fd5b50610333610d8a565b34801561051157600080fd5b5061051a610d97565b6040516103409190614216565b34801561053357600080fd5b50610424610dad565b34801561054857600080fd5b50610333610dbc565b34801561055d57600080fd5b50610424610edb565b34801561057257600080fd5b50610333610581366004613877565b610eea565b34801561059257600080fd5b506103336105a136600461373f565b610f07565b3480156105b257600080fd5b506103696105c136600461373f565b61100b565b3480156105d257600080fd5b50610333611046565b3480156105e757600080fd5b50610424611115565b3480156105fc57600080fd5b50610333611134565b34801561061157600080fd5b5061042461113a565b34801561062657600080fd5b50610424611149565b34801561063b57600080fd5b50610644611158565b6040516103409190613ab4565b34801561065d57600080fd5b5061051a611181565b34801561067257600080fd5b5061068661068136600461373f565b611190565b60405161034092919061424a565b3480156106a057600080fd5b506104246111ac565b3480156106b557600080fd5b506103336111bb565b3480156106ca57600080fd5b506103336111c1565b3480156106df57600080fd5b506103336111c7565b3480156106f457600080fd5b5061033361070336600461373f565b6111cd565b34801561071457600080fd5b506102fc6107233660046138ff565b6112ca565b34801561073457600080fd5b5061033361136e565b34801561074957600080fd5b506102fc6107583660046137af565b611376565b34801561076957600080fd5b50610333611608565b34801561077e57600080fd5b5061033361078d36600461373f565b61160e565b34801561079e57600080fd5b506104246116ab565b3480156107b357600080fd5b506107c76107c236600461373f565b6116ba565b604051610340929190614233565b3480156107e157600080fd5b506102fc6107f0366004613777565b6116dc565b6000546001600160a01b031633146108285760405162461bcd60e51b815260040161081f90613cac565b60405180910390fd5b565b60008282018381101561084f5760405162461bcd60e51b815260040161081f90613bbc565b90505b92915050565b6000600460009054906101000a90046001600160a01b03166001600160a01b031663e9fc34616040518163ffffffff1660e01b815260040160206040518083038186803b1580156108a857600080fd5b505afa1580156108bc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108e0919061375b565b905060006108ee8330611922565b60065460405163095ea7b360e01b81529192506001600160a01b03169063095ea7b3906109219085908590600401613a33565b602060405180830381600087803b15801561093b57600080fd5b505af115801561094f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109739190613857565b61098f5760405162461bcd60e51b815260040161081f90614043565b60065460405163438b1b4b60e01b81526001600160a01b038481169263438b1b4b926109c5929091169085903390600401613a6d565b602060405180830381600087803b1580156109df57600080fd5b505af11580156109f3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a1791906138c3565b507f2b0fbec1c4e7e30517f196a714775ffe72770d2348f5d586854bb3c0fdf41df8338483604051610a4b93929190613a4c565b60405180910390a1505050565b610a60611115565b6001600160a01b0316336001600160a01b031614610a905760405162461bcd60e51b815260040161081f90613f71565b610a9981611aed565b50565b60095490565b600f602052600090815260409020805460018201546002830154600390930154919290916001600160801b0380821691600160801b90041685565b6809c2007651b250000081565b601260209081526000928352604080842090915290825290205481565b610b118133611922565b5050565b610b1d611b78565b600a54801580610b2b575082155b15610b365750610b11565b600854610b4b906001600160a01b0316611ba2565b600080610b59848685611c22565b91509150610b678282611d1b565b610b71848661201c565b5050505050565b6001600160a01b0381166000908152600b602052604081205480610ba0576000915050610c1b565b610ba86136e7565b506001600160a01b0383166000908152600c60209081526040808320815160a08101835281548152600182015493810193909352600281015491830191909152600301546001600160801b038082166060840152600160801b90910416608082015290610c158383612152565b93505050505b919050565b6001546001600160a01b031681565b6005546001600160a01b031681565b6001600160a01b0381166000908152600b602052604081205480610c66576000915050610c1b565b610c6e6136e7565b506001600160a01b0383166000908152600c60209081526040808320815160a08101835281548152600182015493810193909352600281015491830191909152600301546001600160801b038082166060840152600160801b90910416608082015290610c158383612243565b610ce43361233f565b610ced3361237b565b610cf6816123b2565b336000818152600d6020526040908190208381556001908101805460ff19169091179055517f19bc932fb9e16a8b5a1e41be9f4c2de59d5ddd7567b8b81405f532ca00a9880e90610d4890849061422a565b60405180910390a250565b600e6020526000908152604090205481565b610b1182826123da565b670de0b6b3a764000081565b6002546001600160a01b031681565b6801158e460913d0000081565b601154600160801b90046001600160801b031681565b6004546001600160a01b031681565b60008054604080516272c7d360e71b8152905183926001600160a01b031691633963e980916004808301926020929190829003018186803b158015610e0057600080fd5b505afa158015610e14573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e3891906138c3565b90506000600160009054906101000a90046001600160a01b03166001600160a01b0316633963e9806040518163ffffffff1660e01b815260040160206040518083038186803b158015610e8a57600080fd5b505afa158015610e9e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ec291906138c3565b9050610ed4828263ffffffff61082a16565b9250505090565b6000546001600160a01b031681565b601360209081526000928352604080842090915290825290205481565b6001600160a01b0381166000908152600e602052604081205480610f2f576000915050610c1b565b6001600160a01b0383166000908152600d602052604081205490610f61670de0b6b3a76400008363ffffffff61257d16565b9050610f6b6136e7565b506001600160a01b0385166000908152600f60209081526040808320815160a08101835281548152600182015493810193909352600281015491830191909152600301546001600160801b038082166060840152600160801b90910416608082015290611000670de0b6b3a7640000610ff4610fe788866125bf565b869063ffffffff61264b16565b9063ffffffff61268516565b979650505050505050565b600c602052600090815260409020805460018201546002830154600390930154919290916001600160801b0380821691600160801b90041685565b6000805460408051630a7b61df60e11b8152905183926001600160a01b0316916314f6c3be916004808301926020929190829003018186803b15801561108b57600080fd5b505afa15801561109f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110c391906138c3565b90506000600160009054906101000a90046001600160a01b03166001600160a01b03166314f6c3be6040518163ffffffff1660e01b815260040160206040518083038186803b158015610e8a57600080fd5b6000806040516111249061397a565b6040519081900390205492915050565b60105481565b6008546001600160a01b031681565b6003546001600160a01b031681565b6040518060400160405280600d81526020016c14dd18589a5b1a5d1e541bdbdb609a1b81525081565b6011546001600160801b031681565b600d602052600090815260409020805460019091015460ff1682565b6007546001600160a01b031681565b60165481565b60145481565b600a5490565b6001600160a01b0381166000908152600b6020526040812054806111f5576000915050610c1b565b6001600160a01b038084166000908152600b602052604081206001015490911690811561123a576001600160a01b0382166000908152600d6020526040902054611244565b670de0b6b3a76400005b905061124e6136e7565b506001600160a01b0385166000908152600c60209081526040808320815160a08101835281548152600182015493810193909352600281015491830191909152600301546001600160801b038082166060840152600160801b90910416608082015290611000670de0b6b3a7640000610ff4610fe788866125bf565b600480546040805163e9fc346160e01b8152905160009361135c936001600160a01b03169263e9fc34619281830192602092829003018186803b15801561131057600080fd5b505afa158015611324573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611348919061375b565b60065485906001600160a01b0316856126c7565b90506113698160006123da565b505050565b633b9aca0081565b61137e611115565b6001600160a01b0316336001600160a01b0316146113ae5760405162461bcd60e51b815260040161081f90613f71565b6113b78861296c565b6113c08761296c565b6113c98661296c565b6113d28561296c565b6113db8461296c565b6113e48361296c565b6113ed8261296c565b6113f68161296c565b670de0b6b3a7640000601055600380546001600160a01b03199081166001600160a01b038b8116919091179092556004805482168a8416179055600580548216898416179055600080548216888416179055600680548216878416179055600780548216868416179055600280548216858416179055600880549091169183169190911790556040517f3ca631ffcd2a9b5d9ae18543fc82f58eb4ca33af9e6ab01b7a8e95331e6ed985906114ac908990613997565b60405180910390a17f143219c9e69b09e07e095fcc889b43d8f46ca892bba65f08dc3a0050869a5678866040516114e39190613997565b60405180910390a17f78f058b189175430c48dc02699e3a0031ea4ff781536dc2fab847de4babdd8828560405161151a9190613997565b60405180910390a17fcdf33850c44a1a874b5fefb51dae615ac6afebd581ef90d571f81b06541d8e9d846040516115519190613997565b60405180910390a17f65f4cf077bc01e4742eb5ad98326f6e95b63548ea24b17f8d5e823111fe78800836040516115889190613997565b60405180910390a17f8c537274438aa850a330284665d81a85dd38267d09e4050d416bfc94142db264826040516115bf9190613997565b60405180910390a17f3055265812fb8447b9ada4a5d804ec43bd528ec40e89c952bbc7b85dc5ac6811816040516115f69190613997565b60405180910390a15050505050505050565b60155481565b6001600160a01b0381166000908152600e602052604081205480611636576000915050610c1b565b61163e6136e7565b506001600160a01b0383166000908152600f60209081526040808320815160a08101835281548152600182015493810193909352600281015491830191909152600301546001600160801b038082166060840152600160801b90910416608082015290610c158383612243565b6006546001600160a01b031681565b600b60205260009081526040902080546001909101546001600160a01b031682565b336000908152600b60205260409020546116f5816129b1565b6116fe336129d1565b61170733612a70565b6008546001600160a01b031661171c81611ba2565b600061172733610b78565b9050600061173433610c3e565b90506000611748858363ffffffff61257d16565b336000818152600b60205260409020600101549192506001600160a01b039091169061177690869083612a9d565b60006117818261160e565b90508061178e8382612c12565b826001600160a01b031660008051602061431e83398151915282336040516117b7929190614233565b60405180910390a26117c93386612d5a565b336001600160a01b03166000805160206142fe83398151915287866040516117f2929190613a90565b60405180910390a2336001600160a01b03166000805160206142de83398151915286604051611821919061422a565b60405180910390a260095461183c908763ffffffff61257d16565b60098190556040516000805160206142be8339815191529161185d9161422a565b60405180910390a17f6109e2559dfa766aaec7118351d48a523f0a4157f49c8d68749c8ac41318ad123387604051611896929190613a33565b60405180910390a1600460009054906101000a90046001600160a01b03166001600160a01b031663ea9638bf87338d8d6040518563ffffffff1660e01b81526004016118e4939291906139ab565b6000604051808303818588803b1580156118fd57600080fd5b505af1158015611911573d6000803e3d6000fd5b505050505050505050505050505050565b60006001600160a01b03821661194a5760405162461bcd60e51b815260040161081f90613e88565b821561195857611958612ecf565b336000908152600b6020526040902054611971816129b1565b6008546001600160a01b031661198681611ba2565b600061199133610b78565b9050600061199e33610c3e565b905060006119ac8883613106565b905060006119c0868463ffffffff61257d16565b336000818152600b60205260409020600101549192506001600160a01b03909116906119ee90879083612a9d565b60006119f98261160e565b90506000611a0d828663ffffffff61257d16565b9050611a198382612c12565b826001600160a01b031660008051602061431e8339815191528233604051611a42929190614233565b60405180910390a2611a548b8661311c565b6000611a66878763ffffffff61257d16565b9050611a723382612d5a565b336001600160a01b03166000805160206142de83398151915282604051611a99919061422a565b60405180910390a2336001600160a01b03166000805160206142fe8339815191528987604051611aca929190613a90565b60405180910390a2611adc8833613195565b50939b9a5050505050505050505050565b6001600160a01b038116611b135760405162461bcd60e51b815260040161081f90613cf3565b806001600160a01b0316611b25611115565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000604051611b689061397a565b6040519081900390209190915550565b6005546001600160a01b031633146108285760405162461bcd60e51b815260040161081f90613dbd565b6000816001600160a01b031663e59be5866040518163ffffffff1660e01b8152600401602060405180830381600087803b158015611bdf57600080fd5b505af1158015611bf3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c1791906138c3565b9050610b11816132c4565b6000806000611c54601554611c48670de0b6b3a76400008961264b90919063ffffffff16565b9063ffffffff61082a16565b905083851115611c6057fe5b83851415611c7d576000601655670de0b6b3a76400009150611cdd565b601654600090611cab90611c9f88670de0b6b3a764000063ffffffff61264b16565b9063ffffffff61257d16565b9050611cc26001611c48838863ffffffff61268516565b9250611cd881611c9f858863ffffffff61264b16565b601655505b611ced818563ffffffff61268516565b9250611d0f611d02848663ffffffff61264b16565b829063ffffffff61257d16565b60155550935093915050565b6010546000670de0b6b3a7640000831115611d3257fe5b6000611d4c670de0b6b3a76400008563ffffffff61257d16565b6011546001600160801b03600160801b820481166000818152601260209081526040808320949095168083529390529283205493945090929091611d90898861264b565b90506000611da4838363ffffffff61082a16565b6001600160801b038086166000908152601260209081526040808320938a168352929052819020829055519091507fe12e2cd2c9afa8069203ca07e7eff1edce4a075686d0736a8e7e0d593597b20790611e039083908790899061425a565b60405180910390a185611edc57611e2a6001600160801b038516600163ffffffff6133d516565b601180546001600160801b03908116600160801b938216840217918290556040517fb50f0f59e7cb5b421dc77581c3a9919e3806e076e5fa78a874c3f120cb7d874d93611e7b930490911690614216565b60405180910390a1601180546001600160801b03191690556040517f1f9dfc70cd666adb18a39d60a797518f7b4febf4b6e24ef37d44f6e1e7219fbe90611ec490600090614216565b60405180910390a1670de0b6b3a76400009650611fc9565b633b9aca00611efd670de0b6b3a7640000610ff48b8a63ffffffff61264b16565b1015611faa57611f33670de0b6b3a7640000610ff4633b9aca00611f278c8b63ffffffff61264b16565b9063ffffffff61264b16565b9650611f4f6001600160801b038616600163ffffffff6133d516565b601180546001600160801b0319166001600160801b0392831617908190556040517f1f9dfc70cd666adb18a39d60a797518f7b4febf4b6e24ef37d44f6e1e7219fbe92611f9d921690614216565b60405180910390a1611fc9565b611fc6670de0b6b3a7640000610ff48a8963ffffffff61264b16565b96505b60008711611fd357fe5b60108790556040517fc1a9618cb59ebca77cbdbc2949f126823c407ff13edb285fd0262519a9c18e8c9061200890899061422a565b60405180910390a150505050505050505050565b60005460405163121cbc4d60e11b81526001600160a01b03909116908190632439789a9061204e90859060040161422a565b600060405180830381600087803b15801561206857600080fd5b505af115801561207c573d6000803e3d6000fd5b5050505061208982613406565b600654604051632770a7eb60e21b81526001600160a01b0390911690639dc29fac906120bb9030908690600401613a33565b600060405180830381600087803b1580156120d557600080fd5b505af11580156120e9573d6000803e3d6000fd5b50506040516364a197f360e01b81526001600160a01b03841692506364a197f3915061211b9030908790600401613a33565b600060405180830381600087803b15801561213557600080fd5b505af1158015612149573d6000803e3d6000fd5b50505050505050565b6080810151606082015182516020808501516001600160801b038086166000908152601284526040808220928716825291909352822054919493929185906121a0908463ffffffff61257d16565b6001600160801b0380871660009081526012602052604081209293509161220391633b9aca00919084906121dd908a16600163ffffffff6133d516565b6001600160801b031681526020810191909152604001600020549063ffffffff61268516565b90506000612235670de0b6b3a7640000610ff48681612228888863ffffffff61082a16565b8f9063ffffffff61264b16565b9a9950505050505050505050565b6020810151606082015160808301516011546000939291906001600160801b03600160801b909104811690821610156122825760009350505050610852565b60115460009081906122a3906001600160801b03168563ffffffff61346016565b90506001600160801b0381166122d3576122cc85610ff46010548b61264b90919063ffffffff16565b915061230b565b806001600160801b031660011415612306576122cc633b9aca00610ff487610ff46010548d61264b90919063ffffffff16565b600091505b61231f88633b9aca0063ffffffff61268516565b82101561233457600095505050505050610852565b509695505050505050565b6001600160a01b0381166000908152600d602052604090206001015460ff1615610a995760405162461bcd60e51b815260040161081f90613fa2565b6001600160a01b0381166000908152600b60205260409020548015610b115760405162461bcd60e51b815260040161081f90613ffb565b670de0b6b3a7640000811115610a995760405162461bcd60e51b815260040161081f90613ed8565b6123e38161349a565b6123ec3361233f565b6123f5826134e7565b336000908152600b60205260409020546008546001600160a01b031661241a81611ba2565b81612429576124293384613507565b600061243433610b78565b9050600061244133610c3e565b90506000612455858363ffffffff61257d16565b336000818152600b60205260409020600101549192506001600160a01b039091169061248390869083612a9d565b600061248e8261160e565b905060006124a2828b63ffffffff61082a16565b90506124ae8382612c12565b826001600160a01b031660008051602061431e83398151915282336040516124d7929190614233565b60405180910390a26124e9338b613561565b60006124fb868c63ffffffff61082a16565b90506125073382612d5a565b336001600160a01b03166000805160206142de8339815191528260405161252e919061422a565b60405180910390a2336001600160a01b03166000805160206142fe833981519152888760405161255f929190613a90565b60405180910390a261257087613615565b5050505050505050505050565b600061084f83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061361f565b608081015160608201516040808401516020808601516001600160801b0380871660009081526013845285812091871681529252928120549094939290859061260e908463ffffffff61257d16565b6001600160801b0380871660009081526013602052604081209293509161220391633b9aca00919084906121dd908a16600163ffffffff6133d516565b60008261265a57506000610852565b8282028284828161266757fe5b041461084f5760405162461bcd60e51b815260040161081f90613e47565b600061084f83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061364b565b600080856001600160a01b03166321df0da76040518163ffffffff1660e01b815260040160206040518083038186803b15801561270357600080fd5b505afa158015612717573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061273b919061375b565b90506000816001600160a01b03166370a08231306040518263ffffffff1660e01b815260040161276b9190613997565b60206040518083038186803b15801561278357600080fd5b505afa158015612797573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127bb91906138c3565b9050306001600160a01b03831663605629d633838a89356127e260408c0160208d01613956565b8b604001358c606001356040518863ffffffff1660e01b815260040161280e97969594939291906139f2565b600060405180830381600087803b15801561282857600080fd5b505af115801561283c573d6000803e3d6000fd5b50505050866128c183856001600160a01b03166370a08231856040518263ffffffff1660e01b81526004016128719190613997565b60206040518083038186803b15801561288957600080fd5b505afa15801561289d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c9f91906138c3565b146128de5760405162461bcd60e51b815260040161081f90613b73565b60405163fb2c922360e01b81526001600160a01b0389169063fb2c92239061290e9089908b903390600401613a6d565b602060405180830381600087803b15801561292857600080fd5b505af115801561293c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061296091906138c3565b98975050505050505050565b6001600160a01b0381166129925760405162461bcd60e51b815260040161081f90613d35565b803b80610b115760405162461bcd60e51b815260040161081f9061409a565b60008111610a995760405162461bcd60e51b815260040161081f906140cf565b6005546040516321e3780160e01b81526001600160a01b03909116906321e3780190612a01908490600401613997565b60206040518083038186803b158015612a1957600080fd5b505afa158015612a2d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612a5191906138c3565b600114610a995760405162461bcd60e51b815260040161081f90613b07565b6000612a7b82610b78565b905060008111610b115760405162461bcd60e51b815260040161081f90613d6c565b6001600160a01b03811615612b5d576000612ab782610f07565b6040516306e6c58360e31b81529091506001600160a01b038516906337362c1890612ae89085908590600401613a33565b600060405180830381600087803b158015612b0257600080fd5b505af1158015612b16573d6000803e3d6000fd5b50505050816001600160a01b03167fea80c5084fc812c1d3ccd3e420d32e85001442759aa2261773ffa052cbd660b682604051612b53919061422a565b60405180910390a2505b6000612b68836111cd565b6040516306e6c58360e31b81529091506001600160a01b038516906337362c1890612b999086908590600401613a33565b600060405180830381600087803b158015612bb357600080fd5b505af1158015612bc7573d6000803e3d6000fd5b50505050826001600160a01b03167fc250d4f5c804eafb4ed97612e247bbc934de6fede0e59e4d263e190fb335193f82604051612c04919061422a565b60405180910390a250505050565b6001600160a01b0382166000908152600e6020526040902081905580612c9d576001600160a01b0382166000818152600f60205260408082208281556001810183905560028101839055600301829055517fbb1322f85cc7cc8bac4e172a5bc5dcc0c1959007f9a030032abf9258205f0e4591612c90918190613a90565b60405180910390a2610b11565b6011546010546001600160801b03600160801b80840482166000818152601360209081526040808320978616808452978252808320546001600160a01b038b16808552600f90935292819020600181018890556002810184905560030180546001600160801b0319168917909616948402949094179094559151909392907fbb1322f85cc7cc8bac4e172a5bc5dcc0c1959007f9a030032abf9258205f0e4590612d4a9085908590613a90565b60405180910390a2505050505050565b6001600160a01b0382166000908152600b6020526040902081905580612df8576001600160a01b0382166000818152600b60209081526040808320600190810180546001600160a01b0319169055600c909252808320838155918201839055600282018390556003909101829055517f2d6cc0bcdf72c9486f6451bde6b80f44066f4558f77f44dbfedbe7d8b295225a91612c909181908190613a9e565b6011546010546001600160801b03600160801b8084048216600081815260126020908152604080832097861680845297825280832054848452601383528184208985528352818420546001600160a01b038c16808652600c90945293829020600181018990558181556002810185905560030180546001600160801b0319168a1790971695850295909517909555935191949390917f2d6cc0bcdf72c9486f6451bde6b80f44066f4558f77f44dbfedbe7d8b295225a90612ebe90869086908690613a9e565b60405180910390a250505050505050565b60025460408051630fdb11cf60e01b815290516000926001600160a01b031691630fdb11cf91600480830192602092919082900301818787803b158015612f1557600080fd5b505af1158015612f29573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612f4d91906138c3565b90506000600760009054906101000a90046001600160a01b03166001600160a01b0316634d6228316040518163ffffffff1660e01b815260040160206040518083038186803b158015612f9f57600080fd5b505afa158015612fb3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612fd7919061375b565b600554604051630d293c7160e41b81529192506000916001600160a01b039091169063d293c7109061300f9085908790600401613a33565b60206040518083038186803b15801561302757600080fd5b505afa15801561303b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061305f91906138c3565b9050600360009054906101000a90046001600160a01b03166001600160a01b031663794e57246040518163ffffffff1660e01b815260040160206040518083038186803b1580156130af57600080fd5b505afa1580156130c3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906130e791906138c3565b8110156113695760405162461bcd60e51b815260040161081f906141ac565b6000818310613115578161084f565b5090919050565b8061312657610b11565b600654604051631062c15f60e11b81526001600160a01b03909116906320c582be9061315a903090869086906004016139ce565b600060405180830381600087803b15801561317457600080fd5b505af1158015613188573d6000803e3d6000fd5b50505050610b1181613406565b6001600160a01b0381166131bb5760405162461bcd60e51b815260040161081f90613bf3565b816131c557610b11565b6009546000906131db908463ffffffff61257d16565b9050806009819055506000805160206142be83398151915281604051613201919061422a565b60405180910390a17f6109e2559dfa766aaec7118351d48a523f0a4157f49c8d68749c8ac41318ad12338460405161323a929190613a33565b60405180910390a16000336001600160a01b03168460405161325b90613977565b60006040518083038185875af1925050503d8060008114613298576040519150601f19603f3d011682016040523d82523d6000602084013e61329d565b606091505b50509050806132be5760405162461bcd60e51b815260040161081f90613e06565b50505050565b600a548015806132d2575081155b156132dd5750610a99565b60006132e98383613682565b905060006133026010548361264b90919063ffffffff16565b6011546001600160801b03600160801b820481166000908152601360209081526040808320939094168252919091522054909150613346908263ffffffff61082a16565b601180546001600160801b03600160801b80830482166000908152601360208181526040808420968616845295815285832097909755945491820483168082529486528381209190921680835294528190205490517f2d6127771b164a9cc8827d24b5955db2a77e7a81dac389107ebb8bce9fb64968936133c7939161425a565b60405180910390a150505050565b60008282016001600160801b03808516908216101561084f5760405162461bcd60e51b815260040161081f90614167565b600a5460009061341c908363ffffffff61257d16565b905080600a819055507ff3c69a10dcea5d744225cbe910fb39d6f8208bb8e21fff523d6756a7966093c781604051613454919061422a565b60405180910390a15050565b6000826001600160801b0316826001600160801b031611156134945760405162461bcd60e51b815260040161081f9061411f565b50900390565b6001600160a01b0381166000908152600d602052604090206001015460ff16806134cb57506001600160a01b038116155b610a995760405162461bcd60e51b815260040161081f90613c40565b60008111610a995760405162461bcd60e51b815260040161081f90613f2b565b6001600160a01b038281166000818152600b602052604080822060010180546001600160a01b0319169486169485179055517f094c08e96a8890877a8390b4f967180a7507ad8622244d05fcd0f9f8e086564e9190a35050565b600654604051632ee65eeb60e21b81526001600160a01b039091169063bb997bac90613595908590309086906004016139ce565b600060405180830381600087803b1580156135af57600080fd5b505af11580156135c3573d6000803e3d6000fd5b5050600a54600092506135dd91508363ffffffff61082a16565b905080600a819055507ff3c69a10dcea5d744225cbe910fb39d6f8208bb8e21fff523d6756a7966093c781604051610a4b919061422a565b610a998133613195565b600081848411156136435760405162461bcd60e51b815260040161081f9190613ab4565b505050900390565b6000818361366c5760405162461bcd60e51b815260040161081f9190613ab4565b50600083858161367857fe5b0495945050505050565b6000806136a6601454611c48670de0b6b3a76400008761264b90919063ffffffff16565b905060006136ba828563ffffffff61268516565b90506136dc6136cf828663ffffffff61264b16565b839063ffffffff61257d16565b601455949350505050565b6040518060a0016040528060008152602001600081526020016000815260200160006001600160801b0316815260200160006001600160801b031681525090565b80356001600160801b038116811461085257600080fd5b600060208284031215613750578081fd5b813561084f816142a8565b60006020828403121561376c578081fd5b815161084f816142a8565b60008060408385031215613789578081fd5b8235613794816142a8565b915060208301356137a4816142a8565b809150509250929050565b600080600080600080600080610100898b0312156137cb578384fd5b88356137d6816142a8565b975060208901356137e6816142a8565b965060408901356137f6816142a8565b95506060890135613806816142a8565b94506080890135613816816142a8565b935060a0890135613826816142a8565b925060c0890135613836816142a8565b915060e0890135613846816142a8565b809150509295985092959890939650565b600060208284031215613868578081fd5b8151801515811461084f578182fd5b60008060408385031215613889578182fd5b6138938484613728565b91506138a28460208501613728565b90509250929050565b6000602082840312156138bc578081fd5b5035919050565b6000602082840312156138d4578081fd5b5051919050565b600080604083850312156138ed578182fd5b8235915060208301356137a4816142a8565b60008082840360a0811215613912578283fd5b833592506080601f1982011215613927578182fd5b506020830190509250929050565b60008060408385031215613947578182fd5b50508035926020909101359150565b600060208284031215613967578081fd5b813560ff8116811461084f578182fd5b90565b7035b2bc9737bbb730b136329737bbb732b960791b815260110190565b6001600160a01b0391909116815260200190565b6001600160a01b0393841681529183166020830152909116604082015260600190565b6001600160a01b039384168152919092166020820152604081019190915260600190565b6001600160a01b0397881681529590961660208601526040850193909352606084019190915260ff16608083015260a082015260c081019190915260e00190565b6001600160a01b03929092168252602082015260400190565b6001600160a01b039390931683526020830191909152604082015260600190565b6001600160a01b0393841681526020810192909252909116604082015260600190565b918252602082015260400190565b9283526020830191909152604082015260600190565b6000602080835283518082850152825b81811015613ae057858101830151858201604001528201613ac4565b81811115613af15783604083870101525b50601f01601f1916929092016040019392505050565b60208082526046908201527f53746162696c697479506f6f6c3a2063616c6c6572206d75737420686176652060408201527f616e206163746976652074726f766520746f207769746864726177204554484760608201526561696e20746f60d01b608082015260a00190565b60208082526029908201527f444c4c52207472616e7366657272656420616d6f756e742076616c69646174696040820152681bdb8819985a5b195960ba1b606082015260800190565b6020808252601b908201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604082015260600190565b6020808252602d908201527f53503a3a5f73656e644554484761696e546f3a205f726563656976657220697360408201526c207a65726f206164647265737360981b606082015260800190565b60208082526046908201527f53746162696c697479506f6f6c3a20546167206d75737420626520612072656760408201527f697374657265642066726f6e7420656e642c206f7220746865207a65726f206160608201526564647265737360d01b608082015260a00190565b60208082526027908201527f53746162696c697479506f6f6c3a2043616c6c6572206973206e6f74204163746040820152661a5d99541bdbdb60ca1b606082015260800190565b60208082526022908201527f4f776e61626c653a3a7365744f776e65723a20696e76616c6964206164647265604082015261737360f01b606082015260800190565b6020808252601e908201527f4163636f756e742063616e6e6f74206265207a65726f20616464726573730000604082015260600190565b60208082526031908201527f53746162696c697479506f6f6c3a2063616c6c6572206d7573742068617665206040820152703737b716bd32b9379022aa241023b0b4b760791b606082015260800190565b60208082526029908201527f53746162696c697479506f6f6c3a2043616c6c6572206973206e6f742054726f6040820152683b32a6b0b730b3b2b960b91b606082015260800190565b60208082526021908201527f53746162696c697479506f6f6c3a2073656e64696e6720455448206661696c656040820152601960fa1b606082015260800190565b60208082526021908201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6040820152607760f81b606082015260800190565b60208082526030908201527f53503a3a5f776974686472617746726f6d5370546f3a205f726563656976657260408201526f206973207a65726f206164647265737360801b606082015260800190565b60208082526033908201527f53746162696c697479506f6f6c3a204b69636b6261636b2072617465206d75736040820152727420626520696e2072616e6765205b302c315d60681b606082015260800190565b60208082526026908201527f53746162696c697479506f6f6c3a20416d6f756e74206d757374206265206e6f6040820152656e2d7a65726f60d01b606082015260800190565b60208082526017908201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604082015260600190565b60208082526039908201527f53746162696c697479506f6f6c3a206d757374206e6f7420616c72656164792060408201527818994818481c9959da5cdd195c995908199c9bdb9d08195b99603a1b606082015260800190565b60208082526028908201527f53746162696c697479506f6f6c3a2055736572206d7573742068617665206e6f6040820152670819195c1bdcda5d60c21b606082015260800190565b60208082526037908201527f4661696c656420746f20617070726f7665205a55534420616d6f756e7420666f60408201527672204d796e74206d417373657420746f2072656465656d60481b606082015260800190565b6020808252818101527f4163636f756e7420636f64652073697a652063616e6e6f74206265207a65726f604082015260600190565b60208082526030908201527f53746162696c697479506f6f6c3a2055736572206d757374206861766520612060408201526f1b9bdb8b5e995c9bc819195c1bdcda5d60821b606082015260800190565b60208082526028908201527f4c697175697479536166654d6174683132383a207375627472616374696f6e206040820152676f766572666c6f7760c01b606082015260800190565b60208082526025908201527f4c697175697479536166654d6174683132383a206164646974696f6e206f766560408201526472666c6f7760d81b606082015260800190565b60208082526044908201527f53746162696c697479506f6f6c3a2043616e6e6f74207769746864726177207760408201527f68696c65207468657265206172652074726f766573207769746820494352203c6060820152631026a1a960e11b608082015260a00190565b6001600160801b0391909116815260200190565b90815260200190565b9182526001600160a01b0316602082015260400190565b9182521515602082015260400190565b9283526001600160801b03918216602084015216604082015260600190565b948552602085019390935260408401919091526001600160801b03908116606084015216608082015260a00190565b6001600160a01b0381168114610a9957600080fdfeceb6d671277d4354fd29977ada70695fbd93a16612abf765d6b0e25c28dc6db3bce78369dccab09eec1986f4d409ab09ffbb47d65423e5148fcf98411c5111c951457222ebca92c335c9c86e2baa1cc0e40ffaa9084a51452980d5ba8dec2f6399920012339b5a3368d3a04b8606ce412c46ed92b7dcd8602d41fc8862cb8f25a2646970667358221220e955fa7f80b9ad38eba52b70ed60457b452eb83b2417f8f09df3b2acb6ae421364736f6c634300060b00336080604052348015600f57600080fd5b50603f80601d6000396000f3fe6080604052600080fdfea264697066735822122066e9d13e845a93dc2501d42df6e2e92fe003bd0b9c468fc3e0baf1634cbfcecf64736f6c634300060b0033608060405234801561001057600080fd5b50610023336001600160e01b0361002816565b610110565b6001600160a01b03811661006d5760405162461bcd60e51b81526004018080602001828103825260228152602001806118646022913960400191505060405180910390fd5b6001600160a01b0381166100886001600160e01b036100e616565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3604080517035b2bc9737bbb730b136329737bbb732b960791b8152905190819003601101902055565b604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205490565b6117458061011f6000396000f3fe608060405234801561001057600080fd5b506004361061014d5760003560e01c806370a08231116100c3578063a9059cbb1161007c578063a9059cbb14610413578063bb997bac1461043f578063c0c53b8b14610475578063d505accf146104ad578063dd62ed3e146104fe578063f698da251461052c5761014d565b806370a08231146103435780637ecebe0014610369578063893d20e81461038f57806395d89b41146103b35780639dc29fac146103bb578063a457c2d7146103e75761014d565b806320c582be1161011557806320c582be1461025957806323b872dd1461028f578063313ce567146102c557806339509351146102e357806340c10f191461030f57806354fd4d501461033b5761014d565b806306fdde0314610152578063095ea7b3146101cf57806310ce43bd1461020f57806313af40351461022957806318160ddd14610251575b600080fd5b61015a610534565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561019457818101518382015260200161017c565b50505050905090810190601f1680156101c15780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101fb600480360360408110156101e557600080fd5b506001600160a01b03813516906020013561055e565b604080519115158252519081900360200190f35b610217610574565b60408051918252519081900360200190f35b61024f6004803603602081101561023f57600080fd5b50356001600160a01b0316610598565b005b61021761060b565b61024f6004803603606081101561026f57600080fd5b506001600160a01b03813581169160208101359091169060400135610611565b6101fb600480360360608110156102a557600080fd5b506001600160a01b03813581169160208101359091169060400135610629565b6102cd6106a1565b6040805160ff9092168252519081900360200190f35b6101fb600480360360408110156102f957600080fd5b506001600160a01b0381351690602001356106a6565b61024f6004803603604081101561032557600080fd5b506001600160a01b0381351690602001356106e2565b61015a6106f8565b6102176004803603602081101561035957600080fd5b50356001600160a01b0316610713565b6102176004803603602081101561037f57600080fd5b50356001600160a01b031661072e565b610397610749565b604080516001600160a01b039092168252519081900360200190f35b61015a610773565b61024f600480360360408110156103d157600080fd5b506001600160a01b038135169060200135610791565b6101fb600480360360408110156103fd57600080fd5b506001600160a01b0381351690602001356107a3565b6101fb6004803603604081101561042957600080fd5b506001600160a01b0381351690602001356107f8565b61024f6004803603606081101561045557600080fd5b506001600160a01b0381358116916020810135909116906040013561080e565b61024f6004803603606081101561048b57600080fd5b506001600160a01b038135811691602081013582169160409091013516610816565b61024f600480360360e08110156104c357600080fd5b506001600160a01b03813581169160208101359091169060408101359060608101359060ff6080820135169060a08101359060c0013561092d565b6102176004803603604081101561051457600080fd5b506001600160a01b0381358116916020013516610b22565b610217610b4d565b60408051808201909152600f81526e2d2aa9a21029ba30b13632b1b7b4b760891b60208201525b90565b600061056b338484610ba2565b50600192915050565b7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c990565b6105a0610749565b6001600160a01b0316336001600160a01b0316146105ff576040805162461bcd60e51b815260206004820152601760248201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604482015290519081900360640190fd5b61060881610c24565b50565b60335490565b610619610cd9565b610624838383610d39565b505050565b600061063483610e1b565b61063f848484610d39565b61069784336106928560405180606001604052806028815260200161161a602891396001600160a01b038a166000908152603a60209081526040808320338452909152902054919063ffffffff610e7716565b610ba2565b5060019392505050565b601290565b336000818152603a602090815260408083206001600160a01b0387168452909152812054909161056b918590610692908663ffffffff610f0e16565b6106ea610f6f565b6106f48282610fb8565b5050565b6040805180820190915260018152603160f81b602082015290565b6001600160a01b031660009081526039602052604090205490565b6001600160a01b031660009081526038602052604090205490565b604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205490565b604080518082019091526004815263169554d160e21b602082015290565b61079961104d565b6106f482826110c0565b600061056b3384610692856040518060600160405280602581526020016116eb60259139336000908152603a602090815260408083206001600160a01b038d168452909152902054919063ffffffff610e7716565b600061080383610e1b565b61056b338484610d39565b610619611175565b600054610100900460ff168061082f575061082f6111be565b8061083d575060005460ff16155b6108785760405162461bcd60e51b815260040180806020018281038252602e815260200180611642602e913960400191505060405180910390fd5b600054610100900460ff161580156108a3576000805460ff1961ff0019909116610100171660011790555b6108ab610749565b6001600160a01b0316336001600160a01b03161461090a576040805162461bcd60e51b815260206004820152601760248201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604482015290519081900360640190fd5b6109158484846111c4565b8015610927576000805461ff00191690555b50505050565b4284101561097b576040805162461bcd60e51b81526020600482015260166024820152755a5553443a206578706972656420646561646c696e6560501b604482015290519081900360640190fd5b6000610985610b4d565b6001600160a01b03808a1660008181526038602090815260408083208054600180820190925582517f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98186015280840196909652958e166060860152608085018d905260a085019590955260c08085018c90528151808603909101815260e08501825280519083012061190160f01b6101008601526101028501969096526101228085019690965280518085039096018652610142840180825286519683019690962095839052610162840180825286905260ff8a166101828501526101a284018990526101c284018890525194955090936101e280840193601f198301929081900390910190855afa158015610aa0573d6000803e3d6000fd5b505050602060405103519050886001600160a01b0316816001600160a01b031614610b0c576040805162461bcd60e51b81526020600482015260176024820152765a5553443a20696e76616c6964207369676e617475726560481b604482015290519081900360640190fd5b610b17898989610ba2565b505050505050505050565b6001600160a01b039182166000908152603a6020908152604080832093909416825291909152205490565b6000603554610b5a611398565b1415610b69575060345461055b565b610b9b7f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60001b60365460375461139c565b905061055b565b6001600160a01b038316610bb257fe5b6001600160a01b038216610bc257fe5b6001600160a01b038084166000818152603a6020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b038116610c695760405162461bcd60e51b81526004018080602001828103825260228152602001806115a46022913960400191505060405180910390fd5b806001600160a01b0316610c7b610749565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3604080517035b2bc9737bbb730b136329737bbb732b960791b8152905190819003601101902055565b603b546001600160a01b0316331480610cfc5750603c546001600160a01b031633145b610d375760405162461bcd60e51b81526004018080602001828103825260368152602001806116b56036913960400191505060405180910390fd5b565b6001600160a01b038316610d4957fe5b6001600160a01b038216610d5957fe5b610d9c81604051806060016040528060268152602001611531602691396001600160a01b038616600090815260396020526040902054919063ffffffff610e7716565b6001600160a01b038085166000908152603960205260408082209390935590841681522054610dd1908263ffffffff610f0e16565b6001600160a01b03808416600081815260396020908152604091829020949094558051858152905191939287169260008051602061169583398151915292918290030190a3505050565b6001600160a01b03811615801590610e3c57506001600160a01b0381163014155b6106085760405162461bcd60e51b81526004018080602001828103825260548152602001806115c66054913960600191505060405180910390fd5b60008184841115610f065760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610ecb578181015183820152602001610eb3565b50505050905090810190601f168015610ef85780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b600082820183811015610f68576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b603d546001600160a01b03163314610d375760405162461bcd60e51b815260040180806020018281038252602b815260200180611506602b913960400191505060405180910390fd5b6001600160a01b038216610fc857fe5b603354610fdb908263ffffffff610f0e16565b6033556001600160a01b038216600090815260396020526040902054611007908263ffffffff610f0e16565b6001600160a01b03831660008181526039602090815260408083209490945583518581529351929391926000805160206116958339815191529281900390910190a35050565b603d546001600160a01b03163314806110705750603b546001600160a01b031633145b806110855750603c546001600160a01b031633145b610d375760405162461bcd60e51b815260040180806020018281038252604d815260200180611557604d913960600191505060405180910390fd5b6001600160a01b0382166110d057fe5b611113816040518060600160405280602281526020016114e4602291396001600160a01b038516600090815260396020526040902054919063ffffffff610e7716565b6001600160a01b03831660009081526039602052604090205560335461113f908263ffffffff6113f216565b6033556040805182815290516000916001600160a01b038516916000805160206116958339815191529181900360200190a35050565b603c546001600160a01b03163314610d375760405162461bcd60e51b81526004018080602001828103825260258152602001806116706025913960400191505060405180910390fd5b303b1590565b6111cd83611434565b6111d682611434565b6111df81611434565b603b80546001600160a01b0385166001600160a01b0319909116811790915560408051918252517f143219c9e69b09e07e095fcc889b43d8f46ca892bba65f08dc3a0050869a56789181900360200190a1603c80546001600160a01b0384166001600160a01b0319909116811790915560408051918252517f82966d27eea39b038ee0fa30cd16532bb24f6e65d31cb58fb227aa5766cdcc7f9181900360200190a1603d80546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f3ca631ffcd2a9b5d9ae18543fc82f58eb4ca33af9e6ab01b7a8e95331e6ed9859181900360200190a1604080518082018252600f81526e2d2aa9a21029ba30b13632b1b7b4b760891b602091820152815180830190925260018252603160f81b9101527fd28848e7c3cbededd42b8bfb722b93a1d091c2e7280388a67bb55fc505b758eb60368190557fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc66037819055611360611398565b60355561138e7f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f838361139c565b6034555050505050565b4690565b60008383836113a9611398565b6040805160208082019690965280820194909452606084019290925260808301523060a0808401919091528151808403909101815260c090920190528051910120949350505050565b6000610f6883836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610e77565b6001600160a01b03811661148f576040805162461bcd60e51b815260206004820152601e60248201527f4163636f756e742063616e6e6f74206265207a65726f20616464726573730000604482015290519081900360640190fd5b803b806106f4576040805162461bcd60e51b815260206004820181905260248201527f4163636f756e7420636f64652073697a652063616e6e6f74206265207a65726f604482015290519081900360640190fdfe45524332303a206275726e20616d6f756e7420657863656564732062616c616e63655a555344546f6b656e3a2043616c6c6572206973206e6f7420426f72726f7765724f7065726174696f6e7345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e63655a5553443a2043616c6c6572206973206e65697468657220426f72726f7765724f7065726174696f6e73206e6f722054726f76654d616e61676572206e6f722053746162696c697479506f6f6c4f776e61626c653a3a7365744f776e65723a20696e76616c696420616464726573735a5553443a2043616e6e6f74207472616e7366657220746f6b656e73206469726563746c7920746f20746865205a55534420746f6b656e20636f6e7472616374206f7220746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365436f6e747261637420696e7374616e63652068617320616c7265616479206265656e20696e697469616c697a65645a5553443a2043616c6c6572206973206e6f74207468652053746162696c697479506f6f6cddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef5a5553443a2043616c6c6572206973206e6569746865722054726f76654d616e61676572206e6f722053746162696c697479506f6f6c45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220f50801aa88b31fd77d008212bfb89f94e9589a1713a72c6a58c4d6412ee8a87f64736f6c634300060b00334f776e61626c653a3a7365744f776e65723a20696e76616c69642061646472657373608060405234801561001057600080fd5b50610023336001600160e01b0361002816565b610110565b6001600160a01b03811661006d5760405162461bcd60e51b8152600401808060200182810382526022815260200180610d786022913960400191505060405180910390fd5b6001600160a01b0381166100886001600160e01b036100e616565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3604080517035b2bc9737bbb730b136329737bbb732b960791b8152905190819003601101902055565b604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205490565b610c598061011f6000396000f3fe6080604052600436106100a05760003560e01c8063893d20e811610064578063893d20e8146101d55780639b56d6c9146101ea578063a3f4df7e1461021d578063b08bc722146102a7578063b32beb5b146102bc578063b7f8cf9b146102ef576100c5565b806313af4035146100ca57806314f6c3be146100ff578063363bf964146101265780633f10abab1461016b5780635a4d28bb146101a4576100c5565b366100c5576100ad610304565b6003546100c0903463ffffffff61034f16565b600355005b600080fd5b3480156100d657600080fd5b506100fd600480360360208110156100ed57600080fd5b50356001600160a01b03166103b0565b005b34801561010b57600080fd5b50610114610423565b60408051918252519081900360200190f35b34801561013257600080fd5b506100fd6004803603606081101561014957600080fd5b506001600160a01b038135811691602081013582169160409091013516610429565b34801561017757600080fd5b506100fd6004803603604081101561018e57600080fd5b506001600160a01b038135169060200135610595565b3480156101b057600080fd5b506101b9610621565b604080516001600160a01b039092168252519081900360200190f35b3480156101e157600080fd5b506101b9610630565b3480156101f657600080fd5b506101146004803603602081101561020d57600080fd5b50356001600160a01b031661065a565b34801561022957600080fd5b50610232610675565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561026c578181015183820152602001610254565b50505050905090810190601f1680156102995780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156102b357600080fd5b506101b96106a0565b3480156102c857600080fd5b506100fd600480360360208110156102df57600080fd5b50356001600160a01b03166106af565b3480156102fb57600080fd5b506101b9610849565b6002546001600160a01b0316331461034d5760405162461bcd60e51b815260040180806020018281038252602a815260200180610b58602a913960400191505060405180910390fd5b565b6000828201838110156103a9576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b6103b8610630565b6001600160a01b0316336001600160a01b031614610417576040805162461bcd60e51b815260206004820152601760248201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604482015290519081900360640190fd5b61042081610858565b50565b60035490565b610431610630565b6001600160a01b0316336001600160a01b031614610490576040805162461bcd60e51b815260206004820152601760248201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604482015290519081900360640190fd5b6104998361090d565b6104a28261090d565b6104ab8161090d565b600080546001600160a01b038086166001600160a01b0319928316811790935560018054868316908416179055600280549185169190921617905560408051918252517f3ca631ffcd2a9b5d9ae18543fc82f58eb4ca33af9e6ab01b7a8e95331e6ed9859181900360200190a1604080516001600160a01b038416815290517f143219c9e69b09e07e095fcc889b43d8f46ca892bba65f08dc3a0050869a56789181900360200190a1604080516001600160a01b038316815290517f78f058b189175430c48dc02699e3a0031ea4ff781536dc2fab847de4babdd8829181900360200190a1505050565b61059d6109c0565b6001600160a01b0382166000908152600460205260408120546105c6908363ffffffff61034f16565b6001600160a01b0384166000818152600460209081526040918290208490558151848152915193945091927ff0393a34d05e6567686ad4e097f9d9d2781565957394f1f0d984e5d8e6378f20929181900390910190a2505050565b6001546001600160a01b031681565b604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205490565b6001600160a01b031660009081526004602052604090205490565b6040518060400160405280600f81526020016e10dbdb1b14dd5c9c1b1d5cd41bdbdb608a1b81525081565b6002546001600160a01b031681565b6106b7610a09565b6001600160a01b0381166000908152600460205260409020548061070c5760405162461bcd60e51b8152600401808060200182810382526031815260200180610b276031913960400191505060405180910390fd5b6001600160a01b03821660008181526004602090815260408083208390558051928352517ff0393a34d05e6567686ad4e097f9d9d2781565957394f1f0d984e5d8e6378f209281900390910190a260035461076d908263ffffffff610a5216565b600355604080516001600160a01b03841681526020810183905281517f6109e2559dfa766aaec7118351d48a523f0a4157f49c8d68749c8ac41318ad12929181900390910190a16040516000906001600160a01b0384169083908381818185875af1925050503d80600081146107ff576040519150601f19603f3d011682016040523d82523d6000602084013e610804565b606091505b50509050806108445760405162461bcd60e51b8152600401808060200182810382526023815260200180610ba46023913960400191505060405180910390fd5b505050565b6000546001600160a01b031681565b6001600160a01b03811661089d5760405162461bcd60e51b8152600401808060200182810382526022815260200180610b826022913960400191505060405180910390fd5b806001600160a01b03166108af610630565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3604080517035b2bc9737bbb730b136329737bbb732b960791b8152905190819003601101902055565b6001600160a01b038116610968576040805162461bcd60e51b815260206004820152601e60248201527f4163636f756e742063616e6e6f74206265207a65726f20616464726573730000604482015290519081900360640190fd5b803b806109bc576040805162461bcd60e51b815260206004820181905260248201527f4163636f756e7420636f64652073697a652063616e6e6f74206265207a65726f604482015290519081900360640190fd5b5050565b6001546001600160a01b0316331461034d5760405162461bcd60e51b815260040180806020018281038252602b815260200180610bf9602b913960400191505060405180910390fd5b6000546001600160a01b0316331461034d5760405162461bcd60e51b8152600401808060200182810382526032815260200180610bc76032913960400191505060405180910390fd5b60006103a983836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525060008184841115610b1e5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610ae3578181015183820152602001610acb565b50505050905090810190601f168015610b105780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50505090039056fe436f6c6c537572706c7573506f6f6c3a204e6f20636f6c6c61746572616c20617661696c61626c6520746f20636c61696d436f6c6c537572706c7573506f6f6c3a2043616c6c6572206973206e6f742041637469766520506f6f6c4f776e61626c653a3a7365744f776e65723a20696e76616c69642061646472657373436f6c6c537572706c7573506f6f6c3a2073656e64696e6720455448206661696c6564436f6c6c537572706c7573506f6f6c3a2043616c6c6572206973206e6f7420426f72726f776572204f7065726174696f6e73436f6c6c537572706c7573506f6f6c3a2043616c6c6572206973206e6f742054726f76654d616e61676572a2646970667358221220ec19e79dbe7180a98cb7d6212d7b49be2e6c8b1fa1ef966e63158e1190ee1e1e64736f6c634300060b00334f776e61626c653a3a7365744f776e65723a20696e76616c696420616464726573736080604052680ad78ebc5ac620000060005534801561001d57600080fd5b5061010e8061002d6000396000f3fe6080604052348015600f57600080fd5b5060043610603c5760003560e01c80630fdb11cf14604157806391b7f5ed14605957806398d5fdca146087575b600080fd5b6047608d565b60408051918252519081900360200190f35b607360048036036020811015606d57600080fd5b503560ca565b604080519115158252519081900360200190f35b604760d2565b6000805460408051918252517f4d29de21de555af78a62fc82dd4bc05e9ae5b0660a37f04729527e0f22780cd39181900360200190a15060005490565b600055600190565b6000549056fea2646970667358221220164ba700becaab6addb0063cb07fd2e3060ebb0990f72b63246d2dc261ecdc9364736f6c634300060b0033608060405234801561001057600080fd5b50610023336001600160e01b0361002816565b610110565b6001600160a01b03811661006d5760405162461bcd60e51b8152600401808060200182810382526022815260200180611b186022913960400191505060405180910390fd5b6001600160a01b0381166100886001600160e01b036100e616565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3604080517035b2bc9737bbb730b136329737bbb732b960791b8152905190819003601101902055565b604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205490565b6119f98061011f6000396000f3fe608060405234801561001057600080fd5b50600436106101375760003560e01c806363e1d57c116100b8578063a3f4df7e1161007c578063a3f4df7e14610388578063b72703ac14610405578063b7f8cf9b1461042b578063babd3d9a14610433578063de8fa4311461043b578063f376d7981461044357610137565b806363e1d57c146102fe578063681fe70c1461031857806373d4a13a14610320578063765e01591461035a578063893d20e81461038057610137565b80633fce12d5116100ff5780633fce12d5146101f2578063416980dc1461023a57806346f7cf87146102945780634d622831146102d05780635dbe47e8146102d857610137565b806313af40351461013c5780631e2231431461016457806329092d0e146101885780632be21260146101ae5780633d83908a146101ea575b600080fd5b6101626004803603602081101561015257600080fd5b50356001600160a01b0316610477565b005b61016c6104ea565b604080516001600160a01b039092168252519081900360200190f35b6101626004803603602081101561019e57600080fd5b50356001600160a01b03166104f9565b610162600480360360808110156101c457600080fd5b506001600160a01b0381358116916020810135916040820135811691606001351661050a565b61016c6105bf565b6102266004803603606081101561020857600080fd5b508035906001600160a01b03602082013581169160400135166105ce565b604080519115158252519081900360200190f35b61026e6004803603606081101561025057600080fd5b508035906001600160a01b03602082013581169160400135166105f1565b604080516001600160a01b03938416815291909216602082015281519081900390910190f35b610162600480360360808110156102aa57600080fd5b506001600160a01b0381358116916020810135916040820135811691606001351661061b565b61016c610630565b610226600480360360208110156102ee57600080fd5b50356001600160a01b031661063f565b61030661065d565b60408051918252519081900360200190f35b610226610663565b61032861066a565b604080516001600160a01b03958616815293909416602084015282840191909152606082015290519081900360800190f35b61016c6004803603602081101561037057600080fd5b50356001600160a01b0316610689565b61016c6106ac565b6103906106d6565b6040805160208082528351818301528351919283929083019185019080838360005b838110156103ca5781810151838201526020016103b2565b50505050905090810190601f1680156103f75780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61016c6004803603602081101561041b57600080fd5b50356001600160a01b03166106fe565b61016c61071f565b61022661072e565b610306610738565b6101626004803603606081101561045957600080fd5b508035906001600160a01b036020820135811691604001351661073e565b61047f6106ac565b6001600160a01b0316336001600160a01b0316146104de576040805162461bcd60e51b815260206004820152601760248201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604482015290519081900360640190fd5b6104e78161089c565b50565b6002546001600160a01b031690565b610501610951565b6104e78161099c565b6001546001600160a01b031661051f81610bd0565b6105288561063f565b6105635760405162461bcd60e51b815260040180806020018281038252602a8152602001806118da602a913960400191505060405180910390fd5b600084116105a25760405162461bcd60e51b81526004018080602001828103825260238152602001806119a16023913960400191505060405180910390fd5b6105ab8561099c565b6105b88186868686610c2c565b5050505050565b6001546001600160a01b031681565b6001546000906105e9906001600160a01b0316858585610fb0565b949350505050565b600154600090819061060e906001600160a01b0316868686611257565b915091505b935093915050565b6001546001600160a01b03166105ab81610bd0565b6003546001600160a01b031690565b6001600160a01b031660009081526006602052604090205460ff1690565b60045490565b6005541590565b6002546003546004546005546001600160a01b03938416939092169184565b6001600160a01b0390811660009081526006602052604090205461010090041690565b604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205490565b6040518060400160405280600c81526020016b536f7274656454726f76657360a01b81525081565b6001600160a01b039081166000908152600660205260409020600101541690565b6000546001600160a01b031681565b6004546005541490565b60055490565b6107466106ac565b6001600160a01b0316336001600160a01b0316146107a5576040805162461bcd60e51b815260206004820152601760248201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604482015290519081900360640190fd5b600083116107e45760405162461bcd60e51b81526004018080602001828103825260228152602001806119046022913960400191505060405180910390fd5b6107ed82611444565b6107f681611444565b6004839055600180546001600160a01b038085166001600160a01b03199283168117909355600080549185169190921617905560408051918252517f143219c9e69b09e07e095fcc889b43d8f46ca892bba65f08dc3a0050869a56789181900360200190a1604080516001600160a01b038316815290517f3ca631ffcd2a9b5d9ae18543fc82f58eb4ca33af9e6ab01b7a8e95331e6ed9859181900360200190a1505050565b6001600160a01b0381166108e15760405162461bcd60e51b81526004018080602001828103825260228152602001806119526022913960400191505060405180910390fd5b806001600160a01b03166108f36106ac565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3604080517035b2bc9737bbb730b136329737bbb732b960791b8152905190819003601101902055565b6001546001600160a01b0316331461099a5760405162461bcd60e51b815260040180806020018281038252602c815260200180611926602c913960400191505060405180910390fd5b565b6109a58161063f565b6109e05760405162461bcd60e51b815260040180806020018281038252602a8152602001806118da602a913960400191505060405180910390fd5b60055460011015610b26576002546001600160a01b0382811691161415610a4f576001600160a01b03818116600090815260066020526040808220546002805461010090920485166001600160a01b031992831617908190559093168252902060010180549091169055610b21565b6003546001600160a01b0382811691161415610ab6576001600160a01b0380821660009081526006602052604080822060010154600380546001600160a01b03191691851691909117908190559092168152208054610100600160a81b0319169055610b21565b6001600160a01b038082166000908152600660205260408082208054600180830180548716865284862080546101009485900489168502610100600160a81b03199091161790555492549190910485168452919092200180546001600160a01b031916919092161790555b610b43565b600280546001600160a01b03199081169091556003805490911690555b6001600160a01b038116600090815260066020526040902080546001600160a81b0319168155600190810180546001600160a01b0319169055600554610b8e9163ffffffff6114f716565b600555604080516001600160a01b038316815290517fcfc24166db4bb677e857cacabd1541fb2b30645021b27c5130419589b84db52b9181900360200190a150565b6000546001600160a01b0316331480610bf15750336001600160a01b038216145b6104e75760405162461bcd60e51b815260040180806020018281038252602d815260200180611974602d913960400191505060405180910390fd5b610c3461072e565b15610c86576040805162461bcd60e51b815260206004820152601a60248201527f536f7274656454726f7665733a204c6973742069732066756c6c000000000000604482015290519081900360640190fd5b610c8f8461063f565b15610ccb5760405162461bcd60e51b815260040180806020018281038252602c8152602001806118ae602c913960400191505060405180910390fd5b6001600160a01b038416610d26576040805162461bcd60e51b815260206004820152601f60248201527f536f7274656454726f7665733a2049642063616e6e6f74206265207a65726f00604482015290519081900360640190fd5b60008311610d655760405162461bcd60e51b81526004018080602001828103825260238152602001806119a16023913960400191505060405180910390fd5b8181610d7387868484610fb0565b610d8957610d8387868484611257565b90925090505b6001600160a01b038087166000908152600660205260409020805460ff191660011790558216158015610dc357506001600160a01b038116155b15610df857600280546001600160a01b0388166001600160a01b03199182168117909255600380549091169091179055610f4c565b6001600160a01b038216610e6c57600280546001600160a01b03888116600081815260066020526040808220805495851661010002610100600160a81b0319909616959095179094558454909216825291902060010180546001600160a01b03199081168317909155825416179055610f4c565b6001600160a01b038116610edc57600380546001600160a01b0388811660008181526006602052604080822060010180549585166001600160a01b031996871617905585549093168152919091208054610100600160a81b03191661010083021790558254909116179055610f4c565b6001600160a01b038087166000818152600660205260408082208054858716610100818102610100600160a81b031993841617845560019384018054988b166001600160a01b0319998a168117909155865284862080549188029190931617909155835291200180549092161790555b600554610f6090600163ffffffff61154016565b600555604080516001600160a01b03881681526020810187905281517fe02b43adbee0c123de070a04554a71877a0007e2fc161466299cae3c094fe82f929181900390910190a150505050505050565b60006001600160a01b038316158015610fd057506001600160a01b038216155b15610fe457610fdd610663565b90506105e9565b6001600160a01b038316611096576002546001600160a01b038381169116148015610fdd5750846001600160a01b031663b0d8e181836040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b15801561106057600080fd5b505afa158015611074573d6000803e3d6000fd5b505050506040513d602081101561108a57600080fd5b505184101590506105e9565b6001600160a01b038216611148576003546001600160a01b038481169116148015610fdd5750846001600160a01b031663b0d8e181846040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b15801561111257600080fd5b505afa158015611126573d6000803e3d6000fd5b505050506040513d602081101561113c57600080fd5b505184111590506105e9565b6001600160a01b03838116600090815260066020526040902054610100900481169083161480156111fa575083856001600160a01b031663b0d8e181856040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b1580156111cb57600080fd5b505afa1580156111df573d6000803e3d6000fd5b505050506040513d60208110156111f557600080fd5b505110155b8015610fdd5750846001600160a01b031663b0d8e181836040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b15801561106057600080fd5b60008083836001600160a01b0382161561130a576112748261063f565b15806113005750876001600160a01b031663b0d8e181836040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b1580156112d157600080fd5b505afa1580156112e5573d6000803e3d6000fd5b505050506040513d60208110156112fb57600080fd5b505187115b1561130a57600091505b6001600160a01b038116156113b7576113228161063f565b15806113ae5750876001600160a01b031663b0d8e181826040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b15801561137f57600080fd5b505afa158015611393573d6000803e3d6000fd5b505050506040513d60208110156113a957600080fd5b505187105b156113b7575060005b6001600160a01b0382161580156113d557506001600160a01b038116155b156113fe576002546113f390899089906001600160a01b031661159a565b93509350505061143b565b6001600160a01b038216611417576113f38888836116db565b6001600160a01b038116611430576113f388888461159a565b6113f388888461159a565b94509492505050565b6001600160a01b03811661149f576040805162461bcd60e51b815260206004820152601e60248201527f4163636f756e742063616e6e6f74206265207a65726f20616464726573730000604482015290519081900360640190fd5b803b806114f3576040805162461bcd60e51b815260206004820181905260248201527f4163636f756e7420636f64652073697a652063616e6e6f74206265207a65726f604482015290519081900360640190fd5b5050565b600061153983836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611816565b9392505050565b600082820183811015611539576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b60025460009081906001600160a01b03848116911614801561163d5750846001600160a01b031663b0d8e181846040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b15801561160d57600080fd5b505afa158015611621573d6000803e3d6000fd5b505050506040513d602081101561163757600080fd5b50518410155b1561164d57506000905081610613565b6001600160a01b038084166000908152600660205260409020548491610100909104165b6001600160a01b03821615801590611692575061169087878484610fb0565b155b156116cf57506001600160a01b03908116600090815260066020526040808220546101009081900484168084529190922054909291900416611671565b90969095509350505050565b60035460009081906001600160a01b03848116911614801561177e5750846001600160a01b031663b0d8e181846040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b15801561174e57600080fd5b505afa158015611762573d6000803e3d6000fd5b505050506040513d602081101561177857600080fd5b50518411155b1561178e57508190506000610613565b6001600160a01b038084166000908152600660205260409020600101548491165b6001600160a01b038216158015906117d057506117ce87878385610fb0565b155b1561180b57506001600160a01b03908116600090815260066020526040808220600190810154841680845291909220909101549091166117af565b969095509350505050565b600081848411156118a55760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561186a578181015183820152602001611852565b50505050905090810190601f1680156118975780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50505090039056fe536f7274656454726f7665733a204c69737420616c726561647920636f6e7461696e7320746865206e6f6465536f7274656454726f7665733a204c69737420646f6573206e6f7420636f6e7461696e20746865206964536f7274656454726f7665733a2053697a652063616ee2809974206265207a65726f536f7274656454726f7665733a2043616c6c6572206973206e6f74207468652054726f76654d616e616765724f776e61626c653a3a7365744f776e65723a20696e76616c69642061646472657373536f7274656454726f7665733a2043616c6c6572206973206e65697468657220424f206e6f722054726f76654d536f7274656454726f7665733a204e494352206d75737420626520706f736974697665a264697066735822122032b466fa1ae0f54c795858e19523f6f623b02846824d1e4a37750d801b21599064736f6c634300060b00334f776e61626c653a3a7365744f776e65723a20696e76616c69642061646472657373608060405234801561001057600080fd5b50604051610e35380380610e358339818101604052608081101561003357600080fd5b50805160208201516040830151606090930151600080546001600160a01b039485166001600160a01b0319918216179091556001805493851693821693909317909255600280549484169483169490941790935560038054929093169116179055610d92806100a36000396000f3fe6080604052600436106100ed5760003560e01c8063650b559c11610085578063650b559c1461034857806372d76c87146103985780637bbb0f5e146103d9578063911347311461041a578063cc51a6c21461045c578063cf83544f14610495578063d466e4eb146104ce578063d94bcec214610507578063f47a1ea71461054a576100f4565b806332e859b9146100f95780633332b3281461012f57806335b1017914610178578063390b5f27146101d35780634903a3dd146102205780634afbac51146102355780634c36240b146102b25780634d37261f146102eb578063641b09b61461031e576100f4565b366100f457005b600080fd5b61012d6004803603606081101561010f57600080fd5b508035906001600160a01b0360208201358116916040013516610574565b005b34801561013b57600080fd5b5061012d6004803603608081101561015257600080fd5b508035906001600160a01b036020820135811691604081013590911690606001356105eb565b34801561018457600080fd5b5061012d600480360360e081101561019b57600080fd5b508035906001600160a01b03602082013581169160408101358216916060820135169060808101359060a08101359060c0013561064f565b3480156101df57600080fd5b5061020c600480360360408110156101f657600080fd5b506001600160a01b0381351690602001356106e7565b604080519115158252519081900360200190f35b34801561022c57600080fd5b5061012d610773565b34801561024157600080fd5b5061012d6004803603602081101561025857600080fd5b81019060208101813564010000000081111561027357600080fd5b82018360208201111561028557600080fd5b803590602001918460208302840111640100000000831117156102a757600080fd5b5090925090506107dd565b3480156102be57600080fd5b5061012d600480360360408110156102d557600080fd5b50803590602001356001600160a01b0316610876565b3480156102f757600080fd5b5061012d6004803603602081101561030e57600080fd5b50356001600160a01b03166108cb565b34801561032a57600080fd5b5061012d6004803603602081101561034157600080fd5b5035610931565b61012d600480360360e081101561035e57600080fd5b5080359060208101359060408101359060608101351515906001600160a01b03608082013581169160a08101359091169060c0013561097e565b3480156103a457600080fd5b5061012d600480360360608110156103bb57600080fd5b508035906001600160a01b0360208201358116916040013516610a16565b3480156103e557600080fd5b5061012d600480360360608110156103fc57600080fd5b508035906001600160a01b0360208201358116916040013516610a90565b61012d600480360360a081101561043057600080fd5b508035906020810135906001600160a01b03604082013581169160608101359091169060800135610aed565b34801561046857600080fd5b5061020c6004803603604081101561047f57600080fd5b506001600160a01b038135169060200135610b74565b3480156104a157600080fd5b5061020c600480360360408110156104b857600080fd5b506001600160a01b038135169060200135610bcd565b3480156104da57600080fd5b5061020c600480360360408110156104f157600080fd5b506001600160a01b038135169060200135610c26565b34801561051357600080fd5b5061020c6004803603606081101561052a57600080fd5b506001600160a01b03813581169160208101359091169060400135610c7f565b34801561055657600080fd5b5061012d6004803603602081101561056d57600080fd5b5035610d14565b600154604080516368647db160e01b81526001600160a01b0385811660048301528481166024830152915191909216916368647db191869160448082019260009290919082900301818588803b1580156105cd57600080fd5b505af11580156105e1573d6000803e3d6000fd5b5050505050505050565b600154604080516303752b4b60e51b815260048101849052602481018790526001600160a01b038681166044830152858116606483015291519190921691636ea5696091608480830192600092919082900301818387803b1580156105cd57600080fd5b6000805460408051635e69ba9360e11b8152600481018b90526001600160a01b038a81166024830152898116604483015288811660648301526084820188905260a4820187905260c482018690529151919092169263bcd375269260e4808201939182900301818387803b1580156106c657600080fd5b505af11580156106da573d6000803e3d6000fd5b5050505050505050505050565b6003546040805163a9059cbb60e01b81526001600160a01b038581166004830152602482018590529151600093929092169163a9059cbb9160448082019260209290919082900301818787803b15801561074057600080fd5b505af1158015610754573d6000803e3d6000fd5b505050506040513d602081101561076a57600080fd5b50519392505050565b600160009054906101000a90046001600160a01b03166001600160a01b0316630e704d506040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156107c357600080fd5b505af11580156107d7573d6000803e3d6000fd5b50505050565b600054604051631e8b1c2b60e01b8152602060048201818152602483018590526001600160a01b0390931692631e8b1c2b92869286929182916044909101908590850280828437600081840152601f19601f8201169050808301925050509350505050600060405180830381600087803b15801561085a57600080fd5b505af115801561086e573d6000803e3d6000fd5b505050505050565b60025460408051635f788d6560e01b8152600481018590526001600160a01b03848116602483015291519190921691635f788d6591604480830192600092919082900301818387803b15801561085a57600080fd5b60008054604080516305f0caad60e31b81526001600160a01b03858116600483015291519190921692632f865568926024808201939182900301818387803b15801561091657600080fd5b505af115801561092a573d6000803e3d6000fd5b5050505050565b60025460408051632e54bf9560e01b81526004810184905290516001600160a01b0390921691632e54bf959160248082019260009290919082900301818387803b15801561091657600080fd5b60015460408051630635367960e51b815260048101849052602481018990526044810188905286151560648201526001600160a01b03868116608483015285811660a48301529151919092169163c6a6cf20918a9160c48082019260009290919082900301818588803b1580156109f457600080fd5b505af1158015610a08573d6000803e3d6000fd5b505050505050505050505050565b6001546040805163afbc74b560e01b8152600481018690526001600160a01b03858116602483015284811660448301529151919092169163afbc74b591606480830192600092919082900301818387803b158015610a7357600080fd5b505af1158015610a87573d6000803e3d6000fd5b50505050505050565b6001546040805163154c09cf60e21b8152600481018690526001600160a01b038581166024830152848116604483015291519190921691635530273c91606480830192600092919082900301818387803b158015610a7357600080fd5b6001546040805163860665b360e01b815260048101849052602481018790526001600160a01b03868116604483015285811660648301529151919092169163860665b391889160848082019260009290919082900301818588803b158015610b5457600080fd5b505af1158015610b68573d6000803e3d6000fd5b50505050505050505050565b60035460408051633950935160e01b81526001600160a01b038581166004830152602482018590529151600093929092169163395093519160448082019260209290919082900301818787803b15801561074057600080fd5b6003546040805163095ea7b360e01b81526001600160a01b038581166004830152602482018590529151600093929092169163095ea7b39160448082019260209290919082900301818787803b15801561074057600080fd5b6003546040805163a457c2d760e01b81526001600160a01b038581166004830152602482018590529151600093929092169163a457c2d79160448082019260209290919082900301818787803b15801561074057600080fd5b600354604080516323b872dd60e01b81526001600160a01b038681166004830152858116602483015260448201859052915160009392909216916323b872dd9160648082019260209290919082900301818787803b158015610ce057600080fd5b505af1158015610cf4573d6000803e3d6000fd5b505050506040513d6020811015610d0a57600080fd5b5051949350505050565b600080546040805163653d46e760e01b81526004810185905290516001600160a01b039092169263653d46e79260248084019382900301818387803b15801561091657600080fdfea264697066735822122012ac4d1a12df541b01c9dac4edc3b532ed9e20c4b17857d25541d24b0c54a5fb64736f6c634300060b0033", + "deployedBytecode": "0x60806040526004361061023b5760003560e01c80637ca8b0281161012e578063ba5a851f116100ab578063e44891271161006f578063e4489127146105ea578063ec9f7d461461060a578063efa83cf91461061f578063f2a903a714610632578063fa08b038146106475761023b565b8063ba5a851f14610562578063baf5d65f14610582578063c325347f146105a2578063cda775f9146105c2578063d21af968146105d75761023b565b80639cdd0978116100f25780639cdd0978146104e35780639f070670146105035780639f56ac1814610518578063a2f5cbdd1461052d578063a3d36834146105425761023b565b80637ca8b028146104595780637f7dde4a146104795780638e4707d31461048e57806391a4a426146104ae578063980c55d7146104ce5761023b565b80634e792a30116101bc57806359bed84b1161018057806359bed84b146103e757806369690936146103fc578063716c47e61461040f57806377553ad4146104245780637c22900e146104395761023b565b80634e792a301461036c57806354e174d81461038c57806357285cc5146103ac5780635895ac4e146103bf578063597ec799146103d45761023b565b80633ca4afc1116102035780633ca4afc1146102e25780633cc74225146103025780633d83908a1461031757806340ba2e271461032c5780634557559f1461034c5761023b565b8063048c661d1461024057806304bbf59c1461026b578063119be5d0146102985780631c6fbd23146102b857806325df85a2146102cd575b600080fd5b34801561024c57600080fd5b5061025561065c565b6040516102629190612689565b60405180910390f35b34801561027757600080fd5b5061028b610286366004612358565b61066b565b6040516102629190612728565b3480156102a457600080fd5b5061028b6102b3366004612358565b61070d565b6102cb6102c63660046125c2565b610754565b005b3480156102d957600080fd5b5061028b61081e565b3480156102ee57600080fd5b506102cb6102fd366004612427565b610cac565b34801561030e57600080fd5b50610255610d2a565b34801561032357600080fd5b50610255610d39565b34801561033857600080fd5b506102cb6103473660046122b2565b610d48565b34801561035857600080fd5b506102cb6103673660046122b2565b610dc8565b34801561037857600080fd5b506102cb6103873660046122e2565b610e58565b34801561039857600080fd5b506102cb6103a736600461245f565b610ed3565b6102cb6103ba366004612406565b610f54565b3480156103cb57600080fd5b5061028b610ffc565b6102cb6103e236600461260e565b61109e565b3480156103f357600080fd5b5061028b61112b565b6102cb61040a36600461245f565b611408565b34801561041b57600080fd5b50610255611450565b34801561043057600080fd5b5061025561145f565b34801561044557600080fd5b5061028b610454366004612311565b61146e565b34801561046557600080fd5b506102cb6104743660046124a8565b611513565b34801561048557600080fd5b5061025561159f565b34801561049a57600080fd5b5061028b6104a9366004612358565b6115ae565b3480156104ba57600080fd5b506102556104c93660046122b2565b6115f5565b3480156104da57600080fd5b5061028b611612565b3480156104ef57600080fd5b5061028b6104fe366004612358565b6118fb565b34801561050f57600080fd5b50610255611942565b34801561052457600080fd5b5061028b611951565b34801561053957600080fd5b5061028b611974565b34801561054e57600080fd5b506102cb61055d36600461245f565b611989565b34801561056e57600080fd5b506102cb61057d36600461250e565b6119d1565b34801561058e57600080fd5b506102cb61059d366004612406565b611a1b565b3480156105ae57600080fd5b506102cb6105bd36600461238f565b611a5f565b3480156105ce57600080fd5b50610255611aa5565b6102cb6105e536600461255f565b611ab4565b3480156105f657600080fd5b506102cb610605366004612406565b611bfc565b34801561061657600080fd5b50610255611c40565b6102cb61062d36600461258a565b611c4f565b34801561063e57600080fd5b5061028b611c9b565b34801561065357600080fd5b50610255611f00565b6009546001600160a01b031681565b600080606485069050600f816064811061068157fe5b015460405163d466e4eb60e01b81526001600160a01b039091169063d466e4eb906106b290879087906004016126c1565b602060405180830381600087803b1580156106cc57600080fd5b505af11580156106e0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107049190612296565b50509392505050565b600080606485069050600f816064811061072357fe5b015460405163cf83544f60e01b81526001600160a01b039091169063cf83544f906106b290879087906004016126c1565b60006064860690506000600f826064811061076b57fe5b0154600080546001600160a01b03909216925082319161078e9083908a90611f0f565b90508585156107a7576107a48288600054611ffa565b90505b604051631942d56760e21b81526001600160a01b0385169063650b559c906107e09085908c9086908c90600090819081906004016128cd565b600060405180830381600087803b1580156107fa57600080fd5b505af115801561080e573d6000803e3d6000fd5b5050505050505050505050505050565b600080600c60009054906101000a90046001600160a01b03166001600160a01b03166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b15801561086f57600080fd5b505afa158015610883573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108a791906122ca565b600c54600a546040516370a0823160e01b81529293506000926001600160a01b03928316926370a08231926108e192911690600401612689565b60206040518083038186803b1580156108f957600080fd5b505afa15801561090d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061093191906122ca565b90506000600760009054906101000a90046001600160a01b03166001600160a01b0316633963e9806040518163ffffffff1660e01b815260040160206040518083038186803b15801561098357600080fd5b505afa158015610997573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109bb91906122ca565b90506000600860009054906101000a90046001600160a01b03166001600160a01b0316633963e9806040518163ffffffff1660e01b815260040160206040518083038186803b158015610a0d57600080fd5b505afa158015610a21573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a4591906122ca565b90508082018414610a5d576000945050505050610ca9565b60095460408051635ed79bf560e11b815290516000926001600160a01b03169163bdaf37ea916004808301926020929190829003018186803b158015610aa257600080fd5b505afa158015610ab6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ada91906122ca565b90506000600e60009054906101000a90046001600160a01b03166001600160a01b0316631e2231436040518163ffffffff1660e01b815260040160206040518083038186803b158015610b2c57600080fd5b505afa158015610b40573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b64919061227a565b905060005b6001600160a01b03821615610c8257600c546040516370a0823160e01b81526001600160a01b03909116906370a0823190610ba8908590600401612689565b60206040518083038186803b158015610bc057600080fd5b505afa158015610bd4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bf891906122ca565b600e5460405163765e015960e01b815291909201916001600160a01b03169063765e015990610c2b908590600401612689565b60206040518083038186803b158015610c4357600080fd5b505afa158015610c57573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c7b919061227a565b9150610b69565b85818401018711610c9d576000975050505050505050610ca9565b60019750505050505050505b90565b6000606484069050600f8160648110610cc157fe5b0154604051634c36240b60e01b81526001600160a01b0390911690634c36240b90610cf29086908690600401612807565b600060405180830381600087803b158015610d0c57600080fd5b505af1158015610d20573d6000803e3d6000fd5b5050505050505050565b6008546001600160a01b031681565b6005546001600160a01b031681565b6000606482069050600f8160648110610d5d57fe5b0160009054906101000a90046001600160a01b03166001600160a01b0316634903a3dd6040518163ffffffff1660e01b8152600401600060405180830381600087803b158015610dac57600080fd5b505af1158015610dc0573d6000803e3d6000fd5b505050505050565b600d546040516391b7f5ed60e01b81526000916001600160a01b0316906391b7f5ed90610df99085906004016127fe565b602060405180830381600087803b158015610e1357600080fd5b505af1158015610e27573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e4b9190612296565b905080610e5457fe5b5050565b6000606483069050600f8160648110610e6d57fe5b0154604051634d37261f60e01b81526001600160a01b0390911690634d37261f90610e9c908590600401612689565b600060405180830381600087803b158015610eb657600080fd5b505af1158015610eca573d6000803e3d6000fd5b50505050505050565b6000606485069050600f8160648110610ee857fe5b01546040516372d76c8760e01b81526001600160a01b03909116906372d76c8790610f1b9087908790879060040161281e565b600060405180830381600087803b158015610f3557600080fd5b505af1158015610f49573d6000803e3d6000fd5b505050505050505050565b60006064830690506000600f8260648110610f6b57fe5b0154600080546001600160a01b039092169250823191610f8e9083908790611f0f565b6040516332e859b960e01b81529091506001600160a01b038416906332e859b990610fc2908490600090819060040161281e565b600060405180830381600087803b158015610fdc57600080fd5b505af1158015610ff0573d6000803e3d6000fd5b50505050505050505050565b600080600d60009054906101000a90046001600160a01b03166001600160a01b03166398d5fdca6040518163ffffffff1660e01b815260040160206040518083038186803b15801561104d57600080fd5b505afa158015611061573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061108591906122ca565b905080611096576000915050610ca9565b600191505090565b6000606489069050600f81606481106110b357fe5b0154604051631942d56760e21b81526001600160a01b039091169063650b559c906110ee908b908b908b908b908b908b908b906004016128cd565b600060405180830381600087803b15801561110857600080fd5b505af115801561111c573d6000803e3d6000fd5b50505050505050505050505050565b600080600e60009054906101000a90046001600160a01b03166001600160a01b0316631e2231436040518163ffffffff1660e01b815260040160206040518083038186803b15801561117c57600080fd5b505afa158015611190573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111b4919061227a565b600e5460405163765e015960e01b81529192506000916001600160a01b039091169063765e0159906111ea908590600401612689565b60206040518083038186803b15801561120257600080fd5b505afa158015611216573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061123a919061227a565b90505b6001600160a01b0382161580159061125d57506001600160a01b03811615155b156113ff5760055460405163b0d8e18160e01b81526001600160a01b039091169063b0d8e18190611292908590600401612689565b60206040518083038186803b1580156112aa57600080fd5b505afa1580156112be573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112e291906122ca565b60055460405163b0d8e18160e01b81526001600160a01b039091169063b0d8e18190611312908590600401612689565b60206040518083038186803b15801561132a57600080fd5b505afa15801561133e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061136291906122ca565b111561137357600092505050610ca9565b600e5460405163765e015960e01b815291925082916001600160a01b039091169063765e0159906113a8908490600401612689565b60206040518083038186803b1580156113c057600080fd5b505afa1580156113d4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113f8919061227a565b905061123d565b60019250505090565b6000606485069050600f816064811061141d57fe5b01546040516332e859b960e01b81526001600160a01b03909116906332e859b990610f1b9087908790879060040161281e565b6004546001600160a01b031681565b6006546001600160a01b031681565b600080606486069050600f816064811061148457fe5b0154604051636ca5e76160e11b81526001600160a01b039091169063d94bcec2906114b79088908890889060040161269d565b602060405180830381600087803b1580156114d157600080fd5b505af11580156114e5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115099190612296565b5050949350505050565b6000606487069050600f816064811061152857fe5b01546040516335b1017960e01b81526001600160a01b03909116906335b10179906115649089908990899089908990600090819060040161283d565b600060405180830381600087803b15801561157e57600080fd5b505af1158015611592573d6000803e3d6000fd5b5050505050505050505050565b6007546001600160a01b031681565b600080606485069050600f81606481106115c457fe5b0154604051636628d36160e11b81526001600160a01b039091169063cc51a6c2906106b290879087906004016126c1565b600f816064811061160257fe5b01546001600160a01b0316905081565b600080600e60009054906101000a90046001600160a01b03166001600160a01b0316631e2231436040518163ffffffff1660e01b815260040160206040518083038186803b15801561166357600080fd5b505afa158015611677573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061169b919061227a565b90505b6001600160a01b03811615611096576005546040516321e3780160e01b81526001916001600160a01b0316906321e37801906116de908590600401612689565b60206040518083038186803b1580156116f657600080fd5b505afa15801561170a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061172e91906122ca565b600481111561173957fe5b600481111561174457fe5b14611753576000915050610ca9565b60025460055460405163d66a255360e01b81526001600160a01b039091169063d66a255390611786908590600401612689565b60206040518083038186803b15801561179e57600080fd5b505afa1580156117b2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117d691906122ca565b10156117e6576000915050610ca9565b600554604051630326771360e51b81526001600160a01b03909116906364cee26090611816908490600401612689565b60206040518083038186803b15801561182e57600080fd5b505afa158015611842573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061186691906122ca565b611874576000915050610ca9565b600e5460405163765e015960e01b81526001600160a01b039091169063765e0159906118a4908490600401612689565b60206040518083038186803b1580156118bc57600080fd5b505afa1580156118d0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118f4919061227a565b905061169e565b600080606485069050600f816064811061191157fe5b015460405163390b5f2760e01b81526001600160a01b039091169063390b5f27906106b290879087906004016126c1565b6003546001600160a01b031681565b6007546000906001600160a01b0316311561196e57506000610ca9565b50600190565b60006014607354111561196e57506000610ca9565b6000606485069050600f816064811061199e57fe5b0154604051633ddd87af60e11b81526001600160a01b0390911690637bbb0f5e90610f1b9087908790879060040161281e565b6000606486069050600f81606481106119e657fe5b0154604051630666566560e31b81526001600160a01b0390911690633332b32890610fc290889088908890889060040161287c565b6000606483069050600f8160648110611a3057fe5b015460405163f47a1ea760e01b81526001600160a01b039091169063f47a1ea790610e9c9085906004016127fe565b6000606484069050600f8160648110611a7457fe5b0154604051634afbac5160e01b81526001600160a01b0390911690634afbac5190610cf290869086906004016126da565b600b546001600160a01b031681565b60006064840690506000600f8260648110611acb57fe5b01546001546001600160a01b039091169150813190600090611af09083908890611f0f565b90506000611b018287600154611ffa565b604051639113473160e01b81529091506001600160a01b03851690639113473190611b399085908590600090819081906004016128a1565b600060405180830381600087803b158015611b5357600080fd5b505af1158015611b67573d6000803e3d6000fd5b50505050600560009054906101000a90046001600160a01b03166001600160a01b03166349eefeee6040518163ffffffff1660e01b815260040160206040518083038186803b158015611bb957600080fd5b505afa158015611bcd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611bf191906122ca565b6073819055610d2057fe5b6000606483069050600f8160648110611c1157fe5b015460405163320d84db60e11b81526001600160a01b039091169063641b09b690610e9c9085906004016127fe565b600c546001600160a01b031681565b6000606487069050600f8160648110611c6457fe5b0154604051639113473160e01b81526001600160a01b039091169063911347319061156490899089908990899089906004016128a1565b6005546000906001600160a01b03163115611cb857506000610ca9565b6006546001600160a01b03163115611cd257506000610ca9565b600760009054906101000a90046001600160a01b03166001600160a01b03166314f6c3be6040518163ffffffff1660e01b815260040160206040518083038186803b158015611d2057600080fd5b505afa158015611d34573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d5891906122ca565b6007546001600160a01b03163114611d7257506000610ca9565b600860009054906101000a90046001600160a01b03166001600160a01b03166314f6c3be6040518163ffffffff1660e01b815260040160206040518083038186803b158015611dc057600080fd5b505afa158015611dd4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611df891906122ca565b6008546001600160a01b03163114611e1257506000610ca9565b600960009054906101000a90046001600160a01b03166001600160a01b03166314f6c3be6040518163ffffffff1660e01b815260040160206040518083038186803b158015611e6057600080fd5b505afa158015611e74573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e9891906122ca565b6009546001600160a01b03163114611eb257506000610ca9565b600c546001600160a01b03163115611ecc57506000610ca9565b600d546001600160a01b03163115611ee657506000610ca9565b600e546001600160a01b0316311561196e57506000610ca9565b600a546001600160a01b031681565b600080600d60009054906101000a90046001600160a01b03166001600160a01b03166398d5fdca6040518163ffffffff1660e01b815260040160206040518083038186803b158015611f6057600080fd5b505afa158015611f74573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f9891906122ca565b905060008111611fa757600080fd5b6000611fce82611fc2600254876120f290919063ffffffff16565b9063ffffffff61213e16565b9050808611611fdc57600080fd5b60008187038681611fe957fe5b0691909101925050505b9392505050565b600080600d60009054906101000a90046001600160a01b03166001600160a01b03166398d5fdca6040518163ffffffff1660e01b815260040160206040518083038186803b15801561204b57600080fd5b505afa15801561205f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061208391906122ca565b600254909150849060009061209f90839063ffffffff61218016565b905060006120ae8883866121a5565b9050858110156120e6576120cc86611fc28a8763ffffffff6120f216565b91506120e3600254836121d590919063ffffffff16565b92505b50909695505050505050565b60008261210157506000612138565b8282028284828161210e57fe5b04146121355760405162461bcd60e51b815260040161212c906127bd565b60405180910390fd5b90505b92915050565b600061213583836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612217565b6000828201838110156121355760405162461bcd60e51b815260040161212c90612786565b600082156121cc5760006121c384611fc2878663ffffffff6120f216565b9150611ff39050565b50600019611ff3565b600061213583836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061224e565b600081836122385760405162461bcd60e51b815260040161212c9190612733565b50600083858161224457fe5b0495945050505050565b600081848411156122725760405162461bcd60e51b815260040161212c9190612733565b505050900390565b60006020828403121561228b578081fd5b815161213581612909565b6000602082840312156122a7578081fd5b815161213581612921565b6000602082840312156122c3578081fd5b5035919050565b6000602082840312156122db578081fd5b5051919050565b600080604083850312156122f4578081fd5b82359150602083013561230681612909565b809150509250929050565b60008060008060808587031215612326578182fd5b84359350602085013561233881612909565b9250604085013561234881612909565b9396929550929360600135925050565b60008060006060848603121561236c578283fd5b83359250602084013561237e81612909565b929592945050506040919091013590565b6000806000604084860312156123a3578283fd5b83359250602084013567ffffffffffffffff808211156123c1578384fd5b81860187601f8201126123d2578485fd5b80359250818311156123e2578485fd5b87602080850283010111156123f5578485fd5b949760209095019650909450505050565b60008060408385031215612418578182fd5b50508035926020909101359150565b60008060006060848603121561243b578283fd5b8335925060208401359150604084013561245481612909565b809150509250925092565b60008060008060808587031215612474578384fd5b8435935060208501359250604085013561248d81612909565b9150606085013561249d81612909565b939692955090935050565b60008060008060008060c087890312156124c0578182fd5b863595506020870135945060408701356124d981612909565b935060608701356124e981612909565b925060808701356124f981612909565b8092505060a087013590509295509295509295565b600080600080600060a08688031215612525578081fd5b8535945060208601359350604086013561253e81612909565b9250606086013561254e81612909565b949793965091946080013592915050565b600080600060608486031215612573578081fd5b505081359360208301359350604090920135919050565b60008060008060008060c087890312156125a2578384fd5b86359550602087013594506040870135935060608701356124e981612909565b600080600080600060a086880312156125d9578283fd5b85359450602086013593506040860135925060608601359150608086013561260081612921565b809150509295509295909350565b600080600080600080600080610100898b03121561262a578586fd5b88359750602089013596506040890135955060608901359450608089013561265181612921565b935060a089013561266181612909565b925060c089013561267181612909565b8092505060e089013590509295985092959890939650565b6001600160a01b0391909116815260200190565b6001600160a01b039384168152919092166020820152604081019190915260600190565b6001600160a01b03929092168252602082015260400190565b60208082528181018390526000908460408401835b8681101561271d57823561270281612909565b6001600160a01b0316825291830191908301906001016126ef565b509695505050505050565b901515815260200190565b6000602080835283518082850152825b8181101561275f57858101830151858201604001528201612743565b818111156127705783604083870101525b50601f01601f1916929092016040019392505050565b6020808252601b908201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604082015260600190565b60208082526021908201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6040820152607760f81b606082015260800190565b90815260200190565b9182526001600160a01b0316602082015260400190565b9283526001600160a01b03918216602084015216604082015260600190565b9687526001600160a01b0395861660208801529385166040870152919093166060850152608084019290925260a083019190915260c082015260e00190565b9384526001600160a01b03928316602085015291166040830152606082015260800190565b94855260208501939093526001600160a01b039182166040850152166060830152608082015260a00190565b9687526020870195909552604086019390935290151560608501526001600160a01b0390811660808501521660a083015260c082015260e00190565b6001600160a01b038116811461291e57600080fd5b50565b801515811461291e57600080fdfea2646970667358221220eb7ad9d5b909f9e648eae8c7f89922a08c7cbcabc1ba72a37e06f9184fc06c6364736f6c634300060b0033", "linkReferences": {}, "deployedLinkReferences": {} } diff --git a/packages/lib-ethers/live/ExternalPriceFeedTester.json b/packages/lib-ethers/live/ExternalPriceFeedTester.json new file mode 100644 index 000000000..4a452598a --- /dev/null +++ b/packages/lib-ethers/live/ExternalPriceFeedTester.json @@ -0,0 +1,47 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "ExternalPriceFeedTester", + "sourceName": "contracts/TestContracts/ExternalPriceFeedTester.sol", + "abi": [ + { + "inputs": [], + "name": "latestAnswer", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_price", + "type": "uint256" + }, + { + "internalType": "bool", + "name": "_success", + "type": "bool" + } + ], + "name": "setLatestAnswer", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "bytecode": "0x608060405234801561001057600080fd5b5060d68061001f6000396000f3fe6080604052348015600f57600080fd5b506004361060325760003560e01c806350d25bcd146037578063c56c4d6c146056575b600080fd5b603d607a565b6040805192835290151560208301528051918290030190f35b607860048036036040811015606a57600080fd5b508035906020013515156087565b005b60005460015460ff169091565b6000919091556001805460ff191691151591909117905556fea26469706673582212208530989d69cf0cd8ccc34297142e5e2b8316a44647be842239f8ffdb9e46a9bc64736f6c634300060b0033", + "deployedBytecode": "0x6080604052348015600f57600080fd5b506004361060325760003560e01c806350d25bcd146037578063c56c4d6c146056575b600080fd5b603d607a565b6040805192835290151560208301528051918290030190f35b607860048036036040811015606a57600080fd5b508035906020013515156087565b005b60005460015460ff169091565b6000919091556001805460ff191691151591909117905556fea26469706673582212208530989d69cf0cd8ccc34297142e5e2b8316a44647be842239f8ffdb9e46a9bc64736f6c634300060b0033", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/packages/lib-ethers/live/FeeDistributor.json b/packages/lib-ethers/live/FeeDistributor.json new file mode 100644 index 000000000..b01ff338a --- /dev/null +++ b/packages/lib-ethers/live/FeeDistributor.json @@ -0,0 +1,357 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "FeeDistributor", + "sourceName": "contracts/FeeDistributor.sol", + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "_activePoolAddress", + "type": "address" + } + ], + "name": "ActivePoolAddressSet", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "_borrowerOperationsAddress", + "type": "address" + } + ], + "name": "BorrowerOperationsAddressChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "_feeSharingCollectorAddress", + "type": "address" + } + ], + "name": "FeeSharingCollectorAddressChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousOwner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnershipTransferred", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "_rbtcDistributedAmount", + "type": "uint256" + } + ], + "name": "RBTCistributed", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "_troveManagerAddress", + "type": "address" + } + ], + "name": "TroveManagerAddressChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "_wrbtcAddress", + "type": "address" + } + ], + "name": "WrbtcAddressChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "_zusdDistributedAmount", + "type": "uint256" + } + ], + "name": "ZUSDDistributed", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "_zusdTokenAddress", + "type": "address" + } + ], + "name": "ZUSDTokenAddressChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "_zeroStakingAddress", + "type": "address" + } + ], + "name": "ZeroStakingAddressChanged", + "type": "event" + }, + { + "inputs": [], + "name": "FEE_TO_FEE_SHARING_COLLECTOR", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "NAME", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "activePoolAddress", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "borrowerOperations", + "outputs": [ + { + "internalType": "contract IBorrowerOperations", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "distributeFees", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "feeSharingCollector", + "outputs": [ + { + "internalType": "contract IFeeSharingCollector", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getOwner", + "outputs": [ + { + "internalType": "address", + "name": "_owner", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_feeSharingCollectorAddress", + "type": "address" + }, + { + "internalType": "address", + "name": "_zeroStakingAddress", + "type": "address" + }, + { + "internalType": "address", + "name": "_borrowerOperationsAddress", + "type": "address" + }, + { + "internalType": "address", + "name": "_troveManagerAddress", + "type": "address" + }, + { + "internalType": "address", + "name": "_wrbtcAddress", + "type": "address" + }, + { + "internalType": "address", + "name": "_zusdTokenAddress", + "type": "address" + }, + { + "internalType": "address", + "name": "_activePoolAddress", + "type": "address" + } + ], + "name": "setAddresses", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "FEE_TO_FEE_SHARING_COLLECTOR_", + "type": "uint256" + } + ], + "name": "setFeeToFeeSharingCollector", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_owner", + "type": "address" + } + ], + "name": "setOwner", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "troveManager", + "outputs": [ + { + "internalType": "contract ITroveManager", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "wrbtc", + "outputs": [ + { + "internalType": "contract IWrbtc", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "zeroStaking", + "outputs": [ + { + "internalType": "contract IZEROStaking", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "zusdToken", + "outputs": [ + { + "internalType": "contract IZUSDToken", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "stateMutability": "payable", + "type": "receive" + } + ], + "bytecode": "0x608060405234801561001057600080fd5b50610023336001600160e01b0361002816565b610110565b6001600160a01b03811661006d5760405162461bcd60e51b815260040180806020018281038252602281526020018061129c6022913960400191505060405180910390fd5b6001600160a01b0381166100886001600160e01b036100e616565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3604080517035b2bc9737bbb730b136329737bbb732b960791b8152905190819003601101902055565b604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205490565b61117d8061011f6000396000f3fe6080604052600436106100c15760003560e01c8063b08bc7221161006f578063b08bc72214610229578063bb57ad201461023e578063d9db1a6814610253578063eaa8ba7f14610268578063ec5472fd146102cd578063ec9f7d46146102e2578063f231f7cd146102f7576100d0565b806313af4035146100d55780633d83908a146101085780636b7dbb2d1461013957806377553ad41461014e578063893d20e8146101635780638e93c64914610178578063a3f4df7e1461019f576100d0565b366100d0576100ce610321565b005b600080fd5b3480156100e157600080fd5b506100ce600480360360208110156100f857600080fd5b50356001600160a01b031661036c565b34801561011457600080fd5b5061011d6103df565b604080516001600160a01b039092168252519081900360200190f35b34801561014557600080fd5b5061011d6103ee565b34801561015a57600080fd5b5061011d6103fd565b34801561016f57600080fd5b5061011d61040c565b34801561018457600080fd5b5061018d610436565b60408051918252519081900360200190f35b3480156101ab57600080fd5b506101b461043c565b6040805160208082528351818301528351919283929083019185019080838360005b838110156101ee5781810151838201526020016101d6565b50505050905090810190601f16801561021b5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561023557600080fd5b5061011d610466565b34801561024a57600080fd5b506100ce610475565b34801561025f57600080fd5b5061011d610585565b34801561027457600080fd5b506100ce600480360360e081101561028b57600080fd5b506001600160a01b038135811691602081013582169160408201358116916060810135821691608082013581169160a081013582169160c09091013516610594565b3480156102d957600080fd5b5061011d610857565b3480156102ee57600080fd5b5061011d610866565b34801561030357600080fd5b506100ce6004803603602081101561031a57600080fd5b5035610875565b6006546001600160a01b0316331461036a5760405162461bcd60e51b81526004018080602001828103825260288152602001806111206028913960400191505060405180910390fd5b565b61037461040c565b6001600160a01b0316336001600160a01b0316146103d3576040805162461bcd60e51b815260206004820152601760248201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604482015290519081900360640190fd5b6103dc816108e1565b50565b6003546001600160a01b031681565b6000546001600160a01b031681565b6002546001600160a01b031681565b604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205490565b60075481565b6040518060400160405280600e81526020016d2332b2a234b9ba3934b13aba37b960911b81525081565b6006546001600160a01b031681565b6002546001600160a01b031633148061049857506003546001600160a01b031633145b6104e9576040805162461bcd60e51b815260206004820152601e60248201527f4665654469737472696275746f723a20696e76616c69642063616c6c65720000604482015290519081900360640190fd5b600554604080516370a0823160e01b815230600482015290516000926001600160a01b0316916370a08231916024808301926020929190829003018186803b15801561053457600080fd5b505afa158015610548573d6000803e3d6000fd5b505050506040513d602081101561055e57600080fd5b505190504781156105725761057282610996565b80156105815761058181610c58565b5050565b6004546001600160a01b031681565b61059c61040c565b6001600160a01b0316336001600160a01b0316146105fb576040805162461bcd60e51b815260206004820152601760248201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604482015290519081900360640190fd5b61060487610e29565b61060d86610e29565b61061685610e29565b61061f84610e29565b61062883610e29565b61063182610e29565b61063a81610e29565b600080546001600160a01b03199081166001600160a01b038a81169182179093556001805483168a851617905560028054831689851617905560038054831688851617905560048054831687851617905560058054831686851617905560068054909216928416929092179055670de0b6b3a764000060075560408051918252517f963023df1091dc8c0e46db982274139953d69a4d688a740bee4aa40fa318497e916020908290030190a1604080516001600160a01b038816815290517fc7b150c129c1c24ff23a07f2d3c9579928b1a51697a8a1f79dd07888fc904b849181900360200190a1604080516001600160a01b038716815290517f3ca631ffcd2a9b5d9ae18543fc82f58eb4ca33af9e6ab01b7a8e95331e6ed9859181900360200190a1604080516001600160a01b038616815290517f143219c9e69b09e07e095fcc889b43d8f46ca892bba65f08dc3a0050869a56789181900360200190a1604080516001600160a01b038516815290517f35bae0aeb0bdf7e62f85dbfcc7876b98015f550d75ae3deb0505c0565db12f4b9181900360200190a1604080516001600160a01b038416815290517fcdf33850c44a1a874b5fefb51dae615ac6afebd581ef90d571f81b06541d8e9d9181900360200190a1604080516001600160a01b038316815290517f8f6a6e7d20a3233e0a79883272259ffbd7a243734e397bc2b4642c79d7fa8a6d9181900360200190a150505050505050565b6001546001600160a01b031681565b6005546001600160a01b031681565b61087d61040c565b6001600160a01b0316336001600160a01b0316146108dc576040805162461bcd60e51b815260206004820152601760248201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604482015290519081900360640190fd5b600755565b6001600160a01b0381166109265760405162461bcd60e51b81526004018080602001828103825260228152602001806110bb6022913960400191505060405180910390fd5b806001600160a01b031661093861040c565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3604080517035b2bc9737bbb730b136329737bbb732b960791b8152905190819003601101902055565b60006109c5670de0b6b3a76400006109b960075485610ed890919063ffffffff16565b9063ffffffff610f3a16565b600554600080546040805163095ea7b360e01b81526001600160a01b03928316600482015260248101869052905194955092169263095ea7b3926044808201936020939283900390910190829087803b158015610a2157600080fd5b505af1158015610a35573d6000803e3d6000fd5b505050506040513d6020811015610a4b57600080fd5b5050600080546005546040805163abe979e160e01b81526001600160a01b0392831660048201526bffffffffffffffffffffffff861660248201529051919092169263abe979e1926044808201939182900301818387803b158015610aaf57600080fd5b505af1158015610ac3573d6000803e3d6000fd5b505050506000610adc8284610f7c90919063ffffffff16565b90508015610c20576005546001546040805163a9059cbb60e01b81526001600160a01b039283166004820152602481018590529051919092169163a9059cbb9160448083019260209291908290030181600087803b158015610b3d57600080fd5b505af1158015610b51573d6000803e3d6000fd5b505050506040513d6020811015610b6757600080fd5b5051610bba576040805162461bcd60e51b815260206004820152601d60248201527f436f75646e27742065786563757465205a555344207472616e73666572000000604482015290519081900360640190fd5b6001546040805163187daae360e21b81526004810184905290516001600160a01b03909216916361f6ab8c9160248082019260009290919082900301818387803b158015610c0757600080fd5b505af1158015610c1b573d6000803e3d6000fd5b505050505b6040805184815290517f3168880c2a9a8e657d1de00769e3baefa8c1153f1847a85b43070ee5fed512959181900360200190a1505050565b6000610c7b670de0b6b3a76400006109b960075485610ed890919063ffffffff16565b60008054604080516322a6fd9560e01b815290519394506001600160a01b03909116926322a6fd959285926004808201939182900301818588803b158015610cc257600080fd5b505af1158015610cd6573d6000803e3d6000fd5b50505050506000610cf08284610f7c90919063ffffffff16565b90508015610df1576001546040516000916001600160a01b03169083908381818185875af1925050503d8060008114610d45576040519150601f19603f3d011682016040523d82523d6000602084013e610d4a565b606091505b5050905080610d8a5760405162461bcd60e51b81526004018080602001828103825260228152602001806110dd6022913960400191505060405180910390fd5b60015460408051630f1f150d60e11b81526004810185905290516001600160a01b0390921691631e3e2a1a9160248082019260009290919082900301818387803b158015610dd757600080fd5b505af1158015610deb573d6000803e3d6000fd5b50505050505b6040805184815290517f3289490aa1b0ec56454cbd5d18bd6b8d79609982b2abe74eee579eb6f67581919181900360200190a1505050565b6001600160a01b038116610e84576040805162461bcd60e51b815260206004820152601e60248201527f4163636f756e742063616e6e6f74206265207a65726f20616464726573730000604482015290519081900360640190fd5b803b80610581576040805162461bcd60e51b815260206004820181905260248201527f4163636f756e7420636f64652073697a652063616e6e6f74206265207a65726f604482015290519081900360640190fd5b600082610ee757506000610f34565b82820282848281610ef457fe5b0414610f315760405162461bcd60e51b81526004018080602001828103825260218152602001806110ff6021913960400191505060405180910390fd5b90505b92915050565b6000610f3183836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250610fbe565b6000610f3183836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611060565b6000818361104a5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561100f578181015183820152602001610ff7565b50505050905090810190601f16801561103c5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50600083858161105657fe5b0495945050505050565b600081848411156110b25760405162461bcd60e51b815260206004820181815283516024840152835190928392604490910191908501908083836000831561100f578181015183820152602001610ff7565b50505090039056fe4f776e61626c653a3a7365744f776e65723a20696e76616c696420616464726573734665654469737472696275746f723a2073656e64696e6720455448206661696c6564536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f774665654469737472696275746f723a2063616c6c6572206973206e6f7420416374697665506f6f6ca264697066735822122068cbf3a893e2b9713149ddceb6b3570b9d11482f5f07b3b3066ad70f4eec87e264736f6c634300060b00334f776e61626c653a3a7365744f776e65723a20696e76616c69642061646472657373", + "deployedBytecode": "0x6080604052600436106100c15760003560e01c8063b08bc7221161006f578063b08bc72214610229578063bb57ad201461023e578063d9db1a6814610253578063eaa8ba7f14610268578063ec5472fd146102cd578063ec9f7d46146102e2578063f231f7cd146102f7576100d0565b806313af4035146100d55780633d83908a146101085780636b7dbb2d1461013957806377553ad41461014e578063893d20e8146101635780638e93c64914610178578063a3f4df7e1461019f576100d0565b366100d0576100ce610321565b005b600080fd5b3480156100e157600080fd5b506100ce600480360360208110156100f857600080fd5b50356001600160a01b031661036c565b34801561011457600080fd5b5061011d6103df565b604080516001600160a01b039092168252519081900360200190f35b34801561014557600080fd5b5061011d6103ee565b34801561015a57600080fd5b5061011d6103fd565b34801561016f57600080fd5b5061011d61040c565b34801561018457600080fd5b5061018d610436565b60408051918252519081900360200190f35b3480156101ab57600080fd5b506101b461043c565b6040805160208082528351818301528351919283929083019185019080838360005b838110156101ee5781810151838201526020016101d6565b50505050905090810190601f16801561021b5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561023557600080fd5b5061011d610466565b34801561024a57600080fd5b506100ce610475565b34801561025f57600080fd5b5061011d610585565b34801561027457600080fd5b506100ce600480360360e081101561028b57600080fd5b506001600160a01b038135811691602081013582169160408201358116916060810135821691608082013581169160a081013582169160c09091013516610594565b3480156102d957600080fd5b5061011d610857565b3480156102ee57600080fd5b5061011d610866565b34801561030357600080fd5b506100ce6004803603602081101561031a57600080fd5b5035610875565b6006546001600160a01b0316331461036a5760405162461bcd60e51b81526004018080602001828103825260288152602001806111206028913960400191505060405180910390fd5b565b61037461040c565b6001600160a01b0316336001600160a01b0316146103d3576040805162461bcd60e51b815260206004820152601760248201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604482015290519081900360640190fd5b6103dc816108e1565b50565b6003546001600160a01b031681565b6000546001600160a01b031681565b6002546001600160a01b031681565b604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205490565b60075481565b6040518060400160405280600e81526020016d2332b2a234b9ba3934b13aba37b960911b81525081565b6006546001600160a01b031681565b6002546001600160a01b031633148061049857506003546001600160a01b031633145b6104e9576040805162461bcd60e51b815260206004820152601e60248201527f4665654469737472696275746f723a20696e76616c69642063616c6c65720000604482015290519081900360640190fd5b600554604080516370a0823160e01b815230600482015290516000926001600160a01b0316916370a08231916024808301926020929190829003018186803b15801561053457600080fd5b505afa158015610548573d6000803e3d6000fd5b505050506040513d602081101561055e57600080fd5b505190504781156105725761057282610996565b80156105815761058181610c58565b5050565b6004546001600160a01b031681565b61059c61040c565b6001600160a01b0316336001600160a01b0316146105fb576040805162461bcd60e51b815260206004820152601760248201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604482015290519081900360640190fd5b61060487610e29565b61060d86610e29565b61061685610e29565b61061f84610e29565b61062883610e29565b61063182610e29565b61063a81610e29565b600080546001600160a01b03199081166001600160a01b038a81169182179093556001805483168a851617905560028054831689851617905560038054831688851617905560048054831687851617905560058054831686851617905560068054909216928416929092179055670de0b6b3a764000060075560408051918252517f963023df1091dc8c0e46db982274139953d69a4d688a740bee4aa40fa318497e916020908290030190a1604080516001600160a01b038816815290517fc7b150c129c1c24ff23a07f2d3c9579928b1a51697a8a1f79dd07888fc904b849181900360200190a1604080516001600160a01b038716815290517f3ca631ffcd2a9b5d9ae18543fc82f58eb4ca33af9e6ab01b7a8e95331e6ed9859181900360200190a1604080516001600160a01b038616815290517f143219c9e69b09e07e095fcc889b43d8f46ca892bba65f08dc3a0050869a56789181900360200190a1604080516001600160a01b038516815290517f35bae0aeb0bdf7e62f85dbfcc7876b98015f550d75ae3deb0505c0565db12f4b9181900360200190a1604080516001600160a01b038416815290517fcdf33850c44a1a874b5fefb51dae615ac6afebd581ef90d571f81b06541d8e9d9181900360200190a1604080516001600160a01b038316815290517f8f6a6e7d20a3233e0a79883272259ffbd7a243734e397bc2b4642c79d7fa8a6d9181900360200190a150505050505050565b6001546001600160a01b031681565b6005546001600160a01b031681565b61087d61040c565b6001600160a01b0316336001600160a01b0316146108dc576040805162461bcd60e51b815260206004820152601760248201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604482015290519081900360640190fd5b600755565b6001600160a01b0381166109265760405162461bcd60e51b81526004018080602001828103825260228152602001806110bb6022913960400191505060405180910390fd5b806001600160a01b031661093861040c565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3604080517035b2bc9737bbb730b136329737bbb732b960791b8152905190819003601101902055565b60006109c5670de0b6b3a76400006109b960075485610ed890919063ffffffff16565b9063ffffffff610f3a16565b600554600080546040805163095ea7b360e01b81526001600160a01b03928316600482015260248101869052905194955092169263095ea7b3926044808201936020939283900390910190829087803b158015610a2157600080fd5b505af1158015610a35573d6000803e3d6000fd5b505050506040513d6020811015610a4b57600080fd5b5050600080546005546040805163abe979e160e01b81526001600160a01b0392831660048201526bffffffffffffffffffffffff861660248201529051919092169263abe979e1926044808201939182900301818387803b158015610aaf57600080fd5b505af1158015610ac3573d6000803e3d6000fd5b505050506000610adc8284610f7c90919063ffffffff16565b90508015610c20576005546001546040805163a9059cbb60e01b81526001600160a01b039283166004820152602481018590529051919092169163a9059cbb9160448083019260209291908290030181600087803b158015610b3d57600080fd5b505af1158015610b51573d6000803e3d6000fd5b505050506040513d6020811015610b6757600080fd5b5051610bba576040805162461bcd60e51b815260206004820152601d60248201527f436f75646e27742065786563757465205a555344207472616e73666572000000604482015290519081900360640190fd5b6001546040805163187daae360e21b81526004810184905290516001600160a01b03909216916361f6ab8c9160248082019260009290919082900301818387803b158015610c0757600080fd5b505af1158015610c1b573d6000803e3d6000fd5b505050505b6040805184815290517f3168880c2a9a8e657d1de00769e3baefa8c1153f1847a85b43070ee5fed512959181900360200190a1505050565b6000610c7b670de0b6b3a76400006109b960075485610ed890919063ffffffff16565b60008054604080516322a6fd9560e01b815290519394506001600160a01b03909116926322a6fd959285926004808201939182900301818588803b158015610cc257600080fd5b505af1158015610cd6573d6000803e3d6000fd5b50505050506000610cf08284610f7c90919063ffffffff16565b90508015610df1576001546040516000916001600160a01b03169083908381818185875af1925050503d8060008114610d45576040519150601f19603f3d011682016040523d82523d6000602084013e610d4a565b606091505b5050905080610d8a5760405162461bcd60e51b81526004018080602001828103825260228152602001806110dd6022913960400191505060405180910390fd5b60015460408051630f1f150d60e11b81526004810185905290516001600160a01b0390921691631e3e2a1a9160248082019260009290919082900301818387803b158015610dd757600080fd5b505af1158015610deb573d6000803e3d6000fd5b50505050505b6040805184815290517f3289490aa1b0ec56454cbd5d18bd6b8d79609982b2abe74eee579eb6f67581919181900360200190a1505050565b6001600160a01b038116610e84576040805162461bcd60e51b815260206004820152601e60248201527f4163636f756e742063616e6e6f74206265207a65726f20616464726573730000604482015290519081900360640190fd5b803b80610581576040805162461bcd60e51b815260206004820181905260248201527f4163636f756e7420636f64652073697a652063616e6e6f74206265207a65726f604482015290519081900360640190fd5b600082610ee757506000610f34565b82820282848281610ef457fe5b0414610f315760405162461bcd60e51b81526004018080602001828103825260218152602001806110ff6021913960400191505060405180910390fd5b90505b92915050565b6000610f3183836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250610fbe565b6000610f3183836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611060565b6000818361104a5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561100f578181015183820152602001610ff7565b50505050905090810190601f16801561103c5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50600083858161105657fe5b0495945050505050565b600081848411156110b25760405162461bcd60e51b815260206004820181815283516024840152835190928392604490910191908501908083836000831561100f578181015183820152602001610ff7565b50505090039056fe4f776e61626c653a3a7365744f776e65723a20696e76616c696420616464726573734665654469737472696275746f723a2073656e64696e6720455448206661696c6564536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f774665654469737472696275746f723a2063616c6c6572206973206e6f7420416374697665506f6f6ca264697066735822122068cbf3a893e2b9713149ddceb6b3570b9d11482f5f07b3b3066ad70f4eec87e264736f6c634300060b0033", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/packages/lib-ethers/live/FeeDistributorStorage.json b/packages/lib-ethers/live/FeeDistributorStorage.json new file mode 100644 index 000000000..c3fadf36a --- /dev/null +++ b/packages/lib-ethers/live/FeeDistributorStorage.json @@ -0,0 +1,173 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "FeeDistributorStorage", + "sourceName": "contracts/FeeDistributorStorage.sol", + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousOwner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnershipTransferred", + "type": "event" + }, + { + "inputs": [], + "name": "FEE_TO_FEE_SHARING_COLLECTOR", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "NAME", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "activePoolAddress", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "borrowerOperations", + "outputs": [ + { + "internalType": "contract IBorrowerOperations", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "feeSharingCollector", + "outputs": [ + { + "internalType": "contract IFeeSharingCollector", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getOwner", + "outputs": [ + { + "internalType": "address", + "name": "_owner", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_owner", + "type": "address" + } + ], + "name": "setOwner", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "troveManager", + "outputs": [ + { + "internalType": "contract ITroveManager", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "wrbtc", + "outputs": [ + { + "internalType": "contract IWrbtc", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "zeroStaking", + "outputs": [ + { + "internalType": "contract IZEROStaking", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "zusdToken", + "outputs": [ + { + "internalType": "contract IZUSDToken", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + } + ], + "bytecode": "0x608060405234801561001057600080fd5b50610023336001600160e01b0361002816565b610110565b6001600160a01b03811661006d5760405162461bcd60e51b815260040180806020018281038252602281526020018061052b6022913960400191505060405180910390fd5b6001600160a01b0381166100886001600160e01b036100e616565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3604080517035b2bc9737bbb730b136329737bbb732b960791b8152905190819003601101902055565b604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205490565b61040c8061011f6000396000f3fe608060405234801561001057600080fd5b50600436106100a95760003560e01c80638e93c649116100715780638e93c64914610112578063a3f4df7e1461012c578063b08bc722146101a9578063d9db1a68146101b1578063ec5472fd146101b9578063ec9f7d46146101c1576100a9565b806313af4035146100ae5780633d83908a146100d65780636b7dbb2d146100fa57806377553ad414610102578063893d20e81461010a575b600080fd5b6100d4600480360360208110156100c457600080fd5b50356001600160a01b03166101c9565b005b6100de61023c565b604080516001600160a01b039092168252519081900360200190f35b6100de61024b565b6100de61025a565b6100de610269565b61011a610293565b60408051918252519081900360200190f35b610134610299565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561016e578181015183820152602001610156565b50505050905090810190601f16801561019b5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6100de6102c3565b6100de6102d2565b6100de6102e1565b6100de6102f0565b6101d1610269565b6001600160a01b0316336001600160a01b031614610230576040805162461bcd60e51b815260206004820152601760248201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604482015290519081900360640190fd5b610239816102ff565b50565b6003546001600160a01b031681565b6000546001600160a01b031681565b6002546001600160a01b031681565b604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205490565b60075481565b6040518060400160405280600e81526020016d2332b2a234b9ba3934b13aba37b960911b81525081565b6006546001600160a01b031681565b6004546001600160a01b031681565b6001546001600160a01b031681565b6005546001600160a01b031681565b6001600160a01b0381166103445760405162461bcd60e51b81526004018080602001828103825260228152602001806103b56022913960400191505060405180910390fd5b806001600160a01b0316610356610269565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205556fe4f776e61626c653a3a7365744f776e65723a20696e76616c69642061646472657373a26469706673582212206cfebe73d486b68329906f42a6ec81d233994ac818d87ad7498e1a662459139064736f6c634300060b00334f776e61626c653a3a7365744f776e65723a20696e76616c69642061646472657373", + "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100a95760003560e01c80638e93c649116100715780638e93c64914610112578063a3f4df7e1461012c578063b08bc722146101a9578063d9db1a68146101b1578063ec5472fd146101b9578063ec9f7d46146101c1576100a9565b806313af4035146100ae5780633d83908a146100d65780636b7dbb2d146100fa57806377553ad414610102578063893d20e81461010a575b600080fd5b6100d4600480360360208110156100c457600080fd5b50356001600160a01b03166101c9565b005b6100de61023c565b604080516001600160a01b039092168252519081900360200190f35b6100de61024b565b6100de61025a565b6100de610269565b61011a610293565b60408051918252519081900360200190f35b610134610299565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561016e578181015183820152602001610156565b50505050905090810190601f16801561019b5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6100de6102c3565b6100de6102d2565b6100de6102e1565b6100de6102f0565b6101d1610269565b6001600160a01b0316336001600160a01b031614610230576040805162461bcd60e51b815260206004820152601760248201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604482015290519081900360640190fd5b610239816102ff565b50565b6003546001600160a01b031681565b6000546001600160a01b031681565b6002546001600160a01b031681565b604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205490565b60075481565b6040518060400160405280600e81526020016d2332b2a234b9ba3934b13aba37b960911b81525081565b6006546001600160a01b031681565b6004546001600160a01b031681565b6001546001600160a01b031681565b6005546001600160a01b031681565b6001600160a01b0381166103445760405162461bcd60e51b81526004018080602001828103825260228152602001806103b56022913960400191505060405180910390fd5b806001600160a01b0316610356610269565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205556fe4f776e61626c653a3a7365744f776e65723a20696e76616c69642061646472657373a26469706673582212206cfebe73d486b68329906f42a6ec81d233994ac818d87ad7498e1a662459139064736f6c634300060b0033", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/packages/lib-ethers/live/FunctionCaller.json b/packages/lib-ethers/live/FunctionCaller.json index d22a733c2..7604240d6 100644 --- a/packages/lib-ethers/live/FunctionCaller.json +++ b/packages/lib-ethers/live/FunctionCaller.json @@ -140,8 +140,8 @@ "type": "function" } ], - "bytecode": "0x608060405234801561001057600080fd5b506103c6806100206000396000f3fe608060405234801561001057600080fd5b50600436106100775760003560e01c8062cf5db41461007c5780632caffa81146100a45780635a4d28bb146100c8578063a06dec71146100d0578063ced2027c146100f6578063dcc6710f1461011c578063e0abca0b14610176578063f4f9e5461461017e575b600080fd5b6100a26004803603602081101561009257600080fd5b50356001600160a01b03166101bc565b005b6100ac6101e8565b604080516001600160a01b039092168252519081900360200190f35b6100ac6101f7565b6100a2600480360360208110156100e657600080fd5b50356001600160a01b0316610206565b6100a26004803603602081101561010c57600080fd5b50356001600160a01b0316610232565b6101506004803603606081101561013257600080fd5b508035906001600160a01b036020820135811691604001351661025e565b604080516001600160a01b03938416815291909216602082015281519081900390910190f35b6100ac6102f9565b6101aa6004803603604081101561019457600080fd5b506001600160a01b038135169060200135610308565b60408051918252519081900360200190f35b600580546001600160a01b039092166001600160a01b0319928316811790915560048054909216179055565b6003546001600160a01b031681565b6001546001600160a01b031681565b600180546001600160a01b039092166001600160a01b0319928316811790915560028054909216179055565b600180546001600160a01b039092166001600160a01b0319928316811790915560008054909216179055565b6002546040805163105a603760e21b8152600481018690526001600160a01b03858116602483015284811660448301528251600094859492169263416980dc926064808301939192829003018186803b1580156102ba57600080fd5b505afa1580156102ce573d6000803e3d6000fd5b505050506040513d60408110156102e457600080fd5b50805160209091015190969095509350505050565b6005546001600160a01b031681565b6000805460408051630d293c7160e41b81526001600160a01b038681166004830152602482018690529151919092169163d293c710916044808301926020929190829003018186803b15801561035d57600080fd5b505afa158015610371573d6000803e3d6000fd5b505050506040513d602081101561038757600080fd5b5051939250505056fea264697066735822122032e62d04d9b719a9ba78057eebd515fc48db088d2d891550812ab6d94c8293a164736f6c634300060b0033", - "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100775760003560e01c8062cf5db41461007c5780632caffa81146100a45780635a4d28bb146100c8578063a06dec71146100d0578063ced2027c146100f6578063dcc6710f1461011c578063e0abca0b14610176578063f4f9e5461461017e575b600080fd5b6100a26004803603602081101561009257600080fd5b50356001600160a01b03166101bc565b005b6100ac6101e8565b604080516001600160a01b039092168252519081900360200190f35b6100ac6101f7565b6100a2600480360360208110156100e657600080fd5b50356001600160a01b0316610206565b6100a26004803603602081101561010c57600080fd5b50356001600160a01b0316610232565b6101506004803603606081101561013257600080fd5b508035906001600160a01b036020820135811691604001351661025e565b604080516001600160a01b03938416815291909216602082015281519081900390910190f35b6100ac6102f9565b6101aa6004803603604081101561019457600080fd5b506001600160a01b038135169060200135610308565b60408051918252519081900360200190f35b600580546001600160a01b039092166001600160a01b0319928316811790915560048054909216179055565b6003546001600160a01b031681565b6001546001600160a01b031681565b600180546001600160a01b039092166001600160a01b0319928316811790915560028054909216179055565b600180546001600160a01b039092166001600160a01b0319928316811790915560008054909216179055565b6002546040805163105a603760e21b8152600481018690526001600160a01b03858116602483015284811660448301528251600094859492169263416980dc926064808301939192829003018186803b1580156102ba57600080fd5b505afa1580156102ce573d6000803e3d6000fd5b505050506040513d60408110156102e457600080fd5b50805160209091015190969095509350505050565b6005546001600160a01b031681565b6000805460408051630d293c7160e41b81526001600160a01b038681166004830152602482018690529151919092169163d293c710916044808301926020929190829003018186803b15801561035d57600080fd5b505afa158015610371573d6000803e3d6000fd5b505050506040513d602081101561038757600080fd5b5051939250505056fea264697066735822122032e62d04d9b719a9ba78057eebd515fc48db088d2d891550812ab6d94c8293a164736f6c634300060b0033", + "bytecode": "0x608060405234801561001057600080fd5b506103c6806100206000396000f3fe608060405234801561001057600080fd5b50600436106100775760003560e01c8062cf5db41461007c5780632caffa81146100a45780635a4d28bb146100c8578063a06dec71146100d0578063ced2027c146100f6578063dcc6710f1461011c578063e0abca0b14610176578063f4f9e5461461017e575b600080fd5b6100a26004803603602081101561009257600080fd5b50356001600160a01b03166101bc565b005b6100ac6101e8565b604080516001600160a01b039092168252519081900360200190f35b6100ac6101f7565b6100a2600480360360208110156100e657600080fd5b50356001600160a01b0316610206565b6100a26004803603602081101561010c57600080fd5b50356001600160a01b0316610232565b6101506004803603606081101561013257600080fd5b508035906001600160a01b036020820135811691604001351661025e565b604080516001600160a01b03938416815291909216602082015281519081900390910190f35b6100ac6102f9565b6101aa6004803603604081101561019457600080fd5b506001600160a01b038135169060200135610308565b60408051918252519081900360200190f35b600580546001600160a01b039092166001600160a01b0319928316811790915560048054909216179055565b6003546001600160a01b031681565b6001546001600160a01b031681565b600180546001600160a01b039092166001600160a01b0319928316811790915560028054909216179055565b600180546001600160a01b039092166001600160a01b0319928316811790915560008054909216179055565b6002546040805163105a603760e21b8152600481018690526001600160a01b03858116602483015284811660448301528251600094859492169263416980dc926064808301939192829003018186803b1580156102ba57600080fd5b505afa1580156102ce573d6000803e3d6000fd5b505050506040513d60408110156102e457600080fd5b50805160209091015190969095509350505050565b6005546001600160a01b031681565b6000805460408051630d293c7160e41b81526001600160a01b038681166004830152602482018690529151919092169163d293c710916044808301926020929190829003018186803b15801561035d57600080fd5b505afa158015610371573d6000803e3d6000fd5b505050506040513d602081101561038757600080fd5b5051939250505056fea26469706673582212208f8f7f8254a01f8d22633f50dcd75fc5759e6b347538fef70d047dcaf368387b64736f6c634300060b0033", + "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100775760003560e01c8062cf5db41461007c5780632caffa81146100a45780635a4d28bb146100c8578063a06dec71146100d0578063ced2027c146100f6578063dcc6710f1461011c578063e0abca0b14610176578063f4f9e5461461017e575b600080fd5b6100a26004803603602081101561009257600080fd5b50356001600160a01b03166101bc565b005b6100ac6101e8565b604080516001600160a01b039092168252519081900360200190f35b6100ac6101f7565b6100a2600480360360208110156100e657600080fd5b50356001600160a01b0316610206565b6100a26004803603602081101561010c57600080fd5b50356001600160a01b0316610232565b6101506004803603606081101561013257600080fd5b508035906001600160a01b036020820135811691604001351661025e565b604080516001600160a01b03938416815291909216602082015281519081900390910190f35b6100ac6102f9565b6101aa6004803603604081101561019457600080fd5b506001600160a01b038135169060200135610308565b60408051918252519081900360200190f35b600580546001600160a01b039092166001600160a01b0319928316811790915560048054909216179055565b6003546001600160a01b031681565b6001546001600160a01b031681565b600180546001600160a01b039092166001600160a01b0319928316811790915560028054909216179055565b600180546001600160a01b039092166001600160a01b0319928316811790915560008054909216179055565b6002546040805163105a603760e21b8152600481018690526001600160a01b03858116602483015284811660448301528251600094859492169263416980dc926064808301939192829003018186803b1580156102ba57600080fd5b505afa1580156102ce573d6000803e3d6000fd5b505050506040513d60408110156102e457600080fd5b50805160209091015190969095509350505050565b6005546001600160a01b031681565b6000805460408051630d293c7160e41b81526001600160a01b038681166004830152602482018690529151919092169163d293c710916044808301926020929190829003018186803b15801561035d57600080fd5b505afa158015610371573d6000803e3d6000fd5b505050506040513d602081101561038757600080fd5b5051939250505056fea26469706673582212208f8f7f8254a01f8d22633f50dcd75fc5759e6b347538fef70d047dcaf368387b64736f6c634300060b0033", "linkReferences": {}, "deployedLinkReferences": {} } diff --git a/packages/lib-ethers/live/GasPool.json b/packages/lib-ethers/live/GasPool.json index 7fa8745c5..a92ed02c7 100644 --- a/packages/lib-ethers/live/GasPool.json +++ b/packages/lib-ethers/live/GasPool.json @@ -3,8 +3,8 @@ "contractName": "GasPool", "sourceName": "contracts/GasPool.sol", "abi": [], - "bytecode": "0x6080604052348015600f57600080fd5b50603f80601d6000396000f3fe6080604052600080fdfea264697066735822122039256888add74d9ba1e587b30d8fba59588d324fa8a904bb5bafa6e715256de564736f6c634300060b0033", - "deployedBytecode": "0x6080604052600080fdfea264697066735822122039256888add74d9ba1e587b30d8fba59588d324fa8a904bb5bafa6e715256de564736f6c634300060b0033", + "bytecode": "0x6080604052348015600f57600080fd5b50603f80601d6000396000f3fe6080604052600080fdfea264697066735822122066e9d13e845a93dc2501d42df6e2e92fe003bd0b9c468fc3e0baf1634cbfcecf64736f6c634300060b0033", + "deployedBytecode": "0x6080604052600080fdfea264697066735822122066e9d13e845a93dc2501d42df6e2e92fe003bd0b9c468fc3e0baf1634cbfcecf64736f6c634300060b0033", "linkReferences": {}, "deployedLinkReferences": {} } diff --git a/packages/lib-ethers/live/HintHelpers.json b/packages/lib-ethers/live/HintHelpers.json index 375b15521..a7c6ee9f4 100644 --- a/packages/lib-ethers/live/HintHelpers.json +++ b/packages/lib-ethers/live/HintHelpers.json @@ -48,32 +48,6 @@ "name": "TroveManagerAddressChanged", "type": "event" }, - { - "inputs": [], - "name": "BORROWING_FEE_FLOOR", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "CCR", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, { "inputs": [], "name": "DECIMAL_PRECISION", @@ -87,32 +61,6 @@ "stateMutability": "view", "type": "function" }, - { - "inputs": [], - "name": "LUSD_GAS_COMPENSATION", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "MCR", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, { "inputs": [], "name": "MIN_NET_DEBT", @@ -141,7 +89,7 @@ }, { "inputs": [], - "name": "PERCENT_DIVISOR", + "name": "ZUSD_GAS_COMPENSATION", "outputs": [ { "internalType": "uint256", @@ -309,11 +257,24 @@ "stateMutability": "view", "type": "function" }, + { + "inputs": [], + "name": "getOwner", + "outputs": [ + { + "internalType": "address", + "name": "_owner", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, { "inputs": [ { "internalType": "uint256", - "name": "_LUSDamount", + "name": "_ZUSDamount", "type": "uint256" }, { @@ -341,7 +302,7 @@ }, { "internalType": "uint256", - "name": "truncatedLUSDamount", + "name": "truncatedZUSDamount", "type": "uint256" } ], @@ -350,23 +311,10 @@ }, { "inputs": [], - "name": "isOwner", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "owner", + "name": "liquityBaseParams", "outputs": [ { - "internalType": "address", + "internalType": "contract ILiquityBaseParams", "name": "", "type": "address" } @@ -389,6 +337,11 @@ }, { "inputs": [ + { + "internalType": "address", + "name": "_liquityBaseParamsAddress", + "type": "address" + }, { "internalType": "address", "name": "_sortedTrovesAddress", @@ -405,6 +358,19 @@ "stateMutability": "nonpayable", "type": "function" }, + { + "inputs": [ + { + "internalType": "address", + "name": "_owner", + "type": "address" + } + ], + "name": "setOwner", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, { "inputs": [], "name": "sortedTroves", @@ -432,8 +398,8 @@ "type": "function" } ], - "bytecode": "0x608060405234801561001057600080fd5b50600380546001600160a01b031916339081179091556040516000907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3611457806100606000396000f3fe608060405234801561001057600080fd5b506004361061014d5760003560e01c8063795d26c3116100c357806390107afe1161007c57806390107afe146102a7578063a20baee61461022a578063a3f4df7e146102d7578063ae91875414610354578063c394a7fa1461035c578063f92d34331461037f5761014d565b8063795d26c3146102425780637b41bdbe1461024a5780637f7dde4a14610273578063887105d31461027b5780638da5cb5b146102835780638f32d59b1461028b5761014d565b80634870dd9a116101155780634870dd9a146101f1578063525acdbb146101f95780635733d58f1461022257806372fe25aa1461022a578063741bef1a14610232578063794e57241461023a5761014d565b806313144dba146101525780631bf43555146101a35780632e86bbd8146101bd5780633cc74225146101c55780633d83908a146101e9575b600080fd5b61017b6004803603606081101561016857600080fd5b5080359060208101359060400135610387565b604080516001600160a01b039094168452602084019290925282820152519081900360600190f35b6101ab610907565b60408051918252519081900360200190f35b6101ab610914565b6101cd610921565b604080516001600160a01b039092168252519081900360200190f35b6101cd610930565b6101ab61093f565b6101ab6004803603606081101561020f57600080fd5b5080359060208101359060400135610944565b6101ab61095b565b6101ab610967565b6101cd610973565b6101ab610982565b6101ab61098e565b61017b6004803603606081101561026057600080fd5b5080359060208101359060400135610a8f565b6101cd610da0565b6101ab610daf565b6101cd610e6b565b610293610e7a565b604080519115158252519081900360200190f35b6102d5600480360360408110156102bd57600080fd5b506001600160a01b0381358116916020013516610e8b565b005b6102df610f9e565b6040805160208082528351818301528351919283929083019185019080838360005b83811015610319578181015183820152602001610301565b50505050905090810190601f1680156103465780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101cd610fc5565b6101ab6004803603604081101561037257600080fd5b5080359060200135610fd4565b6101ab610fe9565b6004805460408051634d62283160e01b81529051600093849384936001600160a01b0390911692899285928592634d62283192828101926020929190829003018186803b1580156103d757600080fd5b505afa1580156103eb573d6000803e3d6000fd5b505050506040513d602081101561040157600080fd5b505190505b6001600160a01b038116158015906104a6575060055460408051630d293c7160e41b81526001600160a01b038481166004830152602482018c90529151670f43fc2c04ee000093929092169163d293c71091604480820192602092909190829003018186803b15801561047857600080fd5b505afa15801561048c573d6000803e3d6000fd5b505050506040513d60208110156104a257600080fd5b5051105b1561053457826001600160a01b031663b72703ac826040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b15801561050157600080fd5b505afa158015610515573d6000803e3d6000fd5b505050506040513d602081101561052b57600080fd5b50519050610406565b945084866105425760001996505b6001600160a01b0381161580159061055a5750600082115b801561056a575060001987019615155b156108e957600554604080516379a4316f60e11b81526001600160a01b038481166004830152915160009361067b93169163f34862de916024808301926020929190829003018186803b1580156105c057600080fd5b505afa1580156105d4573d6000803e3d6000fd5b505050506040513d60208110156105ea57600080fd5b50516005546040805163d66a255360e01b81526001600160a01b038781166004830152915161066f93929092169163d66a255391602480820192602092909190829003018186803b15801561063e57600080fd5b505afa158015610652573d6000803e3d6000fd5b505050506040513d602081101561066857600080fd5b5051610ff4565b9063ffffffff61100f16565b90508281111561084c57686194049f30f72000008111156108465760006106ba846106b584686194049f30f720000063ffffffff61106916565b6110ab565b60055460408051635d8c960960e01b81526001600160a01b03878116600483015291519394506000936107c3939290921691635d8c960991602480820192602092909190829003018186803b15801561071257600080fd5b505afa158015610726573d6000803e3d6000fd5b505050506040513d602081101561073c57600080fd5b5051600554604080516309019aaf60e31b81526001600160a01b0389811660048301529151919092169163480cd578916024808301926020929190829003018186803b15801561078b57600080fd5b505afa15801561079f573d6000803e3d6000fd5b505050506040513d60208110156107b557600080fd5b50519063ffffffff61100f16565b905060006107ff6107f28d6107e686670de0b6b3a764000063ffffffff6110c116565b9063ffffffff61111a16565b839063ffffffff61106916565b90506000610813858563ffffffff61106916565b905060006108208261115c565b905061082c8382611177565b9a5061083e888663ffffffff61106916565b975050505050505b506108e9565b61085c838263ffffffff61106916565b9250836001600160a01b031663b72703ac836040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b1580156108b457600080fd5b505afa1580156108c8573d6000803e3d6000fd5b505050506040513d60208110156108de57600080fd5b505191506105429050565b6108f9898363ffffffff61106916565b935050505093509350939050565b686194049f30f720000081565b680ad78ebc5ac620000081565b6001546001600160a01b031681565b6005546001600160a01b031681565b60c881565b60006109518484846111ac565b90505b9392505050565b6714d1120d7b16000081565b670de0b6b3a764000081565b6002546001600160a01b031681565b670f43fc2c04ee000081565b6000805460408051632f5a97e560e11b8152905183926001600160a01b031691635eb52fca916004808301926020929190829003018186803b1580156109d357600080fd5b505afa1580156109e7573d6000803e3d6000fd5b505050506040513d60208110156109fd57600080fd5b505160015460408051632f5a97e560e11b815290519293506000926001600160a01b0390921691635eb52fca91600480820192602092909190829003018186803b158015610a4a57600080fd5b505afa158015610a5e573d6000803e3d6000fd5b505050506040513d6020811015610a7457600080fd5b50519050610a88828263ffffffff61100f16565b9250505090565b600080600080600560009054906101000a90046001600160a01b03166001600160a01b03166349eefeee6040518163ffffffff1660e01b815260040160206040518083038186803b158015610ae357600080fd5b505afa158015610af7573d6000803e3d6000fd5b505050506040513d6020811015610b0d57600080fd5b5051905080610b26575060009250829150839050610d97565b6004805460408051634d62283160e01b815290516001600160a01b0390921692634d622831928282019260209290829003018186803b158015610b6857600080fd5b505afa158015610b7c573d6000803e3d6000fd5b505050506040513d6020811015610b9257600080fd5b50516005546040805163b0d8e18160e01b81526001600160a01b0380851660048301529151939750610c1c938b93929092169163b0d8e18191602480820192602092909190829003018186803b158015610beb57600080fd5b505afa158015610bff573d6000803e3d6000fd5b505050506040513d6020811015610c1557600080fd5b50516111dc565b925084915060015b86811015610d9457604080516020808201959095528151808203860181529082019091528051930192909220916000828481610c5c57fe5b0690506000600560009054906101000a90046001600160a01b03166001600160a01b031663d9a72444836040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015610cba57600080fd5b505afa158015610cce573d6000803e3d6000fd5b505050506040513d6020811015610ce457600080fd5b50516005546040805163b0d8e18160e01b81526001600160a01b0380851660048301529151939450600093919092169163b0d8e181916024808301926020929190829003018186803b158015610d3957600080fd5b505afa158015610d4d573d6000803e3d6000fd5b505050506040513d6020811015610d6357600080fd5b505190506000610d73828d6111dc565b905087811015610d84578097508298505b505060019092019150610c249050565b50505b93509350939050565b6000546001600160a01b031681565b6000805460408051630a7b61df60e11b8152905183926001600160a01b0316916314f6c3be916004808301926020929190829003018186803b158015610df457600080fd5b505afa158015610e08573d6000803e3d6000fd5b505050506040513d6020811015610e1e57600080fd5b505160015460408051630a7b61df60e11b815290519293506000926001600160a01b03909216916314f6c3be91600480820192602092909190829003018186803b158015610a4a57600080fd5b6003546001600160a01b031690565b6003546001600160a01b0316331490565b610e93610e7a565b610ee4576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b610eed8261120b565b610ef68161120b565b600480546001600160a01b038085166001600160a01b03199283168117909355600580549185169190921617905560408051918252517f65f4cf077bc01e4742eb5ad98326f6e95b63548ea24b17f8d5e823111fe788009181900360200190a1604080516001600160a01b038316815290517f143219c9e69b09e07e095fcc889b43d8f46ca892bba65f08dc3a0050869a56789181900360200190a1610f9a6112ba565b5050565b6040518060400160405280600b81526020016a48696e7448656c7065727360a81b81525081565b6004546001600160a01b031681565b6000610fe08383611177565b90505b92915050565b6611c37937e0800081565b6000610fe382680ad78ebc5ac620000063ffffffff61106916565b600082820183811015610fe0576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b6000610fe083836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611304565b60008183106110ba5781610fe0565b5090919050565b6000826110d057506000610fe3565b828202828482816110dd57fe5b0414610fe05760405162461bcd60e51b81526004018080602001828103825260218152602001806114016021913960400191505060405180910390fd5b6000610fe083836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061139b565b6000610fe382680ad78ebc5ac620000063ffffffff61100f16565b600081156111a35761119c826107e68568056bc75e2d6310000063ffffffff6110c116565b9050610fe3565b50600019610fe3565b600082156111d35760006111ca846107e6878663ffffffff6110c116565b91506109549050565b50600019610954565b6000818310156111fb576111f6828463ffffffff61106916565b610fe0565b610fe0838363ffffffff61106916565b6001600160a01b038116611266576040805162461bcd60e51b815260206004820152601e60248201527f4163636f756e742063616e6e6f74206265207a65726f20616464726573730000604482015290519081900360640190fd5b803b80610f9a576040805162461bcd60e51b815260206004820181905260248201527f4163636f756e7420636f64652073697a652063616e6e6f74206265207a65726f604482015290519081900360640190fd5b6003546040516000916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600380546001600160a01b0319169055565b600081848411156113935760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611358578181015183820152602001611340565b50505050905090810190601f1680156113855780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b600081836113ea5760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315611358578181015183820152602001611340565b5060008385816113f657fe5b049594505050505056fe536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77a264697066735822122027a77d2de4fefc3adaa043d58e0ca3fc1138fd7153e7e264fedb507c5c2b94d964736f6c634300060b0033", - "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061014d5760003560e01c8063795d26c3116100c357806390107afe1161007c57806390107afe146102a7578063a20baee61461022a578063a3f4df7e146102d7578063ae91875414610354578063c394a7fa1461035c578063f92d34331461037f5761014d565b8063795d26c3146102425780637b41bdbe1461024a5780637f7dde4a14610273578063887105d31461027b5780638da5cb5b146102835780638f32d59b1461028b5761014d565b80634870dd9a116101155780634870dd9a146101f1578063525acdbb146101f95780635733d58f1461022257806372fe25aa1461022a578063741bef1a14610232578063794e57241461023a5761014d565b806313144dba146101525780631bf43555146101a35780632e86bbd8146101bd5780633cc74225146101c55780633d83908a146101e9575b600080fd5b61017b6004803603606081101561016857600080fd5b5080359060208101359060400135610387565b604080516001600160a01b039094168452602084019290925282820152519081900360600190f35b6101ab610907565b60408051918252519081900360200190f35b6101ab610914565b6101cd610921565b604080516001600160a01b039092168252519081900360200190f35b6101cd610930565b6101ab61093f565b6101ab6004803603606081101561020f57600080fd5b5080359060208101359060400135610944565b6101ab61095b565b6101ab610967565b6101cd610973565b6101ab610982565b6101ab61098e565b61017b6004803603606081101561026057600080fd5b5080359060208101359060400135610a8f565b6101cd610da0565b6101ab610daf565b6101cd610e6b565b610293610e7a565b604080519115158252519081900360200190f35b6102d5600480360360408110156102bd57600080fd5b506001600160a01b0381358116916020013516610e8b565b005b6102df610f9e565b6040805160208082528351818301528351919283929083019185019080838360005b83811015610319578181015183820152602001610301565b50505050905090810190601f1680156103465780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101cd610fc5565b6101ab6004803603604081101561037257600080fd5b5080359060200135610fd4565b6101ab610fe9565b6004805460408051634d62283160e01b81529051600093849384936001600160a01b0390911692899285928592634d62283192828101926020929190829003018186803b1580156103d757600080fd5b505afa1580156103eb573d6000803e3d6000fd5b505050506040513d602081101561040157600080fd5b505190505b6001600160a01b038116158015906104a6575060055460408051630d293c7160e41b81526001600160a01b038481166004830152602482018c90529151670f43fc2c04ee000093929092169163d293c71091604480820192602092909190829003018186803b15801561047857600080fd5b505afa15801561048c573d6000803e3d6000fd5b505050506040513d60208110156104a257600080fd5b5051105b1561053457826001600160a01b031663b72703ac826040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b15801561050157600080fd5b505afa158015610515573d6000803e3d6000fd5b505050506040513d602081101561052b57600080fd5b50519050610406565b945084866105425760001996505b6001600160a01b0381161580159061055a5750600082115b801561056a575060001987019615155b156108e957600554604080516379a4316f60e11b81526001600160a01b038481166004830152915160009361067b93169163f34862de916024808301926020929190829003018186803b1580156105c057600080fd5b505afa1580156105d4573d6000803e3d6000fd5b505050506040513d60208110156105ea57600080fd5b50516005546040805163d66a255360e01b81526001600160a01b038781166004830152915161066f93929092169163d66a255391602480820192602092909190829003018186803b15801561063e57600080fd5b505afa158015610652573d6000803e3d6000fd5b505050506040513d602081101561066857600080fd5b5051610ff4565b9063ffffffff61100f16565b90508281111561084c57686194049f30f72000008111156108465760006106ba846106b584686194049f30f720000063ffffffff61106916565b6110ab565b60055460408051635d8c960960e01b81526001600160a01b03878116600483015291519394506000936107c3939290921691635d8c960991602480820192602092909190829003018186803b15801561071257600080fd5b505afa158015610726573d6000803e3d6000fd5b505050506040513d602081101561073c57600080fd5b5051600554604080516309019aaf60e31b81526001600160a01b0389811660048301529151919092169163480cd578916024808301926020929190829003018186803b15801561078b57600080fd5b505afa15801561079f573d6000803e3d6000fd5b505050506040513d60208110156107b557600080fd5b50519063ffffffff61100f16565b905060006107ff6107f28d6107e686670de0b6b3a764000063ffffffff6110c116565b9063ffffffff61111a16565b839063ffffffff61106916565b90506000610813858563ffffffff61106916565b905060006108208261115c565b905061082c8382611177565b9a5061083e888663ffffffff61106916565b975050505050505b506108e9565b61085c838263ffffffff61106916565b9250836001600160a01b031663b72703ac836040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b1580156108b457600080fd5b505afa1580156108c8573d6000803e3d6000fd5b505050506040513d60208110156108de57600080fd5b505191506105429050565b6108f9898363ffffffff61106916565b935050505093509350939050565b686194049f30f720000081565b680ad78ebc5ac620000081565b6001546001600160a01b031681565b6005546001600160a01b031681565b60c881565b60006109518484846111ac565b90505b9392505050565b6714d1120d7b16000081565b670de0b6b3a764000081565b6002546001600160a01b031681565b670f43fc2c04ee000081565b6000805460408051632f5a97e560e11b8152905183926001600160a01b031691635eb52fca916004808301926020929190829003018186803b1580156109d357600080fd5b505afa1580156109e7573d6000803e3d6000fd5b505050506040513d60208110156109fd57600080fd5b505160015460408051632f5a97e560e11b815290519293506000926001600160a01b0390921691635eb52fca91600480820192602092909190829003018186803b158015610a4a57600080fd5b505afa158015610a5e573d6000803e3d6000fd5b505050506040513d6020811015610a7457600080fd5b50519050610a88828263ffffffff61100f16565b9250505090565b600080600080600560009054906101000a90046001600160a01b03166001600160a01b03166349eefeee6040518163ffffffff1660e01b815260040160206040518083038186803b158015610ae357600080fd5b505afa158015610af7573d6000803e3d6000fd5b505050506040513d6020811015610b0d57600080fd5b5051905080610b26575060009250829150839050610d97565b6004805460408051634d62283160e01b815290516001600160a01b0390921692634d622831928282019260209290829003018186803b158015610b6857600080fd5b505afa158015610b7c573d6000803e3d6000fd5b505050506040513d6020811015610b9257600080fd5b50516005546040805163b0d8e18160e01b81526001600160a01b0380851660048301529151939750610c1c938b93929092169163b0d8e18191602480820192602092909190829003018186803b158015610beb57600080fd5b505afa158015610bff573d6000803e3d6000fd5b505050506040513d6020811015610c1557600080fd5b50516111dc565b925084915060015b86811015610d9457604080516020808201959095528151808203860181529082019091528051930192909220916000828481610c5c57fe5b0690506000600560009054906101000a90046001600160a01b03166001600160a01b031663d9a72444836040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015610cba57600080fd5b505afa158015610cce573d6000803e3d6000fd5b505050506040513d6020811015610ce457600080fd5b50516005546040805163b0d8e18160e01b81526001600160a01b0380851660048301529151939450600093919092169163b0d8e181916024808301926020929190829003018186803b158015610d3957600080fd5b505afa158015610d4d573d6000803e3d6000fd5b505050506040513d6020811015610d6357600080fd5b505190506000610d73828d6111dc565b905087811015610d84578097508298505b505060019092019150610c249050565b50505b93509350939050565b6000546001600160a01b031681565b6000805460408051630a7b61df60e11b8152905183926001600160a01b0316916314f6c3be916004808301926020929190829003018186803b158015610df457600080fd5b505afa158015610e08573d6000803e3d6000fd5b505050506040513d6020811015610e1e57600080fd5b505160015460408051630a7b61df60e11b815290519293506000926001600160a01b03909216916314f6c3be91600480820192602092909190829003018186803b158015610a4a57600080fd5b6003546001600160a01b031690565b6003546001600160a01b0316331490565b610e93610e7a565b610ee4576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b610eed8261120b565b610ef68161120b565b600480546001600160a01b038085166001600160a01b03199283168117909355600580549185169190921617905560408051918252517f65f4cf077bc01e4742eb5ad98326f6e95b63548ea24b17f8d5e823111fe788009181900360200190a1604080516001600160a01b038316815290517f143219c9e69b09e07e095fcc889b43d8f46ca892bba65f08dc3a0050869a56789181900360200190a1610f9a6112ba565b5050565b6040518060400160405280600b81526020016a48696e7448656c7065727360a81b81525081565b6004546001600160a01b031681565b6000610fe08383611177565b90505b92915050565b6611c37937e0800081565b6000610fe382680ad78ebc5ac620000063ffffffff61106916565b600082820183811015610fe0576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b6000610fe083836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611304565b60008183106110ba5781610fe0565b5090919050565b6000826110d057506000610fe3565b828202828482816110dd57fe5b0414610fe05760405162461bcd60e51b81526004018080602001828103825260218152602001806114016021913960400191505060405180910390fd5b6000610fe083836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061139b565b6000610fe382680ad78ebc5ac620000063ffffffff61100f16565b600081156111a35761119c826107e68568056bc75e2d6310000063ffffffff6110c116565b9050610fe3565b50600019610fe3565b600082156111d35760006111ca846107e6878663ffffffff6110c116565b91506109549050565b50600019610954565b6000818310156111fb576111f6828463ffffffff61106916565b610fe0565b610fe0838363ffffffff61106916565b6001600160a01b038116611266576040805162461bcd60e51b815260206004820152601e60248201527f4163636f756e742063616e6e6f74206265207a65726f20616464726573730000604482015290519081900360640190fd5b803b80610f9a576040805162461bcd60e51b815260206004820181905260248201527f4163636f756e7420636f64652073697a652063616e6e6f74206265207a65726f604482015290519081900360640190fd5b6003546040516000916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600380546001600160a01b0319169055565b600081848411156113935760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611358578181015183820152602001611340565b50505050905090810190601f1680156113855780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b600081836113ea5760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315611358578181015183820152602001611340565b5060008385816113f657fe5b049594505050505056fe536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77a264697066735822122027a77d2de4fefc3adaa043d58e0ca3fc1138fd7153e7e264fedb507c5c2b94d964736f6c634300060b0033", + "bytecode": "0x608060405234801561001057600080fd5b50610023336001600160e01b0361002816565b610110565b6001600160a01b03811661006d5760405162461bcd60e51b81526004018080602001828103825260228152602001806116d46022913960400191505060405180910390fd5b6001600160a01b0381166100886001600160e01b036100e616565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3604080517035b2bc9737bbb730b136329737bbb732b960791b8152905190819003601101902055565b604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205490565b6115b58061011f6000396000f3fe608060405234801561001057600080fd5b506004361061012c5760003560e01c8063795d26c3116100ad5780639f070670116100715780639f070670146102b2578063a20baee614610251578063a3f4df7e146102ba578063ae91875414610337578063c394a7fa1461033f5761012c565b8063795d26c3146102695780637b41bdbe146102715780637f7dde4a1461029a578063887105d3146102a2578063893d20e8146102aa5761012c565b80633d83908a116100f45780633d83908a14610220578063525acdbb1461022857806372fe25aa14610251578063741bef1a14610259578063759b3034146102615761012c565b806313144dba1461013157806313af4035146101825780631bf43555146101aa578063363bf964146101c45780633cc74225146101fc575b600080fd5b61015a6004803603606081101561014757600080fd5b5080359060208101359060400135610362565b604080516001600160a01b039094168452602084019290925282820152519081900360600190f35b6101a86004803603602081101561019857600080fd5b50356001600160a01b0316610951565b005b6101b26109c4565b60408051918252519081900360200190f35b6101a8600480360360608110156101da57600080fd5b506001600160a01b0381358116916020810135821691604090910135166109d1565b610204610b05565b604080516001600160a01b039092168252519081900360200190f35b610204610b14565b6101b26004803603606081101561023e57600080fd5b5080359060208101359060400135610b23565b6101b2610b3a565b610204610b46565b6101b2610b55565b6101b2610b62565b61015a6004803603606081101561028757600080fd5b5080359060208101359060400135610c61565b610204610f72565b6101b2610f81565b61020461103d565b610204611067565b6102c2611076565b6040805160208082528351818301528351919283929083019185019080838360005b838110156102fc5781810151838201526020016102e4565b50505050905090810190601f1680156103295780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61020461109d565b6101b26004803603604081101561035557600080fd5b50803590602001356110ac565b6004805460408051634d62283160e01b81529051600093849384936001600160a01b0390911692899285928592634d62283192828101926020929190829003018186803b1580156103b257600080fd5b505afa1580156103c6573d6000803e3d6000fd5b505050506040513d60208110156103dc57600080fd5b505190505b6001600160a01b038116158015906104f05750600360009054906101000a90046001600160a01b03166001600160a01b031663794e57246040518163ffffffff1660e01b815260040160206040518083038186803b15801561044257600080fd5b505afa158015610456573d6000803e3d6000fd5b505050506040513d602081101561046c57600080fd5b505160055460408051630d293c7160e41b81526001600160a01b038581166004830152602482018d90529151919092169163d293c710916044808301926020929190829003018186803b1580156104c257600080fd5b505afa1580156104d6573d6000803e3d6000fd5b505050506040513d60208110156104ec57600080fd5b5051105b1561057e57826001600160a01b031663b72703ac826040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b15801561054b57600080fd5b505afa15801561055f573d6000803e3d6000fd5b505050506040513d602081101561057557600080fd5b505190506103e1565b9450848661058c5760001996505b6001600160a01b038116158015906105a45750600082115b80156105b4575060001987019615155b1561093357600554604080516317c62b1760e01b81526001600160a01b03848116600483015291516000936106c59316916317c62b17916024808301926020929190829003018186803b15801561060a57600080fd5b505afa15801561061e573d6000803e3d6000fd5b505050506040513d602081101561063457600080fd5b50516005546040805163d66a255360e01b81526001600160a01b03878116600483015291516106b993929092169163d66a255391602480820192602092909190829003018186803b15801561068857600080fd5b505afa15801561069c573d6000803e3d6000fd5b505050506040513d60208110156106b257600080fd5b50516110c1565b9063ffffffff6110dc16565b905082811115610896576809c2007651b2500000811115610890576000610704846106ff846809c2007651b250000063ffffffff61113616565b611178565b60055460408051635d8c960960e01b81526001600160a01b038781166004830152915193945060009361080d939290921691635d8c960991602480820192602092909190829003018186803b15801561075c57600080fd5b505afa158015610770573d6000803e3d6000fd5b505050506040513d602081101561078657600080fd5b5051600554604080516309019aaf60e31b81526001600160a01b0389811660048301529151919092169163480cd578916024808301926020929190829003018186803b1580156107d557600080fd5b505afa1580156107e9573d6000803e3d6000fd5b505050506040513d60208110156107ff57600080fd5b50519063ffffffff6110dc16565b9050600061084961083c8d61083086670de0b6b3a764000063ffffffff61118e16565b9063ffffffff6111e716565b839063ffffffff61113616565b9050600061085d858563ffffffff61113616565b9050600061086a82611229565b90506108768382611244565b9a50610888888663ffffffff61113616565b975050505050505b50610933565b6108a6838263ffffffff61113616565b9250836001600160a01b031663b72703ac836040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b1580156108fe57600080fd5b505afa158015610912573d6000803e3d6000fd5b505050506040513d602081101561092857600080fd5b5051915061058c9050565b610943898363ffffffff61113616565b935050505093509350939050565b61095961103d565b6001600160a01b0316336001600160a01b0316146109b8576040805162461bcd60e51b815260206004820152601760248201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604482015290519081900360640190fd5b6109c181611279565b50565b6809c2007651b250000081565b6109d961103d565b6001600160a01b0316336001600160a01b031614610a38576040805162461bcd60e51b815260206004820152601760248201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604482015290519081900360640190fd5b610a418361132e565b610a4a8261132e565b610a538161132e565b600380546001600160a01b038086166001600160a01b031992831617909255600480548584169083168117909155600580549385169390921692909217905560408051918252517f65f4cf077bc01e4742eb5ad98326f6e95b63548ea24b17f8d5e823111fe788009181900360200190a1604080516001600160a01b038316815290517f143219c9e69b09e07e095fcc889b43d8f46ca892bba65f08dc3a0050869a56789181900360200190a1505050565b6001546001600160a01b031681565b6005546001600160a01b031681565b6000610b308484846113e1565b90505b9392505050565b670de0b6b3a764000081565b6002546001600160a01b031681565b6801158e460913d0000081565b60008054604080516272c7d360e71b8152905183926001600160a01b031691633963e980916004808301926020929190829003018186803b158015610ba657600080fd5b505afa158015610bba573d6000803e3d6000fd5b505050506040513d6020811015610bd057600080fd5b5051600154604080516272c7d360e71b815290519293506000926001600160a01b0390921691633963e98091600480820192602092909190829003018186803b158015610c1c57600080fd5b505afa158015610c30573d6000803e3d6000fd5b505050506040513d6020811015610c4657600080fd5b50519050610c5a828263ffffffff6110dc16565b9250505090565b600080600080600560009054906101000a90046001600160a01b03166001600160a01b03166349eefeee6040518163ffffffff1660e01b815260040160206040518083038186803b158015610cb557600080fd5b505afa158015610cc9573d6000803e3d6000fd5b505050506040513d6020811015610cdf57600080fd5b5051905080610cf8575060009250829150839050610f69565b6004805460408051634d62283160e01b815290516001600160a01b0390921692634d622831928282019260209290829003018186803b158015610d3a57600080fd5b505afa158015610d4e573d6000803e3d6000fd5b505050506040513d6020811015610d6457600080fd5b50516005546040805163b0d8e18160e01b81526001600160a01b0380851660048301529151939750610dee938b93929092169163b0d8e18191602480820192602092909190829003018186803b158015610dbd57600080fd5b505afa158015610dd1573d6000803e3d6000fd5b505050506040513d6020811015610de757600080fd5b5051611411565b925084915060015b86811015610f6657604080516020808201959095528151808203860181529082019091528051930192909220916000828481610e2e57fe5b0690506000600560009054906101000a90046001600160a01b03166001600160a01b031663d9a72444836040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015610e8c57600080fd5b505afa158015610ea0573d6000803e3d6000fd5b505050506040513d6020811015610eb657600080fd5b50516005546040805163b0d8e18160e01b81526001600160a01b0380851660048301529151939450600093919092169163b0d8e181916024808301926020929190829003018186803b158015610f0b57600080fd5b505afa158015610f1f573d6000803e3d6000fd5b505050506040513d6020811015610f3557600080fd5b505190506000610f45828d611411565b905087811015610f56578097508298505b505060019092019150610df69050565b50505b93509350939050565b6000546001600160a01b031681565b6000805460408051630a7b61df60e11b8152905183926001600160a01b0316916314f6c3be916004808301926020929190829003018186803b158015610fc657600080fd5b505afa158015610fda573d6000803e3d6000fd5b505050506040513d6020811015610ff057600080fd5b505160015460408051630a7b61df60e11b815290519293506000926001600160a01b03909216916314f6c3be91600480820192602092909190829003018186803b158015610c1c57600080fd5b604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205490565b6003546001600160a01b031681565b6040518060400160405280600b81526020016a48696e7448656c7065727360a81b81525081565b6004546001600160a01b031681565b60006110b88383611244565b90505b92915050565b60006110bb826801158e460913d0000063ffffffff61113616565b6000828201838110156110b8576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b60006110b883836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611440565b600081831061118757816110b8565b5090919050565b60008261119d575060006110bb565b828202828482816111aa57fe5b04146110b85760405162461bcd60e51b815260040180806020018281038252602181526020018061155f6021913960400191505060405180910390fd5b60006110b883836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506114d7565b60006110bb826801158e460913d0000063ffffffff6110dc16565b6000811561127057611269826108308568056bc75e2d6310000063ffffffff61118e16565b90506110bb565b506000196110bb565b6001600160a01b0381166112be5760405162461bcd60e51b815260040180806020018281038252602281526020018061153d6022913960400191505060405180910390fd5b806001600160a01b03166112d061103d565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3604080517035b2bc9737bbb730b136329737bbb732b960791b8152905190819003601101902055565b6001600160a01b038116611389576040805162461bcd60e51b815260206004820152601e60248201527f4163636f756e742063616e6e6f74206265207a65726f20616464726573730000604482015290519081900360640190fd5b803b806113dd576040805162461bcd60e51b815260206004820181905260248201527f4163636f756e7420636f64652073697a652063616e6e6f74206265207a65726f604482015290519081900360640190fd5b5050565b600082156114085760006113ff84610830878663ffffffff61118e16565b9150610b339050565b50600019610b33565b6000818310156114305761142b828463ffffffff61113616565b6110b8565b6110b8838363ffffffff61113616565b600081848411156114cf5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561149457818101518382015260200161147c565b50505050905090810190601f1680156114c15780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b600081836115265760405162461bcd60e51b815260206004820181815283516024840152835190928392604490910191908501908083836000831561149457818101518382015260200161147c565b50600083858161153257fe5b049594505050505056fe4f776e61626c653a3a7365744f776e65723a20696e76616c69642061646472657373536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77a2646970667358221220b45699dc70b63074cc3f4814bee259edea28c29802a6fd53970398c4e3e6509564736f6c634300060b00334f776e61626c653a3a7365744f776e65723a20696e76616c69642061646472657373", + "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061012c5760003560e01c8063795d26c3116100ad5780639f070670116100715780639f070670146102b2578063a20baee614610251578063a3f4df7e146102ba578063ae91875414610337578063c394a7fa1461033f5761012c565b8063795d26c3146102695780637b41bdbe146102715780637f7dde4a1461029a578063887105d3146102a2578063893d20e8146102aa5761012c565b80633d83908a116100f45780633d83908a14610220578063525acdbb1461022857806372fe25aa14610251578063741bef1a14610259578063759b3034146102615761012c565b806313144dba1461013157806313af4035146101825780631bf43555146101aa578063363bf964146101c45780633cc74225146101fc575b600080fd5b61015a6004803603606081101561014757600080fd5b5080359060208101359060400135610362565b604080516001600160a01b039094168452602084019290925282820152519081900360600190f35b6101a86004803603602081101561019857600080fd5b50356001600160a01b0316610951565b005b6101b26109c4565b60408051918252519081900360200190f35b6101a8600480360360608110156101da57600080fd5b506001600160a01b0381358116916020810135821691604090910135166109d1565b610204610b05565b604080516001600160a01b039092168252519081900360200190f35b610204610b14565b6101b26004803603606081101561023e57600080fd5b5080359060208101359060400135610b23565b6101b2610b3a565b610204610b46565b6101b2610b55565b6101b2610b62565b61015a6004803603606081101561028757600080fd5b5080359060208101359060400135610c61565b610204610f72565b6101b2610f81565b61020461103d565b610204611067565b6102c2611076565b6040805160208082528351818301528351919283929083019185019080838360005b838110156102fc5781810151838201526020016102e4565b50505050905090810190601f1680156103295780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61020461109d565b6101b26004803603604081101561035557600080fd5b50803590602001356110ac565b6004805460408051634d62283160e01b81529051600093849384936001600160a01b0390911692899285928592634d62283192828101926020929190829003018186803b1580156103b257600080fd5b505afa1580156103c6573d6000803e3d6000fd5b505050506040513d60208110156103dc57600080fd5b505190505b6001600160a01b038116158015906104f05750600360009054906101000a90046001600160a01b03166001600160a01b031663794e57246040518163ffffffff1660e01b815260040160206040518083038186803b15801561044257600080fd5b505afa158015610456573d6000803e3d6000fd5b505050506040513d602081101561046c57600080fd5b505160055460408051630d293c7160e41b81526001600160a01b038581166004830152602482018d90529151919092169163d293c710916044808301926020929190829003018186803b1580156104c257600080fd5b505afa1580156104d6573d6000803e3d6000fd5b505050506040513d60208110156104ec57600080fd5b5051105b1561057e57826001600160a01b031663b72703ac826040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b15801561054b57600080fd5b505afa15801561055f573d6000803e3d6000fd5b505050506040513d602081101561057557600080fd5b505190506103e1565b9450848661058c5760001996505b6001600160a01b038116158015906105a45750600082115b80156105b4575060001987019615155b1561093357600554604080516317c62b1760e01b81526001600160a01b03848116600483015291516000936106c59316916317c62b17916024808301926020929190829003018186803b15801561060a57600080fd5b505afa15801561061e573d6000803e3d6000fd5b505050506040513d602081101561063457600080fd5b50516005546040805163d66a255360e01b81526001600160a01b03878116600483015291516106b993929092169163d66a255391602480820192602092909190829003018186803b15801561068857600080fd5b505afa15801561069c573d6000803e3d6000fd5b505050506040513d60208110156106b257600080fd5b50516110c1565b9063ffffffff6110dc16565b905082811115610896576809c2007651b2500000811115610890576000610704846106ff846809c2007651b250000063ffffffff61113616565b611178565b60055460408051635d8c960960e01b81526001600160a01b038781166004830152915193945060009361080d939290921691635d8c960991602480820192602092909190829003018186803b15801561075c57600080fd5b505afa158015610770573d6000803e3d6000fd5b505050506040513d602081101561078657600080fd5b5051600554604080516309019aaf60e31b81526001600160a01b0389811660048301529151919092169163480cd578916024808301926020929190829003018186803b1580156107d557600080fd5b505afa1580156107e9573d6000803e3d6000fd5b505050506040513d60208110156107ff57600080fd5b50519063ffffffff6110dc16565b9050600061084961083c8d61083086670de0b6b3a764000063ffffffff61118e16565b9063ffffffff6111e716565b839063ffffffff61113616565b9050600061085d858563ffffffff61113616565b9050600061086a82611229565b90506108768382611244565b9a50610888888663ffffffff61113616565b975050505050505b50610933565b6108a6838263ffffffff61113616565b9250836001600160a01b031663b72703ac836040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b1580156108fe57600080fd5b505afa158015610912573d6000803e3d6000fd5b505050506040513d602081101561092857600080fd5b5051915061058c9050565b610943898363ffffffff61113616565b935050505093509350939050565b61095961103d565b6001600160a01b0316336001600160a01b0316146109b8576040805162461bcd60e51b815260206004820152601760248201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604482015290519081900360640190fd5b6109c181611279565b50565b6809c2007651b250000081565b6109d961103d565b6001600160a01b0316336001600160a01b031614610a38576040805162461bcd60e51b815260206004820152601760248201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604482015290519081900360640190fd5b610a418361132e565b610a4a8261132e565b610a538161132e565b600380546001600160a01b038086166001600160a01b031992831617909255600480548584169083168117909155600580549385169390921692909217905560408051918252517f65f4cf077bc01e4742eb5ad98326f6e95b63548ea24b17f8d5e823111fe788009181900360200190a1604080516001600160a01b038316815290517f143219c9e69b09e07e095fcc889b43d8f46ca892bba65f08dc3a0050869a56789181900360200190a1505050565b6001546001600160a01b031681565b6005546001600160a01b031681565b6000610b308484846113e1565b90505b9392505050565b670de0b6b3a764000081565b6002546001600160a01b031681565b6801158e460913d0000081565b60008054604080516272c7d360e71b8152905183926001600160a01b031691633963e980916004808301926020929190829003018186803b158015610ba657600080fd5b505afa158015610bba573d6000803e3d6000fd5b505050506040513d6020811015610bd057600080fd5b5051600154604080516272c7d360e71b815290519293506000926001600160a01b0390921691633963e98091600480820192602092909190829003018186803b158015610c1c57600080fd5b505afa158015610c30573d6000803e3d6000fd5b505050506040513d6020811015610c4657600080fd5b50519050610c5a828263ffffffff6110dc16565b9250505090565b600080600080600560009054906101000a90046001600160a01b03166001600160a01b03166349eefeee6040518163ffffffff1660e01b815260040160206040518083038186803b158015610cb557600080fd5b505afa158015610cc9573d6000803e3d6000fd5b505050506040513d6020811015610cdf57600080fd5b5051905080610cf8575060009250829150839050610f69565b6004805460408051634d62283160e01b815290516001600160a01b0390921692634d622831928282019260209290829003018186803b158015610d3a57600080fd5b505afa158015610d4e573d6000803e3d6000fd5b505050506040513d6020811015610d6457600080fd5b50516005546040805163b0d8e18160e01b81526001600160a01b0380851660048301529151939750610dee938b93929092169163b0d8e18191602480820192602092909190829003018186803b158015610dbd57600080fd5b505afa158015610dd1573d6000803e3d6000fd5b505050506040513d6020811015610de757600080fd5b5051611411565b925084915060015b86811015610f6657604080516020808201959095528151808203860181529082019091528051930192909220916000828481610e2e57fe5b0690506000600560009054906101000a90046001600160a01b03166001600160a01b031663d9a72444836040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015610e8c57600080fd5b505afa158015610ea0573d6000803e3d6000fd5b505050506040513d6020811015610eb657600080fd5b50516005546040805163b0d8e18160e01b81526001600160a01b0380851660048301529151939450600093919092169163b0d8e181916024808301926020929190829003018186803b158015610f0b57600080fd5b505afa158015610f1f573d6000803e3d6000fd5b505050506040513d6020811015610f3557600080fd5b505190506000610f45828d611411565b905087811015610f56578097508298505b505060019092019150610df69050565b50505b93509350939050565b6000546001600160a01b031681565b6000805460408051630a7b61df60e11b8152905183926001600160a01b0316916314f6c3be916004808301926020929190829003018186803b158015610fc657600080fd5b505afa158015610fda573d6000803e3d6000fd5b505050506040513d6020811015610ff057600080fd5b505160015460408051630a7b61df60e11b815290519293506000926001600160a01b03909216916314f6c3be91600480820192602092909190829003018186803b158015610c1c57600080fd5b604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205490565b6003546001600160a01b031681565b6040518060400160405280600b81526020016a48696e7448656c7065727360a81b81525081565b6004546001600160a01b031681565b60006110b88383611244565b90505b92915050565b60006110bb826801158e460913d0000063ffffffff61113616565b6000828201838110156110b8576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b60006110b883836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611440565b600081831061118757816110b8565b5090919050565b60008261119d575060006110bb565b828202828482816111aa57fe5b04146110b85760405162461bcd60e51b815260040180806020018281038252602181526020018061155f6021913960400191505060405180910390fd5b60006110b883836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506114d7565b60006110bb826801158e460913d0000063ffffffff6110dc16565b6000811561127057611269826108308568056bc75e2d6310000063ffffffff61118e16565b90506110bb565b506000196110bb565b6001600160a01b0381166112be5760405162461bcd60e51b815260040180806020018281038252602281526020018061153d6022913960400191505060405180910390fd5b806001600160a01b03166112d061103d565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3604080517035b2bc9737bbb730b136329737bbb732b960791b8152905190819003601101902055565b6001600160a01b038116611389576040805162461bcd60e51b815260206004820152601e60248201527f4163636f756e742063616e6e6f74206265207a65726f20616464726573730000604482015290519081900360640190fd5b803b806113dd576040805162461bcd60e51b815260206004820181905260248201527f4163636f756e7420636f64652073697a652063616e6e6f74206265207a65726f604482015290519081900360640190fd5b5050565b600082156114085760006113ff84610830878663ffffffff61118e16565b9150610b339050565b50600019610b33565b6000818310156114305761142b828463ffffffff61113616565b6110b8565b6110b8838363ffffffff61113616565b600081848411156114cf5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561149457818101518382015260200161147c565b50505050905090810190601f1680156114c15780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b600081836115265760405162461bcd60e51b815260206004820181815283516024840152835190928392604490910191908501908083836000831561149457818101518382015260200161147c565b50600083858161153257fe5b049594505050505056fe4f776e61626c653a3a7365744f776e65723a20696e76616c69642061646472657373536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77a2646970667358221220b45699dc70b63074cc3f4814bee259edea28c29802a6fd53970398c4e3e6509564736f6c634300060b0033", "linkReferences": {}, "deployedLinkReferences": {} } diff --git a/packages/lib-ethers/live/HintHelpersStorage.json b/packages/lib-ethers/live/HintHelpersStorage.json new file mode 100644 index 000000000..6b17c5055 --- /dev/null +++ b/packages/lib-ethers/live/HintHelpersStorage.json @@ -0,0 +1,95 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "HintHelpersStorage", + "sourceName": "contracts/HintHelpersStorage.sol", + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousOwner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnershipTransferred", + "type": "event" + }, + { + "inputs": [], + "name": "NAME", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getOwner", + "outputs": [ + { + "internalType": "address", + "name": "_owner", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_owner", + "type": "address" + } + ], + "name": "setOwner", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "sortedTroves", + "outputs": [ + { + "internalType": "contract ISortedTroves", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "troveManager", + "outputs": [ + { + "internalType": "contract ITroveManager", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + } + ], + "bytecode": "0x608060405234801561001057600080fd5b50610023336001600160e01b0361002816565b610110565b6001600160a01b03811661006d5760405162461bcd60e51b81526004018080602001828103825260228152602001806104436022913960400191505060405180910390fd5b6001600160a01b0381166100886001600160e01b036100e616565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3604080517035b2bc9737bbb730b136329737bbb732b960791b8152905190819003601101902055565b604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205490565b6103248061011f6000396000f3fe608060405234801561001057600080fd5b50600436106100575760003560e01c806313af40351461005c5780633d83908a14610084578063893d20e8146100a8578063a3f4df7e146100b0578063ae9187541461012d575b600080fd5b6100826004803603602081101561007257600080fd5b50356001600160a01b0316610135565b005b61008c6101a8565b604080516001600160a01b039092168252519081900360200190f35b61008c6101b7565b6100b86101e1565b6040805160208082528351818301528351919283929083019185019080838360005b838110156100f25781810151838201526020016100da565b50505050905090810190601f16801561011f5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61008c610208565b61013d6101b7565b6001600160a01b0316336001600160a01b03161461019c576040805162461bcd60e51b815260206004820152601760248201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604482015290519081900360640190fd5b6101a581610217565b50565b6001546001600160a01b031681565b604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205490565b6040518060400160405280600b81526020016a48696e7448656c7065727360a81b81525081565b6000546001600160a01b031681565b6001600160a01b03811661025c5760405162461bcd60e51b81526004018080602001828103825260228152602001806102cd6022913960400191505060405180910390fd5b806001600160a01b031661026e6101b7565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205556fe4f776e61626c653a3a7365744f776e65723a20696e76616c69642061646472657373a2646970667358221220908fbfc447608f6847defe56ff58f1e913830946a1a60b47be9ae66ca6a10bbc64736f6c634300060b00334f776e61626c653a3a7365744f776e65723a20696e76616c69642061646472657373", + "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100575760003560e01c806313af40351461005c5780633d83908a14610084578063893d20e8146100a8578063a3f4df7e146100b0578063ae9187541461012d575b600080fd5b6100826004803603602081101561007257600080fd5b50356001600160a01b0316610135565b005b61008c6101a8565b604080516001600160a01b039092168252519081900360200190f35b61008c6101b7565b6100b86101e1565b6040805160208082528351818301528351919283929083019185019080838360005b838110156100f25781810151838201526020016100da565b50505050905090810190601f16801561011f5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61008c610208565b61013d6101b7565b6001600160a01b0316336001600160a01b03161461019c576040805162461bcd60e51b815260206004820152601760248201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604482015290519081900360640190fd5b6101a581610217565b50565b6001546001600160a01b031681565b604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205490565b6040518060400160405280600b81526020016a48696e7448656c7065727360a81b81525081565b6000546001600160a01b031681565b6001600160a01b03811661025c5760405162461bcd60e51b81526004018080602001828103825260228152602001806102cd6022913960400191505060405180910390fd5b806001600160a01b031661026e6101b7565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205556fe4f776e61626c653a3a7365744f776e65723a20696e76616c69642061646472657373a2646970667358221220908fbfc447608f6847defe56ff58f1e913830946a1a60b47be9ae66ca6a10bbc64736f6c634300060b0033", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/packages/lib-ethers/live/IActivePool.json b/packages/lib-ethers/live/IActivePool.json index 9100855c9..bcc6825ba 100644 --- a/packages/lib-ethers/live/IActivePool.json +++ b/packages/lib-ethers/live/IActivePool.json @@ -35,11 +35,11 @@ { "indexed": false, "internalType": "uint256", - "name": "_LUSDDebt", + "name": "_ZUSDDebt", "type": "uint256" } ], - "name": "ActivePoolLUSDDebtUpdated", + "name": "ActivePoolZUSDDebtUpdated", "type": "event" }, { @@ -105,12 +105,12 @@ "inputs": [ { "indexed": false, - "internalType": "uint256", - "name": "_newBalance", - "type": "uint256" + "internalType": "address", + "name": "_newStabilityPoolAddress", + "type": "address" } ], - "name": "LUSDBalanceUpdated", + "name": "StabilityPoolAddressChanged", "type": "event" }, { @@ -119,11 +119,11 @@ { "indexed": false, "internalType": "address", - "name": "_newStabilityPoolAddress", + "name": "_newTroveManagerAddress", "type": "address" } ], - "name": "StabilityPoolAddressChanged", + "name": "TroveManagerAddressChanged", "type": "event" }, { @@ -131,12 +131,12 @@ "inputs": [ { "indexed": false, - "internalType": "address", - "name": "_newTroveManagerAddress", - "type": "address" + "internalType": "uint256", + "name": "_newBalance", + "type": "uint256" } ], - "name": "TroveManagerAddressChanged", + "name": "ZUSDBalanceUpdated", "type": "event" }, { @@ -147,7 +147,7 @@ "type": "uint256" } ], - "name": "decreaseLUSDDebt", + "name": "decreaseZUSDDebt", "outputs": [], "stateMutability": "nonpayable", "type": "function" @@ -167,7 +167,7 @@ }, { "inputs": [], - "name": "getLUSDDebt", + "name": "getZUSDDebt", "outputs": [ { "internalType": "uint256", @@ -186,7 +186,7 @@ "type": "uint256" } ], - "name": "increaseLUSDDebt", + "name": "increaseZUSDDebt", "outputs": [], "stateMutability": "nonpayable", "type": "function" diff --git a/packages/lib-ethers/live/IBalanceRedirectPresale.json b/packages/lib-ethers/live/IBalanceRedirectPresale.json new file mode 100644 index 000000000..c5c772aca --- /dev/null +++ b/packages/lib-ethers/live/IBalanceRedirectPresale.json @@ -0,0 +1,24 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "IBalanceRedirectPresale", + "sourceName": "contracts/Interfaces/IBalanceRedirectPresale.sol", + "abi": [ + { + "inputs": [], + "name": "isClosed", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + } + ], + "bytecode": "0x", + "deployedBytecode": "0x", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/packages/lib-ethers/live/IBorrowerOperations.json b/packages/lib-ethers/live/IBorrowerOperations.json index 7f0de32b4..0ebd9cf98 100644 --- a/packages/lib-ethers/live/IBorrowerOperations.json +++ b/packages/lib-ethers/live/IBorrowerOperations.json @@ -48,43 +48,11 @@ { "indexed": false, "internalType": "address", - "name": "_gasPoolAddress", + "name": "_feeDistributorAddress", "type": "address" } ], - "name": "GasPoolAddressChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_zeroStakingAddress", - "type": "address" - } - ], - "name": "LQTYStakingAddressChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "_borrower", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_LUSDFee", - "type": "uint256" - } - ], - "name": "LUSDBorrowingFeePaid", + "name": "FeeDistributorAddressChanged", "type": "event" }, { @@ -93,11 +61,11 @@ { "indexed": false, "internalType": "address", - "name": "_zusdTokenAddress", + "name": "_gasPoolAddress", "type": "address" } ], - "name": "LUSDTokenAddressChanged", + "name": "GasPoolAddressChanged", "type": "event" }, { @@ -208,6 +176,64 @@ "name": "TroveUpdated", "type": "event" }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "_zeroStakingAddress", + "type": "address" + } + ], + "name": "ZEROStakingAddressChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "_borrower", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "_ZUSDFee", + "type": "uint256" + } + ], + "name": "ZUSDBorrowingFeePaid", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "_zusdTokenAddress", + "type": "address" + } + ], + "name": "ZUSDTokenAddressChanged", + "type": "event" + }, + { + "inputs": [], + "name": "BORROWING_FEE_FLOOR", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, { "inputs": [ { @@ -226,6 +252,71 @@ "stateMutability": "payable", "type": "function" }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_maxFee", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_collWithdrawal", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_debtChange", + "type": "uint256" + }, + { + "internalType": "bool", + "name": "isDebtIncrease", + "type": "bool" + }, + { + "internalType": "address", + "name": "_upperHint", + "type": "address" + }, + { + "internalType": "address", + "name": "_lowerHint", + "type": "address" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "deadline", + "type": "uint256" + }, + { + "internalType": "uint8", + "name": "v", + "type": "uint8" + }, + { + "internalType": "bytes32", + "name": "r", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "s", + "type": "bytes32" + } + ], + "internalType": "struct IMassetManager.PermitParams", + "name": "_permitParams", + "type": "tuple" + } + ], + "name": "adjustNueTrove", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, { "inputs": [ { @@ -271,6 +362,41 @@ "stateMutability": "nonpayable", "type": "function" }, + { + "inputs": [ + { + "components": [ + { + "internalType": "uint256", + "name": "deadline", + "type": "uint256" + }, + { + "internalType": "uint8", + "name": "v", + "type": "uint8" + }, + { + "internalType": "bytes32", + "name": "r", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "s", + "type": "bytes32" + } + ], + "internalType": "struct IMassetManager.PermitParams", + "name": "_permitParams", + "type": "tuple" + } + ], + "name": "closeNueTrove", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, { "inputs": [], "name": "closeTrove", @@ -294,7 +420,20 @@ "type": "uint256" } ], - "stateMutability": "pure", + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getMassetManager", + "outputs": [ + { + "internalType": "contract IMassetManager", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", "type": "function" }, { @@ -329,7 +468,35 @@ }, { "internalType": "uint256", - "name": "_LUSDAmount", + "name": "_ZUSDAmount", + "type": "uint256" + }, + { + "internalType": "address", + "name": "_upperHint", + "type": "address" + }, + { + "internalType": "address", + "name": "_lowerHint", + "type": "address" + } + ], + "name": "openNueTrove", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_maxFee", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_ZUSDAmount", "type": "uint256" }, { @@ -366,13 +533,73 @@ "type": "address" } ], - "name": "repayLUSD", + "name": "repayZUSD", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_dllrAmount", + "type": "uint256" + }, + { + "internalType": "address", + "name": "_upperHint", + "type": "address" + }, + { + "internalType": "address", + "name": "_lowerHint", + "type": "address" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "deadline", + "type": "uint256" + }, + { + "internalType": "uint8", + "name": "v", + "type": "uint8" + }, + { + "internalType": "bytes32", + "name": "r", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "s", + "type": "bytes32" + } + ], + "internalType": "struct IMassetManager.PermitParams", + "name": "_permitParams", + "type": "tuple" + } + ], + "name": "repayZusdFromDLLR", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ + { + "internalType": "address", + "name": "_feeDistributorAddress", + "type": "address" + }, + { + "internalType": "address", + "name": "_liquityBaseParamsAddress", + "type": "address" + }, { "internalType": "address", "name": "_troveManagerAddress", @@ -475,10 +702,44 @@ "type": "address" } ], - "name": "withdrawLUSD", + "name": "withdrawZUSD", "outputs": [], "stateMutability": "nonpayable", "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_maxFeePercentage", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_ZUSDAmount", + "type": "uint256" + }, + { + "internalType": "address", + "name": "_upperHint", + "type": "address" + }, + { + "internalType": "address", + "name": "_lowerHint", + "type": "address" + } + ], + "name": "withdrawZusdAndConvertToDLLR", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function" } ], "bytecode": "0x", diff --git a/packages/lib-ethers/live/ICommunityIssuance.json b/packages/lib-ethers/live/ICommunityIssuance.json index de1c4c5d0..2f4d6df25 100644 --- a/packages/lib-ethers/live/ICommunityIssuance.json +++ b/packages/lib-ethers/live/ICommunityIssuance.json @@ -9,11 +9,11 @@ { "indexed": false, "internalType": "address", - "name": "_zeroTokenAddress", + "name": "_communityPotAddress", "type": "address" } ], - "name": "LQTYTokenAddressSet", + "name": "CommunityPotAddressSet", "type": "event" }, { @@ -21,12 +21,12 @@ "inputs": [ { "indexed": false, - "internalType": "address", - "name": "_stabilityPoolAddress", - "type": "address" + "internalType": "uint256", + "name": "_totalZEROIssued", + "type": "uint256" } ], - "name": "StabilityPoolAddressSet", + "name": "TotalZEROIssuedUpdated", "type": "event" }, { @@ -34,17 +34,40 @@ "inputs": [ { "indexed": false, - "internalType": "uint256", - "name": "_totalLQTYIssued", - "type": "uint256" + "internalType": "address", + "name": "_zeroTokenAddress", + "type": "address" } ], - "name": "TotalLQTYIssuedUpdated", + "name": "ZEROTokenAddressSet", "type": "event" }, + { + "inputs": [ + { + "internalType": "address", + "name": "_zeroTokenAddress", + "type": "address" + }, + { + "internalType": "address", + "name": "_communityPotAddress", + "type": "address" + }, + { + "internalType": "address", + "name": "_fundingWalletAddress", + "type": "address" + } + ], + "name": "initialize", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, { "inputs": [], - "name": "issueLQTY", + "name": "issueZERO", "outputs": [ { "internalType": "uint256", @@ -64,11 +87,11 @@ }, { "internalType": "uint256", - "name": "_LQTYamount", + "name": "_ZEROamount", "type": "uint256" } ], - "name": "sendLQTY", + "name": "receiveZero", "outputs": [], "stateMutability": "nonpayable", "type": "function" @@ -77,16 +100,16 @@ "inputs": [ { "internalType": "address", - "name": "_zeroTokenAddress", + "name": "_account", "type": "address" }, { - "internalType": "address", - "name": "_stabilityPoolAddress", - "type": "address" + "internalType": "uint256", + "name": "_ZEROamount", + "type": "uint256" } ], - "name": "setAddresses", + "name": "sendZERO", "outputs": [], "stateMutability": "nonpayable", "type": "function" diff --git a/packages/lib-ethers/live/IDLLR.json b/packages/lib-ethers/live/IDLLR.json new file mode 100644 index 000000000..1abc1b262 --- /dev/null +++ b/packages/lib-ethers/live/IDLLR.json @@ -0,0 +1,347 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "IDLLR", + "sourceName": "contracts/Dependencies/Mynt/IDLLR.sol", + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "Approval", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "Transfer", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "address", + "name": "spender", + "type": "address" + } + ], + "name": "allowance", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "approve", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + }, + { + "internalType": "bytes", + "name": "_data", + "type": "bytes" + } + ], + "name": "approveAndCall", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "balanceOf", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "decimals", + "outputs": [ + { + "internalType": "uint8", + "name": "", + "type": "uint8" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "subtractedValue", + "type": "uint256" + } + ], + "name": "decreaseAllowance", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "addedValue", + "type": "uint256" + } + ], + "name": "increaseAllowance", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "name", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "symbol", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "totalSupply", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_recipient", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "transfer", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_from", + "type": "address" + }, + { + "internalType": "address", + "name": "_to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "transferFrom", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_from", + "type": "address" + }, + { + "internalType": "address", + "name": "_to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_deadline", + "type": "uint256" + }, + { + "internalType": "uint8", + "name": "_v", + "type": "uint8" + }, + { + "internalType": "bytes32", + "name": "_r", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "_s", + "type": "bytes32" + } + ], + "name": "transferWithPermit", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "bytecode": "0x", + "deployedBytecode": "0x", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/packages/lib-ethers/live/IDefaultPool.json b/packages/lib-ethers/live/IDefaultPool.json index a16d4f189..2b42dc33e 100644 --- a/packages/lib-ethers/live/IDefaultPool.json +++ b/packages/lib-ethers/live/IDefaultPool.json @@ -48,11 +48,11 @@ { "indexed": false, "internalType": "uint256", - "name": "_LUSDDebt", + "name": "_ZUSDDebt", "type": "uint256" } ], - "name": "DefaultPoolLUSDDebtUpdated", + "name": "DefaultPoolZUSDDebtUpdated", "type": "event" }, { @@ -92,12 +92,12 @@ "inputs": [ { "indexed": false, - "internalType": "uint256", - "name": "_newBalance", - "type": "uint256" + "internalType": "address", + "name": "_newStabilityPoolAddress", + "type": "address" } ], - "name": "LUSDBalanceUpdated", + "name": "StabilityPoolAddressChanged", "type": "event" }, { @@ -106,11 +106,11 @@ { "indexed": false, "internalType": "address", - "name": "_newStabilityPoolAddress", + "name": "_newTroveManagerAddress", "type": "address" } ], - "name": "StabilityPoolAddressChanged", + "name": "TroveManagerAddressChanged", "type": "event" }, { @@ -118,12 +118,12 @@ "inputs": [ { "indexed": false, - "internalType": "address", - "name": "_newTroveManagerAddress", - "type": "address" + "internalType": "uint256", + "name": "_newBalance", + "type": "uint256" } ], - "name": "TroveManagerAddressChanged", + "name": "ZUSDBalanceUpdated", "type": "event" }, { @@ -134,7 +134,7 @@ "type": "uint256" } ], - "name": "decreaseLUSDDebt", + "name": "decreaseZUSDDebt", "outputs": [], "stateMutability": "nonpayable", "type": "function" @@ -154,7 +154,7 @@ }, { "inputs": [], - "name": "getLUSDDebt", + "name": "getZUSDDebt", "outputs": [ { "internalType": "uint256", @@ -173,7 +173,7 @@ "type": "uint256" } ], - "name": "increaseLUSDDebt", + "name": "increaseZUSDDebt", "outputs": [], "stateMutability": "nonpayable", "type": "function" diff --git a/packages/lib-ethers/live/IExternalPriceFeed.json b/packages/lib-ethers/live/IExternalPriceFeed.json new file mode 100644 index 000000000..dfc235aa4 --- /dev/null +++ b/packages/lib-ethers/live/IExternalPriceFeed.json @@ -0,0 +1,29 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "IExternalPriceFeed", + "sourceName": "contracts/Dependencies/PriceFeed/IExternalPriceFeed.sol", + "abi": [ + { + "inputs": [], + "name": "latestAnswer", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + } + ], + "bytecode": "0x", + "deployedBytecode": "0x", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/packages/lib-ethers/live/IFeeDistributor.json b/packages/lib-ethers/live/IFeeDistributor.json new file mode 100644 index 000000000..71c78a2d5 --- /dev/null +++ b/packages/lib-ethers/live/IFeeDistributor.json @@ -0,0 +1,178 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "IFeeDistributor", + "sourceName": "contracts/Interfaces/IFeeDistributor.sol", + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "_activePoolAddress", + "type": "address" + } + ], + "name": "ActivePoolAddressSet", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "_borrowerOperationsAddress", + "type": "address" + } + ], + "name": "BorrowerOperationsAddressChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "_feeSharingCollectorAddress", + "type": "address" + } + ], + "name": "FeeSharingCollectorAddressChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "_rbtcDistributedAmount", + "type": "uint256" + } + ], + "name": "RBTCistributed", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "_troveManagerAddress", + "type": "address" + } + ], + "name": "TroveManagerAddressChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "_wrbtcAddress", + "type": "address" + } + ], + "name": "WrbtcAddressChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "_zusdDistributedAmount", + "type": "uint256" + } + ], + "name": "ZUSDDistributed", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "_zusdTokenAddress", + "type": "address" + } + ], + "name": "ZUSDTokenAddressChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "_zeroStakingAddress", + "type": "address" + } + ], + "name": "ZeroStakingAddressChanged", + "type": "event" + }, + { + "inputs": [], + "name": "distributeFees", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_feeSharingCollectorAddress", + "type": "address" + }, + { + "internalType": "address", + "name": "_zeroStakingAddress", + "type": "address" + }, + { + "internalType": "address", + "name": "_borrowerOperationsAddress", + "type": "address" + }, + { + "internalType": "address", + "name": "_troveManagerAddress", + "type": "address" + }, + { + "internalType": "address", + "name": "_wrbtcAddress", + "type": "address" + }, + { + "internalType": "address", + "name": "_zusdTokenAddress", + "type": "address" + }, + { + "internalType": "address", + "name": "_activePoolAddress", + "type": "address" + } + ], + "name": "setAddresses", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "bytecode": "0x", + "deployedBytecode": "0x", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/packages/lib-ethers/live/IFeeSharingCollector.json b/packages/lib-ethers/live/IFeeSharingCollector.json new file mode 100644 index 000000000..6b2d76ba0 --- /dev/null +++ b/packages/lib-ethers/live/IFeeSharingCollector.json @@ -0,0 +1,72 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "IFeeSharingCollector", + "sourceName": "contracts/Interfaces/IFeeSharingCollector.sol", + "abi": [ + { + "inputs": [], + "name": "transferRBTC", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_token", + "type": "address" + }, + { + "internalType": "uint96", + "name": "_amount", + "type": "uint96" + } + ], + "name": "transferTokens", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_loanPoolToken", + "type": "address" + }, + { + "internalType": "uint32", + "name": "_maxCheckpoints", + "type": "uint32" + }, + { + "internalType": "address", + "name": "_receiver", + "type": "address" + } + ], + "name": "withdraw", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_token", + "type": "address" + } + ], + "name": "withdrawFees", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "bytecode": "0x", + "deployedBytecode": "0x", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/packages/lib-ethers/live/ILPTokenWrapper.json b/packages/lib-ethers/live/ILPTokenWrapper.json deleted file mode 100644 index 9918416b8..000000000 --- a/packages/lib-ethers/live/ILPTokenWrapper.json +++ /dev/null @@ -1,69 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "ILPTokenWrapper", - "sourceName": "contracts/LPRewards/Interfaces/ILPTokenWrapper.sol", - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "balanceOf", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "stake", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "totalSupply", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "withdraw", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": "0x", - "deployedBytecode": "0x", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/packages/lib-ethers/live/ILiquityBase.json b/packages/lib-ethers/live/ILiquityBase.json index 9783efeb6..e78f7ca87 100644 --- a/packages/lib-ethers/live/ILiquityBase.json +++ b/packages/lib-ethers/live/ILiquityBase.json @@ -3,6 +3,19 @@ "contractName": "ILiquityBase", "sourceName": "contracts/Interfaces/ILiquityBase.sol", "abi": [ + { + "inputs": [], + "name": "liquityBaseParams", + "outputs": [ + { + "internalType": "contract ILiquityBaseParams", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, { "inputs": [], "name": "priceFeed", diff --git a/packages/lib-ethers/live/ILiquityBaseParams.json b/packages/lib-ethers/live/ILiquityBaseParams.json new file mode 100644 index 000000000..57a09e6b1 --- /dev/null +++ b/packages/lib-ethers/live/ILiquityBaseParams.json @@ -0,0 +1,89 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "ILiquityBaseParams", + "sourceName": "contracts/Interfaces/ILiquityBaseParams.sol", + "abi": [ + { + "inputs": [], + "name": "BORROWING_FEE_FLOOR", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "CCR", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "MAX_BORROWING_FEE", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "MCR", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "PERCENT_DIVISOR", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "REDEMPTION_FEE_FLOOR", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + } + ], + "bytecode": "0x", + "deployedBytecode": "0x", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/packages/lib-ethers/live/ILockupContractFactory.json b/packages/lib-ethers/live/ILockupContractFactory.json deleted file mode 100644 index 39bee55f3..000000000 --- a/packages/lib-ethers/live/ILockupContractFactory.json +++ /dev/null @@ -1,105 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "ILockupContractFactory", - "sourceName": "contracts/Interfaces/ILockupContractFactory.sol", - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_zeroTokenAddress", - "type": "address" - } - ], - "name": "LQTYTokenAddressSet", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_lockupContractAddress", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "_beneficiary", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_unlockTime", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "address", - "name": "_deployer", - "type": "address" - } - ], - "name": "LockupContractDeployedThroughFactory", - "type": "event" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_beneficiary", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_unlockTime", - "type": "uint256" - } - ], - "name": "deployLockupContract", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_addr", - "type": "address" - } - ], - "name": "isRegisteredLockup", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_zeroTokenAddress", - "type": "address" - } - ], - "name": "setLQTYTokenAddress", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": "0x", - "deployedBytecode": "0x", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/packages/lib-ethers/live/IUnipool.json b/packages/lib-ethers/live/IMassetManager.json similarity index 60% rename from packages/lib-ethers/live/IUnipool.json rename to packages/lib-ethers/live/IMassetManager.json index 87ab668c2..55105473d 100644 --- a/packages/lib-ethers/live/IUnipool.json +++ b/packages/lib-ethers/live/IMassetManager.json @@ -1,50 +1,40 @@ { "_format": "hh-sol-artifact-1", - "contractName": "IUnipool", - "sourceName": "contracts/LPRewards/Interfaces/IUnipool.sol", + "contractName": "IMassetManager", + "sourceName": "contracts/Dependencies/Mynt/IMassetManager.sol", "abi": [ { "inputs": [], - "name": "claimReward", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "earned", + "name": "getToken", "outputs": [ { - "internalType": "uint256", + "internalType": "address", "name": "", - "type": "uint256" + "type": "address" } ], "stateMutability": "view", "type": "function" }, { - "inputs": [], - "name": "lastTimeRewardApplicable", - "outputs": [ + "inputs": [ + { + "internalType": "address", + "name": "_bAsset", + "type": "address" + }, { "internalType": "uint256", - "name": "", + "name": "_bAssetQuantity", "type": "uint256" + }, + { + "internalType": "address", + "name": "_recipient", + "type": "address" } ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "rewardPerToken", + "name": "mintTo", "outputs": [ { "internalType": "uint256", @@ -52,36 +42,35 @@ "type": "uint256" } ], - "stateMutability": "view", + "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", - "name": "_zeroTokenAddress", + "name": "_bAsset", "type": "address" }, + { + "internalType": "uint256", + "name": "_massetQuantity", + "type": "uint256" + }, { "internalType": "address", - "name": "_uniTokenAddress", + "name": "_recipient", "type": "address" - }, + } + ], + "name": "redeemTo", + "outputs": [ { "internalType": "uint256", - "name": "_duration", + "name": "massetRedeemed", "type": "uint256" } ], - "name": "setParams", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "withdrawAndClaim", - "outputs": [], "stateMutability": "nonpayable", "type": "function" } diff --git a/packages/lib-ethers/live/IMoCBaseOracle.json b/packages/lib-ethers/live/IMoCBaseOracle.json new file mode 100644 index 000000000..162725118 --- /dev/null +++ b/packages/lib-ethers/live/IMoCBaseOracle.json @@ -0,0 +1,29 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "IMoCBaseOracle", + "sourceName": "contracts/TestContracts/ExternalPriceFeedTester.sol", + "abi": [ + { + "inputs": [], + "name": "peek", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + }, + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + } + ], + "bytecode": "0x", + "deployedBytecode": "0x", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/packages/lib-ethers/live/IPool.json b/packages/lib-ethers/live/IPool.json index 9fa03d657..31911664f 100644 --- a/packages/lib-ethers/live/IPool.json +++ b/packages/lib-ethers/live/IPool.json @@ -66,12 +66,12 @@ "inputs": [ { "indexed": false, - "internalType": "uint256", - "name": "_newBalance", - "type": "uint256" + "internalType": "address", + "name": "_newStabilityPoolAddress", + "type": "address" } ], - "name": "LUSDBalanceUpdated", + "name": "StabilityPoolAddressChanged", "type": "event" }, { @@ -79,12 +79,12 @@ "inputs": [ { "indexed": false, - "internalType": "address", - "name": "_newStabilityPoolAddress", - "type": "address" + "internalType": "uint256", + "name": "_newBalance", + "type": "uint256" } ], - "name": "StabilityPoolAddressChanged", + "name": "ZUSDBalanceUpdated", "type": "event" }, { @@ -95,7 +95,7 @@ "type": "uint256" } ], - "name": "decreaseLUSDDebt", + "name": "decreaseZUSDDebt", "outputs": [], "stateMutability": "nonpayable", "type": "function" @@ -115,7 +115,7 @@ }, { "inputs": [], - "name": "getLUSDDebt", + "name": "getZUSDDebt", "outputs": [ { "internalType": "uint256", @@ -134,7 +134,7 @@ "type": "uint256" } ], - "name": "increaseLUSDDebt", + "name": "increaseZUSDDebt", "outputs": [], "stateMutability": "nonpayable", "type": "function" diff --git a/packages/lib-ethers/live/ITellorCaller.json b/packages/lib-ethers/live/IRSKOracle.json similarity index 55% rename from packages/lib-ethers/live/ITellorCaller.json rename to packages/lib-ethers/live/IRSKOracle.json index f9e3e5371..b2f20f815 100644 --- a/packages/lib-ethers/live/ITellorCaller.json +++ b/packages/lib-ethers/live/IRSKOracle.json @@ -1,23 +1,12 @@ { "_format": "hh-sol-artifact-1", - "contractName": "ITellorCaller", - "sourceName": "contracts/Interfaces/ITellorCaller.sol", + "contractName": "IRSKOracle", + "sourceName": "contracts/Dependencies/PriceFeed/RskOracle.sol", "abi": [ { - "inputs": [ - { - "internalType": "uint256", - "name": "_requestId", - "type": "uint256" - } - ], - "name": "getTellorCurrentValue", + "inputs": [], + "name": "getPricing", "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - }, { "internalType": "uint256", "name": "", diff --git a/packages/lib-ethers/live/IStabilityPool.json b/packages/lib-ethers/live/IStabilityPool.json index db69854ed..f4f95573f 100644 --- a/packages/lib-ethers/live/IStabilityPool.json +++ b/packages/lib-ethers/live/IStabilityPool.json @@ -104,7 +104,7 @@ { "indexed": false, "internalType": "uint256", - "name": "_LUSDLoss", + "name": "_ZUSDLoss", "type": "uint256" } ], @@ -256,57 +256,6 @@ "name": "G_Updated", "type": "event" }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "_depositor", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_LQTY", - "type": "uint256" - } - ], - "name": "LQTYPaidToDepositor", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "_frontEnd", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_LQTY", - "type": "uint256" - } - ], - "name": "LQTYPaidToFrontEnd", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_newLUSDTokenAddress", - "type": "address" - } - ], - "name": "LUSDTokenAddressChanged", - "type": "event" - }, { "anonymous": false, "inputs": [ @@ -407,7 +356,7 @@ "type": "uint256" } ], - "name": "StabilityPoolLUSDBalanceUpdated", + "name": "StabilityPoolZUSDBalanceUpdated", "type": "event" }, { @@ -442,6 +391,82 @@ "name": "UserDepositChanged", "type": "event" }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "_depositor", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "_zusdAmountRequested", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "_dllrAmountReceived", + "type": "uint256" + } + ], + "name": "WithdrawFromSpAndConvertToDLLR", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "_depositor", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "_ZERO", + "type": "uint256" + } + ], + "name": "ZEROPaidToDepositor", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "_frontEnd", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "_ZERO", + "type": "uint256" + } + ], + "name": "ZEROPaidToFrontEnd", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "_newZUSDTokenAddress", + "type": "address" + } + ], + "name": "ZUSDTokenAddressChanged", + "type": "event" + }, { "inputs": [ { @@ -469,7 +494,7 @@ "type": "address" } ], - "name": "getCompoundedLUSDDeposit", + "name": "getCompoundedZUSDDeposit", "outputs": [ { "internalType": "uint256", @@ -507,7 +532,7 @@ "type": "address" } ], - "name": "getDepositorLQTYGain", + "name": "getDepositorZEROGain", "outputs": [ { "internalType": "uint256", @@ -539,7 +564,7 @@ "type": "address" } ], - "name": "getFrontEndLQTYGain", + "name": "getFrontEndZEROGain", "outputs": [ { "internalType": "uint256", @@ -552,7 +577,7 @@ }, { "inputs": [], - "name": "getTotalLUSDDeposits", + "name": "getTotalZUSDDeposits", "outputs": [ { "internalType": "uint256", @@ -599,6 +624,46 @@ "stateMutability": "nonpayable", "type": "function" }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_dllrAmount", + "type": "uint256" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "deadline", + "type": "uint256" + }, + { + "internalType": "uint8", + "name": "v", + "type": "uint8" + }, + { + "internalType": "bytes32", + "name": "r", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "s", + "type": "bytes32" + } + ], + "internalType": "struct IMassetManager.PermitParams", + "name": "_permitParams", + "type": "tuple" + } + ], + "name": "provideToSpFromDLLR", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, { "inputs": [ { @@ -614,6 +679,11 @@ }, { "inputs": [ + { + "internalType": "address", + "name": "_liquityBaseParamsAddress", + "type": "address" + }, { "internalType": "address", "name": "_borrowerOperationsAddress", @@ -685,6 +755,19 @@ "outputs": [], "stateMutability": "nonpayable", "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_zusdAmount", + "type": "uint256" + } + ], + "name": "withdrawFromSpAndConvertToDLLR", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" } ], "bytecode": "0x", diff --git a/packages/lib-ethers/live/ITellor.json b/packages/lib-ethers/live/ITellor.json deleted file mode 100644 index 84297d2ae..000000000 --- a/packages/lib-ethers/live/ITellor.json +++ /dev/null @@ -1,1104 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "ITellor", - "sourceName": "contracts/Dependencies/ITellor.sol", - "abi": [ - { - "inputs": [ - { - "internalType": "uint256", - "name": "_requestId", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_tip", - "type": "uint256" - } - ], - "name": "addTip", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_user", - "type": "address" - }, - { - "internalType": "address", - "name": "_spender", - "type": "address" - } - ], - "name": "allowance", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_user", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "name": "allowedToTrade", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "name": "approve", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_user", - "type": "address" - } - ], - "name": "balanceOf", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_user", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_blockNumber", - "type": "uint256" - } - ], - "name": "balanceOfAt", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_requestId", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_timestamp", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_minerIndex", - "type": "uint256" - } - ], - "name": "beginDispute", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "claimOwnership", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "decimals", - "outputs": [ - { - "internalType": "uint8", - "name": "", - "type": "uint8" - } - ], - "stateMutability": "pure", - "type": "function" - }, - { - "inputs": [], - "name": "depositStake", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "_challenge", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "_miner", - "type": "address" - } - ], - "name": "didMine", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_disputeId", - "type": "uint256" - }, - { - "internalType": "address", - "name": "_address", - "type": "address" - } - ], - "name": "didVote", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "_data", - "type": "bytes32" - } - ], - "name": "getAddressVars", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_disputeId", - "type": "uint256" - } - ], - "name": "getAllDisputeVars", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - }, - { - "internalType": "bool", - "name": "", - "type": "bool" - }, - { - "internalType": "bool", - "name": "", - "type": "bool" - }, - { - "internalType": "bool", - "name": "", - "type": "bool" - }, - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "uint256[9]", - "name": "", - "type": "uint256[9]" - }, - { - "internalType": "int256", - "name": "", - "type": "int256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getCurrentVariables", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "string", - "name": "", - "type": "string" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "_hash", - "type": "bytes32" - } - ], - "name": "getDisputeIdByDisputeHash", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_disputeId", - "type": "uint256" - }, - { - "internalType": "bytes32", - "name": "_data", - "type": "bytes32" - } - ], - "name": "getDisputeUintVars", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getLastNewValue", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_requestId", - "type": "uint256" - } - ], - "name": "getLastNewValueById", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_requestId", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_timestamp", - "type": "uint256" - } - ], - "name": "getMinedBlockNum", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_requestId", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_timestamp", - "type": "uint256" - } - ], - "name": "getMinersByRequestIdAndTimestamp", - "outputs": [ - { - "internalType": "address[5]", - "name": "", - "type": "address[5]" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getNewCurrentVariables", - "outputs": [ - { - "internalType": "bytes32", - "name": "_challenge", - "type": "bytes32" - }, - { - "internalType": "uint256[5]", - "name": "_requestIds", - "type": "uint256[5]" - }, - { - "internalType": "uint256", - "name": "_difficutly", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_tip", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_requestId", - "type": "uint256" - } - ], - "name": "getNewValueCountbyRequestId", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getNewVariablesOnDeck", - "outputs": [ - { - "internalType": "uint256[5]", - "name": "idsOnDeck", - "type": "uint256[5]" - }, - { - "internalType": "uint256[5]", - "name": "tipsOnDeck", - "type": "uint256[5]" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "_request", - "type": "bytes32" - } - ], - "name": "getRequestIdByQueryHash", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_index", - "type": "uint256" - } - ], - "name": "getRequestIdByRequestQIndex", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_timestamp", - "type": "uint256" - } - ], - "name": "getRequestIdByTimestamp", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getRequestQ", - "outputs": [ - { - "internalType": "uint256[51]", - "name": "", - "type": "uint256[51]" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_requestId", - "type": "uint256" - }, - { - "internalType": "bytes32", - "name": "_data", - "type": "bytes32" - } - ], - "name": "getRequestUintVars", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_requestId", - "type": "uint256" - } - ], - "name": "getRequestVars", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - }, - { - "internalType": "string", - "name": "", - "type": "string" - }, - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_staker", - "type": "address" - } - ], - "name": "getStakerInfo", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_requestId", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_timestamp", - "type": "uint256" - } - ], - "name": "getSubmissionsByTimestamp", - "outputs": [ - { - "internalType": "uint256[5]", - "name": "", - "type": "uint256[5]" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_requestID", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_index", - "type": "uint256" - } - ], - "name": "getTimestampbyRequestIDandIndex", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getTopRequestIDs", - "outputs": [ - { - "internalType": "uint256[5]", - "name": "_requestIds", - "type": "uint256[5]" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "_data", - "type": "bytes32" - } - ], - "name": "getUintVar", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getVariablesOnDeck", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_requestId", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_timestamp", - "type": "uint256" - } - ], - "name": "isInDispute", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "name", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "pure", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_propNewTellorAddress", - "type": "address" - } - ], - "name": "proposeFork", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address payable", - "name": "_pendingOwner", - "type": "address" - } - ], - "name": "proposeOwnership", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "requestStakingWithdraw", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_requestId", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_timestamp", - "type": "uint256" - } - ], - "name": "retrieveData", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "string", - "name": "_nonce", - "type": "string" - }, - { - "internalType": "uint256[5]", - "name": "_requestId", - "type": "uint256[5]" - }, - { - "internalType": "uint256[5]", - "name": "_value", - "type": "uint256[5]" - } - ], - "name": "submitMiningSolution", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "string", - "name": "_nonce", - "type": "string" - }, - { - "internalType": "uint256", - "name": "_requestId", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_value", - "type": "uint256" - } - ], - "name": "submitMiningSolution", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "symbol", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "pure", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_disputeId", - "type": "uint256" - } - ], - "name": "tallyVotes", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "totalSupply", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "name": "transfer", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_from", - "type": "address" - }, - { - "internalType": "address", - "name": "_to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "name": "transferFrom", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_disputeId", - "type": "uint256" - } - ], - "name": "unlockDisputeFee", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_disputeId", - "type": "uint256" - } - ], - "name": "updateTellor", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_disputeId", - "type": "uint256" - }, - { - "internalType": "bool", - "name": "_supportsDispute", - "type": "bool" - } - ], - "name": "vote", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "withdrawStake", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": "0x", - "deployedBytecode": "0x", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/packages/lib-ethers/live/ITroveManager.json b/packages/lib-ethers/live/ITroveManager.json index bee20c331..b206ae870 100644 --- a/packages/lib-ethers/live/ITroveManager.json +++ b/packages/lib-ethers/live/ITroveManager.json @@ -74,24 +74,11 @@ { "indexed": false, "internalType": "address", - "name": "_gasPoolAddress", - "type": "address" - } - ], - "name": "GasPoolAddressChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_zeroStakingAddress", + "name": "_feeDistributorAddress", "type": "address" } ], - "name": "LQTYStakingAddressChanged", + "name": "FeeDistributorAddressChanged", "type": "event" }, { @@ -100,11 +87,11 @@ { "indexed": false, "internalType": "address", - "name": "_zeroTokenAddress", + "name": "_gasPoolAddress", "type": "address" } ], - "name": "LQTYTokenAddressChanged", + "name": "GasPoolAddressChanged", "type": "event" }, { @@ -119,26 +106,13 @@ { "indexed": false, "internalType": "uint256", - "name": "_L_LUSDDebt", + "name": "_L_ZUSDDebt", "type": "uint256" } ], "name": "LTermsUpdated", "type": "event" }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_newLUSDTokenAddress", - "type": "address" - } - ], - "name": "LUSDTokenAddressChanged", - "type": "event" - }, { "anonymous": false, "inputs": [ @@ -176,13 +150,26 @@ { "indexed": false, "internalType": "uint256", - "name": "_LUSDGasCompensation", + "name": "_ZUSDGasCompensation", "type": "uint256" } ], "name": "Liquidation", "type": "event" }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "_borrowerOperationsAddress", + "type": "address" + } + ], + "name": "LiquityBaseParamsAddressChanges", + "type": "event" + }, { "anonymous": false, "inputs": [ @@ -202,13 +189,13 @@ { "indexed": false, "internalType": "uint256", - "name": "_attemptedLUSDAmount", + "name": "_attemptedZUSDAmount", "type": "uint256" }, { "indexed": false, "internalType": "uint256", - "name": "_actualLUSDAmount", + "name": "_actualZUSDAmount", "type": "uint256" }, { @@ -335,6 +322,19 @@ "name": "TroveLiquidated", "type": "event" }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "_troveManagerRedeemOps", + "type": "address" + } + ], + "name": "TroveManagerRedeemOpsAddressChanged", + "type": "event" + }, { "anonymous": false, "inputs": [ @@ -347,7 +347,7 @@ { "indexed": false, "internalType": "uint256", - "name": "_L_LUSDDebt", + "name": "_L_ZUSDDebt", "type": "uint256" } ], @@ -391,6 +391,71 @@ "name": "TroveUpdated", "type": "event" }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "_zeroStakingAddress", + "type": "address" + } + ], + "name": "ZEROStakingAddressChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "_zeroTokenAddress", + "type": "address" + } + ], + "name": "ZEROTokenAddressChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "_newZUSDTokenAddress", + "type": "address" + } + ], + "name": "ZUSDTokenAddressChanged", + "type": "event" + }, + { + "inputs": [], + "name": "CCR", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "MCR", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, { "inputs": [ { @@ -508,7 +573,7 @@ }, { "internalType": "uint256", - "name": "_collDecrease", + "name": "_debtDecrease", "type": "uint256" } ], @@ -527,7 +592,7 @@ "inputs": [ { "internalType": "uint256", - "name": "LUSDDebt", + "name": "ZUSDDebt", "type": "uint256" } ], @@ -546,7 +611,7 @@ "inputs": [ { "internalType": "uint256", - "name": "_LUSDDebt", + "name": "_ZUSDDebt", "type": "uint256" } ], @@ -633,7 +698,7 @@ }, { "internalType": "uint256", - "name": "pendingLUSDDebtReward", + "name": "pendingZUSDDebtReward", "type": "uint256" }, { @@ -691,7 +756,7 @@ "type": "address" } ], - "name": "getPendingLUSDDebtReward", + "name": "getPendingZUSDDebtReward", "outputs": [ { "internalType": "uint256", @@ -969,36 +1034,10 @@ }, { "inputs": [], - "name": "zeroStaking", - "outputs": [ - { - "internalType": "contract ILQTYStaking", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "zeroToken", - "outputs": [ - { - "internalType": "contract ILQTYToken", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "zusdToken", + "name": "liquityBaseParams", "outputs": [ { - "internalType": "contract ILUSDToken", + "internalType": "contract ILiquityBaseParams", "name": "", "type": "address" } @@ -1023,7 +1062,7 @@ "inputs": [ { "internalType": "uint256", - "name": "_LUSDAmount", + "name": "_ZUSDAmount", "type": "uint256" }, { @@ -1065,75 +1104,180 @@ { "inputs": [ { - "internalType": "address", - "name": "_borrower", - "type": "address" - } - ], - "name": "removeStake", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_borrowerOperationsAddress", - "type": "address" + "internalType": "uint256", + "name": "_dllrAmount", + "type": "uint256" }, { "internalType": "address", - "name": "_activePoolAddress", + "name": "_firstRedemptionHint", "type": "address" }, { "internalType": "address", - "name": "_defaultPoolAddress", + "name": "_upperPartialRedemptionHint", "type": "address" }, { "internalType": "address", - "name": "_stabilityPoolAddress", + "name": "_lowerPartialRedemptionHint", "type": "address" }, { - "internalType": "address", - "name": "_gasPoolAddress", - "type": "address" + "internalType": "uint256", + "name": "_partialRedemptionHintNICR", + "type": "uint256" }, { - "internalType": "address", - "name": "_collSurplusPoolAddress", - "type": "address" + "internalType": "uint256", + "name": "_maxIterations", + "type": "uint256" }, { - "internalType": "address", - "name": "_priceFeedAddress", - "type": "address" + "internalType": "uint256", + "name": "_maxFeePercentage", + "type": "uint256" }, { - "internalType": "address", - "name": "_zusdTokenAddress", - "type": "address" - }, + "components": [ + { + "internalType": "uint256", + "name": "deadline", + "type": "uint256" + }, + { + "internalType": "uint8", + "name": "v", + "type": "uint8" + }, + { + "internalType": "bytes32", + "name": "r", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "s", + "type": "bytes32" + } + ], + "internalType": "struct IMassetManager.PermitParams", + "name": "_permitParams", + "type": "tuple" + } + ], + "name": "redeemCollateralViaDLLR", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ { "internalType": "address", - "name": "_sortedTrovesAddress", + "name": "_borrower", "type": "address" - }, + } + ], + "name": "removeStake", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ { - "internalType": "address", - "name": "_zeroTokenAddress", - "type": "address" - }, + "components": [ + { + "internalType": "address", + "name": "_feeDistributorAddress", + "type": "address" + }, + { + "internalType": "address", + "name": "_troveManagerRedeemOps", + "type": "address" + }, + { + "internalType": "address", + "name": "_liquityBaseParamsAddress", + "type": "address" + }, + { + "internalType": "address", + "name": "_borrowerOperationsAddress", + "type": "address" + }, + { + "internalType": "address", + "name": "_activePoolAddress", + "type": "address" + }, + { + "internalType": "address", + "name": "_defaultPoolAddress", + "type": "address" + }, + { + "internalType": "address", + "name": "_stabilityPoolAddress", + "type": "address" + }, + { + "internalType": "address", + "name": "_gasPoolAddress", + "type": "address" + }, + { + "internalType": "address", + "name": "_collSurplusPoolAddress", + "type": "address" + }, + { + "internalType": "address", + "name": "_priceFeedAddress", + "type": "address" + }, + { + "internalType": "address", + "name": "_zusdTokenAddress", + "type": "address" + }, + { + "internalType": "address", + "name": "_sortedTrovesAddress", + "type": "address" + }, + { + "internalType": "address", + "name": "_zeroTokenAddress", + "type": "address" + }, + { + "internalType": "address", + "name": "_zeroStakingAddress", + "type": "address" + } + ], + "internalType": "struct ITroveManager.TroveManagerInitAddressesParams", + "name": "_troveManagerInitAddresses", + "type": "tuple" + } + ], + "name": "setAddresses", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ { "internalType": "address", - "name": "_zeroStakingAddress", + "name": "_troveManagerRedeemOps", "type": "address" } ], - "name": "setAddresses", + "name": "setTroveManagerRedeemOps", "outputs": [], "stateMutability": "nonpayable", "type": "function" @@ -1156,19 +1300,6 @@ "stateMutability": "nonpayable", "type": "function" }, - { - "inputs": [], - "name": "stabilityPool", - "outputs": [ - { - "internalType": "contract IStabilityPool", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, { "inputs": [ { diff --git a/packages/lib-ethers/live/IWrbtc.json b/packages/lib-ethers/live/IWrbtc.json new file mode 100644 index 000000000..f34c02bf6 --- /dev/null +++ b/packages/lib-ethers/live/IWrbtc.json @@ -0,0 +1,301 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "IWrbtc", + "sourceName": "contracts/Interfaces/IWrbtc.sol", + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "Approval", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "Transfer", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "address", + "name": "spender", + "type": "address" + } + ], + "name": "allowance", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "approve", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "balanceOf", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "decimals", + "outputs": [ + { + "internalType": "uint8", + "name": "", + "type": "uint8" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "subtractedValue", + "type": "uint256" + } + ], + "name": "decreaseAllowance", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "deposit", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "addedValue", + "type": "uint256" + } + ], + "name": "increaseAllowance", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "name", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "symbol", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "totalSupply", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "recipient", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "transfer", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "sender", + "type": "address" + }, + { + "internalType": "address", + "name": "recipient", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "transferFrom", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "wad", + "type": "uint256" + } + ], + "name": "withdraw", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "bytecode": "0x", + "deployedBytecode": "0x", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/packages/lib-ethers/live/ILQTYStaking.json b/packages/lib-ethers/live/IZEROStaking.json similarity index 84% rename from packages/lib-ethers/live/ILQTYStaking.json rename to packages/lib-ethers/live/IZEROStaking.json index 6146f748d..d66cbe7d5 100644 --- a/packages/lib-ethers/live/ILQTYStaking.json +++ b/packages/lib-ethers/live/IZEROStaking.json @@ -1,7 +1,7 @@ { "_format": "hh-sol-artifact-1", - "contractName": "ILQTYStaking", - "sourceName": "contracts/Interfaces/ILQTYStaking.sol", + "contractName": "IZEROStaking", + "sourceName": "contracts/Interfaces/IZEROStaking.sol", "abi": [ { "anonymous": false, @@ -16,19 +16,6 @@ "name": "ActivePoolAddressSet", "type": "event" }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_borrowerOperationsAddress", - "type": "address" - } - ], - "name": "BorrowerOperationsAddressSet", - "type": "event" - }, { "anonymous": false, "inputs": [ @@ -67,11 +54,11 @@ { "indexed": false, "internalType": "uint256", - "name": "_F_LUSD", + "name": "_F_ZUSD", "type": "uint256" } ], - "name": "F_LUSDUpdated", + "name": "F_ZUSDUpdated", "type": "event" }, { @@ -80,24 +67,11 @@ { "indexed": false, "internalType": "address", - "name": "_zeroTokenAddress", + "name": "_feeDistributorAddress", "type": "address" } ], - "name": "LQTYTokenAddressSet", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_zusdTokenAddress", - "type": "address" - } - ], - "name": "LUSDTokenAddressSet", + "name": "FeeDistributorAddressAddressSet", "type": "event" }, { @@ -137,7 +111,7 @@ { "indexed": false, "internalType": "uint256", - "name": "_F_LUSD", + "name": "_F_ZUSD", "type": "uint256" } ], @@ -156,7 +130,7 @@ { "indexed": false, "internalType": "uint256", - "name": "LUSDGain", + "name": "ZUSDGain", "type": "uint256" }, { @@ -175,11 +149,24 @@ { "indexed": false, "internalType": "uint256", - "name": "_totalLQTYStaked", + "name": "_totalZEROStaked", "type": "uint256" } ], - "name": "TotalLQTYStakedUpdated", + "name": "TotalZEROStakedUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "_zeroTokenAddress", + "type": "address" + } + ], + "name": "ZEROTokenAddressSet", "type": "event" }, { @@ -188,11 +175,11 @@ { "indexed": false, "internalType": "address", - "name": "_troveManager", + "name": "_zusdTokenAddress", "type": "address" } ], - "name": "TroveManagerAddressSet", + "name": "ZUSDTokenAddressSet", "type": "event" }, { @@ -222,7 +209,7 @@ "type": "address" } ], - "name": "getPendingLUSDGain", + "name": "getPendingZUSDGain", "outputs": [ { "internalType": "uint256", @@ -250,11 +237,11 @@ "inputs": [ { "internalType": "uint256", - "name": "_LQTYFee", + "name": "_ZEROFee", "type": "uint256" } ], - "name": "increaseF_LUSD", + "name": "increaseF_ZUSD", "outputs": [], "stateMutability": "nonpayable", "type": "function" @@ -273,12 +260,7 @@ }, { "internalType": "address", - "name": "_troveManagerAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_borrowerOperationsAddress", + "name": "_feeDistributorAddress", "type": "address" }, { @@ -296,7 +278,7 @@ "inputs": [ { "internalType": "uint256", - "name": "_LQTYamount", + "name": "_ZEROamount", "type": "uint256" } ], @@ -309,7 +291,7 @@ "inputs": [ { "internalType": "uint256", - "name": "_LQTYamount", + "name": "_ZEROamount", "type": "uint256" } ], diff --git a/packages/lib-ethers/live/ILQTYToken.json b/packages/lib-ethers/live/IZEROToken.json similarity index 86% rename from packages/lib-ethers/live/ILQTYToken.json rename to packages/lib-ethers/live/IZEROToken.json index d518dc680..c2ec512f4 100644 --- a/packages/lib-ethers/live/ILQTYToken.json +++ b/packages/lib-ethers/live/IZEROToken.json @@ -1,7 +1,7 @@ { "_format": "hh-sol-artifact-1", - "contractName": "ILQTYToken", - "sourceName": "contracts/Interfaces/ILQTYToken.sol", + "contractName": "IZEROToken", + "sourceName": "contracts/Interfaces/IZEROToken.sol", "abi": [ { "anonymous": false, @@ -28,45 +28,6 @@ "name": "Approval", "type": "event" }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_communityIssuanceAddress", - "type": "address" - } - ], - "name": "CommunityIssuanceAddressSet", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_zeroStakingAddress", - "type": "address" - } - ], - "name": "LQTYStakingAddressSet", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_lockupContractFactoryAddress", - "type": "address" - } - ], - "name": "LockupContractFactoryAddressSet", - "type": "event" - }, { "anonymous": false, "inputs": [ @@ -222,19 +183,6 @@ "stateMutability": "view", "type": "function" }, - { - "inputs": [], - "name": "getLpRewardsEntitlement", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, { "inputs": [ { @@ -360,7 +308,7 @@ "type": "uint256" } ], - "name": "sendToLQTYStaking", + "name": "sendToZEROStaking", "outputs": [], "stateMutability": "nonpayable", "type": "function" diff --git a/packages/lib-ethers/live/ILUSDToken.json b/packages/lib-ethers/live/IZUSDToken.json similarity index 98% rename from packages/lib-ethers/live/ILUSDToken.json rename to packages/lib-ethers/live/IZUSDToken.json index f4bd91c99..20c15984b 100644 --- a/packages/lib-ethers/live/ILUSDToken.json +++ b/packages/lib-ethers/live/IZUSDToken.json @@ -1,7 +1,7 @@ { "_format": "hh-sol-artifact-1", - "contractName": "ILUSDToken", - "sourceName": "contracts/Interfaces/ILUSDToken.sol", + "contractName": "IZUSDToken", + "sourceName": "contracts/Interfaces/IZUSDToken.sol", "abi": [ { "anonymous": false, @@ -41,25 +41,6 @@ "name": "BorrowerOperationsAddressChanged", "type": "event" }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_user", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "name": "LUSDTokenBalanceUpdated", - "type": "event" - }, { "anonymous": false, "inputs": [ @@ -111,6 +92,25 @@ "name": "TroveManagerAddressChanged", "type": "event" }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "_user", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "ZUSDTokenBalanceUpdated", + "type": "event" + }, { "inputs": [ { diff --git a/packages/lib-ethers/live/Initializable.json b/packages/lib-ethers/live/Initializable.json new file mode 100644 index 000000000..025e98213 --- /dev/null +++ b/packages/lib-ethers/live/Initializable.json @@ -0,0 +1,10 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "Initializable", + "sourceName": "contracts/Dependencies/Initializable.sol", + "abi": [], + "bytecode": "0x6080604052348015600f57600080fd5b50603f80601d6000396000f3fe6080604052600080fdfea264697066735822122030ff26545d1b81d80f65983ece190a12baa56a70594d66c6f3a7b669431f8cab64736f6c634300060b0033", + "deployedBytecode": "0x6080604052600080fdfea264697066735822122030ff26545d1b81d80f65983ece190a12baa56a70594d66c6f3a7b669431f8cab64736f6c634300060b0033", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/packages/lib-ethers/live/LPTokenWrapper.json b/packages/lib-ethers/live/LPTokenWrapper.json deleted file mode 100644 index a2bed1033..000000000 --- a/packages/lib-ethers/live/LPTokenWrapper.json +++ /dev/null @@ -1,82 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "LPTokenWrapper", - "sourceName": "contracts/LPRewards/Unipool.sol", - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "balanceOf", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "stake", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "totalSupply", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "uniToken", - "outputs": [ - { - "internalType": "contract IERC20", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "withdraw", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": "0x608060405234801561001057600080fd5b506106f9806100206000396000f3fe608060405234801561001057600080fd5b50600436106100575760003560e01c806318160ddd1461005c5780632e1a7d4d1461007657806370a082311461009557806385ce4fee146100bb578063a694fc3a146100df575b600080fd5b6100646100fc565b60408051918252519081900360200190f35b6100936004803603602081101561008c57600080fd5b5035610102565b005b610064600480360360208110156100ab57600080fd5b50356001600160a01b0316610166565b6100c3610181565b604080516001600160a01b039092168252519081900360200190f35b610093600480360360208110156100f557600080fd5b5035610190565b60015490565b600154610115908263ffffffff6101f216565b60015533600090815260026020526040902054610138908263ffffffff6101f216565b336000818152600260205260408120929092559054610163916001600160a01b03909116908361023b565b50565b6001600160a01b031660009081526002602052604090205490565b6000546001600160a01b031681565b6001546101a3908263ffffffff61029216565b600155336000908152600260205260409020546101c6908263ffffffff61029216565b336000818152600260205260408120929092559054610163916001600160a01b039091169030846102ec565b600061023483836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061034c565b9392505050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b17905261028d9084906103e3565b505050565b600082820183811015610234576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b604080516001600160a01b0380861660248301528416604482015260648082018490528251808303909101815260849091019091526020810180516001600160e01b03166323b872dd60e01b1790526103469085906103e3565b50505050565b600081848411156103db5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156103a0578181015183820152602001610388565b50505050905090810190601f1680156103cd5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b6060610438826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166104949092919063ffffffff16565b80519091501561028d5780806020019051602081101561045757600080fd5b505161028d5760405162461bcd60e51b815260040180806020018281038252602a81526020018061069a602a913960400191505060405180910390fd5b60606104a384846000856104ab565b949350505050565b6060824710156104ec5760405162461bcd60e51b81526004018080602001828103825260268152602001806106746026913960400191505060405180910390fd5b6104f585610607565b610546576040805162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b60006060866001600160a01b031685876040518082805190602001908083835b602083106105855780518252601f199092019160209182019101610566565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d80600081146105e7576040519150601f19603f3d011682016040523d82523d6000602084013e6105ec565b606091505b50915091506105fc82828661060d565b979650505050505050565b3b151590565b6060831561061c575081610234565b82511561062c5782518084602001fd5b60405162461bcd60e51b81526020600482018181528451602484015284518593919283926044019190850190808383600083156103a057818101518382015260200161038856fe416464726573733a20696e73756666696369656e742062616c616e636520666f722063616c6c5361666545524332303a204552433230206f7065726174696f6e20646964206e6f742073756363656564a264697066735822122069b824822996faedac3bfafdd057a01077e7fab41f984ac866daf49934319dca64736f6c634300060b0033", - "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100575760003560e01c806318160ddd1461005c5780632e1a7d4d1461007657806370a082311461009557806385ce4fee146100bb578063a694fc3a146100df575b600080fd5b6100646100fc565b60408051918252519081900360200190f35b6100936004803603602081101561008c57600080fd5b5035610102565b005b610064600480360360208110156100ab57600080fd5b50356001600160a01b0316610166565b6100c3610181565b604080516001600160a01b039092168252519081900360200190f35b610093600480360360208110156100f557600080fd5b5035610190565b60015490565b600154610115908263ffffffff6101f216565b60015533600090815260026020526040902054610138908263ffffffff6101f216565b336000818152600260205260408120929092559054610163916001600160a01b03909116908361023b565b50565b6001600160a01b031660009081526002602052604090205490565b6000546001600160a01b031681565b6001546101a3908263ffffffff61029216565b600155336000908152600260205260409020546101c6908263ffffffff61029216565b336000818152600260205260408120929092559054610163916001600160a01b039091169030846102ec565b600061023483836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061034c565b9392505050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b17905261028d9084906103e3565b505050565b600082820183811015610234576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b604080516001600160a01b0380861660248301528416604482015260648082018490528251808303909101815260849091019091526020810180516001600160e01b03166323b872dd60e01b1790526103469085906103e3565b50505050565b600081848411156103db5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156103a0578181015183820152602001610388565b50505050905090810190601f1680156103cd5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b6060610438826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166104949092919063ffffffff16565b80519091501561028d5780806020019051602081101561045757600080fd5b505161028d5760405162461bcd60e51b815260040180806020018281038252602a81526020018061069a602a913960400191505060405180910390fd5b60606104a384846000856104ab565b949350505050565b6060824710156104ec5760405162461bcd60e51b81526004018080602001828103825260268152602001806106746026913960400191505060405180910390fd5b6104f585610607565b610546576040805162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b60006060866001600160a01b031685876040518082805190602001908083835b602083106105855780518252601f199092019160209182019101610566565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d80600081146105e7576040519150601f19603f3d011682016040523d82523d6000602084013e6105ec565b606091505b50915091506105fc82828661060d565b979650505050505050565b3b151590565b6060831561061c575081610234565b82511561062c5782518084602001fd5b60405162461bcd60e51b81526020600482018181528451602484015284518593919283926044019190850190808383600083156103a057818101518382015260200161038856fe416464726573733a20696e73756666696369656e742062616c616e636520666f722063616c6c5361666545524332303a204552433230206f7065726174696f6e20646964206e6f742073756363656564a264697066735822122069b824822996faedac3bfafdd057a01077e7fab41f984ac866daf49934319dca64736f6c634300060b0033", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/packages/lib-ethers/live/LQTYStaking.json b/packages/lib-ethers/live/LQTYStaking.json deleted file mode 100644 index fbcda07ea..000000000 --- a/packages/lib-ethers/live/LQTYStaking.json +++ /dev/null @@ -1,548 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "LQTYStaking", - "sourceName": "contracts/LQTY/LQTYStaking.sol", - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_activePoolAddress", - "type": "address" - } - ], - "name": "ActivePoolAddressSet", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_borrowerOperationsAddress", - "type": "address" - } - ], - "name": "BorrowerOperationsAddressSet", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_account", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "name": "EtherSent", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "_F_ETH", - "type": "uint256" - } - ], - "name": "F_ETHUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "_F_LUSD", - "type": "uint256" - } - ], - "name": "F_LUSDUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_zeroTokenAddress", - "type": "address" - } - ], - "name": "LQTYTokenAddressSet", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_zusdTokenAddress", - "type": "address" - } - ], - "name": "LUSDTokenAddressSet", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "previousOwner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnershipTransferred", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "staker", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "newStake", - "type": "uint256" - } - ], - "name": "StakeChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_staker", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_F_ETH", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_F_LUSD", - "type": "uint256" - } - ], - "name": "StakerSnapshotsUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "staker", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "LUSDGain", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "ETHGain", - "type": "uint256" - } - ], - "name": "StakingGainsWithdrawn", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "_totalLQTYStaked", - "type": "uint256" - } - ], - "name": "TotalLQTYStakedUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_troveManager", - "type": "address" - } - ], - "name": "TroveManagerAddressSet", - "type": "event" - }, - { - "inputs": [], - "name": "DECIMAL_PRECISION", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "F_ETH", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "F_LUSD", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "NAME", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "activePoolAddress", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "borrowerOperationsAddress", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_user", - "type": "address" - } - ], - "name": "getPendingETHGain", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_user", - "type": "address" - } - ], - "name": "getPendingLUSDGain", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_ETHFee", - "type": "uint256" - } - ], - "name": "increaseF_ETH", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_LUSDFee", - "type": "uint256" - } - ], - "name": "increaseF_LUSD", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "isOwner", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "zeroToken", - "outputs": [ - { - "internalType": "contract ILQTYToken", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "zusdToken", - "outputs": [ - { - "internalType": "contract ILUSDToken", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "owner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_zeroTokenAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_zusdTokenAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_troveManagerAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_borrowerOperationsAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_activePoolAddress", - "type": "address" - } - ], - "name": "setAddresses", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "snapshots", - "outputs": [ - { - "internalType": "uint256", - "name": "F_ETH_Snapshot", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "F_LUSD_Snapshot", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_LQTYamount", - "type": "uint256" - } - ], - "name": "stake", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "stakes", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "totalLQTYStaked", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "troveManagerAddress", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_LQTYamount", - "type": "uint256" - } - ], - "name": "unstake", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "stateMutability": "payable", - "type": "receive" - } - ], - "bytecode": "0x608060405234801561001057600080fd5b50600080546001600160a01b0319163390811782556040519091907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a361151e8061005f6000396000f3fe60806040526004361061012e5760003560e01c80638b9345ad116100ab578063a3f4df7e1161006f578063a3f4df7e146103cf578063a694fc3a14610459578063b08bc72214610483578063b7f8cf9b14610498578063b83f91a2146104ad578063b9bbe00f146104c25761013d565b80638b9345ad146103165780638da5cb5b146103495780638f32d59b1461035e5780639beab5c014610387578063a20baee6146103ba5761013d565b806334b3081f116100f257806334b3081f146102215780634677ffb31461026d5780635a4d28bb146102975780635dd68acd146102ac57806369b83185146103015761013d565b8063077ee4c61461014257806316934fc4146101695780631e3e2a1a1461019c5780631f7af3c3146101c65780632e17de78146101f75761013d565b3661013d5761013b6104d7565b005b600080fd5b34801561014e57600080fd5b50610157610522565b60408051918252519081900360200190f35b34801561017557600080fd5b506101576004803603602081101561018c57600080fd5b50356001600160a01b0316610528565b3480156101a857600080fd5b5061013b600480360360208110156101bf57600080fd5b503561053a565b3480156101d257600080fd5b506101db6105c9565b604080516001600160a01b039092168252519081900360200190f35b34801561020357600080fd5b5061013b6004803603602081101561021a57600080fd5b50356105d8565b34801561022d57600080fd5b506102546004803603602081101561024457600080fd5b50356001600160a01b031661081c565b6040805192835260208301919091528051918290030190f35b34801561027957600080fd5b5061013b6004803603602081101561029057600080fd5b5035610835565b3480156102a357600080fd5b506101db6108b8565b3480156102b857600080fd5b5061013b600480360360a08110156102cf57600080fd5b506001600160a01b038135811691602081013582169160408201358116916060810135821691608090910135166108c7565b34801561030d57600080fd5b50610157610ad3565b34801561032257600080fd5b506101576004803603602081101561033957600080fd5b50356001600160a01b0316610ad9565b34801561035557600080fd5b506101db610aea565b34801561036a57600080fd5b50610373610af9565b604080519115158252519081900360200190f35b34801561039357600080fd5b50610157600480360360208110156103aa57600080fd5b50356001600160a01b0316610b0a565b3480156103c657600080fd5b50610157610b15565b3480156103db57600080fd5b506103e4610b21565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561041e578181015183820152602001610406565b50505050905090810190601f16801561044b5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561046557600080fd5b5061013b6004803603602081101561047c57600080fd5b5035610b48565b34801561048f57600080fd5b506101db610d65565b3480156104a457600080fd5b506101db610d74565b3480156104b957600080fd5b506101db610d83565b3480156104ce57600080fd5b50610157610d92565b600a546001600160a01b031633146105205760405162461bcd60e51b81526004018080602001828103825260258152602001806114746025913960400191505060405180910390fd5b565b60025481565b60016020526000908152604090205481565b610542610d98565b6002546000901561057b576002546105789061056c84670de0b6b3a764000063ffffffff610de116565b9063ffffffff610e4116565b90505b60035461058e908263ffffffff610e8316565b600381905560408051918252517f4c56a0cf74da9899410b818edf6758c8af9b7b3070da97d2dcb6a5b1bf96317e9181900360200190a15050565b6006546001600160a01b031681565b336000908152600160205260409020546105f181610edd565b60006105fc33610f1f565b9050600061060933610f8c565b905061061433610fcf565b83156107525760006106268585611041565b9050600061063a858363ffffffff61105716565b336000908152600160205260409020819055600254909150610662908363ffffffff61105716565b600281905560408051918252517f1fb085b6fe1998bfcd59bfb91fb9a84d3a3a8c63a97b2b5c43247235a5ca1df79181900360200190a16006546040805163a9059cbb60e01b81523360048201526024810185905290516001600160a01b039092169163a9059cbb916044808201926020929091908290030181600087803b1580156106ed57600080fd5b505af1158015610701573d6000803e3d6000fd5b505050506040513d602081101561071757600080fd5b505060408051828152905133917f39df0e5286a3ef2f42a0bf52f32cfe2c58e5b0405f47fe512f2c2439e4cfe204919081900360200190a250505b6040805182815260208101849052815133927ff744d34ca1cb25acfa4180df5f09a67306107110a9f4b6ed99bb3be259738215928290030190a26007546040805163a9059cbb60e01b81523360048201526024810184905290516001600160a01b039092169163a9059cbb916044808201926020929091908290030181600087803b1580156107e057600080fd5b505af11580156107f4573d6000803e3d6000fd5b505050506040513d602081101561080a57600080fd5b50610816905082611099565b50505050565b6005602052600090815260409020805460019091015482565b61083d61115f565b6002546000901561086a576002546108679061056c84670de0b6b3a764000063ffffffff610de116565b90505b60045461087d908263ffffffff610e8316565b600481905560408051918252517fdc043c079acfe2ef669592e1598aa8f95877fa0ba0e91d06c214a9f73d3521f99181900360200190a15050565b6008546001600160a01b031681565b6108cf610af9565b610920576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b610929856111a8565b610932846111a8565b61093b836111a8565b610944826111a8565b61094d816111a8565b600680546001600160a01b038088166001600160a01b03199283168117909355600780548883169084161790556008805487831690841617905560098054868316908416179055600a80549185169190921617905560408051918252517fb0c89119a7c10e4c2d02306921ba368ac83d0e4b302337916017485c2791bec59181900360200190a1604080516001600160a01b038616815290517fb0c89119a7c10e4c2d02306921ba368ac83d0e4b302337916017485c2791bec59181900360200190a1604080516001600160a01b038516815290517f41097dcc1f7cbd663d822443d7972f05b04f71918b30fe9fc59dd6e42e2280609181900360200190a1604080516001600160a01b038416815290517f5962f8af633c4df1ab230096f773a514ee5adf7785c621ecdcdb764cb7f6e3919181900360200190a1604080516001600160a01b038316815290517f8f6a6e7d20a3233e0a79883272259ffbd7a243734e397bc2b4642c79d7fa8a6d9181900360200190a1610acc611257565b5050505050565b60045481565b6000610ae482610f1f565b92915050565b6000546001600160a01b031690565b6000546001600160a01b0316331490565b6000610ae482610f8c565b670de0b6b3a764000081565b6040518060400160405280600b81526020016a4c5154595374616b696e6760a81b81525081565b610b51816112a1565b3360009081526001602052604081205490808215610b8057610b7233610f1f565b9150610b7d33610f8c565b90505b610b8933610fcf565b6000610b9b848663ffffffff610e8316565b336000908152600160205260409020819055600254909150610bc3908663ffffffff610e8316565b600281905560408051918252517f1fb085b6fe1998bfcd59bfb91fb9a84d3a3a8c63a97b2b5c43247235a5ca1df79181900360200190a16006546040805163f3a2568b60e01b81523360048201526024810188905290516001600160a01b039092169163f3a2568b9160448082019260009290919082900301818387803b158015610c4d57600080fd5b505af1158015610c61573d6000803e3d6000fd5b50506040805184815290513393507f39df0e5286a3ef2f42a0bf52f32cfe2c58e5b0405f47fe512f2c2439e4cfe20492509081900360200190a26040805183815260208101859052815133927ff744d34ca1cb25acfa4180df5f09a67306107110a9f4b6ed99bb3be259738215928290030190a28315610acc576007546040805163a9059cbb60e01b81523360048201526024810185905290516001600160a01b039092169163a9059cbb916044808201926020929091908290030181600087803b158015610d2f57600080fd5b505af1158015610d43573d6000803e3d6000fd5b505050506040513d6020811015610d5957600080fd5b50610acc905083611099565b600a546001600160a01b031681565b6009546001600160a01b031681565b6007546001600160a01b031681565b60035481565b6008546001600160a01b031633146105205760405162461bcd60e51b81526004018080602001828103825260218152602001806114996021913960400191505060405180910390fd5b600082610df057506000610ae4565b82820282848281610dfd57fe5b0414610e3a5760405162461bcd60e51b81526004018080602001828103825260218152602001806114536021913960400191505060405180910390fd5b9392505050565b6000610e3a83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506112e0565b600082820183811015610e3a576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b60008111610f1c5760405162461bcd60e51b815260040180806020018281038252602c815260200180611401602c913960400191505060405180910390fd5b50565b6001600160a01b0381166000908152600560205260408120546003548290610f8490670de0b6b3a76400009061056c90610f5f908663ffffffff61105716565b6001600160a01b0388166000908152600160205260409020549063ffffffff610de116565b949350505050565b6001600160a01b0381166000908152600560205260408120600101546004548290610f8490670de0b6b3a76400009061056c90610f5f908663ffffffff61105716565b600380546001600160a01b038316600081815260056020908152604091829020938455600454600190940184905593548151928352938201939093528083019190915290517f6b5cf27595af4428271524e0a5abd2b63f6fee1a61e31970490f5a10e257a1cd9181900360600190a150565b60008183106110505781610e3a565b5090919050565b6000610e3a83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611382565b604080513381526020810183905281517f6109e2559dfa766aaec7118351d48a523f0a4157f49c8d68749c8ac41318ad12929181900390910190a1604051600090339083908381818185875af1925050503d8060008114611116576040519150601f19603f3d011682016040523d82523d6000602084013e61111b565b606091505b505090508061115b5760405162461bcd60e51b815260040180806020018281038252602f8152602001806114ba602f913960400191505060405180910390fd5b5050565b6009546001600160a01b031633146105205760405162461bcd60e51b815260040180806020018281038252602681526020018061142d6026913960400191505060405180910390fd5b6001600160a01b038116611203576040805162461bcd60e51b815260206004820152601e60248201527f4163636f756e742063616e6e6f74206265207a65726f20616464726573730000604482015290519081900360640190fd5b803b8061115b576040805162461bcd60e51b815260206004820181905260248201527f4163636f756e7420636f64652073697a652063616e6e6f74206265207a65726f604482015290519081900360640190fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b60008111610f1c5760405162461bcd60e51b81526004018080602001828103825260248152602001806113dd6024913960400191505060405180910390fd5b6000818361136c5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611331578181015183820152602001611319565b50505050905090810190601f16801561135e5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50600083858161137857fe5b0495945050505050565b600081848411156113d45760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315611331578181015183820152602001611319565b50505090039056fe4c5154595374616b696e673a20416d6f756e74206d757374206265206e6f6e2d7a65726f4c5154595374616b696e673a2055736572206d75737420686176652061206e6f6e2d7a65726f207374616b654c5154595374616b696e673a2063616c6c6572206973206e6f7420426f72726f7765724f7073536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f774c5154595374616b696e673a2063616c6c6572206973206e6f7420416374697665506f6f6c4c5154595374616b696e673a2063616c6c6572206973206e6f742054726f76654d4c5154595374616b696e673a204661696c656420746f2073656e6420616363756d756c61746564204554484761696ea2646970667358221220aa6eb12aad19a499f46c29f509c50800bc874cf4f4f816ad2ac9f57f53118b2464736f6c634300060b0033", - "deployedBytecode": "0x60806040526004361061012e5760003560e01c80638b9345ad116100ab578063a3f4df7e1161006f578063a3f4df7e146103cf578063a694fc3a14610459578063b08bc72214610483578063b7f8cf9b14610498578063b83f91a2146104ad578063b9bbe00f146104c25761013d565b80638b9345ad146103165780638da5cb5b146103495780638f32d59b1461035e5780639beab5c014610387578063a20baee6146103ba5761013d565b806334b3081f116100f257806334b3081f146102215780634677ffb31461026d5780635a4d28bb146102975780635dd68acd146102ac57806369b83185146103015761013d565b8063077ee4c61461014257806316934fc4146101695780631e3e2a1a1461019c5780631f7af3c3146101c65780632e17de78146101f75761013d565b3661013d5761013b6104d7565b005b600080fd5b34801561014e57600080fd5b50610157610522565b60408051918252519081900360200190f35b34801561017557600080fd5b506101576004803603602081101561018c57600080fd5b50356001600160a01b0316610528565b3480156101a857600080fd5b5061013b600480360360208110156101bf57600080fd5b503561053a565b3480156101d257600080fd5b506101db6105c9565b604080516001600160a01b039092168252519081900360200190f35b34801561020357600080fd5b5061013b6004803603602081101561021a57600080fd5b50356105d8565b34801561022d57600080fd5b506102546004803603602081101561024457600080fd5b50356001600160a01b031661081c565b6040805192835260208301919091528051918290030190f35b34801561027957600080fd5b5061013b6004803603602081101561029057600080fd5b5035610835565b3480156102a357600080fd5b506101db6108b8565b3480156102b857600080fd5b5061013b600480360360a08110156102cf57600080fd5b506001600160a01b038135811691602081013582169160408201358116916060810135821691608090910135166108c7565b34801561030d57600080fd5b50610157610ad3565b34801561032257600080fd5b506101576004803603602081101561033957600080fd5b50356001600160a01b0316610ad9565b34801561035557600080fd5b506101db610aea565b34801561036a57600080fd5b50610373610af9565b604080519115158252519081900360200190f35b34801561039357600080fd5b50610157600480360360208110156103aa57600080fd5b50356001600160a01b0316610b0a565b3480156103c657600080fd5b50610157610b15565b3480156103db57600080fd5b506103e4610b21565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561041e578181015183820152602001610406565b50505050905090810190601f16801561044b5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561046557600080fd5b5061013b6004803603602081101561047c57600080fd5b5035610b48565b34801561048f57600080fd5b506101db610d65565b3480156104a457600080fd5b506101db610d74565b3480156104b957600080fd5b506101db610d83565b3480156104ce57600080fd5b50610157610d92565b600a546001600160a01b031633146105205760405162461bcd60e51b81526004018080602001828103825260258152602001806114746025913960400191505060405180910390fd5b565b60025481565b60016020526000908152604090205481565b610542610d98565b6002546000901561057b576002546105789061056c84670de0b6b3a764000063ffffffff610de116565b9063ffffffff610e4116565b90505b60035461058e908263ffffffff610e8316565b600381905560408051918252517f4c56a0cf74da9899410b818edf6758c8af9b7b3070da97d2dcb6a5b1bf96317e9181900360200190a15050565b6006546001600160a01b031681565b336000908152600160205260409020546105f181610edd565b60006105fc33610f1f565b9050600061060933610f8c565b905061061433610fcf565b83156107525760006106268585611041565b9050600061063a858363ffffffff61105716565b336000908152600160205260409020819055600254909150610662908363ffffffff61105716565b600281905560408051918252517f1fb085b6fe1998bfcd59bfb91fb9a84d3a3a8c63a97b2b5c43247235a5ca1df79181900360200190a16006546040805163a9059cbb60e01b81523360048201526024810185905290516001600160a01b039092169163a9059cbb916044808201926020929091908290030181600087803b1580156106ed57600080fd5b505af1158015610701573d6000803e3d6000fd5b505050506040513d602081101561071757600080fd5b505060408051828152905133917f39df0e5286a3ef2f42a0bf52f32cfe2c58e5b0405f47fe512f2c2439e4cfe204919081900360200190a250505b6040805182815260208101849052815133927ff744d34ca1cb25acfa4180df5f09a67306107110a9f4b6ed99bb3be259738215928290030190a26007546040805163a9059cbb60e01b81523360048201526024810184905290516001600160a01b039092169163a9059cbb916044808201926020929091908290030181600087803b1580156107e057600080fd5b505af11580156107f4573d6000803e3d6000fd5b505050506040513d602081101561080a57600080fd5b50610816905082611099565b50505050565b6005602052600090815260409020805460019091015482565b61083d61115f565b6002546000901561086a576002546108679061056c84670de0b6b3a764000063ffffffff610de116565b90505b60045461087d908263ffffffff610e8316565b600481905560408051918252517fdc043c079acfe2ef669592e1598aa8f95877fa0ba0e91d06c214a9f73d3521f99181900360200190a15050565b6008546001600160a01b031681565b6108cf610af9565b610920576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b610929856111a8565b610932846111a8565b61093b836111a8565b610944826111a8565b61094d816111a8565b600680546001600160a01b038088166001600160a01b03199283168117909355600780548883169084161790556008805487831690841617905560098054868316908416179055600a80549185169190921617905560408051918252517fb0c89119a7c10e4c2d02306921ba368ac83d0e4b302337916017485c2791bec59181900360200190a1604080516001600160a01b038616815290517fb0c89119a7c10e4c2d02306921ba368ac83d0e4b302337916017485c2791bec59181900360200190a1604080516001600160a01b038516815290517f41097dcc1f7cbd663d822443d7972f05b04f71918b30fe9fc59dd6e42e2280609181900360200190a1604080516001600160a01b038416815290517f5962f8af633c4df1ab230096f773a514ee5adf7785c621ecdcdb764cb7f6e3919181900360200190a1604080516001600160a01b038316815290517f8f6a6e7d20a3233e0a79883272259ffbd7a243734e397bc2b4642c79d7fa8a6d9181900360200190a1610acc611257565b5050505050565b60045481565b6000610ae482610f1f565b92915050565b6000546001600160a01b031690565b6000546001600160a01b0316331490565b6000610ae482610f8c565b670de0b6b3a764000081565b6040518060400160405280600b81526020016a4c5154595374616b696e6760a81b81525081565b610b51816112a1565b3360009081526001602052604081205490808215610b8057610b7233610f1f565b9150610b7d33610f8c565b90505b610b8933610fcf565b6000610b9b848663ffffffff610e8316565b336000908152600160205260409020819055600254909150610bc3908663ffffffff610e8316565b600281905560408051918252517f1fb085b6fe1998bfcd59bfb91fb9a84d3a3a8c63a97b2b5c43247235a5ca1df79181900360200190a16006546040805163f3a2568b60e01b81523360048201526024810188905290516001600160a01b039092169163f3a2568b9160448082019260009290919082900301818387803b158015610c4d57600080fd5b505af1158015610c61573d6000803e3d6000fd5b50506040805184815290513393507f39df0e5286a3ef2f42a0bf52f32cfe2c58e5b0405f47fe512f2c2439e4cfe20492509081900360200190a26040805183815260208101859052815133927ff744d34ca1cb25acfa4180df5f09a67306107110a9f4b6ed99bb3be259738215928290030190a28315610acc576007546040805163a9059cbb60e01b81523360048201526024810185905290516001600160a01b039092169163a9059cbb916044808201926020929091908290030181600087803b158015610d2f57600080fd5b505af1158015610d43573d6000803e3d6000fd5b505050506040513d6020811015610d5957600080fd5b50610acc905083611099565b600a546001600160a01b031681565b6009546001600160a01b031681565b6007546001600160a01b031681565b60035481565b6008546001600160a01b031633146105205760405162461bcd60e51b81526004018080602001828103825260218152602001806114996021913960400191505060405180910390fd5b600082610df057506000610ae4565b82820282848281610dfd57fe5b0414610e3a5760405162461bcd60e51b81526004018080602001828103825260218152602001806114536021913960400191505060405180910390fd5b9392505050565b6000610e3a83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506112e0565b600082820183811015610e3a576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b60008111610f1c5760405162461bcd60e51b815260040180806020018281038252602c815260200180611401602c913960400191505060405180910390fd5b50565b6001600160a01b0381166000908152600560205260408120546003548290610f8490670de0b6b3a76400009061056c90610f5f908663ffffffff61105716565b6001600160a01b0388166000908152600160205260409020549063ffffffff610de116565b949350505050565b6001600160a01b0381166000908152600560205260408120600101546004548290610f8490670de0b6b3a76400009061056c90610f5f908663ffffffff61105716565b600380546001600160a01b038316600081815260056020908152604091829020938455600454600190940184905593548151928352938201939093528083019190915290517f6b5cf27595af4428271524e0a5abd2b63f6fee1a61e31970490f5a10e257a1cd9181900360600190a150565b60008183106110505781610e3a565b5090919050565b6000610e3a83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611382565b604080513381526020810183905281517f6109e2559dfa766aaec7118351d48a523f0a4157f49c8d68749c8ac41318ad12929181900390910190a1604051600090339083908381818185875af1925050503d8060008114611116576040519150601f19603f3d011682016040523d82523d6000602084013e61111b565b606091505b505090508061115b5760405162461bcd60e51b815260040180806020018281038252602f8152602001806114ba602f913960400191505060405180910390fd5b5050565b6009546001600160a01b031633146105205760405162461bcd60e51b815260040180806020018281038252602681526020018061142d6026913960400191505060405180910390fd5b6001600160a01b038116611203576040805162461bcd60e51b815260206004820152601e60248201527f4163636f756e742063616e6e6f74206265207a65726f20616464726573730000604482015290519081900360640190fd5b803b8061115b576040805162461bcd60e51b815260206004820181905260248201527f4163636f756e7420636f64652073697a652063616e6e6f74206265207a65726f604482015290519081900360640190fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b60008111610f1c5760405162461bcd60e51b81526004018080602001828103825260248152602001806113dd6024913960400191505060405180910390fd5b6000818361136c5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611331578181015183820152602001611319565b50505050905090810190601f16801561135e5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50600083858161137857fe5b0495945050505050565b600081848411156113d45760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315611331578181015183820152602001611319565b50505090039056fe4c5154595374616b696e673a20416d6f756e74206d757374206265206e6f6e2d7a65726f4c5154595374616b696e673a2055736572206d75737420686176652061206e6f6e2d7a65726f207374616b654c5154595374616b696e673a2063616c6c6572206973206e6f7420426f72726f7765724f7073536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f774c5154595374616b696e673a2063616c6c6572206973206e6f7420416374697665506f6f6c4c5154595374616b696e673a2063616c6c6572206973206e6f742054726f76654d4c5154595374616b696e673a204661696c656420746f2073656e6420616363756d756c61746564204554484761696ea2646970667358221220aa6eb12aad19a499f46c29f509c50800bc874cf4f4f816ad2ac9f57f53118b2464736f6c634300060b0033", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/packages/lib-ethers/live/LQTYStakingTester.json b/packages/lib-ethers/live/LQTYStakingTester.json deleted file mode 100644 index c9e5fde31..000000000 --- a/packages/lib-ethers/live/LQTYStakingTester.json +++ /dev/null @@ -1,555 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "LQTYStakingTester", - "sourceName": "contracts/TestContracts/LQTYStakingTester.sol", - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_activePoolAddress", - "type": "address" - } - ], - "name": "ActivePoolAddressSet", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_borrowerOperationsAddress", - "type": "address" - } - ], - "name": "BorrowerOperationsAddressSet", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_account", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "name": "EtherSent", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "_F_ETH", - "type": "uint256" - } - ], - "name": "F_ETHUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "_F_LUSD", - "type": "uint256" - } - ], - "name": "F_LUSDUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_zeroTokenAddress", - "type": "address" - } - ], - "name": "LQTYTokenAddressSet", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_zusdTokenAddress", - "type": "address" - } - ], - "name": "LUSDTokenAddressSet", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "previousOwner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnershipTransferred", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "staker", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "newStake", - "type": "uint256" - } - ], - "name": "StakeChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_staker", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_F_ETH", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_F_LUSD", - "type": "uint256" - } - ], - "name": "StakerSnapshotsUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "staker", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "LUSDGain", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "ETHGain", - "type": "uint256" - } - ], - "name": "StakingGainsWithdrawn", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "_totalLQTYStaked", - "type": "uint256" - } - ], - "name": "TotalLQTYStakedUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_troveManager", - "type": "address" - } - ], - "name": "TroveManagerAddressSet", - "type": "event" - }, - { - "inputs": [], - "name": "DECIMAL_PRECISION", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "F_ETH", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "F_LUSD", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "NAME", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "activePoolAddress", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "borrowerOperationsAddress", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_user", - "type": "address" - } - ], - "name": "getPendingETHGain", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_user", - "type": "address" - } - ], - "name": "getPendingLUSDGain", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_ETHFee", - "type": "uint256" - } - ], - "name": "increaseF_ETH", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_LUSDFee", - "type": "uint256" - } - ], - "name": "increaseF_LUSD", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "isOwner", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "zeroToken", - "outputs": [ - { - "internalType": "contract ILQTYToken", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "zusdToken", - "outputs": [ - { - "internalType": "contract ILUSDToken", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "owner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "requireCallerIsTroveManager", - "outputs": [], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_zeroTokenAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_zusdTokenAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_troveManagerAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_borrowerOperationsAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_activePoolAddress", - "type": "address" - } - ], - "name": "setAddresses", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "snapshots", - "outputs": [ - { - "internalType": "uint256", - "name": "F_ETH_Snapshot", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "F_LUSD_Snapshot", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_LQTYamount", - "type": "uint256" - } - ], - "name": "stake", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "stakes", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "totalLQTYStaked", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "troveManagerAddress", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_LQTYamount", - "type": "uint256" - } - ], - "name": "unstake", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "stateMutability": "payable", - "type": "receive" - } - ], - "bytecode": "0x608060405234801561001057600080fd5b50600080546001600160a01b0319163390811782556040519091907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a36115468061005f6000396000f3fe6080604052600436106101395760003560e01c80638b9345ad116100ab578063a3f4df7e1161006f578063a3f4df7e146103ef578063a694fc3a14610479578063b08bc722146104a3578063b7f8cf9b146104b8578063b83f91a2146104cd578063b9bbe00f146104e257610148565b80638b9345ad146103365780638da5cb5b146103695780638f32d59b1461037e5780639beab5c0146103a7578063a20baee6146103da57610148565b806334b3081f116100fd57806334b3081f1461022c5780633b95b91d146102785780634677ffb31461028d5780635a4d28bb146102b75780635dd68acd146102cc57806369b831851461032157610148565b8063077ee4c61461014d57806316934fc4146101745780631e3e2a1a146101a75780631f7af3c3146101d15780632e17de781461020257610148565b36610148576101466104f7565b005b600080fd5b34801561015957600080fd5b50610162610542565b60408051918252519081900360200190f35b34801561018057600080fd5b506101626004803603602081101561019757600080fd5b50356001600160a01b0316610548565b3480156101b357600080fd5b50610146600480360360208110156101ca57600080fd5b503561055a565b3480156101dd57600080fd5b506101e66105e9565b604080516001600160a01b039092168252519081900360200190f35b34801561020e57600080fd5b506101466004803603602081101561022557600080fd5b50356105f8565b34801561023857600080fd5b5061025f6004803603602081101561024f57600080fd5b50356001600160a01b031661083c565b6040805192835260208301919091528051918290030190f35b34801561028457600080fd5b50610146610855565b34801561029957600080fd5b50610146600480360360208110156102b057600080fd5b503561085d565b3480156102c357600080fd5b506101e66108e0565b3480156102d857600080fd5b50610146600480360360a08110156102ef57600080fd5b506001600160a01b038135811691602081013582169160408201358116916060810135821691608090910135166108ef565b34801561032d57600080fd5b50610162610afb565b34801561034257600080fd5b506101626004803603602081101561035957600080fd5b50356001600160a01b0316610b01565b34801561037557600080fd5b506101e6610b12565b34801561038a57600080fd5b50610393610b21565b604080519115158252519081900360200190f35b3480156103b357600080fd5b50610162600480360360208110156103ca57600080fd5b50356001600160a01b0316610b32565b3480156103e657600080fd5b50610162610b3d565b3480156103fb57600080fd5b50610404610b49565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561043e578181015183820152602001610426565b50505050905090810190601f16801561046b5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561048557600080fd5b506101466004803603602081101561049c57600080fd5b5035610b70565b3480156104af57600080fd5b506101e6610d8d565b3480156104c457600080fd5b506101e6610d9c565b3480156104d957600080fd5b506101e6610dab565b3480156104ee57600080fd5b50610162610dba565b600a546001600160a01b031633146105405760405162461bcd60e51b815260040180806020018281038252602581526020018061149c6025913960400191505060405180910390fd5b565b60025481565b60016020526000908152604090205481565b610562610dc0565b6002546000901561059b576002546105989061058c84670de0b6b3a764000063ffffffff610e0916565b9063ffffffff610e6916565b90505b6003546105ae908263ffffffff610eab16565b600381905560408051918252517f4c56a0cf74da9899410b818edf6758c8af9b7b3070da97d2dcb6a5b1bf96317e9181900360200190a15050565b6006546001600160a01b031681565b3360009081526001602052604090205461061181610f05565b600061061c33610f47565b9050600061062933610fb4565b905061063433610ff7565b83156107725760006106468585611069565b9050600061065a858363ffffffff61107f16565b336000908152600160205260409020819055600254909150610682908363ffffffff61107f16565b600281905560408051918252517f1fb085b6fe1998bfcd59bfb91fb9a84d3a3a8c63a97b2b5c43247235a5ca1df79181900360200190a16006546040805163a9059cbb60e01b81523360048201526024810185905290516001600160a01b039092169163a9059cbb916044808201926020929091908290030181600087803b15801561070d57600080fd5b505af1158015610721573d6000803e3d6000fd5b505050506040513d602081101561073757600080fd5b505060408051828152905133917f39df0e5286a3ef2f42a0bf52f32cfe2c58e5b0405f47fe512f2c2439e4cfe204919081900360200190a250505b6040805182815260208101849052815133927ff744d34ca1cb25acfa4180df5f09a67306107110a9f4b6ed99bb3be259738215928290030190a26007546040805163a9059cbb60e01b81523360048201526024810184905290516001600160a01b039092169163a9059cbb916044808201926020929091908290030181600087803b15801561080057600080fd5b505af1158015610814573d6000803e3d6000fd5b505050506040513d602081101561082a57600080fd5b506108369050826110c1565b50505050565b6005602052600090815260409020805460019091015482565b610540610dc0565b610865611187565b600254600090156108925760025461088f9061058c84670de0b6b3a764000063ffffffff610e0916565b90505b6004546108a5908263ffffffff610eab16565b600481905560408051918252517fdc043c079acfe2ef669592e1598aa8f95877fa0ba0e91d06c214a9f73d3521f99181900360200190a15050565b6008546001600160a01b031681565b6108f7610b21565b610948576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b610951856111d0565b61095a846111d0565b610963836111d0565b61096c826111d0565b610975816111d0565b600680546001600160a01b038088166001600160a01b03199283168117909355600780548883169084161790556008805487831690841617905560098054868316908416179055600a80549185169190921617905560408051918252517fb0c89119a7c10e4c2d02306921ba368ac83d0e4b302337916017485c2791bec59181900360200190a1604080516001600160a01b038616815290517fb0c89119a7c10e4c2d02306921ba368ac83d0e4b302337916017485c2791bec59181900360200190a1604080516001600160a01b038516815290517f41097dcc1f7cbd663d822443d7972f05b04f71918b30fe9fc59dd6e42e2280609181900360200190a1604080516001600160a01b038416815290517f5962f8af633c4df1ab230096f773a514ee5adf7785c621ecdcdb764cb7f6e3919181900360200190a1604080516001600160a01b038316815290517f8f6a6e7d20a3233e0a79883272259ffbd7a243734e397bc2b4642c79d7fa8a6d9181900360200190a1610af461127f565b5050505050565b60045481565b6000610b0c82610f47565b92915050565b6000546001600160a01b031690565b6000546001600160a01b0316331490565b6000610b0c82610fb4565b670de0b6b3a764000081565b6040518060400160405280600b81526020016a4c5154595374616b696e6760a81b81525081565b610b79816112c9565b3360009081526001602052604081205490808215610ba857610b9a33610f47565b9150610ba533610fb4565b90505b610bb133610ff7565b6000610bc3848663ffffffff610eab16565b336000908152600160205260409020819055600254909150610beb908663ffffffff610eab16565b600281905560408051918252517f1fb085b6fe1998bfcd59bfb91fb9a84d3a3a8c63a97b2b5c43247235a5ca1df79181900360200190a16006546040805163f3a2568b60e01b81523360048201526024810188905290516001600160a01b039092169163f3a2568b9160448082019260009290919082900301818387803b158015610c7557600080fd5b505af1158015610c89573d6000803e3d6000fd5b50506040805184815290513393507f39df0e5286a3ef2f42a0bf52f32cfe2c58e5b0405f47fe512f2c2439e4cfe20492509081900360200190a26040805183815260208101859052815133927ff744d34ca1cb25acfa4180df5f09a67306107110a9f4b6ed99bb3be259738215928290030190a28315610af4576007546040805163a9059cbb60e01b81523360048201526024810185905290516001600160a01b039092169163a9059cbb916044808201926020929091908290030181600087803b158015610d5757600080fd5b505af1158015610d6b573d6000803e3d6000fd5b505050506040513d6020811015610d8157600080fd5b50610af49050836110c1565b600a546001600160a01b031681565b6009546001600160a01b031681565b6007546001600160a01b031681565b60035481565b6008546001600160a01b031633146105405760405162461bcd60e51b81526004018080602001828103825260218152602001806114c16021913960400191505060405180910390fd5b600082610e1857506000610b0c565b82820282848281610e2557fe5b0414610e625760405162461bcd60e51b815260040180806020018281038252602181526020018061147b6021913960400191505060405180910390fd5b9392505050565b6000610e6283836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611308565b600082820183811015610e62576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b60008111610f445760405162461bcd60e51b815260040180806020018281038252602c815260200180611429602c913960400191505060405180910390fd5b50565b6001600160a01b0381166000908152600560205260408120546003548290610fac90670de0b6b3a76400009061058c90610f87908663ffffffff61107f16565b6001600160a01b0388166000908152600160205260409020549063ffffffff610e0916565b949350505050565b6001600160a01b0381166000908152600560205260408120600101546004548290610fac90670de0b6b3a76400009061058c90610f87908663ffffffff61107f16565b600380546001600160a01b038316600081815260056020908152604091829020938455600454600190940184905593548151928352938201939093528083019190915290517f6b5cf27595af4428271524e0a5abd2b63f6fee1a61e31970490f5a10e257a1cd9181900360600190a150565b60008183106110785781610e62565b5090919050565b6000610e6283836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506113aa565b604080513381526020810183905281517f6109e2559dfa766aaec7118351d48a523f0a4157f49c8d68749c8ac41318ad12929181900390910190a1604051600090339083908381818185875af1925050503d806000811461113e576040519150601f19603f3d011682016040523d82523d6000602084013e611143565b606091505b50509050806111835760405162461bcd60e51b815260040180806020018281038252602f8152602001806114e2602f913960400191505060405180910390fd5b5050565b6009546001600160a01b031633146105405760405162461bcd60e51b81526004018080602001828103825260268152602001806114556026913960400191505060405180910390fd5b6001600160a01b03811661122b576040805162461bcd60e51b815260206004820152601e60248201527f4163636f756e742063616e6e6f74206265207a65726f20616464726573730000604482015290519081900360640190fd5b803b80611183576040805162461bcd60e51b815260206004820181905260248201527f4163636f756e7420636f64652073697a652063616e6e6f74206265207a65726f604482015290519081900360640190fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b60008111610f445760405162461bcd60e51b81526004018080602001828103825260248152602001806114056024913960400191505060405180910390fd5b600081836113945760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611359578181015183820152602001611341565b50505050905090810190601f1680156113865780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385816113a057fe5b0495945050505050565b600081848411156113fc5760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315611359578181015183820152602001611341565b50505090039056fe4c5154595374616b696e673a20416d6f756e74206d757374206265206e6f6e2d7a65726f4c5154595374616b696e673a2055736572206d75737420686176652061206e6f6e2d7a65726f207374616b654c5154595374616b696e673a2063616c6c6572206973206e6f7420426f72726f7765724f7073536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f774c5154595374616b696e673a2063616c6c6572206973206e6f7420416374697665506f6f6c4c5154595374616b696e673a2063616c6c6572206973206e6f742054726f76654d4c5154595374616b696e673a204661696c656420746f2073656e6420616363756d756c61746564204554484761696ea2646970667358221220621387617a854c6e6d7f9ddefdaa7571b4f72c31f8a87a6af841cce1a07ce1e464736f6c634300060b0033", - "deployedBytecode": "0x6080604052600436106101395760003560e01c80638b9345ad116100ab578063a3f4df7e1161006f578063a3f4df7e146103ef578063a694fc3a14610479578063b08bc722146104a3578063b7f8cf9b146104b8578063b83f91a2146104cd578063b9bbe00f146104e257610148565b80638b9345ad146103365780638da5cb5b146103695780638f32d59b1461037e5780639beab5c0146103a7578063a20baee6146103da57610148565b806334b3081f116100fd57806334b3081f1461022c5780633b95b91d146102785780634677ffb31461028d5780635a4d28bb146102b75780635dd68acd146102cc57806369b831851461032157610148565b8063077ee4c61461014d57806316934fc4146101745780631e3e2a1a146101a75780631f7af3c3146101d15780632e17de781461020257610148565b36610148576101466104f7565b005b600080fd5b34801561015957600080fd5b50610162610542565b60408051918252519081900360200190f35b34801561018057600080fd5b506101626004803603602081101561019757600080fd5b50356001600160a01b0316610548565b3480156101b357600080fd5b50610146600480360360208110156101ca57600080fd5b503561055a565b3480156101dd57600080fd5b506101e66105e9565b604080516001600160a01b039092168252519081900360200190f35b34801561020e57600080fd5b506101466004803603602081101561022557600080fd5b50356105f8565b34801561023857600080fd5b5061025f6004803603602081101561024f57600080fd5b50356001600160a01b031661083c565b6040805192835260208301919091528051918290030190f35b34801561028457600080fd5b50610146610855565b34801561029957600080fd5b50610146600480360360208110156102b057600080fd5b503561085d565b3480156102c357600080fd5b506101e66108e0565b3480156102d857600080fd5b50610146600480360360a08110156102ef57600080fd5b506001600160a01b038135811691602081013582169160408201358116916060810135821691608090910135166108ef565b34801561032d57600080fd5b50610162610afb565b34801561034257600080fd5b506101626004803603602081101561035957600080fd5b50356001600160a01b0316610b01565b34801561037557600080fd5b506101e6610b12565b34801561038a57600080fd5b50610393610b21565b604080519115158252519081900360200190f35b3480156103b357600080fd5b50610162600480360360208110156103ca57600080fd5b50356001600160a01b0316610b32565b3480156103e657600080fd5b50610162610b3d565b3480156103fb57600080fd5b50610404610b49565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561043e578181015183820152602001610426565b50505050905090810190601f16801561046b5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561048557600080fd5b506101466004803603602081101561049c57600080fd5b5035610b70565b3480156104af57600080fd5b506101e6610d8d565b3480156104c457600080fd5b506101e6610d9c565b3480156104d957600080fd5b506101e6610dab565b3480156104ee57600080fd5b50610162610dba565b600a546001600160a01b031633146105405760405162461bcd60e51b815260040180806020018281038252602581526020018061149c6025913960400191505060405180910390fd5b565b60025481565b60016020526000908152604090205481565b610562610dc0565b6002546000901561059b576002546105989061058c84670de0b6b3a764000063ffffffff610e0916565b9063ffffffff610e6916565b90505b6003546105ae908263ffffffff610eab16565b600381905560408051918252517f4c56a0cf74da9899410b818edf6758c8af9b7b3070da97d2dcb6a5b1bf96317e9181900360200190a15050565b6006546001600160a01b031681565b3360009081526001602052604090205461061181610f05565b600061061c33610f47565b9050600061062933610fb4565b905061063433610ff7565b83156107725760006106468585611069565b9050600061065a858363ffffffff61107f16565b336000908152600160205260409020819055600254909150610682908363ffffffff61107f16565b600281905560408051918252517f1fb085b6fe1998bfcd59bfb91fb9a84d3a3a8c63a97b2b5c43247235a5ca1df79181900360200190a16006546040805163a9059cbb60e01b81523360048201526024810185905290516001600160a01b039092169163a9059cbb916044808201926020929091908290030181600087803b15801561070d57600080fd5b505af1158015610721573d6000803e3d6000fd5b505050506040513d602081101561073757600080fd5b505060408051828152905133917f39df0e5286a3ef2f42a0bf52f32cfe2c58e5b0405f47fe512f2c2439e4cfe204919081900360200190a250505b6040805182815260208101849052815133927ff744d34ca1cb25acfa4180df5f09a67306107110a9f4b6ed99bb3be259738215928290030190a26007546040805163a9059cbb60e01b81523360048201526024810184905290516001600160a01b039092169163a9059cbb916044808201926020929091908290030181600087803b15801561080057600080fd5b505af1158015610814573d6000803e3d6000fd5b505050506040513d602081101561082a57600080fd5b506108369050826110c1565b50505050565b6005602052600090815260409020805460019091015482565b610540610dc0565b610865611187565b600254600090156108925760025461088f9061058c84670de0b6b3a764000063ffffffff610e0916565b90505b6004546108a5908263ffffffff610eab16565b600481905560408051918252517fdc043c079acfe2ef669592e1598aa8f95877fa0ba0e91d06c214a9f73d3521f99181900360200190a15050565b6008546001600160a01b031681565b6108f7610b21565b610948576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b610951856111d0565b61095a846111d0565b610963836111d0565b61096c826111d0565b610975816111d0565b600680546001600160a01b038088166001600160a01b03199283168117909355600780548883169084161790556008805487831690841617905560098054868316908416179055600a80549185169190921617905560408051918252517fb0c89119a7c10e4c2d02306921ba368ac83d0e4b302337916017485c2791bec59181900360200190a1604080516001600160a01b038616815290517fb0c89119a7c10e4c2d02306921ba368ac83d0e4b302337916017485c2791bec59181900360200190a1604080516001600160a01b038516815290517f41097dcc1f7cbd663d822443d7972f05b04f71918b30fe9fc59dd6e42e2280609181900360200190a1604080516001600160a01b038416815290517f5962f8af633c4df1ab230096f773a514ee5adf7785c621ecdcdb764cb7f6e3919181900360200190a1604080516001600160a01b038316815290517f8f6a6e7d20a3233e0a79883272259ffbd7a243734e397bc2b4642c79d7fa8a6d9181900360200190a1610af461127f565b5050505050565b60045481565b6000610b0c82610f47565b92915050565b6000546001600160a01b031690565b6000546001600160a01b0316331490565b6000610b0c82610fb4565b670de0b6b3a764000081565b6040518060400160405280600b81526020016a4c5154595374616b696e6760a81b81525081565b610b79816112c9565b3360009081526001602052604081205490808215610ba857610b9a33610f47565b9150610ba533610fb4565b90505b610bb133610ff7565b6000610bc3848663ffffffff610eab16565b336000908152600160205260409020819055600254909150610beb908663ffffffff610eab16565b600281905560408051918252517f1fb085b6fe1998bfcd59bfb91fb9a84d3a3a8c63a97b2b5c43247235a5ca1df79181900360200190a16006546040805163f3a2568b60e01b81523360048201526024810188905290516001600160a01b039092169163f3a2568b9160448082019260009290919082900301818387803b158015610c7557600080fd5b505af1158015610c89573d6000803e3d6000fd5b50506040805184815290513393507f39df0e5286a3ef2f42a0bf52f32cfe2c58e5b0405f47fe512f2c2439e4cfe20492509081900360200190a26040805183815260208101859052815133927ff744d34ca1cb25acfa4180df5f09a67306107110a9f4b6ed99bb3be259738215928290030190a28315610af4576007546040805163a9059cbb60e01b81523360048201526024810185905290516001600160a01b039092169163a9059cbb916044808201926020929091908290030181600087803b158015610d5757600080fd5b505af1158015610d6b573d6000803e3d6000fd5b505050506040513d6020811015610d8157600080fd5b50610af49050836110c1565b600a546001600160a01b031681565b6009546001600160a01b031681565b6007546001600160a01b031681565b60035481565b6008546001600160a01b031633146105405760405162461bcd60e51b81526004018080602001828103825260218152602001806114c16021913960400191505060405180910390fd5b600082610e1857506000610b0c565b82820282848281610e2557fe5b0414610e625760405162461bcd60e51b815260040180806020018281038252602181526020018061147b6021913960400191505060405180910390fd5b9392505050565b6000610e6283836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611308565b600082820183811015610e62576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b60008111610f445760405162461bcd60e51b815260040180806020018281038252602c815260200180611429602c913960400191505060405180910390fd5b50565b6001600160a01b0381166000908152600560205260408120546003548290610fac90670de0b6b3a76400009061058c90610f87908663ffffffff61107f16565b6001600160a01b0388166000908152600160205260409020549063ffffffff610e0916565b949350505050565b6001600160a01b0381166000908152600560205260408120600101546004548290610fac90670de0b6b3a76400009061058c90610f87908663ffffffff61107f16565b600380546001600160a01b038316600081815260056020908152604091829020938455600454600190940184905593548151928352938201939093528083019190915290517f6b5cf27595af4428271524e0a5abd2b63f6fee1a61e31970490f5a10e257a1cd9181900360600190a150565b60008183106110785781610e62565b5090919050565b6000610e6283836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506113aa565b604080513381526020810183905281517f6109e2559dfa766aaec7118351d48a523f0a4157f49c8d68749c8ac41318ad12929181900390910190a1604051600090339083908381818185875af1925050503d806000811461113e576040519150601f19603f3d011682016040523d82523d6000602084013e611143565b606091505b50509050806111835760405162461bcd60e51b815260040180806020018281038252602f8152602001806114e2602f913960400191505060405180910390fd5b5050565b6009546001600160a01b031633146105405760405162461bcd60e51b81526004018080602001828103825260268152602001806114556026913960400191505060405180910390fd5b6001600160a01b03811661122b576040805162461bcd60e51b815260206004820152601e60248201527f4163636f756e742063616e6e6f74206265207a65726f20616464726573730000604482015290519081900360640190fd5b803b80611183576040805162461bcd60e51b815260206004820181905260248201527f4163636f756e7420636f64652073697a652063616e6e6f74206265207a65726f604482015290519081900360640190fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b60008111610f445760405162461bcd60e51b81526004018080602001828103825260248152602001806114056024913960400191505060405180910390fd5b600081836113945760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611359578181015183820152602001611341565b50505050905090810190601f1680156113865780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385816113a057fe5b0495945050505050565b600081848411156113fc5760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315611359578181015183820152602001611341565b50505090039056fe4c5154595374616b696e673a20416d6f756e74206d757374206265206e6f6e2d7a65726f4c5154595374616b696e673a2055736572206d75737420686176652061206e6f6e2d7a65726f207374616b654c5154595374616b696e673a2063616c6c6572206973206e6f7420426f72726f7765724f7073536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f774c5154595374616b696e673a2063616c6c6572206973206e6f7420416374697665506f6f6c4c5154595374616b696e673a2063616c6c6572206973206e6f742054726f76654d4c5154595374616b696e673a204661696c656420746f2073656e6420616363756d756c61746564204554484761696ea2646970667358221220621387617a854c6e6d7f9ddefdaa7571b4f72c31f8a87a6af841cce1a07ce1e464736f6c634300060b0033", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/packages/lib-ethers/live/LQTYToken.json b/packages/lib-ethers/live/LQTYToken.json deleted file mode 100644 index 98d2cc6ca..000000000 --- a/packages/lib-ethers/live/LQTYToken.json +++ /dev/null @@ -1,566 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "LQTYToken", - "sourceName": "contracts/LQTY/LQTYToken.sol", - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_communityIssuanceAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_zeroStakingAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_lockupFactoryAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_bountyAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_lpRewardsAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_multisigAddress", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "Approval", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_communityIssuanceAddress", - "type": "address" - } - ], - "name": "CommunityIssuanceAddressSet", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_zeroStakingAddress", - "type": "address" - } - ], - "name": "LQTYStakingAddressSet", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_lockupContractFactoryAddress", - "type": "address" - } - ], - "name": "LockupContractFactoryAddressSet", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "Transfer", - "type": "event" - }, - { - "inputs": [], - "name": "ONE_YEAR_IN_SECONDS", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "address", - "name": "spender", - "type": "address" - } - ], - "name": "allowance", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "approve", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "balanceOf", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "communityIssuanceAddress", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "decimals", - "outputs": [ - { - "internalType": "uint8", - "name": "", - "type": "uint8" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "subtractedValue", - "type": "uint256" - } - ], - "name": "decreaseAllowance", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "domainSeparator", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getDeploymentStartTime", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getLpRewardsEntitlement", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "addedValue", - "type": "uint256" - } - ], - "name": "increaseAllowance", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "lockupContractFactory", - "outputs": [ - { - "internalType": "contract ILockupContractFactory", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "zeroStakingAddress", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "multisigAddress", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "name", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - } - ], - "name": "nonces", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "deadline", - "type": "uint256" - }, - { - "internalType": "uint8", - "name": "v", - "type": "uint8" - }, - { - "internalType": "bytes32", - "name": "r", - "type": "bytes32" - }, - { - "internalType": "bytes32", - "name": "s", - "type": "bytes32" - } - ], - "name": "permit", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "permitTypeHash", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_sender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "name": "sendToLQTYStaking", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "symbol", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "totalSupply", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "transfer", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "transferFrom", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "version", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": "0x6101c060405269d3c21bcecceda10000006004553480156200002057600080fd5b5060405162001e0238038062001e02833981810160405260c08110156200004657600080fd5b508051602082015160408301516060840151608085015160a09095015193949293919290916200007f866001600160e01b03620002d116565b62000093856001600160e01b03620002d116565b620000a7846001600160e01b03620002d116565b6001600160601b0319606082811b821661012052426101005287811b82166101405286811b82166101605285901b166101a05260408051808201825260048152634c51545960e01b602091820152815180830190925260018252603160f81b9101527f3a81c10f33bb8529c37240b8a654b1c488a9f8c7e205411c4bef216f3581304760c08190527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660e0819052620001686001600160e01b036200038616565b60a052620001a17f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83836001600160e01b036200038a16565b608081815250506000620001c76002600454620003eb60201b62000ad81790919060201c565b9050620001de86826001600160e01b036200045216565b600454600090620001fa90602062000ad8620003eb821b17811c565b9050620002118a826001600160e01b036200045216565b60006200024960036200023560048054620003eb60201b62000ad81790919060201c565b6200055360201b62000b381790919060201c565b61018081905290506200026687826001600160e01b036200045216565b6000620002a88262000294856200029488620002946064600454620003eb60201b62000ad81790919060201c565b6200059d60201b62000b7a1790919060201c565b9050620002bf87826001600160e01b036200045216565b50505050505050505050505062000746565b6001600160a01b0381166200032d576040805162461bcd60e51b815260206004820152601e60248201527f4163636f756e742063616e6e6f74206265207a65726f20616464726573730000604482015290519081900360640190fd5b803b8062000382576040805162461bcd60e51b815260206004820181905260248201527f4163636f756e7420636f64652073697a652063616e6e6f74206265207a65726f604482015290519081900360640190fd5b5050565b4690565b6000838383620003a26001600160e01b036200038616565b6040805160208082019690965280820194909452606084019290925260808301523060a0808401919091528151808403909101815260c090920190528051910120949350505050565b600082620003fc575060006200044c565b828202828482816200040a57fe5b0414620004495760405162461bcd60e51b815260040180806020018281038252602181526020018062001de16021913960400191505060405180910390fd5b90505b92915050565b6001600160a01b038216620004ae576040805162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015290519081900360640190fd5b620004ca81600254620005e760201b62000bbc1790919060201c565b6002556001600160a01b03821660009081526020818152604090912054620004fd91839062000bbc620005e7821b17901c565b6001600160a01b0383166000818152602081815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b60006200044983836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506200064260201b60201c565b60006200044983836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250620006e960201b60201c565b60008282018381101562000449576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b60008183620006d25760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015620006965781810151838201526020016200067c565b50505050905090810190601f168015620006c45780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b506000838581620006df57fe5b0495945050505050565b600081848411156200073e5760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315620006965781810151838201526020016200067c565b505050900390565b60805160a05160c05160e051610100516101205160601c6101405160601c6101605160601c610180516101a05160601c6115f5620007ec6000398061068a52806111285250806106ae52508061064b52806109e55280610e94528061120e52508061096c5280610e575250806105f15280610d8752806111025250806105cd5280610c23525080610aad525080610a8c525080610a12525080610a4252506115f56000f3fe608060405234801561001057600080fd5b50600436106101585760003560e01c80637ecebe00116100c3578063d505accf1161007c578063d505accf146103ac578063d874ea74146103ff578063dd62ed3e14610407578063e7c8fed414610435578063f3a2568b1461043d578063f698da251461046957610158565b80637ecebe001461031e578063811c5b4d1461034457806395d89b411461015d578063974f55901461034c578063a457c2d714610354578063a9059cbb1461038057610158565b8063395093511161011557806339509351146102905780633c84b7c2146102bc5780635462870d146102c457806354fd4d50146102e857806370a08231146102f0578063761ab22c1461031657610158565b806306fdde031461015d578063095ea7b3146101da57806310ce43bd1461021a57806318160ddd1461023457806323b872dd1461023c578063313ce56714610272575b600080fd5b610165610471565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561019f578181015183820152602001610187565b50505050905090810190601f1680156101cc5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b610206600480360360408110156101f057600080fd5b506001600160a01b038135169060200135610490565b604080519115158252519081900360200190f35b6102226104bc565b60408051918252519081900360200190f35b6102226104e0565b6102066004803603606081101561025257600080fd5b506001600160a01b038135811691602081013590911690604001356104e6565b61027a610574565b6040805160ff9092168252519081900360200190f35b610206600480360360408110156102a657600080fd5b506001600160a01b038135169060200135610579565b6102226105cb565b6102cc6105ef565b604080516001600160a01b039092168252519081900360200190f35b610165610613565b6102226004803603602081101561030657600080fd5b50356001600160a01b031661062e565b6102cc610649565b6102226004803603602081101561033457600080fd5b50356001600160a01b031661066d565b6102cc610688565b6102226106ac565b6102066004803603604081101561036a57600080fd5b506001600160a01b0381351690602001356106d0565b6102066004803603604081101561039657600080fd5b506001600160a01b03813516906020013561073a565b6103fd600480360360e08110156103c257600080fd5b506001600160a01b03813581169160208101359091169060408101359060608101359060ff6080820135169060a08101359060c00135610775565b005b6102cc61096a565b6102226004803603604081101561041d57600080fd5b506001600160a01b038135811691602001351661098e565b6102226109b9565b6103fd6004803603604081101561045357600080fd5b506001600160a01b0381351690602001356109c1565b610222610a0e565b6040805180820190915260048152634c51545960e01b60208201525b90565b600061049a610c16565b156104a7576104a7610c53565b6104b2338484610c99565b5060015b92915050565b7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c990565b60025490565b60006104f0610c16565b156104fe576104fe84610d85565b61050783610df9565b610512848484610f04565b61056a84336105658560405180606001604052806028815260200161140a602891396001600160a01b038a166000908152600160209081526040808320338452909152902054919063ffffffff61106016565b610c99565b5060019392505050565b601290565b6000610583610c16565b1561059057610590610c53565b3360008181526001602090815260408083206001600160a01b03881684529091529020546104b291908590610565908663ffffffff610bbc16565b7f000000000000000000000000000000000000000000000000000000000000000090565b7f000000000000000000000000000000000000000000000000000000000000000081565b6040805180820190915260018152603160f81b602082015290565b6001600160a01b031660009081526020819052604090205490565b7f000000000000000000000000000000000000000000000000000000000000000081565b6001600160a01b031660009081526003602052604090205490565b7f000000000000000000000000000000000000000000000000000000000000000081565b7f000000000000000000000000000000000000000000000000000000000000000090565b60006106da610c16565b156106e7576106e7610c53565b6104b233846105658560405180606001604052806025815260200161159b602591393360009081526001602090815260408083206001600160a01b038d168452909152902054919063ffffffff61106016565b60006107446110f7565b80156107535750610753610c16565b156107615761076183611126565b61076a83610df9565b6104b2338484610f04565b428410156107c3576040805162461bcd60e51b81526020600482015260166024820152754c5154593a206578706972656420646561646c696e6560501b604482015290519081900360640190fd5b60006107cd610a0e565b6001600160a01b03808a1660008181526003602090815260408083208054600180820190925582517f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98186015280840196909652958e166060860152608085018d905260a085019590955260c08085018c90528151808603909101815260e08501825280519083012061190160f01b6101008601526101028501969096526101228085019690965280518085039096018652610142840180825286519683019690962095839052610162840180825286905260ff8a166101828501526101a284018990526101c284018890525194955090936101e280840193601f198301929081900390910190855afa1580156108e8573d6000803e3d6000fd5b505050602060405103519050886001600160a01b0316816001600160a01b031614610954576040805162461bcd60e51b81526020600482015260176024820152764c5154593a20696e76616c6964207369676e617475726560481b604482015290519081900360640190fd5b61095f898989610c99565b505050505050505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6301e1338081565b6109c9611203565b6109d1610c16565b156109df576109df82610d85565b610a0a827f000000000000000000000000000000000000000000000000000000000000000083610f04565b5050565b60007f0000000000000000000000000000000000000000000000000000000000000000610a3961126a565b1415610a6657507f000000000000000000000000000000000000000000000000000000000000000061048d565b610ad17f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000061126e565b905061048d565b600082610ae7575060006104b6565b82820282848281610af457fe5b0414610b315760405162461bcd60e51b81526004018080602001828103825260218152602001806113bf6021913960400191505060405180910390fd5b9392505050565b6000610b3183836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506112c4565b6000610b3183836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611060565b600082820183811015610b31576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b60006301e13380610c4d427f000000000000000000000000000000000000000000000000000000000000000063ffffffff610b7a16565b10905090565b610c5b6110f7565b15610c975760405162461bcd60e51b815260040180806020018281038252602a81526020018061136f602a913960400191505060405180910390fd5b565b6001600160a01b038316610cde5760405162461bcd60e51b81526004018080602001828103825260248152602001806114576024913960400191505060405180910390fd5b6001600160a01b038216610d235760405162461bcd60e51b815260040180806020018281038252602281526020018061134d6022913960400191505060405180910390fd5b6001600160a01b03808416600081815260016020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316816001600160a01b03161415610df65760405162461bcd60e51b815260040180806020018281038252602a8152602001806113e0602a913960400191505060405180910390fd5b50565b6001600160a01b03811615801590610e1a57506001600160a01b0381163014155b610e555760405162461bcd60e51b81526004018080602001828103825260548152602001806114ad6054913960600191505060405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316816001600160a01b031614158015610ec957507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316816001600160a01b031614155b610df65760405162461bcd60e51b81526004018080602001828103825260538152602001806115016053913960600191505060405180910390fd5b6001600160a01b038316610f495760405162461bcd60e51b81526004018080602001828103825260258152602001806114326025913960400191505060405180910390fd5b6001600160a01b038216610f8e5760405162461bcd60e51b815260040180806020018281038252602381526020018061132a6023913960400191505060405180910390fd5b610fd181604051806060016040528060268152602001611399602691396001600160a01b038616600090815260208190526040902054919063ffffffff61106016565b6001600160a01b038085166000908152602081905260408082209390935590841681522054611006908263ffffffff610bbc16565b6001600160a01b038084166000818152602081815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b600081848411156110ef5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156110b457818101518382015260200161109c565b50505050905090810190601f1680156110e15780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161490565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663bb7603f1826040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b15801561119c57600080fd5b505afa1580156111b0573d6000803e3d6000fd5b505050506040513d60208110156111c657600080fd5b5051610df65760405162461bcd60e51b81526004018080602001828103825260478152602001806115546047913960600191505060405180910390fd5b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610c975760405162461bcd60e51b815260040180806020018281038252603281526020018061147b6032913960400191505060405180910390fd5b4690565b600083838361127b61126a565b6040805160208082019690965280820194909452606084019290925260808301523060a0808401919091528151808403909101815260c090920190528051910120949350505050565b600081836113135760405162461bcd60e51b81526020600482018181528351602484015283519092839260449091019190850190808383600083156110b457818101518382015260200161109c565b50600083858161131f57fe5b049594505050505056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f20616464726573734c515459546f6b656e3a2063616c6c6572206d757374206e6f7420626520746865206d756c746973696745524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e6365536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f774c515459546f6b656e3a2073656e646572206d757374206e6f7420626520746865206d756c746973696745524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f20616464726573734c515459546f6b656e3a2063616c6c6572206d75737420626520746865204c5154595374616b696e6720636f6e74726163744c5154593a2043616e6e6f74207472616e7366657220746f6b656e73206469726563746c7920746f20746865204c51545920746f6b656e20636f6e7472616374206f7220746865207a65726f20616464726573734c5154593a2043616e6e6f74207472616e7366657220746f6b656e73206469726563746c7920746f2074686520636f6d6d756e6974792069737375616e6365206f72207374616b696e6720636f6e74726163744c515459546f6b656e3a20726563697069656e74206d7573742062652061204c6f636b7570436f6e7472616374207265676973746572656420696e2074686520466163746f727945524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa264697066735822122080907c6508eebb384558bbe088be6a13271c444e7eefc2ea9333c03fe760818f64736f6c634300060b0033536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77", - "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106101585760003560e01c80637ecebe00116100c3578063d505accf1161007c578063d505accf146103ac578063d874ea74146103ff578063dd62ed3e14610407578063e7c8fed414610435578063f3a2568b1461043d578063f698da251461046957610158565b80637ecebe001461031e578063811c5b4d1461034457806395d89b411461015d578063974f55901461034c578063a457c2d714610354578063a9059cbb1461038057610158565b8063395093511161011557806339509351146102905780633c84b7c2146102bc5780635462870d146102c457806354fd4d50146102e857806370a08231146102f0578063761ab22c1461031657610158565b806306fdde031461015d578063095ea7b3146101da57806310ce43bd1461021a57806318160ddd1461023457806323b872dd1461023c578063313ce56714610272575b600080fd5b610165610471565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561019f578181015183820152602001610187565b50505050905090810190601f1680156101cc5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b610206600480360360408110156101f057600080fd5b506001600160a01b038135169060200135610490565b604080519115158252519081900360200190f35b6102226104bc565b60408051918252519081900360200190f35b6102226104e0565b6102066004803603606081101561025257600080fd5b506001600160a01b038135811691602081013590911690604001356104e6565b61027a610574565b6040805160ff9092168252519081900360200190f35b610206600480360360408110156102a657600080fd5b506001600160a01b038135169060200135610579565b6102226105cb565b6102cc6105ef565b604080516001600160a01b039092168252519081900360200190f35b610165610613565b6102226004803603602081101561030657600080fd5b50356001600160a01b031661062e565b6102cc610649565b6102226004803603602081101561033457600080fd5b50356001600160a01b031661066d565b6102cc610688565b6102226106ac565b6102066004803603604081101561036a57600080fd5b506001600160a01b0381351690602001356106d0565b6102066004803603604081101561039657600080fd5b506001600160a01b03813516906020013561073a565b6103fd600480360360e08110156103c257600080fd5b506001600160a01b03813581169160208101359091169060408101359060608101359060ff6080820135169060a08101359060c00135610775565b005b6102cc61096a565b6102226004803603604081101561041d57600080fd5b506001600160a01b038135811691602001351661098e565b6102226109b9565b6103fd6004803603604081101561045357600080fd5b506001600160a01b0381351690602001356109c1565b610222610a0e565b6040805180820190915260048152634c51545960e01b60208201525b90565b600061049a610c16565b156104a7576104a7610c53565b6104b2338484610c99565b5060015b92915050565b7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c990565b60025490565b60006104f0610c16565b156104fe576104fe84610d85565b61050783610df9565b610512848484610f04565b61056a84336105658560405180606001604052806028815260200161140a602891396001600160a01b038a166000908152600160209081526040808320338452909152902054919063ffffffff61106016565b610c99565b5060019392505050565b601290565b6000610583610c16565b1561059057610590610c53565b3360008181526001602090815260408083206001600160a01b03881684529091529020546104b291908590610565908663ffffffff610bbc16565b7f000000000000000000000000000000000000000000000000000000000000000090565b7f000000000000000000000000000000000000000000000000000000000000000081565b6040805180820190915260018152603160f81b602082015290565b6001600160a01b031660009081526020819052604090205490565b7f000000000000000000000000000000000000000000000000000000000000000081565b6001600160a01b031660009081526003602052604090205490565b7f000000000000000000000000000000000000000000000000000000000000000081565b7f000000000000000000000000000000000000000000000000000000000000000090565b60006106da610c16565b156106e7576106e7610c53565b6104b233846105658560405180606001604052806025815260200161159b602591393360009081526001602090815260408083206001600160a01b038d168452909152902054919063ffffffff61106016565b60006107446110f7565b80156107535750610753610c16565b156107615761076183611126565b61076a83610df9565b6104b2338484610f04565b428410156107c3576040805162461bcd60e51b81526020600482015260166024820152754c5154593a206578706972656420646561646c696e6560501b604482015290519081900360640190fd5b60006107cd610a0e565b6001600160a01b03808a1660008181526003602090815260408083208054600180820190925582517f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98186015280840196909652958e166060860152608085018d905260a085019590955260c08085018c90528151808603909101815260e08501825280519083012061190160f01b6101008601526101028501969096526101228085019690965280518085039096018652610142840180825286519683019690962095839052610162840180825286905260ff8a166101828501526101a284018990526101c284018890525194955090936101e280840193601f198301929081900390910190855afa1580156108e8573d6000803e3d6000fd5b505050602060405103519050886001600160a01b0316816001600160a01b031614610954576040805162461bcd60e51b81526020600482015260176024820152764c5154593a20696e76616c6964207369676e617475726560481b604482015290519081900360640190fd5b61095f898989610c99565b505050505050505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6301e1338081565b6109c9611203565b6109d1610c16565b156109df576109df82610d85565b610a0a827f000000000000000000000000000000000000000000000000000000000000000083610f04565b5050565b60007f0000000000000000000000000000000000000000000000000000000000000000610a3961126a565b1415610a6657507f000000000000000000000000000000000000000000000000000000000000000061048d565b610ad17f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000061126e565b905061048d565b600082610ae7575060006104b6565b82820282848281610af457fe5b0414610b315760405162461bcd60e51b81526004018080602001828103825260218152602001806113bf6021913960400191505060405180910390fd5b9392505050565b6000610b3183836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506112c4565b6000610b3183836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611060565b600082820183811015610b31576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b60006301e13380610c4d427f000000000000000000000000000000000000000000000000000000000000000063ffffffff610b7a16565b10905090565b610c5b6110f7565b15610c975760405162461bcd60e51b815260040180806020018281038252602a81526020018061136f602a913960400191505060405180910390fd5b565b6001600160a01b038316610cde5760405162461bcd60e51b81526004018080602001828103825260248152602001806114576024913960400191505060405180910390fd5b6001600160a01b038216610d235760405162461bcd60e51b815260040180806020018281038252602281526020018061134d6022913960400191505060405180910390fd5b6001600160a01b03808416600081815260016020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316816001600160a01b03161415610df65760405162461bcd60e51b815260040180806020018281038252602a8152602001806113e0602a913960400191505060405180910390fd5b50565b6001600160a01b03811615801590610e1a57506001600160a01b0381163014155b610e555760405162461bcd60e51b81526004018080602001828103825260548152602001806114ad6054913960600191505060405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316816001600160a01b031614158015610ec957507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316816001600160a01b031614155b610df65760405162461bcd60e51b81526004018080602001828103825260538152602001806115016053913960600191505060405180910390fd5b6001600160a01b038316610f495760405162461bcd60e51b81526004018080602001828103825260258152602001806114326025913960400191505060405180910390fd5b6001600160a01b038216610f8e5760405162461bcd60e51b815260040180806020018281038252602381526020018061132a6023913960400191505060405180910390fd5b610fd181604051806060016040528060268152602001611399602691396001600160a01b038616600090815260208190526040902054919063ffffffff61106016565b6001600160a01b038085166000908152602081905260408082209390935590841681522054611006908263ffffffff610bbc16565b6001600160a01b038084166000818152602081815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b600081848411156110ef5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156110b457818101518382015260200161109c565b50505050905090810190601f1680156110e15780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161490565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663bb7603f1826040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b15801561119c57600080fd5b505afa1580156111b0573d6000803e3d6000fd5b505050506040513d60208110156111c657600080fd5b5051610df65760405162461bcd60e51b81526004018080602001828103825260478152602001806115546047913960600191505060405180910390fd5b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610c975760405162461bcd60e51b815260040180806020018281038252603281526020018061147b6032913960400191505060405180910390fd5b4690565b600083838361127b61126a565b6040805160208082019690965280820194909452606084019290925260808301523060a0808401919091528151808403909101815260c090920190528051910120949350505050565b600081836113135760405162461bcd60e51b81526020600482018181528351602484015283519092839260449091019190850190808383600083156110b457818101518382015260200161109c565b50600083858161131f57fe5b049594505050505056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f20616464726573734c515459546f6b656e3a2063616c6c6572206d757374206e6f7420626520746865206d756c746973696745524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e6365536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f774c515459546f6b656e3a2073656e646572206d757374206e6f7420626520746865206d756c746973696745524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f20616464726573734c515459546f6b656e3a2063616c6c6572206d75737420626520746865204c5154595374616b696e6720636f6e74726163744c5154593a2043616e6e6f74207472616e7366657220746f6b656e73206469726563746c7920746f20746865204c51545920746f6b656e20636f6e7472616374206f7220746865207a65726f20616464726573734c5154593a2043616e6e6f74207472616e7366657220746f6b656e73206469726563746c7920746f2074686520636f6d6d756e6974792069737375616e6365206f72207374616b696e6720636f6e74726163744c515459546f6b656e3a20726563697069656e74206d7573742062652061204c6f636b7570436f6e7472616374207265676973746572656420696e2074686520466163746f727945524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa264697066735822122080907c6508eebb384558bbe088be6a13271c444e7eefc2ea9333c03fe760818f64736f6c634300060b0033", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/packages/lib-ethers/live/LQTYTokenTester.json b/packages/lib-ethers/live/LQTYTokenTester.json deleted file mode 100644 index fcffeda62..000000000 --- a/packages/lib-ethers/live/LQTYTokenTester.json +++ /dev/null @@ -1,673 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "LQTYTokenTester", - "sourceName": "contracts/TestContracts/LQTYTokenTester.sol", - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_communityIssuanceAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_zeroStakingAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_lockupFactoryAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_bountyAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_lpRewardsAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_multisigAddress", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "Approval", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_communityIssuanceAddress", - "type": "address" - } - ], - "name": "CommunityIssuanceAddressSet", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_zeroStakingAddress", - "type": "address" - } - ], - "name": "LQTYStakingAddressSet", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_lockupContractFactoryAddress", - "type": "address" - } - ], - "name": "LockupContractFactoryAddressSet", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "Transfer", - "type": "event" - }, - { - "inputs": [], - "name": "ONE_YEAR_IN_SECONDS", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "address", - "name": "spender", - "type": "address" - } - ], - "name": "allowance", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "approve", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "balanceOf", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "callInternalApprove", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "callInternalTransfer", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "communityIssuanceAddress", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "decimals", - "outputs": [ - { - "internalType": "uint8", - "name": "", - "type": "uint8" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "subtractedValue", - "type": "uint256" - } - ], - "name": "decreaseAllowance", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "domainSeparator", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getChainId", - "outputs": [ - { - "internalType": "uint256", - "name": "chainID", - "type": "uint256" - } - ], - "stateMutability": "pure", - "type": "function" - }, - { - "inputs": [], - "name": "getDeploymentStartTime", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getLpRewardsEntitlement", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "addedValue", - "type": "uint256" - } - ], - "name": "increaseAllowance", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "lockupContractFactory", - "outputs": [ - { - "internalType": "contract ILockupContractFactory", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "zeroStakingAddress", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "multisigAddress", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "name", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - } - ], - "name": "nonces", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "deadline", - "type": "uint256" - }, - { - "internalType": "uint8", - "name": "v", - "type": "uint8" - }, - { - "internalType": "bytes32", - "name": "r", - "type": "bytes32" - }, - { - "internalType": "bytes32", - "name": "s", - "type": "bytes32" - } - ], - "name": "permit", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "permitTypeHash", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_sender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "name": "sendToLQTYStaking", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "symbol", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "totalSupply", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "transfer", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "transferFrom", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "unprotectedMint", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_sender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "name": "unprotectedSendToLQTYStaking", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "version", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": "0x6101c060405269d3c21bcecceda10000006004553480156200002057600080fd5b506040516200202538038062002025833981810160405260c08110156200004657600080fd5b508051602082015160408301516060840151608085015160a090950151939492939192909185858585858562000085866001600160e01b03620002dd16565b62000099856001600160e01b03620002dd16565b620000ad846001600160e01b03620002dd16565b6001600160601b0319606082811b821661012052426101005287811b82166101405286811b82166101605285901b166101a05260408051808201825260048152634c51545960e01b602091820152815180830190925260018252603160f81b9101527f3a81c10f33bb8529c37240b8a654b1c488a9f8c7e205411c4bef216f3581304760c08190527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660e08190526200016e6001600160e01b036200039216565b60a052620001a77f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83836001600160e01b036200039616565b608081815250506000620001cd6002600454620003f760201b62000c0a1790919060201c565b9050620001e486826001600160e01b036200045e16565b6004546000906200020090602062000c0a620003f7821b17811c565b9050620002178a826001600160e01b036200045e16565b60006200024f60036200023b60048054620003f760201b62000c0a1790919060201c565b6200055f60201b62000c631790919060201c565b61018081905290506200026c87826001600160e01b036200045e16565b6000620002ae826200029a856200029a886200029a6064600454620003f760201b62000c0a1790919060201c565b620005a960201b62000ca51790919060201c565b9050620002c587826001600160e01b036200045e16565b50505050505050505050505050505050505062000752565b6001600160a01b03811662000339576040805162461bcd60e51b815260206004820152601e60248201527f4163636f756e742063616e6e6f74206265207a65726f20616464726573730000604482015290519081900360640190fd5b803b806200038e576040805162461bcd60e51b815260206004820181905260248201527f4163636f756e7420636f64652073697a652063616e6e6f74206265207a65726f604482015290519081900360640190fd5b5050565b4690565b6000838383620003ae6001600160e01b036200039216565b6040805160208082019690965280820194909452606084019290925260808301523060a0808401919091528151808403909101815260c090920190528051910120949350505050565b600082620004085750600062000458565b828202828482816200041657fe5b0414620004555760405162461bcd60e51b8152600401808060200182810382526021815260200180620020046021913960400191505060405180910390fd5b90505b92915050565b6001600160a01b038216620004ba576040805162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015290519081900360640190fd5b620004d681600254620005f360201b62000ce71790919060201c565b6002556001600160a01b038216600090815260208181526040909120546200050991839062000ce7620005f3821b17901c565b6001600160a01b0383166000818152602081815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b60006200045583836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506200064e60201b60201c565b60006200045583836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250620006f560201b60201c565b60008282018381101562000455576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b60008183620006de5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015620006a257818101518382015260200162000688565b50505050905090810190601f168015620006d05780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b506000838581620006eb57fe5b0495945050505050565b600081848411156200074a5760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315620006a257818101518382015260200162000688565b505050900390565b60805160a05160c05160e051610100516101205160601c6101405160601c6101605160601c610180516101a05160601c61180c620007f860003980610801528061134352508061082552508061073352806107c25280610fbf5280611429525080610ae35280610f825250806107685280610eb2528061131d5250806106f55280610e3a525080610bdf525080610bbe525080610b44525080610b74525061180c6000f3fe608060405234801561001057600080fd5b506004361061018f5760003560e01c806354fd4d50116100e4578063a457c2d711610092578063a457c2d714610459578063a9059cbb14610485578063d505accf146104b1578063d874ea7414610502578063dd62ed3e1461050a578063e7c8fed414610538578063f3a2568b14610540578063f698da251461056c5761018f565b806354fd4d50146103ed57806370a08231146103f5578063761ab22c1461041b5780637ecebe0014610423578063811c5b4d1461044957806395d89b41146101de578063974f5590146104515761018f565b80633408e470116101415780633408e470146102fd578063387a54d914610305578063395093511461033b5780633c84b7c2146103675780634655018c1461036f5780635099f99f1461039d5780635462870d146103c95761018f565b806303d999461461019457806306fdde03146101de578063095ea7b31461025b57806310ce43bd1461028757806318160ddd146102a157806323b872dd146102a9578063313ce567146102df575b600080fd5b6101ca600480360360608110156101aa57600080fd5b506001600160a01b03813581169160208101359091169060400135610574565b604080519115158252519081900360200190f35b6101e6610588565b6040805160208082528351818301528351919283929083019185019080838360005b83811015610220578181015183820152602001610208565b50505050905090810190601f16801561024d5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101ca6004803603604081101561027157600080fd5b506001600160a01b0381351690602001356105a7565b61028f6105d3565b60408051918252519081900360200190f35b61028f6105f7565b6101ca600480360360608110156102bf57600080fd5b506001600160a01b038135811691602081013590911690604001356105fd565b6102e761068b565b6040805160ff9092168252519081900360200190f35b61028f610690565b6101ca6004803603606081101561031b57600080fd5b506001600160a01b03813581169160208101359091169060400135610694565b6101ca6004803603604081101561035157600080fd5b506001600160a01b0381351690602001356106a1565b61028f6106f3565b61039b6004803603604081101561038557600080fd5b506001600160a01b038135169060200135610717565b005b61039b600480360360408110156103b357600080fd5b506001600160a01b03813516906020013561075c565b6103d1610766565b604080516001600160a01b039092168252519081900360200190f35b6101e661078a565b61028f6004803603602081101561040b57600080fd5b50356001600160a01b03166107a5565b6103d16107c0565b61028f6004803603602081101561043957600080fd5b50356001600160a01b03166107e4565b6103d16107ff565b61028f610823565b6101ca6004803603604081101561046f57600080fd5b506001600160a01b038135169060200135610847565b6101ca6004803603604081101561049b57600080fd5b506001600160a01b0381351690602001356108b1565b61039b600480360360e08110156104c757600080fd5b506001600160a01b03813581169160208101359091169060408101359060608101359060ff6080820135169060a08101359060c001356108ec565b6103d1610ae1565b61028f6004803603604081101561052057600080fd5b506001600160a01b0381358116916020013516610b05565b61028f610b30565b61039b6004803603604081101561055657600080fd5b506001600160a01b038135169060200135610b38565b61028f610b40565b6000610581848484610d41565b9392505050565b6040805180820190915260048152634c51545960e01b60208201525b90565b60006105b1610e2d565b156105be576105be610e6a565b6105c9338484610d41565b5060015b92915050565b7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c990565b60025490565b6000610607610e2d565b156106155761061584610eb0565b61061e83610f24565b61062984848461102f565b610681843361067c85604051806060016040528060288152602001611621602891396001600160a01b038a166000908152600160209081526040808320338452909152902054919063ffffffff61118b16565b610d41565b5060019392505050565b601290565b4690565b600061058184848461102f565b60006106ab610e2d565b156106b8576106b8610e6a565b3360008181526001602090815260408083206001600160a01b03881684529091529020546105c99190859061067c908663ffffffff610ce716565b7f000000000000000000000000000000000000000000000000000000000000000090565b61071f610e2d565b1561072d5761072d82610eb0565b610758827f00000000000000000000000000000000000000000000000000000000000000008361102f565b5050565b6107588282611222565b7f000000000000000000000000000000000000000000000000000000000000000081565b6040805180820190915260018152603160f81b602082015290565b6001600160a01b031660009081526020819052604090205490565b7f000000000000000000000000000000000000000000000000000000000000000081565b6001600160a01b031660009081526003602052604090205490565b7f000000000000000000000000000000000000000000000000000000000000000081565b7f000000000000000000000000000000000000000000000000000000000000000090565b6000610851610e2d565b1561085e5761085e610e6a565b6105c9338461067c856040518060600160405280602581526020016117b2602591393360009081526001602090815260408083206001600160a01b038d168452909152902054919063ffffffff61118b16565b60006108bb611312565b80156108ca57506108ca610e2d565b156108d8576108d883611341565b6108e183610f24565b6105c933848461102f565b4284101561093a576040805162461bcd60e51b81526020600482015260166024820152754c5154593a206578706972656420646561646c696e6560501b604482015290519081900360640190fd5b6000610944610b40565b6001600160a01b03808a1660008181526003602090815260408083208054600180820190925582517f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98186015280840196909652958e166060860152608085018d905260a085019590955260c08085018c90528151808603909101815260e08501825280519083012061190160f01b6101008601526101028501969096526101228085019690965280518085039096018652610142840180825286519683019690962095839052610162840180825286905260ff8a166101828501526101a284018990526101c284018890525194955090936101e280840193601f198301929081900390910190855afa158015610a5f573d6000803e3d6000fd5b505050602060405103519050886001600160a01b0316816001600160a01b031614610acb576040805162461bcd60e51b81526020600482015260176024820152764c5154593a20696e76616c6964207369676e617475726560481b604482015290519081900360640190fd5b610ad6898989610d41565b505050505050505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6301e1338081565b61071761141e565b60007f0000000000000000000000000000000000000000000000000000000000000000610b6b610690565b1415610b9857507f00000000000000000000000000000000000000000000000000000000000000006105a4565b610c037f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611485565b90506105a4565b600082610c19575060006105cd565b82820282848281610c2657fe5b04146105815760405162461bcd60e51b81526004018080602001828103825260218152602001806115d66021913960400191505060405180910390fd5b600061058183836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506114db565b600061058183836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061118b565b600082820183811015610581576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b6001600160a01b038316610d865760405162461bcd60e51b815260040180806020018281038252602481526020018061166e6024913960400191505060405180910390fd5b6001600160a01b038216610dcb5760405162461bcd60e51b81526004018080602001828103825260228152602001806115646022913960400191505060405180910390fd5b6001600160a01b03808416600081815260016020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b60006301e13380610e64427f000000000000000000000000000000000000000000000000000000000000000063ffffffff610ca516565b10905090565b610e72611312565b15610eae5760405162461bcd60e51b815260040180806020018281038252602a815260200180611586602a913960400191505060405180910390fd5b565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316816001600160a01b03161415610f215760405162461bcd60e51b815260040180806020018281038252602a8152602001806115f7602a913960400191505060405180910390fd5b50565b6001600160a01b03811615801590610f4557506001600160a01b0381163014155b610f805760405162461bcd60e51b81526004018080602001828103825260548152602001806116c46054913960600191505060405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316816001600160a01b031614158015610ff457507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316816001600160a01b031614155b610f215760405162461bcd60e51b81526004018080602001828103825260538152602001806117186053913960600191505060405180910390fd5b6001600160a01b0383166110745760405162461bcd60e51b81526004018080602001828103825260258152602001806116496025913960400191505060405180910390fd5b6001600160a01b0382166110b95760405162461bcd60e51b81526004018080602001828103825260238152602001806115416023913960400191505060405180910390fd5b6110fc816040518060600160405280602681526020016115b0602691396001600160a01b038616600090815260208190526040902054919063ffffffff61118b16565b6001600160a01b038085166000908152602081905260408082209390935590841681522054611131908263ffffffff610ce716565b6001600160a01b038084166000818152602081815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b6000818484111561121a5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156111df5781810151838201526020016111c7565b50505050905090810190601f16801561120c5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b6001600160a01b03821661127d576040805162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015290519081900360640190fd5b600254611290908263ffffffff610ce716565b6002556001600160a01b0382166000908152602081905260409020546112bc908263ffffffff610ce716565b6001600160a01b0383166000818152602081815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161490565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663bb7603f1826040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b1580156113b757600080fd5b505afa1580156113cb573d6000803e3d6000fd5b505050506040513d60208110156113e157600080fd5b5051610f215760405162461bcd60e51b815260040180806020018281038252604781526020018061176b6047913960600191505060405180910390fd5b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610eae5760405162461bcd60e51b81526004018080602001828103825260328152602001806116926032913960400191505060405180910390fd5b6000838383611492610690565b6040805160208082019690965280820194909452606084019290925260808301523060a0808401919091528151808403909101815260c090920190528051910120949350505050565b6000818361152a5760405162461bcd60e51b81526020600482018181528351602484015283519092839260449091019190850190808383600083156111df5781810151838201526020016111c7565b50600083858161153657fe5b049594505050505056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f20616464726573734c515459546f6b656e3a2063616c6c6572206d757374206e6f7420626520746865206d756c746973696745524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e6365536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f774c515459546f6b656e3a2073656e646572206d757374206e6f7420626520746865206d756c746973696745524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f20616464726573734c515459546f6b656e3a2063616c6c6572206d75737420626520746865204c5154595374616b696e6720636f6e74726163744c5154593a2043616e6e6f74207472616e7366657220746f6b656e73206469726563746c7920746f20746865204c51545920746f6b656e20636f6e7472616374206f7220746865207a65726f20616464726573734c5154593a2043616e6e6f74207472616e7366657220746f6b656e73206469726563746c7920746f2074686520636f6d6d756e6974792069737375616e6365206f72207374616b696e6720636f6e74726163744c515459546f6b656e3a20726563697069656e74206d7573742062652061204c6f636b7570436f6e7472616374207265676973746572656420696e2074686520466163746f727945524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220244beab2c11fad5eae32bf9c8797583bc63e5f17295995fc7698ad8a6879995064736f6c634300060b0033536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77", - "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061018f5760003560e01c806354fd4d50116100e4578063a457c2d711610092578063a457c2d714610459578063a9059cbb14610485578063d505accf146104b1578063d874ea7414610502578063dd62ed3e1461050a578063e7c8fed414610538578063f3a2568b14610540578063f698da251461056c5761018f565b806354fd4d50146103ed57806370a08231146103f5578063761ab22c1461041b5780637ecebe0014610423578063811c5b4d1461044957806395d89b41146101de578063974f5590146104515761018f565b80633408e470116101415780633408e470146102fd578063387a54d914610305578063395093511461033b5780633c84b7c2146103675780634655018c1461036f5780635099f99f1461039d5780635462870d146103c95761018f565b806303d999461461019457806306fdde03146101de578063095ea7b31461025b57806310ce43bd1461028757806318160ddd146102a157806323b872dd146102a9578063313ce567146102df575b600080fd5b6101ca600480360360608110156101aa57600080fd5b506001600160a01b03813581169160208101359091169060400135610574565b604080519115158252519081900360200190f35b6101e6610588565b6040805160208082528351818301528351919283929083019185019080838360005b83811015610220578181015183820152602001610208565b50505050905090810190601f16801561024d5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101ca6004803603604081101561027157600080fd5b506001600160a01b0381351690602001356105a7565b61028f6105d3565b60408051918252519081900360200190f35b61028f6105f7565b6101ca600480360360608110156102bf57600080fd5b506001600160a01b038135811691602081013590911690604001356105fd565b6102e761068b565b6040805160ff9092168252519081900360200190f35b61028f610690565b6101ca6004803603606081101561031b57600080fd5b506001600160a01b03813581169160208101359091169060400135610694565b6101ca6004803603604081101561035157600080fd5b506001600160a01b0381351690602001356106a1565b61028f6106f3565b61039b6004803603604081101561038557600080fd5b506001600160a01b038135169060200135610717565b005b61039b600480360360408110156103b357600080fd5b506001600160a01b03813516906020013561075c565b6103d1610766565b604080516001600160a01b039092168252519081900360200190f35b6101e661078a565b61028f6004803603602081101561040b57600080fd5b50356001600160a01b03166107a5565b6103d16107c0565b61028f6004803603602081101561043957600080fd5b50356001600160a01b03166107e4565b6103d16107ff565b61028f610823565b6101ca6004803603604081101561046f57600080fd5b506001600160a01b038135169060200135610847565b6101ca6004803603604081101561049b57600080fd5b506001600160a01b0381351690602001356108b1565b61039b600480360360e08110156104c757600080fd5b506001600160a01b03813581169160208101359091169060408101359060608101359060ff6080820135169060a08101359060c001356108ec565b6103d1610ae1565b61028f6004803603604081101561052057600080fd5b506001600160a01b0381358116916020013516610b05565b61028f610b30565b61039b6004803603604081101561055657600080fd5b506001600160a01b038135169060200135610b38565b61028f610b40565b6000610581848484610d41565b9392505050565b6040805180820190915260048152634c51545960e01b60208201525b90565b60006105b1610e2d565b156105be576105be610e6a565b6105c9338484610d41565b5060015b92915050565b7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c990565b60025490565b6000610607610e2d565b156106155761061584610eb0565b61061e83610f24565b61062984848461102f565b610681843361067c85604051806060016040528060288152602001611621602891396001600160a01b038a166000908152600160209081526040808320338452909152902054919063ffffffff61118b16565b610d41565b5060019392505050565b601290565b4690565b600061058184848461102f565b60006106ab610e2d565b156106b8576106b8610e6a565b3360008181526001602090815260408083206001600160a01b03881684529091529020546105c99190859061067c908663ffffffff610ce716565b7f000000000000000000000000000000000000000000000000000000000000000090565b61071f610e2d565b1561072d5761072d82610eb0565b610758827f00000000000000000000000000000000000000000000000000000000000000008361102f565b5050565b6107588282611222565b7f000000000000000000000000000000000000000000000000000000000000000081565b6040805180820190915260018152603160f81b602082015290565b6001600160a01b031660009081526020819052604090205490565b7f000000000000000000000000000000000000000000000000000000000000000081565b6001600160a01b031660009081526003602052604090205490565b7f000000000000000000000000000000000000000000000000000000000000000081565b7f000000000000000000000000000000000000000000000000000000000000000090565b6000610851610e2d565b1561085e5761085e610e6a565b6105c9338461067c856040518060600160405280602581526020016117b2602591393360009081526001602090815260408083206001600160a01b038d168452909152902054919063ffffffff61118b16565b60006108bb611312565b80156108ca57506108ca610e2d565b156108d8576108d883611341565b6108e183610f24565b6105c933848461102f565b4284101561093a576040805162461bcd60e51b81526020600482015260166024820152754c5154593a206578706972656420646561646c696e6560501b604482015290519081900360640190fd5b6000610944610b40565b6001600160a01b03808a1660008181526003602090815260408083208054600180820190925582517f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98186015280840196909652958e166060860152608085018d905260a085019590955260c08085018c90528151808603909101815260e08501825280519083012061190160f01b6101008601526101028501969096526101228085019690965280518085039096018652610142840180825286519683019690962095839052610162840180825286905260ff8a166101828501526101a284018990526101c284018890525194955090936101e280840193601f198301929081900390910190855afa158015610a5f573d6000803e3d6000fd5b505050602060405103519050886001600160a01b0316816001600160a01b031614610acb576040805162461bcd60e51b81526020600482015260176024820152764c5154593a20696e76616c6964207369676e617475726560481b604482015290519081900360640190fd5b610ad6898989610d41565b505050505050505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6301e1338081565b61071761141e565b60007f0000000000000000000000000000000000000000000000000000000000000000610b6b610690565b1415610b9857507f00000000000000000000000000000000000000000000000000000000000000006105a4565b610c037f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611485565b90506105a4565b600082610c19575060006105cd565b82820282848281610c2657fe5b04146105815760405162461bcd60e51b81526004018080602001828103825260218152602001806115d66021913960400191505060405180910390fd5b600061058183836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506114db565b600061058183836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061118b565b600082820183811015610581576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b6001600160a01b038316610d865760405162461bcd60e51b815260040180806020018281038252602481526020018061166e6024913960400191505060405180910390fd5b6001600160a01b038216610dcb5760405162461bcd60e51b81526004018080602001828103825260228152602001806115646022913960400191505060405180910390fd5b6001600160a01b03808416600081815260016020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b60006301e13380610e64427f000000000000000000000000000000000000000000000000000000000000000063ffffffff610ca516565b10905090565b610e72611312565b15610eae5760405162461bcd60e51b815260040180806020018281038252602a815260200180611586602a913960400191505060405180910390fd5b565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316816001600160a01b03161415610f215760405162461bcd60e51b815260040180806020018281038252602a8152602001806115f7602a913960400191505060405180910390fd5b50565b6001600160a01b03811615801590610f4557506001600160a01b0381163014155b610f805760405162461bcd60e51b81526004018080602001828103825260548152602001806116c46054913960600191505060405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316816001600160a01b031614158015610ff457507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316816001600160a01b031614155b610f215760405162461bcd60e51b81526004018080602001828103825260538152602001806117186053913960600191505060405180910390fd5b6001600160a01b0383166110745760405162461bcd60e51b81526004018080602001828103825260258152602001806116496025913960400191505060405180910390fd5b6001600160a01b0382166110b95760405162461bcd60e51b81526004018080602001828103825260238152602001806115416023913960400191505060405180910390fd5b6110fc816040518060600160405280602681526020016115b0602691396001600160a01b038616600090815260208190526040902054919063ffffffff61118b16565b6001600160a01b038085166000908152602081905260408082209390935590841681522054611131908263ffffffff610ce716565b6001600160a01b038084166000818152602081815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b6000818484111561121a5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156111df5781810151838201526020016111c7565b50505050905090810190601f16801561120c5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b6001600160a01b03821661127d576040805162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015290519081900360640190fd5b600254611290908263ffffffff610ce716565b6002556001600160a01b0382166000908152602081905260409020546112bc908263ffffffff610ce716565b6001600160a01b0383166000818152602081815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161490565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663bb7603f1826040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b1580156113b757600080fd5b505afa1580156113cb573d6000803e3d6000fd5b505050506040513d60208110156113e157600080fd5b5051610f215760405162461bcd60e51b815260040180806020018281038252604781526020018061176b6047913960600191505060405180910390fd5b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610eae5760405162461bcd60e51b81526004018080602001828103825260328152602001806116926032913960400191505060405180910390fd5b6000838383611492610690565b6040805160208082019690965280820194909452606084019290925260808301523060a0808401919091528151808403909101815260c090920190528051910120949350505050565b6000818361152a5760405162461bcd60e51b81526020600482018181528351602484015283519092839260449091019190850190808383600083156111df5781810151838201526020016111c7565b50600083858161153657fe5b049594505050505056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f20616464726573734c515459546f6b656e3a2063616c6c6572206d757374206e6f7420626520746865206d756c746973696745524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e6365536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f774c515459546f6b656e3a2073656e646572206d757374206e6f7420626520746865206d756c746973696745524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f20616464726573734c515459546f6b656e3a2063616c6c6572206d75737420626520746865204c5154595374616b696e6720636f6e74726163744c5154593a2043616e6e6f74207472616e7366657220746f6b656e73206469726563746c7920746f20746865204c51545920746f6b656e20636f6e7472616374206f7220746865207a65726f20616464726573734c5154593a2043616e6e6f74207472616e7366657220746f6b656e73206469726563746c7920746f2074686520636f6d6d756e6974792069737375616e6365206f72207374616b696e6720636f6e74726163744c515459546f6b656e3a20726563697069656e74206d7573742062652061204c6f636b7570436f6e7472616374207265676973746572656420696e2074686520466163746f727945524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220244beab2c11fad5eae32bf9c8797583bc63e5f17295995fc7698ad8a6879995064736f6c634300060b0033", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/packages/lib-ethers/live/LUSDToken.json b/packages/lib-ethers/live/LUSDToken.json deleted file mode 100644 index df29fa4a6..000000000 --- a/packages/lib-ethers/live/LUSDToken.json +++ /dev/null @@ -1,582 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "LUSDToken", - "sourceName": "contracts/LUSDToken.sol", - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_troveManagerAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_stabilityPoolAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_borrowerOperationsAddress", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "Approval", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_newBorrowerOperationsAddress", - "type": "address" - } - ], - "name": "BorrowerOperationsAddressChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_user", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "name": "LUSDTokenBalanceUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_newStabilityPoolAddress", - "type": "address" - } - ], - "name": "StabilityPoolAddressChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "Transfer", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_troveManagerAddress", - "type": "address" - } - ], - "name": "TroveManagerAddressChanged", - "type": "event" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "address", - "name": "spender", - "type": "address" - } - ], - "name": "allowance", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "approve", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "balanceOf", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "borrowerOperationsAddress", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_account", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "name": "burn", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "decimals", - "outputs": [ - { - "internalType": "uint8", - "name": "", - "type": "uint8" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "subtractedValue", - "type": "uint256" - } - ], - "name": "decreaseAllowance", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "domainSeparator", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "addedValue", - "type": "uint256" - } - ], - "name": "increaseAllowance", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_account", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "name": "mint", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "name", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - } - ], - "name": "nonces", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "deadline", - "type": "uint256" - }, - { - "internalType": "uint8", - "name": "v", - "type": "uint8" - }, - { - "internalType": "bytes32", - "name": "r", - "type": "bytes32" - }, - { - "internalType": "bytes32", - "name": "s", - "type": "bytes32" - } - ], - "name": "permit", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "permitTypeHash", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_poolAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_receiver", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "name": "returnFromPool", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_sender", - "type": "address" - }, - { - "internalType": "address", - "name": "_poolAddress", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "name": "sendToPool", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "stabilityPoolAddress", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "symbol", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "totalSupply", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "transfer", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "transferFrom", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "troveManagerAddress", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "version", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": "0x6101606040523480156200001257600080fd5b50604051620018ad380380620018ad833981810160405260608110156200003857600080fd5b50805160208201516040909201519091906200005d836001600160e01b036200025316565b62000071826001600160e01b036200025316565b62000085816001600160e01b036200025316565b6001600160601b0319606084901b1661010052604080516001600160a01b038516815290517f143219c9e69b09e07e095fcc889b43d8f46ca892bba65f08dc3a0050869a56789181900360200190a16001600160601b0319606083901b1661012052604080516001600160a01b038416815290517f82966d27eea39b038ee0fa30cd16532bb24f6e65d31cb58fb227aa5766cdcc7f9181900360200190a16001600160601b0319606082901b1661014052604080516001600160a01b038316815290517f3ca631ffcd2a9b5d9ae18543fc82f58eb4ca33af9e6ab01b7a8e95331e6ed9859181900360200190a1604080518082018252600f81526e262aa9a21029ba30b13632b1b7b4b760891b602091820152815180830190925260018252603160f81b9101527fabccaf2943f70764a048255e50e07d10e3c94973a6c6ba8b8ea62b1155209b0160c08190527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660e08190526200020b6001600160e01b036200030816565b60a052620002447f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83836001600160e01b036200030c16565b608052506200036d9350505050565b6001600160a01b038116620002af576040805162461bcd60e51b815260206004820152601e60248201527f4163636f756e742063616e6e6f74206265207a65726f20616464726573730000604482015290519081900360640190fd5b803b8062000304576040805162461bcd60e51b815260206004820181905260248201527f4163636f756e7420636f64652073697a652063616e6e6f74206265207a65726f604482015290519081900360640190fd5b5050565b4690565b6000838383620003246001600160e01b036200030816565b6040805160208082019690965280820194909452606084019290925260808301523060a0808401919091528151808403909101815260c090920190528051910120949350505050565b60805160a05160c05160e0516101005160601c6101205160601c6101405160601c6114b1620003fc6000398061076d5280610d5c5280610ed25280610fcd5250806105285280610b425280610ce1528061103252806111505250806106785280610b105280610d1e5280610fff525080610a58525080610a375250806109bd5250806109ed52506114b16000f3fe608060405234801561001057600080fd5b506004361061014d5760003560e01c80635a4d28bb116100c3578063a9059cbb1161007c578063a9059cbb146103f5578063b7f8cf9b14610421578063bb997bac14610429578063d505accf1461045f578063dd62ed3e146104b0578063f698da25146104de5761014d565b80635a4d28bb1461034157806370a08231146103495780637ecebe001461036f57806395d89b41146103955780639dc29fac1461039d578063a457c2d7146103c95761014d565b806320c582be1161011557806320c582be1461025557806323b872dd1461028d578063313ce567146102c357806339509351146102e157806340c10f191461030d57806354fd4d50146103395761014d565b806306fdde0314610152578063095ea7b3146101cf5780630b622ab21461020f57806310ce43bd1461023357806318160ddd1461024d575b600080fd5b61015a6104e6565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561019457818101518382015260200161017c565b50505050905090810190601f1680156101c15780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101fb600480360360408110156101e557600080fd5b506001600160a01b038135169060200135610510565b604080519115158252519081900360200190f35b610217610526565b604080516001600160a01b039092168252519081900360200190f35b61023b61054a565b60408051918252519081900360200190f35b61023b61056e565b61028b6004803603606081101561026b57600080fd5b506001600160a01b03813581169160208101359091169060400135610574565b005b6101fb600480360360608110156102a357600080fd5b506001600160a01b0381358116916020810135909116906040013561058c565b6102cb610604565b6040805160ff9092168252519081900360200190f35b6101fb600480360360408110156102f757600080fd5b506001600160a01b038135169060200135610609565b61028b6004803603604081101561032357600080fd5b506001600160a01b038135169060200135610645565b61015a61065b565b610217610676565b61023b6004803603602081101561035f57600080fd5b50356001600160a01b031661069a565b61023b6004803603602081101561038557600080fd5b50356001600160a01b03166106b5565b61015a6106d0565b61028b600480360360408110156103b357600080fd5b506001600160a01b0381351690602001356106ee565b6101fb600480360360408110156103df57600080fd5b506001600160a01b038135169060200135610700565b6101fb6004803603604081101561040b57600080fd5b506001600160a01b038135169060200135610755565b61021761076b565b61028b6004803603606081101561043f57600080fd5b506001600160a01b0381358116916020810135909116906040013561078f565b61028b600480360360e081101561047557600080fd5b506001600160a01b03813581169160208101359091169060408101359060608101359060ff6080820135169060a08101359060c00135610797565b61023b600480360360408110156104c657600080fd5b506001600160a01b038135811691602001351661098e565b61023b6109b9565b60408051808201909152600f81526e262aa9a21029ba30b13632b1b7b4b760891b60208201525b90565b600061051d338484610a83565b50600192915050565b7f000000000000000000000000000000000000000000000000000000000000000081565b7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c990565b60005490565b61057c610b05565b610587838383610ba1565b505050565b600061059783610c83565b6105a2848484610ba1565b6105fa84336105f585604051806060016040528060288152602001611364602891396001600160a01b038a166000908152600360209081526040808320338452909152902054919063ffffffff610dcf16565b610a83565b5060019392505050565b601290565b3360008181526003602090815260408083206001600160a01b0387168452909152812054909161051d9185906105f5908663ffffffff610e6616565b61064d610ec7565b6106578282610f2e565b5050565b6040805180820190915260018152603160f81b602082015290565b7f000000000000000000000000000000000000000000000000000000000000000081565b6001600160a01b031660009081526002602052604090205490565b6001600160a01b031660009081526001602052604090205490565b604080518082019091526004815263131554d160e21b602082015290565b6106f6610fc2565b610657828261108f565b600061051d33846105f585604051806060016040528060258152602001611403602591393360009081526003602090815260408083206001600160a01b038d168452909152902054919063ffffffff610dcf16565b600061076083610c83565b61051d338484610ba1565b7f000000000000000000000000000000000000000000000000000000000000000081565b61057c611145565b428410156107e5576040805162461bcd60e51b81526020600482015260166024820152754c5553443a206578706972656420646561646c696e6560501b604482015290519081900360640190fd5b60006107ef6109b9565b6001600160a01b03808a166000818152600160208181526040808420805480850190915581517f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98185015280830196909652958e166060860152608085018d905260a085019590955260c08085018c90528551808603909101815260e08501865280519082012061190160f01b6101008601526101028501969096526101228085019690965284518085039096018652610142840180865286519682019690962095839052610162840180865286905260ff8a166101828501526101a284018990526101c284018890529351949550909390926101e2808401939192601f1981019281900390910190855afa15801561090c573d6000803e3d6000fd5b505050602060405103519050886001600160a01b0316816001600160a01b031614610978576040805162461bcd60e51b81526020600482015260176024820152764c5553443a20696e76616c6964207369676e617475726560481b604482015290519081900360640190fd5b610983898989610a83565b505050505050505050565b6001600160a01b03918216600090815260036020908152604080832093909416825291909152205490565b60007f00000000000000000000000000000000000000000000000000000000000000006109e46111ac565b1415610a1157507f000000000000000000000000000000000000000000000000000000000000000061050d565b610a7c7f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006111b0565b905061050d565b6001600160a01b038316610a9357fe5b6001600160a01b038216610aa357fe5b6001600160a01b03808416600081815260036020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161480610b645750336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016145b610b9f5760405162461bcd60e51b81526004018080602001828103825260368152602001806112496036913960400191505060405180910390fd5b565b6001600160a01b038316610bb157fe5b6001600160a01b038216610bc157fe5b610c04816040518060600160405280602681526020016112a1602691396001600160a01b038616600090815260026020526040902054919063ffffffff610dcf16565b6001600160a01b038085166000908152600260205260408082209390935590841681522054610c39908263ffffffff610e6616565b6001600160a01b0380841660008181526002602090815260409182902094909455805185815290519193928716926000805160206113e383398151915292918290030190a3505050565b6001600160a01b03811615801590610ca457506001600160a01b0381163014155b610cdf5760405162461bcd60e51b81526004018080602001828103825260548152602001806114286054913960600191505060405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316816001600160a01b031614158015610d5357507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316816001600160a01b031614155b8015610d9157507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316816001600160a01b031614155b610dcc5760405162461bcd60e51b815260040180806020018281038252605781526020018061138c6057913960600191505060405180910390fd5b50565b60008184841115610e5e5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610e23578181015183820152602001610e0b565b50505050905090810190601f168015610e505780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b600082820183811015610ec0576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610b9f5760405162461bcd60e51b815260040180806020018281038252602b815260200180611339602b913960400191505060405180910390fd5b6001600160a01b038216610f3e57fe5b600054610f51908263ffffffff610e6616565b60009081556001600160a01b038316815260026020526040902054610f7c908263ffffffff610e6616565b6001600160a01b03831660008181526002602090815260408083209490945583518581529351929391926000805160206113e38339815191529281900390910190a35050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614806110215750336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016145b806110545750336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016145b610b9f5760405162461bcd60e51b815260040180806020018281038252604d8152602001806112c7604d913960600191505060405180910390fd5b6001600160a01b03821661109f57fe5b6110e28160405180606001604052806022815260200161127f602291396001600160a01b038516600090815260026020526040902054919063ffffffff610dcf16565b6001600160a01b0383166000908152600260205260408120919091555461110f908263ffffffff61120616565b60009081556040805183815290516001600160a01b038516916000805160206113e3833981519152919081900360200190a35050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610b9f5760405162461bcd60e51b81526004018080602001828103825260258152602001806113146025913960400191505060405180910390fd5b4690565b60008383836111bd6111ac565b6040805160208082019690965280820194909452606084019290925260808301523060a0808401919091528151808403909101815260c090920190528051910120949350505050565b6000610ec083836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610dcf56fe4c5553443a2043616c6c6572206973206e6569746865722054726f76654d616e61676572206e6f722053746162696c697479506f6f6c45524332303a206275726e20616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e63654c5553443a2043616c6c6572206973206e65697468657220426f72726f7765724f7065726174696f6e73206e6f722054726f76654d616e61676572206e6f722053746162696c697479506f6f6c4c5553443a2043616c6c6572206973206e6f74207468652053746162696c697479506f6f6c4c555344546f6b656e3a2043616c6c6572206973206e6f7420426f72726f7765724f7065726174696f6e7345524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e63654c5553443a2043616e6e6f74207472616e7366657220746f6b656e73206469726563746c7920746f207468652053746162696c697479506f6f6c2c2054726f76654d616e61676572206f7220426f72726f7765724f7073ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726f4c5553443a2043616e6e6f74207472616e7366657220746f6b656e73206469726563746c7920746f20746865204c55534420746f6b656e20636f6e7472616374206f7220746865207a65726f2061646472657373a26469706673582212206dc65db95e865cba6ffa713e3be890a08b3e49d6cbd99b74dd8407f56a90cb5a64736f6c634300060b0033", - "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061014d5760003560e01c80635a4d28bb116100c3578063a9059cbb1161007c578063a9059cbb146103f5578063b7f8cf9b14610421578063bb997bac14610429578063d505accf1461045f578063dd62ed3e146104b0578063f698da25146104de5761014d565b80635a4d28bb1461034157806370a08231146103495780637ecebe001461036f57806395d89b41146103955780639dc29fac1461039d578063a457c2d7146103c95761014d565b806320c582be1161011557806320c582be1461025557806323b872dd1461028d578063313ce567146102c357806339509351146102e157806340c10f191461030d57806354fd4d50146103395761014d565b806306fdde0314610152578063095ea7b3146101cf5780630b622ab21461020f57806310ce43bd1461023357806318160ddd1461024d575b600080fd5b61015a6104e6565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561019457818101518382015260200161017c565b50505050905090810190601f1680156101c15780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101fb600480360360408110156101e557600080fd5b506001600160a01b038135169060200135610510565b604080519115158252519081900360200190f35b610217610526565b604080516001600160a01b039092168252519081900360200190f35b61023b61054a565b60408051918252519081900360200190f35b61023b61056e565b61028b6004803603606081101561026b57600080fd5b506001600160a01b03813581169160208101359091169060400135610574565b005b6101fb600480360360608110156102a357600080fd5b506001600160a01b0381358116916020810135909116906040013561058c565b6102cb610604565b6040805160ff9092168252519081900360200190f35b6101fb600480360360408110156102f757600080fd5b506001600160a01b038135169060200135610609565b61028b6004803603604081101561032357600080fd5b506001600160a01b038135169060200135610645565b61015a61065b565b610217610676565b61023b6004803603602081101561035f57600080fd5b50356001600160a01b031661069a565b61023b6004803603602081101561038557600080fd5b50356001600160a01b03166106b5565b61015a6106d0565b61028b600480360360408110156103b357600080fd5b506001600160a01b0381351690602001356106ee565b6101fb600480360360408110156103df57600080fd5b506001600160a01b038135169060200135610700565b6101fb6004803603604081101561040b57600080fd5b506001600160a01b038135169060200135610755565b61021761076b565b61028b6004803603606081101561043f57600080fd5b506001600160a01b0381358116916020810135909116906040013561078f565b61028b600480360360e081101561047557600080fd5b506001600160a01b03813581169160208101359091169060408101359060608101359060ff6080820135169060a08101359060c00135610797565b61023b600480360360408110156104c657600080fd5b506001600160a01b038135811691602001351661098e565b61023b6109b9565b60408051808201909152600f81526e262aa9a21029ba30b13632b1b7b4b760891b60208201525b90565b600061051d338484610a83565b50600192915050565b7f000000000000000000000000000000000000000000000000000000000000000081565b7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c990565b60005490565b61057c610b05565b610587838383610ba1565b505050565b600061059783610c83565b6105a2848484610ba1565b6105fa84336105f585604051806060016040528060288152602001611364602891396001600160a01b038a166000908152600360209081526040808320338452909152902054919063ffffffff610dcf16565b610a83565b5060019392505050565b601290565b3360008181526003602090815260408083206001600160a01b0387168452909152812054909161051d9185906105f5908663ffffffff610e6616565b61064d610ec7565b6106578282610f2e565b5050565b6040805180820190915260018152603160f81b602082015290565b7f000000000000000000000000000000000000000000000000000000000000000081565b6001600160a01b031660009081526002602052604090205490565b6001600160a01b031660009081526001602052604090205490565b604080518082019091526004815263131554d160e21b602082015290565b6106f6610fc2565b610657828261108f565b600061051d33846105f585604051806060016040528060258152602001611403602591393360009081526003602090815260408083206001600160a01b038d168452909152902054919063ffffffff610dcf16565b600061076083610c83565b61051d338484610ba1565b7f000000000000000000000000000000000000000000000000000000000000000081565b61057c611145565b428410156107e5576040805162461bcd60e51b81526020600482015260166024820152754c5553443a206578706972656420646561646c696e6560501b604482015290519081900360640190fd5b60006107ef6109b9565b6001600160a01b03808a166000818152600160208181526040808420805480850190915581517f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98185015280830196909652958e166060860152608085018d905260a085019590955260c08085018c90528551808603909101815260e08501865280519082012061190160f01b6101008601526101028501969096526101228085019690965284518085039096018652610142840180865286519682019690962095839052610162840180865286905260ff8a166101828501526101a284018990526101c284018890529351949550909390926101e2808401939192601f1981019281900390910190855afa15801561090c573d6000803e3d6000fd5b505050602060405103519050886001600160a01b0316816001600160a01b031614610978576040805162461bcd60e51b81526020600482015260176024820152764c5553443a20696e76616c6964207369676e617475726560481b604482015290519081900360640190fd5b610983898989610a83565b505050505050505050565b6001600160a01b03918216600090815260036020908152604080832093909416825291909152205490565b60007f00000000000000000000000000000000000000000000000000000000000000006109e46111ac565b1415610a1157507f000000000000000000000000000000000000000000000000000000000000000061050d565b610a7c7f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006111b0565b905061050d565b6001600160a01b038316610a9357fe5b6001600160a01b038216610aa357fe5b6001600160a01b03808416600081815260036020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161480610b645750336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016145b610b9f5760405162461bcd60e51b81526004018080602001828103825260368152602001806112496036913960400191505060405180910390fd5b565b6001600160a01b038316610bb157fe5b6001600160a01b038216610bc157fe5b610c04816040518060600160405280602681526020016112a1602691396001600160a01b038616600090815260026020526040902054919063ffffffff610dcf16565b6001600160a01b038085166000908152600260205260408082209390935590841681522054610c39908263ffffffff610e6616565b6001600160a01b0380841660008181526002602090815260409182902094909455805185815290519193928716926000805160206113e383398151915292918290030190a3505050565b6001600160a01b03811615801590610ca457506001600160a01b0381163014155b610cdf5760405162461bcd60e51b81526004018080602001828103825260548152602001806114286054913960600191505060405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316816001600160a01b031614158015610d5357507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316816001600160a01b031614155b8015610d9157507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316816001600160a01b031614155b610dcc5760405162461bcd60e51b815260040180806020018281038252605781526020018061138c6057913960600191505060405180910390fd5b50565b60008184841115610e5e5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610e23578181015183820152602001610e0b565b50505050905090810190601f168015610e505780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b600082820183811015610ec0576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610b9f5760405162461bcd60e51b815260040180806020018281038252602b815260200180611339602b913960400191505060405180910390fd5b6001600160a01b038216610f3e57fe5b600054610f51908263ffffffff610e6616565b60009081556001600160a01b038316815260026020526040902054610f7c908263ffffffff610e6616565b6001600160a01b03831660008181526002602090815260408083209490945583518581529351929391926000805160206113e38339815191529281900390910190a35050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614806110215750336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016145b806110545750336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016145b610b9f5760405162461bcd60e51b815260040180806020018281038252604d8152602001806112c7604d913960600191505060405180910390fd5b6001600160a01b03821661109f57fe5b6110e28160405180606001604052806022815260200161127f602291396001600160a01b038516600090815260026020526040902054919063ffffffff610dcf16565b6001600160a01b0383166000908152600260205260408120919091555461110f908263ffffffff61120616565b60009081556040805183815290516001600160a01b038516916000805160206113e3833981519152919081900360200190a35050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610b9f5760405162461bcd60e51b81526004018080602001828103825260258152602001806113146025913960400191505060405180910390fd5b4690565b60008383836111bd6111ac565b6040805160208082019690965280820194909452606084019290925260808301523060a0808401919091528151808403909101815260c090920190528051910120949350505050565b6000610ec083836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610dcf56fe4c5553443a2043616c6c6572206973206e6569746865722054726f76654d616e61676572206e6f722053746162696c697479506f6f6c45524332303a206275726e20616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e63654c5553443a2043616c6c6572206973206e65697468657220426f72726f7765724f7065726174696f6e73206e6f722054726f76654d616e61676572206e6f722053746162696c697479506f6f6c4c5553443a2043616c6c6572206973206e6f74207468652053746162696c697479506f6f6c4c555344546f6b656e3a2043616c6c6572206973206e6f7420426f72726f7765724f7065726174696f6e7345524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e63654c5553443a2043616e6e6f74207472616e7366657220746f6b656e73206469726563746c7920746f207468652053746162696c697479506f6f6c2c2054726f76654d616e61676572206f7220426f72726f7765724f7073ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726f4c5553443a2043616e6e6f74207472616e7366657220746f6b656e73206469726563746c7920746f20746865204c55534420746f6b656e20636f6e7472616374206f7220746865207a65726f2061646472657373a26469706673582212206dc65db95e865cba6ffa713e3be890a08b3e49d6cbd99b74dd8407f56a90cb5a64736f6c634300060b0033", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/packages/lib-ethers/live/LUSDTokenCaller.json b/packages/lib-ethers/live/LUSDTokenCaller.json deleted file mode 100644 index 8e4ec831f..000000000 --- a/packages/lib-ethers/live/LUSDTokenCaller.json +++ /dev/null @@ -1,106 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "LUSDTokenCaller", - "sourceName": "contracts/TestContracts/LUSDTokenCaller.sol", - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_account", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "name": "zusdBurn", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_account", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "name": "zusdMint", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_poolAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_receiver", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "name": "zusdReturnFromPool", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_sender", - "type": "address" - }, - { - "internalType": "address", - "name": "_poolAddress", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "name": "zusdSendToPool", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "contract ILUSDToken", - "name": "_LUSD", - "type": "address" - } - ], - "name": "setLUSD", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": "0x608060405234801561001057600080fd5b50610331806100206000396000f3fe608060405234801561001057600080fd5b50600436106100575760003560e01c806375f289251461005c578063800dea4514610094578063845576e3146100c057806387ce3a58146100f6578063e990cbfd14610122575b600080fd5b6100926004803603606081101561007257600080fd5b506001600160a01b03813581169160208101359091169060400135610148565b005b610092600480360360408110156100aa57600080fd5b506001600160a01b0381351690602001356101bf565b610092600480360360608110156100d657600080fd5b506001600160a01b0381358116916020810135909116906040013561022d565b6100926004803603604081101561010c57600080fd5b506001600160a01b038135169060200135610287565b6100926004803603602081101561013857600080fd5b50356001600160a01b03166102d9565b6000805460408051631062c15f60e11b81526001600160a01b038781166004830152868116602483015260448201869052915191909216926320c582be926064808201939182900301818387803b1580156101a257600080fd5b505af11580156101b6573d6000803e3d6000fd5b50505050505050565b6000805460408051632770a7eb60e21b81526001600160a01b0386811660048301526024820186905291519190921692639dc29fac926044808201939182900301818387803b15801561021157600080fd5b505af1158015610225573d6000803e3d6000fd5b505050505050565b6000805460408051632ee65eeb60e21b81526001600160a01b0387811660048301528681166024830152604482018690529151919092169263bb997bac926064808201939182900301818387803b1580156101a257600080fd5b60008054604080516340c10f1960e01b81526001600160a01b03868116600483015260248201869052915191909216926340c10f19926044808201939182900301818387803b15801561021157600080fd5b600080546001600160a01b0319166001600160a01b039290921691909117905556fea264697066735822122053157f6ec29bb2c3cecee7b3028d2b9da51556f4725346b06b828716851b360064736f6c634300060b0033", - "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100575760003560e01c806375f289251461005c578063800dea4514610094578063845576e3146100c057806387ce3a58146100f6578063e990cbfd14610122575b600080fd5b6100926004803603606081101561007257600080fd5b506001600160a01b03813581169160208101359091169060400135610148565b005b610092600480360360408110156100aa57600080fd5b506001600160a01b0381351690602001356101bf565b610092600480360360608110156100d657600080fd5b506001600160a01b0381358116916020810135909116906040013561022d565b6100926004803603604081101561010c57600080fd5b506001600160a01b038135169060200135610287565b6100926004803603602081101561013857600080fd5b50356001600160a01b03166102d9565b6000805460408051631062c15f60e11b81526001600160a01b038781166004830152868116602483015260448201869052915191909216926320c582be926064808201939182900301818387803b1580156101a257600080fd5b505af11580156101b6573d6000803e3d6000fd5b50505050505050565b6000805460408051632770a7eb60e21b81526001600160a01b0386811660048301526024820186905291519190921692639dc29fac926044808201939182900301818387803b15801561021157600080fd5b505af1158015610225573d6000803e3d6000fd5b505050505050565b6000805460408051632ee65eeb60e21b81526001600160a01b0387811660048301528681166024830152604482018690529151919092169263bb997bac926064808201939182900301818387803b1580156101a257600080fd5b60008054604080516340c10f1960e01b81526001600160a01b03868116600483015260248201869052915191909216926340c10f19926044808201939182900301818387803b15801561021157600080fd5b600080546001600160a01b0319166001600160a01b039290921691909117905556fea264697066735822122053157f6ec29bb2c3cecee7b3028d2b9da51556f4725346b06b828716851b360064736f6c634300060b0033", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/packages/lib-ethers/live/LUSDTokenTester.json b/packages/lib-ethers/live/LUSDTokenTester.json deleted file mode 100644 index fb235cbcb..000000000 --- a/packages/lib-ethers/live/LUSDTokenTester.json +++ /dev/null @@ -1,779 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "LUSDTokenTester", - "sourceName": "contracts/TestContracts/LUSDTokenTester.sol", - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_troveManagerAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_stabilityPoolAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_borrowerOperationsAddress", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "Approval", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_newBorrowerOperationsAddress", - "type": "address" - } - ], - "name": "BorrowerOperationsAddressChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_user", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "name": "LUSDTokenBalanceUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_newStabilityPoolAddress", - "type": "address" - } - ], - "name": "StabilityPoolAddressChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "Transfer", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_troveManagerAddress", - "type": "address" - } - ], - "name": "TroveManagerAddressChanged", - "type": "event" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "address", - "name": "spender", - "type": "address" - } - ], - "name": "allowance", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "approve", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "balanceOf", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "borrowerOperationsAddress", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_account", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "name": "burn", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "callInternalApprove", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "decimals", - "outputs": [ - { - "internalType": "uint8", - "name": "", - "type": "uint8" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "subtractedValue", - "type": "uint256" - } - ], - "name": "decreaseAllowance", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "domainSeparator", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getChainId", - "outputs": [ - { - "internalType": "uint256", - "name": "chainID", - "type": "uint256" - } - ], - "stateMutability": "pure", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "nonce", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "deadline", - "type": "uint256" - } - ], - "name": "getDigest", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "addedValue", - "type": "uint256" - } - ], - "name": "increaseAllowance", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_account", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "name": "mint", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "name", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - } - ], - "name": "nonces", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "deadline", - "type": "uint256" - }, - { - "internalType": "uint8", - "name": "v", - "type": "uint8" - }, - { - "internalType": "bytes32", - "name": "r", - "type": "bytes32" - }, - { - "internalType": "bytes32", - "name": "s", - "type": "bytes32" - } - ], - "name": "permit", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "permitTypeHash", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "digest", - "type": "bytes32" - }, - { - "internalType": "uint8", - "name": "v", - "type": "uint8" - }, - { - "internalType": "bytes32", - "name": "r", - "type": "bytes32" - }, - { - "internalType": "bytes32", - "name": "s", - "type": "bytes32" - } - ], - "name": "recoverAddress", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "pure", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_poolAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_receiver", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "name": "returnFromPool", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_sender", - "type": "address" - }, - { - "internalType": "address", - "name": "_poolAddress", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "name": "sendToPool", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "stabilityPoolAddress", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "symbol", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "totalSupply", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "transfer", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "transferFrom", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "troveManagerAddress", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_account", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "name": "unprotectedBurn", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_account", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "name": "unprotectedMint", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_poolAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_receiver", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "name": "unprotectedReturnFromPool", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_sender", - "type": "address" - }, - { - "internalType": "address", - "name": "_poolAddress", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "name": "unprotectedSendToPool", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "version", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": "0x6101806040527f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9610160523480156200003757600080fd5b5060405162001bbc38038062001bbc833981810160405260608110156200005d57600080fd5b508051602082015160409092015190919082828262000085836001600160e01b036200027e16565b62000099826001600160e01b036200027e16565b620000ad816001600160e01b036200027e16565b6001600160601b0319606084901b1661010052604080516001600160a01b038516815290517f143219c9e69b09e07e095fcc889b43d8f46ca892bba65f08dc3a0050869a56789181900360200190a16001600160601b0319606083901b1661012052604080516001600160a01b038416815290517f82966d27eea39b038ee0fa30cd16532bb24f6e65d31cb58fb227aa5766cdcc7f9181900360200190a16001600160601b0319606082901b1661014052604080516001600160a01b038316815290517f3ca631ffcd2a9b5d9ae18543fc82f58eb4ca33af9e6ab01b7a8e95331e6ed9859181900360200190a1604080518082018252600f81526e262aa9a21029ba30b13632b1b7b4b760891b602091820152815180830190925260018252603160f81b9101527fabccaf2943f70764a048255e50e07d10e3c94973a6c6ba8b8ea62b1155209b0160c08190527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660e0819052620002336001600160e01b036200033316565b60a0526200026c7f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83836001600160e01b036200033716565b60805250620003989650505050505050565b6001600160a01b038116620002da576040805162461bcd60e51b815260206004820152601e60248201527f4163636f756e742063616e6e6f74206265207a65726f20616464726573730000604482015290519081900360640190fd5b803b806200032f576040805162461bcd60e51b815260206004820181905260248201527f4163636f756e7420636f64652073697a652063616e6e6f74206265207a65726f604482015290519081900360640190fd5b5050565b4690565b60008383836200034f6001600160e01b036200033316565b6040805160208082019690965280820194909452606084019290925260808301523060a0808401919091528151808403909101815260c090920190528051910120949350505050565b60805160a05160c05160e0516101005160601c6101205160601c6101405160601c6101605161178b6200043160003980610828525080610a525280611041528061126652806113615250806106d45280610e275280610fc652806113c6528061142e5250806108fb5280610df552806110035280611393525080610d3d525080610d1c525080610ca2525080610cd2525061178b6000f3fe608060405234801561001057600080fd5b50600436106101a55760003560e01c8063519e2cee116100ef578063a457c2d711610092578063a457c2d714610561578063a9059cbb1461058d578063b655c276146103cf578063b7f8cf9b146105b9578063bb997bac146105c1578063d505accf146105f7578063dd62ed3e14610648578063f698da2514610676576101a5565b8063519e2cee1461045d57806354fd4d501461049f5780635a4d28bb146104a757806370a08231146104af5780637ecebe00146104d55780638428cf83146104fb57806395d89b411461052d5780639dc29fac14610535576101a5565b806323b872dd1161015757806323b872dd1461031b578063313ce567146103515780633408e4701461036f57806339509351146103775780633ab60582146103a35780633dc2ea6d146103cf57806340c10f19146104055780635099f99f14610431576101a5565b806303d99946146101aa57806306fdde03146101f4578063095ea7b3146102715780630b622ab21461029d57806310ce43bd146102c157806318160ddd146102db57806320c582be146102e3575b600080fd5b6101e0600480360360608110156101c057600080fd5b506001600160a01b0381358116916020810135909116906040013561067e565b604080519115158252519081900360200190f35b6101fc610692565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561023657818101518382015260200161021e565b50505050905090810190601f1680156102635780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101e06004803603604081101561028757600080fd5b506001600160a01b0381351690602001356106bc565b6102a56106d2565b604080516001600160a01b039092168252519081900360200190f35b6102c96106f6565b60408051918252519081900360200190f35b6102c961071a565b610319600480360360608110156102f957600080fd5b506001600160a01b03813581169160208101359091169060400135610720565b005b6101e06004803603606081101561033157600080fd5b506001600160a01b03813581169160208101359091169060400135610738565b6103596107b0565b6040805160ff9092168252519081900360200190f35b6102c96107b5565b6101e06004803603604081101561038d57600080fd5b506001600160a01b0381351690602001356107b9565b610319600480360360408110156103b957600080fd5b506001600160a01b0381351690602001356107f5565b610319600480360360608110156103e557600080fd5b506001600160a01b03813581169160208101359091169060400135610728565b6103196004803603604081101561041b57600080fd5b506001600160a01b038135169060200135610803565b6103196004803603604081101561044757600080fd5b506001600160a01b03813516906020013561080b565b6102c9600480360360a081101561047357600080fd5b506001600160a01b03813581169160208101359091169060408101359060608101359060800135610815565b6101fc6108de565b6102a56108f9565b6102c9600480360360208110156104c557600080fd5b50356001600160a01b031661091d565b6102c9600480360360208110156104eb57600080fd5b50356001600160a01b0316610938565b6102a56004803603608081101561051157600080fd5b5080359060ff6020820135169060408101359060600135610953565b6101fc6109bf565b6103196004803603604081101561054b57600080fd5b506001600160a01b0381351690602001356109dd565b6101e06004803603604081101561057757600080fd5b506001600160a01b0381351690602001356109e5565b6101e0600480360360408110156105a357600080fd5b506001600160a01b038135169060200135610a3a565b6102a5610a50565b610319600480360360608110156105d757600080fd5b506001600160a01b03813581169160208101359091169060400135610a74565b610319600480360360e081101561060d57600080fd5b506001600160a01b03813581169160208101359091169060408101359060608101359060ff6080820135169060a08101359060c00135610a7c565b6102c96004803603604081101561065e57600080fd5b506001600160a01b0381358116916020013516610c73565b6102c9610c9e565b600061068b848484610d68565b9392505050565b60408051808201909152600f81526e262aa9a21029ba30b13632b1b7b4b760891b60208201525b90565b60006106c9338484610d68565b50600192915050565b7f000000000000000000000000000000000000000000000000000000000000000081565b7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c990565b60005490565b610728610dea565b610733838383610e86565b505050565b600061074383610f68565b61074e848484610e86565b6107a684336107a18560405180606001604052806028815260200161163e602891396001600160a01b038a166000908152600360209081526040808320338452909152902054919063ffffffff6110b416565b610d68565b5060019392505050565b601290565b4690565b3360008181526003602090815260408083206001600160a01b038716845290915281205490916106c99185906107a1908663ffffffff61114b16565b6107ff82826111a5565b5050565b61080b61125b565b6107ff82826112c2565b6000611901610822610c9e565b604080517f00000000000000000000000000000000000000000000000000000000000000006020808301919091526001600160a01b03808c16838501528a1660608301526080820189905260a0820188905260c08083018890528351808403909101815260e0830184528051908201206001600160f01b031960f09690961b9590951661010083015261010282019390935261012280820194909452815180820390940184526101420190528151910120905095945050505050565b6040805180820190915260018152603160f81b602082015290565b7f000000000000000000000000000000000000000000000000000000000000000081565b6001600160a01b031660009081526002602052604090205490565b6001600160a01b031660009081526001602052604090205490565b604080516000808252602080830180855288905260ff87168385015260608301869052608083018590529251909260019260a080820193601f1981019281900390910190855afa1580156109ab573d6000803e3d6000fd5b5050604051601f1901519695505050505050565b604080518082019091526004815263131554d160e21b602082015290565b6107f5611356565b60006106c933846107a1856040518060600160405280602581526020016116dd602591393360009081526003602090815260408083206001600160a01b038d168452909152902054919063ffffffff6110b416565b6000610a4583610f68565b6106c9338484610e86565b7f000000000000000000000000000000000000000000000000000000000000000081565b610728611423565b42841015610aca576040805162461bcd60e51b81526020600482015260166024820152754c5553443a206578706972656420646561646c696e6560501b604482015290519081900360640190fd5b6000610ad4610c9e565b6001600160a01b03808a166000818152600160208181526040808420805480850190915581517f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98185015280830196909652958e166060860152608085018d905260a085019590955260c08085018c90528551808603909101815260e08501865280519082012061190160f01b6101008601526101028501969096526101228085019690965284518085039096018652610142840180865286519682019690962095839052610162840180865286905260ff8a166101828501526101a284018990526101c284018890529351949550909390926101e2808401939192601f1981019281900390910190855afa158015610bf1573d6000803e3d6000fd5b505050602060405103519050886001600160a01b0316816001600160a01b031614610c5d576040805162461bcd60e51b81526020600482015260176024820152764c5553443a20696e76616c6964207369676e617475726560481b604482015290519081900360640190fd5b610c68898989610d68565b505050505050505050565b6001600160a01b03918216600090815260036020908152604080832093909416825291909152205490565b60007f0000000000000000000000000000000000000000000000000000000000000000610cc96107b5565b1415610cf657507f00000000000000000000000000000000000000000000000000000000000000006106b9565b610d617f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000061148a565b90506106b9565b6001600160a01b038316610d7857fe5b6001600160a01b038216610d8857fe5b6001600160a01b03808416600081815260036020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161480610e495750336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016145b610e845760405162461bcd60e51b81526004018080602001828103825260368152602001806115236036913960400191505060405180910390fd5b565b6001600160a01b038316610e9657fe5b6001600160a01b038216610ea657fe5b610ee98160405180606001604052806026815260200161157b602691396001600160a01b038616600090815260026020526040902054919063ffffffff6110b416565b6001600160a01b038085166000908152600260205260408082209390935590841681522054610f1e908263ffffffff61114b16565b6001600160a01b0380841660008181526002602090815260409182902094909455805185815290519193928716926000805160206116bd83398151915292918290030190a3505050565b6001600160a01b03811615801590610f8957506001600160a01b0381163014155b610fc45760405162461bcd60e51b81526004018080602001828103825260548152602001806117026054913960600191505060405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316816001600160a01b03161415801561103857507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316816001600160a01b031614155b801561107657507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316816001600160a01b031614155b6110b15760405162461bcd60e51b81526004018080602001828103825260578152602001806116666057913960600191505060405180910390fd5b50565b600081848411156111435760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156111085781810151838201526020016110f0565b50505050905090810190601f1680156111355780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b60008282018381101561068b576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b6001600160a01b0382166111b557fe5b6111f881604051806060016040528060228152602001611559602291396001600160a01b038516600090815260026020526040902054919063ffffffff6110b416565b6001600160a01b03831660009081526002602052604081209190915554611225908263ffffffff6114e016565b60009081556040805183815290516001600160a01b038516916000805160206116bd833981519152919081900360200190a35050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610e845760405162461bcd60e51b815260040180806020018281038252602b815260200180611613602b913960400191505060405180910390fd5b6001600160a01b0382166112d257fe5b6000546112e5908263ffffffff61114b16565b60009081556001600160a01b038316815260026020526040902054611310908263ffffffff61114b16565b6001600160a01b03831660008181526002602090815260408083209490945583518581529351929391926000805160206116bd8339815191529281900390910190a35050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614806113b55750336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016145b806113e85750336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016145b610e845760405162461bcd60e51b815260040180806020018281038252604d8152602001806115a1604d913960600191505060405180910390fd5b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610e845760405162461bcd60e51b81526004018080602001828103825260258152602001806115ee6025913960400191505060405180910390fd5b60008383836114976107b5565b6040805160208082019690965280820194909452606084019290925260808301523060a0808401919091528151808403909101815260c090920190528051910120949350505050565b600061068b83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506110b456fe4c5553443a2043616c6c6572206973206e6569746865722054726f76654d616e61676572206e6f722053746162696c697479506f6f6c45524332303a206275726e20616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e63654c5553443a2043616c6c6572206973206e65697468657220426f72726f7765724f7065726174696f6e73206e6f722054726f76654d616e61676572206e6f722053746162696c697479506f6f6c4c5553443a2043616c6c6572206973206e6f74207468652053746162696c697479506f6f6c4c555344546f6b656e3a2043616c6c6572206973206e6f7420426f72726f7765724f7065726174696f6e7345524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e63654c5553443a2043616e6e6f74207472616e7366657220746f6b656e73206469726563746c7920746f207468652053746162696c697479506f6f6c2c2054726f76654d616e61676572206f7220426f72726f7765724f7073ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726f4c5553443a2043616e6e6f74207472616e7366657220746f6b656e73206469726563746c7920746f20746865204c55534420746f6b656e20636f6e7472616374206f7220746865207a65726f2061646472657373a264697066735822122005813e3ded1bc168eb1d33570b09f66c7b6dfdc17e74334599850876ceaa158a64736f6c634300060b0033", - "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106101a55760003560e01c8063519e2cee116100ef578063a457c2d711610092578063a457c2d714610561578063a9059cbb1461058d578063b655c276146103cf578063b7f8cf9b146105b9578063bb997bac146105c1578063d505accf146105f7578063dd62ed3e14610648578063f698da2514610676576101a5565b8063519e2cee1461045d57806354fd4d501461049f5780635a4d28bb146104a757806370a08231146104af5780637ecebe00146104d55780638428cf83146104fb57806395d89b411461052d5780639dc29fac14610535576101a5565b806323b872dd1161015757806323b872dd1461031b578063313ce567146103515780633408e4701461036f57806339509351146103775780633ab60582146103a35780633dc2ea6d146103cf57806340c10f19146104055780635099f99f14610431576101a5565b806303d99946146101aa57806306fdde03146101f4578063095ea7b3146102715780630b622ab21461029d57806310ce43bd146102c157806318160ddd146102db57806320c582be146102e3575b600080fd5b6101e0600480360360608110156101c057600080fd5b506001600160a01b0381358116916020810135909116906040013561067e565b604080519115158252519081900360200190f35b6101fc610692565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561023657818101518382015260200161021e565b50505050905090810190601f1680156102635780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101e06004803603604081101561028757600080fd5b506001600160a01b0381351690602001356106bc565b6102a56106d2565b604080516001600160a01b039092168252519081900360200190f35b6102c96106f6565b60408051918252519081900360200190f35b6102c961071a565b610319600480360360608110156102f957600080fd5b506001600160a01b03813581169160208101359091169060400135610720565b005b6101e06004803603606081101561033157600080fd5b506001600160a01b03813581169160208101359091169060400135610738565b6103596107b0565b6040805160ff9092168252519081900360200190f35b6102c96107b5565b6101e06004803603604081101561038d57600080fd5b506001600160a01b0381351690602001356107b9565b610319600480360360408110156103b957600080fd5b506001600160a01b0381351690602001356107f5565b610319600480360360608110156103e557600080fd5b506001600160a01b03813581169160208101359091169060400135610728565b6103196004803603604081101561041b57600080fd5b506001600160a01b038135169060200135610803565b6103196004803603604081101561044757600080fd5b506001600160a01b03813516906020013561080b565b6102c9600480360360a081101561047357600080fd5b506001600160a01b03813581169160208101359091169060408101359060608101359060800135610815565b6101fc6108de565b6102a56108f9565b6102c9600480360360208110156104c557600080fd5b50356001600160a01b031661091d565b6102c9600480360360208110156104eb57600080fd5b50356001600160a01b0316610938565b6102a56004803603608081101561051157600080fd5b5080359060ff6020820135169060408101359060600135610953565b6101fc6109bf565b6103196004803603604081101561054b57600080fd5b506001600160a01b0381351690602001356109dd565b6101e06004803603604081101561057757600080fd5b506001600160a01b0381351690602001356109e5565b6101e0600480360360408110156105a357600080fd5b506001600160a01b038135169060200135610a3a565b6102a5610a50565b610319600480360360608110156105d757600080fd5b506001600160a01b03813581169160208101359091169060400135610a74565b610319600480360360e081101561060d57600080fd5b506001600160a01b03813581169160208101359091169060408101359060608101359060ff6080820135169060a08101359060c00135610a7c565b6102c96004803603604081101561065e57600080fd5b506001600160a01b0381358116916020013516610c73565b6102c9610c9e565b600061068b848484610d68565b9392505050565b60408051808201909152600f81526e262aa9a21029ba30b13632b1b7b4b760891b60208201525b90565b60006106c9338484610d68565b50600192915050565b7f000000000000000000000000000000000000000000000000000000000000000081565b7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c990565b60005490565b610728610dea565b610733838383610e86565b505050565b600061074383610f68565b61074e848484610e86565b6107a684336107a18560405180606001604052806028815260200161163e602891396001600160a01b038a166000908152600360209081526040808320338452909152902054919063ffffffff6110b416565b610d68565b5060019392505050565b601290565b4690565b3360008181526003602090815260408083206001600160a01b038716845290915281205490916106c99185906107a1908663ffffffff61114b16565b6107ff82826111a5565b5050565b61080b61125b565b6107ff82826112c2565b6000611901610822610c9e565b604080517f00000000000000000000000000000000000000000000000000000000000000006020808301919091526001600160a01b03808c16838501528a1660608301526080820189905260a0820188905260c08083018890528351808403909101815260e0830184528051908201206001600160f01b031960f09690961b9590951661010083015261010282019390935261012280820194909452815180820390940184526101420190528151910120905095945050505050565b6040805180820190915260018152603160f81b602082015290565b7f000000000000000000000000000000000000000000000000000000000000000081565b6001600160a01b031660009081526002602052604090205490565b6001600160a01b031660009081526001602052604090205490565b604080516000808252602080830180855288905260ff87168385015260608301869052608083018590529251909260019260a080820193601f1981019281900390910190855afa1580156109ab573d6000803e3d6000fd5b5050604051601f1901519695505050505050565b604080518082019091526004815263131554d160e21b602082015290565b6107f5611356565b60006106c933846107a1856040518060600160405280602581526020016116dd602591393360009081526003602090815260408083206001600160a01b038d168452909152902054919063ffffffff6110b416565b6000610a4583610f68565b6106c9338484610e86565b7f000000000000000000000000000000000000000000000000000000000000000081565b610728611423565b42841015610aca576040805162461bcd60e51b81526020600482015260166024820152754c5553443a206578706972656420646561646c696e6560501b604482015290519081900360640190fd5b6000610ad4610c9e565b6001600160a01b03808a166000818152600160208181526040808420805480850190915581517f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98185015280830196909652958e166060860152608085018d905260a085019590955260c08085018c90528551808603909101815260e08501865280519082012061190160f01b6101008601526101028501969096526101228085019690965284518085039096018652610142840180865286519682019690962095839052610162840180865286905260ff8a166101828501526101a284018990526101c284018890529351949550909390926101e2808401939192601f1981019281900390910190855afa158015610bf1573d6000803e3d6000fd5b505050602060405103519050886001600160a01b0316816001600160a01b031614610c5d576040805162461bcd60e51b81526020600482015260176024820152764c5553443a20696e76616c6964207369676e617475726560481b604482015290519081900360640190fd5b610c68898989610d68565b505050505050505050565b6001600160a01b03918216600090815260036020908152604080832093909416825291909152205490565b60007f0000000000000000000000000000000000000000000000000000000000000000610cc96107b5565b1415610cf657507f00000000000000000000000000000000000000000000000000000000000000006106b9565b610d617f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000061148a565b90506106b9565b6001600160a01b038316610d7857fe5b6001600160a01b038216610d8857fe5b6001600160a01b03808416600081815260036020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161480610e495750336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016145b610e845760405162461bcd60e51b81526004018080602001828103825260368152602001806115236036913960400191505060405180910390fd5b565b6001600160a01b038316610e9657fe5b6001600160a01b038216610ea657fe5b610ee98160405180606001604052806026815260200161157b602691396001600160a01b038616600090815260026020526040902054919063ffffffff6110b416565b6001600160a01b038085166000908152600260205260408082209390935590841681522054610f1e908263ffffffff61114b16565b6001600160a01b0380841660008181526002602090815260409182902094909455805185815290519193928716926000805160206116bd83398151915292918290030190a3505050565b6001600160a01b03811615801590610f8957506001600160a01b0381163014155b610fc45760405162461bcd60e51b81526004018080602001828103825260548152602001806117026054913960600191505060405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316816001600160a01b03161415801561103857507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316816001600160a01b031614155b801561107657507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316816001600160a01b031614155b6110b15760405162461bcd60e51b81526004018080602001828103825260578152602001806116666057913960600191505060405180910390fd5b50565b600081848411156111435760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156111085781810151838201526020016110f0565b50505050905090810190601f1680156111355780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b60008282018381101561068b576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b6001600160a01b0382166111b557fe5b6111f881604051806060016040528060228152602001611559602291396001600160a01b038516600090815260026020526040902054919063ffffffff6110b416565b6001600160a01b03831660009081526002602052604081209190915554611225908263ffffffff6114e016565b60009081556040805183815290516001600160a01b038516916000805160206116bd833981519152919081900360200190a35050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610e845760405162461bcd60e51b815260040180806020018281038252602b815260200180611613602b913960400191505060405180910390fd5b6001600160a01b0382166112d257fe5b6000546112e5908263ffffffff61114b16565b60009081556001600160a01b038316815260026020526040902054611310908263ffffffff61114b16565b6001600160a01b03831660008181526002602090815260408083209490945583518581529351929391926000805160206116bd8339815191529281900390910190a35050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614806113b55750336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016145b806113e85750336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016145b610e845760405162461bcd60e51b815260040180806020018281038252604d8152602001806115a1604d913960600191505060405180910390fd5b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610e845760405162461bcd60e51b81526004018080602001828103825260258152602001806115ee6025913960400191505060405180910390fd5b60008383836114976107b5565b6040805160208082019690965280820194909452606084019290925260808301523060a0808401919091528151808403909101815260c090920190528051910120949350505050565b600061068b83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506110b456fe4c5553443a2043616c6c6572206973206e6569746865722054726f76654d616e61676572206e6f722053746162696c697479506f6f6c45524332303a206275726e20616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e63654c5553443a2043616c6c6572206973206e65697468657220426f72726f7765724f7065726174696f6e73206e6f722054726f76654d616e61676572206e6f722053746162696c697479506f6f6c4c5553443a2043616c6c6572206973206e6f74207468652053746162696c697479506f6f6c4c555344546f6b656e3a2043616c6c6572206973206e6f7420426f72726f7765724f7065726174696f6e7345524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e63654c5553443a2043616e6e6f74207472616e7366657220746f6b656e73206469726563746c7920746f207468652053746162696c697479506f6f6c2c2054726f76654d616e61676572206f7220426f72726f7765724f7073ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726f4c5553443a2043616e6e6f74207472616e7366657220746f6b656e73206469726563746c7920746f20746865204c55534420746f6b656e20636f6e7472616374206f7220746865207a65726f2061646472657373a264697066735822122005813e3ded1bc168eb1d33570b09f66c7b6dfdc17e74334599850876ceaa158a64736f6c634300060b0033", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/packages/lib-ethers/live/LiquityBase.json b/packages/lib-ethers/live/LiquityBase.json index 63fee8ece..810c8c7e7 100644 --- a/packages/lib-ethers/live/LiquityBase.json +++ b/packages/lib-ethers/live/LiquityBase.json @@ -3,32 +3,6 @@ "contractName": "LiquityBase", "sourceName": "contracts/Dependencies/LiquityBase.sol", "abi": [ - { - "inputs": [], - "name": "BORROWING_FEE_FLOOR", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "CCR", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, { "inputs": [], "name": "DECIMAL_PRECISION", @@ -42,32 +16,6 @@ "stateMutability": "view", "type": "function" }, - { - "inputs": [], - "name": "LUSD_GAS_COMPENSATION", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "MCR", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, { "inputs": [], "name": "MIN_NET_DEBT", @@ -83,7 +31,7 @@ }, { "inputs": [], - "name": "PERCENT_DIVISOR", + "name": "ZUSD_GAS_COMPENSATION", "outputs": [ { "internalType": "uint256", @@ -159,6 +107,19 @@ "stateMutability": "view", "type": "function" }, + { + "inputs": [], + "name": "liquityBaseParams", + "outputs": [ + { + "internalType": "contract ILiquityBaseParams", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, { "inputs": [], "name": "priceFeed", @@ -173,8 +134,8 @@ "type": "function" } ], - "bytecode": "0x608060405234801561001057600080fd5b50610421806100206000396000f3fe608060405234801561001057600080fd5b50600436106100bf5760003560e01c8063741bef1a1161007c578063741bef1a14610122578063794e57241461012a578063795d26c3146101325780637f7dde4a1461013a578063887105d314610142578063a20baee61461011a578063f92d34331461014a576100bf565b80631bf43555146100c45780632e86bbd8146100de5780633cc74225146100e65780634870dd9a1461010a5780635733d58f1461011257806372fe25aa1461011a575b600080fd5b6100cc610152565b60408051918252519081900360200190f35b6100cc61015f565b6100ee61016c565b604080516001600160a01b039092168252519081900360200190f35b6100cc61017b565b6100cc610180565b6100cc61018c565b6100ee610198565b6100cc6101a7565b6100cc6101b3565b6100ee6102b4565b6100cc6102c3565b6100cc61037f565b686194049f30f720000081565b680ad78ebc5ac620000081565b6001546001600160a01b031681565b60c881565b6714d1120d7b16000081565b670de0b6b3a764000081565b6002546001600160a01b031681565b670f43fc2c04ee000081565b6000805460408051632f5a97e560e11b8152905183926001600160a01b031691635eb52fca916004808301926020929190829003018186803b1580156101f857600080fd5b505afa15801561020c573d6000803e3d6000fd5b505050506040513d602081101561022257600080fd5b505160015460408051632f5a97e560e11b815290519293506000926001600160a01b0390921691635eb52fca91600480820192602092909190829003018186803b15801561026f57600080fd5b505afa158015610283573d6000803e3d6000fd5b505050506040513d602081101561029957600080fd5b505190506102ad828263ffffffff61038a16565b9250505090565b6000546001600160a01b031681565b6000805460408051630a7b61df60e11b8152905183926001600160a01b0316916314f6c3be916004808301926020929190829003018186803b15801561030857600080fd5b505afa15801561031c573d6000803e3d6000fd5b505050506040513d602081101561033257600080fd5b505160015460408051630a7b61df60e11b815290519293506000926001600160a01b03909216916314f6c3be91600480820192602092909190829003018186803b15801561026f57600080fd5b6611c37937e0800081565b6000828201838110156103e4576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b939250505056fea2646970667358221220a23036707033f7c16f2dd4dc479a826a1a6b443eddfc7cde0de008a99de2b70764736f6c634300060b0033", - "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100bf5760003560e01c8063741bef1a1161007c578063741bef1a14610122578063794e57241461012a578063795d26c3146101325780637f7dde4a1461013a578063887105d314610142578063a20baee61461011a578063f92d34331461014a576100bf565b80631bf43555146100c45780632e86bbd8146100de5780633cc74225146100e65780634870dd9a1461010a5780635733d58f1461011257806372fe25aa1461011a575b600080fd5b6100cc610152565b60408051918252519081900360200190f35b6100cc61015f565b6100ee61016c565b604080516001600160a01b039092168252519081900360200190f35b6100cc61017b565b6100cc610180565b6100cc61018c565b6100ee610198565b6100cc6101a7565b6100cc6101b3565b6100ee6102b4565b6100cc6102c3565b6100cc61037f565b686194049f30f720000081565b680ad78ebc5ac620000081565b6001546001600160a01b031681565b60c881565b6714d1120d7b16000081565b670de0b6b3a764000081565b6002546001600160a01b031681565b670f43fc2c04ee000081565b6000805460408051632f5a97e560e11b8152905183926001600160a01b031691635eb52fca916004808301926020929190829003018186803b1580156101f857600080fd5b505afa15801561020c573d6000803e3d6000fd5b505050506040513d602081101561022257600080fd5b505160015460408051632f5a97e560e11b815290519293506000926001600160a01b0390921691635eb52fca91600480820192602092909190829003018186803b15801561026f57600080fd5b505afa158015610283573d6000803e3d6000fd5b505050506040513d602081101561029957600080fd5b505190506102ad828263ffffffff61038a16565b9250505090565b6000546001600160a01b031681565b6000805460408051630a7b61df60e11b8152905183926001600160a01b0316916314f6c3be916004808301926020929190829003018186803b15801561030857600080fd5b505afa15801561031c573d6000803e3d6000fd5b505050506040513d602081101561033257600080fd5b505160015460408051630a7b61df60e11b815290519293506000926001600160a01b03909216916314f6c3be91600480820192602092909190829003018186803b15801561026f57600080fd5b6611c37937e0800081565b6000828201838110156103e4576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b939250505056fea2646970667358221220a23036707033f7c16f2dd4dc479a826a1a6b443eddfc7cde0de008a99de2b70764736f6c634300060b0033", + "bytecode": "0x608060405234801561001057600080fd5b506103cd806100206000396000f3fe608060405234801561001057600080fd5b506004361061009e5760003560e01c8063795d26c311610066578063795d26c3146100f95780637f7dde4a14610101578063887105d3146101095780639f07067014610111578063a20baee6146100e15761009e565b80631bf43555146100a35780633cc74225146100bd57806372fe25aa146100e1578063741bef1a146100e9578063759b3034146100f1575b600080fd5b6100ab610119565b60408051918252519081900360200190f35b6100c5610126565b604080516001600160a01b039092168252519081900360200190f35b6100ab610135565b6100c5610141565b6100ab610150565b6100ab61015d565b6100c561025c565b6100ab61026b565b6100c5610327565b6809c2007651b250000081565b6001546001600160a01b031681565b670de0b6b3a764000081565b6002546001600160a01b031681565b6801158e460913d0000081565b60008054604080516272c7d360e71b8152905183926001600160a01b031691633963e980916004808301926020929190829003018186803b1580156101a157600080fd5b505afa1580156101b5573d6000803e3d6000fd5b505050506040513d60208110156101cb57600080fd5b5051600154604080516272c7d360e71b815290519293506000926001600160a01b0390921691633963e98091600480820192602092909190829003018186803b15801561021757600080fd5b505afa15801561022b573d6000803e3d6000fd5b505050506040513d602081101561024157600080fd5b50519050610255828263ffffffff61033616565b9250505090565b6000546001600160a01b031681565b6000805460408051630a7b61df60e11b8152905183926001600160a01b0316916314f6c3be916004808301926020929190829003018186803b1580156102b057600080fd5b505afa1580156102c4573d6000803e3d6000fd5b505050506040513d60208110156102da57600080fd5b505160015460408051630a7b61df60e11b815290519293506000926001600160a01b03909216916314f6c3be91600480820192602092909190829003018186803b15801561021757600080fd5b6003546001600160a01b031681565b600082820183811015610390576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b939250505056fea26469706673582212208253ef5c74201a75593965818ea06f0850be07107427178bfac7d4310bf3fa4964736f6c634300060b0033", + "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061009e5760003560e01c8063795d26c311610066578063795d26c3146100f95780637f7dde4a14610101578063887105d3146101095780639f07067014610111578063a20baee6146100e15761009e565b80631bf43555146100a35780633cc74225146100bd57806372fe25aa146100e1578063741bef1a146100e9578063759b3034146100f1575b600080fd5b6100ab610119565b60408051918252519081900360200190f35b6100c5610126565b604080516001600160a01b039092168252519081900360200190f35b6100ab610135565b6100c5610141565b6100ab610150565b6100ab61015d565b6100c561025c565b6100ab61026b565b6100c5610327565b6809c2007651b250000081565b6001546001600160a01b031681565b670de0b6b3a764000081565b6002546001600160a01b031681565b6801158e460913d0000081565b60008054604080516272c7d360e71b8152905183926001600160a01b031691633963e980916004808301926020929190829003018186803b1580156101a157600080fd5b505afa1580156101b5573d6000803e3d6000fd5b505050506040513d60208110156101cb57600080fd5b5051600154604080516272c7d360e71b815290519293506000926001600160a01b0390921691633963e98091600480820192602092909190829003018186803b15801561021757600080fd5b505afa15801561022b573d6000803e3d6000fd5b505050506040513d602081101561024157600080fd5b50519050610255828263ffffffff61033616565b9250505090565b6000546001600160a01b031681565b6000805460408051630a7b61df60e11b8152905183926001600160a01b0316916314f6c3be916004808301926020929190829003018186803b1580156102b057600080fd5b505afa1580156102c4573d6000803e3d6000fd5b505050506040513d60208110156102da57600080fd5b505160015460408051630a7b61df60e11b815290519293506000926001600160a01b03909216916314f6c3be91600480820192602092909190829003018186803b15801561021757600080fd5b6003546001600160a01b031681565b600082820183811015610390576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b939250505056fea26469706673582212208253ef5c74201a75593965818ea06f0850be07107427178bfac7d4310bf3fa4964736f6c634300060b0033", "linkReferences": {}, "deployedLinkReferences": {} } diff --git a/packages/lib-ethers/live/LiquityBaseParams.json b/packages/lib-ethers/live/LiquityBaseParams.json new file mode 100644 index 000000000..652b2f6ab --- /dev/null +++ b/packages/lib-ethers/live/LiquityBaseParams.json @@ -0,0 +1,232 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "LiquityBaseParams", + "sourceName": "contracts/LiquityBaseParams.sol", + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousOwner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnershipTransferred", + "type": "event" + }, + { + "inputs": [], + "name": "BORROWING_FEE_FLOOR", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "CCR", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "DECIMAL_PRECISION", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "MAX_BORROWING_FEE", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "MCR", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "PERCENT_DIVISOR", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "REDEMPTION_FEE_FLOOR", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getOwner", + "outputs": [ + { + "internalType": "address", + "name": "_owner", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "initialize", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "BORROWING_FEE_FLOOR_", + "type": "uint256" + } + ], + "name": "setBorrowingFeeFloor", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "CCR_", + "type": "uint256" + } + ], + "name": "setCCR", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "MCR_", + "type": "uint256" + } + ], + "name": "setMCR", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "MAX_BORROWING_FEE_", + "type": "uint256" + } + ], + "name": "setMaxBorrowingFee", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_owner", + "type": "address" + } + ], + "name": "setOwner", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "PERCENT_DIVISOR_", + "type": "uint256" + } + ], + "name": "setPercentDivisor", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "REDEMPTION_FEE_FLOOR_", + "type": "uint256" + } + ], + "name": "setRedemptionFeeFloor", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "bytecode": "0x608060405234801561001057600080fd5b50610023336001600160e01b0361002816565b610110565b6001600160a01b03811661006d5760405162461bcd60e51b81526004018080602001828103825260228152602001806108e66022913960400191505060405180910390fd5b6001600160a01b0381166100886001600160e01b036100e616565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3604080517035b2bc9737bbb730b136329737bbb732b960791b8152905190819003601101902055565b604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205490565b6107c78061011f6000396000f3fe608060405234801561001057600080fd5b50600436106100e05760003560e01c80636030cc8c116100875780636030cc8c146101965780636d454561146101b3578063794e5724146101d057806380038a0b146101d85780638129fc1c146101f5578063893d20e8146101fd578063a20baee614610221578063f92d343314610229576100e0565b806313af4035146100e5578063240926691461010d57806328d28b5b146101275780632e2465f81461012f578063385a128f1461014c5780634139ad60146101695780634870dd9a146101865780635733d58f1461018e575b600080fd5b61010b600480360360208110156100fb57600080fd5b50356001600160a01b0316610231565b005b610115610298565b60408051918252519081900360200190f35b61011561029e565b61010b6004803603602081101561014557600080fd5b50356102a4565b61010b6004803603602081101561016257600080fd5b5035610304565b61010b6004803603602081101561017f57600080fd5b5035610364565b6101156103c4565b6101156103ca565b61010b600480360360208110156101ac57600080fd5b50356103d0565b61010b600480360360208110156101c957600080fd5b5035610430565b610115610490565b61010b600480360360208110156101ee57600080fd5b5035610496565b61010b6104f6565b61020561062a565b604080516001600160a01b039092168252519081900360200190f35b610115610654565b610115610660565b61023961062a565b6001600160a01b0316336001600160a01b03161461028c576040805162461bcd60e51b81526020600482015260176024820152600080516020610722833981519152604482015290519081900360640190fd5b61029581610666565b50565b60385481565b60375481565b6102ac61062a565b6001600160a01b0316336001600160a01b0316146102ff576040805162461bcd60e51b81526020600482015260176024820152600080516020610722833981519152604482015290519081900360640190fd5b603655565b61030c61062a565b6001600160a01b0316336001600160a01b03161461035f576040805162461bcd60e51b81526020600482015260176024820152600080516020610722833981519152604482015290519081900360640190fd5b603355565b61036c61062a565b6001600160a01b0316336001600160a01b0316146103bf576040805162461bcd60e51b81526020600482015260176024820152600080516020610722833981519152604482015290519081900360640190fd5b603455565b60355481565b60345481565b6103d861062a565b6001600160a01b0316336001600160a01b03161461042b576040805162461bcd60e51b81526020600482015260176024820152600080516020610722833981519152604482015290519081900360640190fd5b603755565b61043861062a565b6001600160a01b0316336001600160a01b03161461048b576040805162461bcd60e51b81526020600482015260176024820152600080516020610722833981519152604482015290519081900360640190fd5b603555565b60335481565b61049e61062a565b6001600160a01b0316336001600160a01b0316146104f1576040805162461bcd60e51b81526020600482015260176024820152600080516020610722833981519152604482015290519081900360640190fd5b603855565b600054610100900460ff168061050f575061050f61071b565b8061051d575060005460ff16155b6105585760405162461bcd60e51b815260040180806020018281038252602e815260200180610764602e913960400191505060405180910390fd5b600054610100900460ff16158015610583576000805460ff1961ff0019909116610100171660011790555b61058b61062a565b6001600160a01b0316336001600160a01b0316146105de576040805162461bcd60e51b81526020600482015260176024820152600080516020610722833981519152604482015290519081900360640190fd5b670f43fc2c04ee00006033556714d1120d7b16000060345560c86035556611c37937e08000603681905560375566b1a2bc2ec500006038558015610295576000805461ff001916905550565b604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205490565b670de0b6b3a764000081565b60365481565b6001600160a01b0381166106ab5760405162461bcd60e51b81526004018080602001828103825260228152602001806107426022913960400191505060405180910390fd5b806001600160a01b03166106bd61062a565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3604080517035b2bc9737bbb730b136329737bbb732b960791b8152905190819003601101902055565b303b159056fe4f776e61626c653a3a206163636573732064656e6965640000000000000000004f776e61626c653a3a7365744f776e65723a20696e76616c69642061646472657373436f6e747261637420696e7374616e63652068617320616c7265616479206265656e20696e697469616c697a6564a26469706673582212209b1fc4ebe36b013e04c33c8b1574ab765154511a9b95fe7e760cf2d686fd7abb64736f6c634300060b00334f776e61626c653a3a7365744f776e65723a20696e76616c69642061646472657373", + "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100e05760003560e01c80636030cc8c116100875780636030cc8c146101965780636d454561146101b3578063794e5724146101d057806380038a0b146101d85780638129fc1c146101f5578063893d20e8146101fd578063a20baee614610221578063f92d343314610229576100e0565b806313af4035146100e5578063240926691461010d57806328d28b5b146101275780632e2465f81461012f578063385a128f1461014c5780634139ad60146101695780634870dd9a146101865780635733d58f1461018e575b600080fd5b61010b600480360360208110156100fb57600080fd5b50356001600160a01b0316610231565b005b610115610298565b60408051918252519081900360200190f35b61011561029e565b61010b6004803603602081101561014557600080fd5b50356102a4565b61010b6004803603602081101561016257600080fd5b5035610304565b61010b6004803603602081101561017f57600080fd5b5035610364565b6101156103c4565b6101156103ca565b61010b600480360360208110156101ac57600080fd5b50356103d0565b61010b600480360360208110156101c957600080fd5b5035610430565b610115610490565b61010b600480360360208110156101ee57600080fd5b5035610496565b61010b6104f6565b61020561062a565b604080516001600160a01b039092168252519081900360200190f35b610115610654565b610115610660565b61023961062a565b6001600160a01b0316336001600160a01b03161461028c576040805162461bcd60e51b81526020600482015260176024820152600080516020610722833981519152604482015290519081900360640190fd5b61029581610666565b50565b60385481565b60375481565b6102ac61062a565b6001600160a01b0316336001600160a01b0316146102ff576040805162461bcd60e51b81526020600482015260176024820152600080516020610722833981519152604482015290519081900360640190fd5b603655565b61030c61062a565b6001600160a01b0316336001600160a01b03161461035f576040805162461bcd60e51b81526020600482015260176024820152600080516020610722833981519152604482015290519081900360640190fd5b603355565b61036c61062a565b6001600160a01b0316336001600160a01b0316146103bf576040805162461bcd60e51b81526020600482015260176024820152600080516020610722833981519152604482015290519081900360640190fd5b603455565b60355481565b60345481565b6103d861062a565b6001600160a01b0316336001600160a01b03161461042b576040805162461bcd60e51b81526020600482015260176024820152600080516020610722833981519152604482015290519081900360640190fd5b603755565b61043861062a565b6001600160a01b0316336001600160a01b03161461048b576040805162461bcd60e51b81526020600482015260176024820152600080516020610722833981519152604482015290519081900360640190fd5b603555565b60335481565b61049e61062a565b6001600160a01b0316336001600160a01b0316146104f1576040805162461bcd60e51b81526020600482015260176024820152600080516020610722833981519152604482015290519081900360640190fd5b603855565b600054610100900460ff168061050f575061050f61071b565b8061051d575060005460ff16155b6105585760405162461bcd60e51b815260040180806020018281038252602e815260200180610764602e913960400191505060405180910390fd5b600054610100900460ff16158015610583576000805460ff1961ff0019909116610100171660011790555b61058b61062a565b6001600160a01b0316336001600160a01b0316146105de576040805162461bcd60e51b81526020600482015260176024820152600080516020610722833981519152604482015290519081900360640190fd5b670f43fc2c04ee00006033556714d1120d7b16000060345560c86035556611c37937e08000603681905560375566b1a2bc2ec500006038558015610295576000805461ff001916905550565b604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205490565b670de0b6b3a764000081565b60365481565b6001600160a01b0381166106ab5760405162461bcd60e51b81526004018080602001828103825260228152602001806107426022913960400191505060405180910390fd5b806001600160a01b03166106bd61062a565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3604080517035b2bc9737bbb730b136329737bbb732b960791b8152905190819003601101902055565b303b159056fe4f776e61626c653a3a206163636573732064656e6965640000000000000000004f776e61626c653a3a7365744f776e65723a20696e76616c69642061646472657373436f6e747261637420696e7374616e63652068617320616c7265616479206265656e20696e697469616c697a6564a26469706673582212209b1fc4ebe36b013e04c33c8b1574ab765154511a9b95fe7e760cf2d686fd7abb64736f6c634300060b0033", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/packages/lib-ethers/live/LiquityMath.json b/packages/lib-ethers/live/LiquityMath.json index 1021851b5..9547a9f92 100644 --- a/packages/lib-ethers/live/LiquityMath.json +++ b/packages/lib-ethers/live/LiquityMath.json @@ -3,8 +3,8 @@ "contractName": "LiquityMath", "sourceName": "contracts/Dependencies/LiquityMath.sol", "abi": [], - "bytecode": "0x60566023600b82828239805160001a607314601657fe5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220993a7078a64ff8d768ec927720fb5f4a0a581f1be4f1f67fca14b969b2092adb64736f6c634300060b0033", - "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220993a7078a64ff8d768ec927720fb5f4a0a581f1be4f1f67fca14b969b2092adb64736f6c634300060b0033", + "bytecode": "0x60566023600b82828239805160001a607314601657fe5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220fbc3a43f3d6b11871a62e8f9d6cd0f2abe8ef488d930d8a9f3caca90f1f5c93f64736f6c634300060b0033", + "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220fbc3a43f3d6b11871a62e8f9d6cd0f2abe8ef488d930d8a9f3caca90f1f5c93f64736f6c634300060b0033", "linkReferences": {}, "deployedLinkReferences": {} } diff --git a/packages/lib-ethers/live/LiquityMathTester.json b/packages/lib-ethers/live/LiquityMathTester.json index 7cb5ee178..7e9c862e8 100644 --- a/packages/lib-ethers/live/LiquityMathTester.json +++ b/packages/lib-ethers/live/LiquityMathTester.json @@ -76,8 +76,8 @@ "type": "function" } ], - "bytecode": "0x608060405234801561001057600080fd5b5061045b806100206000396000f3fe608060405234801561001057600080fd5b50600436106100405760003560e01c8062fa72ff1461004557806336090b011461007a578063d407725214610045575b600080fd5b6100686004803603604081101561005b57600080fd5b508035906020013561009d565b60408051918252519081900360200190f35b6100686004803603604081101561009057600080fd5b50803590602001356100b2565b60006100a983836100be565b90505b92915050565b60006100a9838361017f565b6000631f5405008211156100d457631f54050091505b816100e85750670de0b6b3a76400006100ac565b670de0b6b3a764000083835b600181111561016b57600281066101295761010f8283610196565b915061012281600263ffffffff6101d116565b9050610166565b6101338284610196565b925061013f8283610196565b9150610163600261015783600163ffffffff61021316565b9063ffffffff6101d116565b90505b6100f4565b6101758284610196565b9695505050505050565b60008183101561018f57816100a9565b5090919050565b6000806101a9848463ffffffff61025516565b90506101c9670de0b6b3a7640000610157836706f05b59d3b200006102ae565b949350505050565b60006100a983836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250610308565b60006100a983836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506103aa565b600082610264575060006100ac565b8282028284828161027157fe5b04146100a95760405162461bcd60e51b81526004018080602001828103825260218152602001806104056021913960400191505060405180910390fd5b6000828201838110156100a9576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b600081836103945760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610359578181015183820152602001610341565b50505050905090810190601f1680156103865780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385816103a057fe5b0495945050505050565b600081848411156103fc5760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610359578181015183820152602001610341565b50505090039056fe536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77a264697066735822122041e55de4e62b1205a2b4a4047437f0f1c5cfcc6488243647e7ef116abaa39d0d64736f6c634300060b0033", - "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100405760003560e01c8062fa72ff1461004557806336090b011461007a578063d407725214610045575b600080fd5b6100686004803603604081101561005b57600080fd5b508035906020013561009d565b60408051918252519081900360200190f35b6100686004803603604081101561009057600080fd5b50803590602001356100b2565b60006100a983836100be565b90505b92915050565b60006100a9838361017f565b6000631f5405008211156100d457631f54050091505b816100e85750670de0b6b3a76400006100ac565b670de0b6b3a764000083835b600181111561016b57600281066101295761010f8283610196565b915061012281600263ffffffff6101d116565b9050610166565b6101338284610196565b925061013f8283610196565b9150610163600261015783600163ffffffff61021316565b9063ffffffff6101d116565b90505b6100f4565b6101758284610196565b9695505050505050565b60008183101561018f57816100a9565b5090919050565b6000806101a9848463ffffffff61025516565b90506101c9670de0b6b3a7640000610157836706f05b59d3b200006102ae565b949350505050565b60006100a983836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250610308565b60006100a983836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506103aa565b600082610264575060006100ac565b8282028284828161027157fe5b04146100a95760405162461bcd60e51b81526004018080602001828103825260218152602001806104056021913960400191505060405180910390fd5b6000828201838110156100a9576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b600081836103945760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610359578181015183820152602001610341565b50505050905090810190601f1680156103865780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385816103a057fe5b0495945050505050565b600081848411156103fc5760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610359578181015183820152602001610341565b50505090039056fe536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77a264697066735822122041e55de4e62b1205a2b4a4047437f0f1c5cfcc6488243647e7ef116abaa39d0d64736f6c634300060b0033", + "bytecode": "0x608060405234801561001057600080fd5b5061045b806100206000396000f3fe608060405234801561001057600080fd5b50600436106100405760003560e01c8062fa72ff1461004557806336090b011461007a578063d407725214610045575b600080fd5b6100686004803603604081101561005b57600080fd5b508035906020013561009d565b60408051918252519081900360200190f35b6100686004803603604081101561009057600080fd5b50803590602001356100b2565b60006100a983836100be565b90505b92915050565b60006100a9838361017f565b6000631f5405008211156100d457631f54050091505b816100e85750670de0b6b3a76400006100ac565b670de0b6b3a764000083835b600181111561016b57600281066101295761010f8283610196565b915061012281600263ffffffff6101d116565b9050610166565b6101338284610196565b925061013f8283610196565b9150610163600261015783600163ffffffff61021316565b9063ffffffff6101d116565b90505b6100f4565b6101758284610196565b9695505050505050565b60008183101561018f57816100a9565b5090919050565b6000806101a9848463ffffffff61025516565b90506101c9670de0b6b3a7640000610157836706f05b59d3b200006102ae565b949350505050565b60006100a983836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250610308565b60006100a983836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506103aa565b600082610264575060006100ac565b8282028284828161027157fe5b04146100a95760405162461bcd60e51b81526004018080602001828103825260218152602001806104056021913960400191505060405180910390fd5b6000828201838110156100a9576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b600081836103945760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610359578181015183820152602001610341565b50505050905090810190601f1680156103865780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385816103a057fe5b0495945050505050565b600081848411156103fc5760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610359578181015183820152602001610341565b50505090039056fe536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77a26469706673582212203ff72df43c80931fc8e7f938d93838c9c205c84ab1e8fbeaf207bb10ec4fcd6164736f6c634300060b0033", + "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100405760003560e01c8062fa72ff1461004557806336090b011461007a578063d407725214610045575b600080fd5b6100686004803603604081101561005b57600080fd5b508035906020013561009d565b60408051918252519081900360200190f35b6100686004803603604081101561009057600080fd5b50803590602001356100b2565b60006100a983836100be565b90505b92915050565b60006100a9838361017f565b6000631f5405008211156100d457631f54050091505b816100e85750670de0b6b3a76400006100ac565b670de0b6b3a764000083835b600181111561016b57600281066101295761010f8283610196565b915061012281600263ffffffff6101d116565b9050610166565b6101338284610196565b925061013f8283610196565b9150610163600261015783600163ffffffff61021316565b9063ffffffff6101d116565b90505b6100f4565b6101758284610196565b9695505050505050565b60008183101561018f57816100a9565b5090919050565b6000806101a9848463ffffffff61025516565b90506101c9670de0b6b3a7640000610157836706f05b59d3b200006102ae565b949350505050565b60006100a983836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250610308565b60006100a983836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506103aa565b600082610264575060006100ac565b8282028284828161027157fe5b04146100a95760405162461bcd60e51b81526004018080602001828103825260218152602001806104056021913960400191505060405180910390fd5b6000828201838110156100a9576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b600081836103945760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610359578181015183820152602001610341565b50505050905090810190601f1680156103865780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385816103a057fe5b0495945050505050565b600081848411156103fc5760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610359578181015183820152602001610341565b50505090039056fe536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77a26469706673582212203ff72df43c80931fc8e7f938d93838c9c205c84ab1e8fbeaf207bb10ec4fcd6164736f6c634300060b0033", "linkReferences": {}, "deployedLinkReferences": {} } diff --git a/packages/lib-ethers/live/LiquitySafeMath128.json b/packages/lib-ethers/live/LiquitySafeMath128.json index 10e4ddbd6..1cf0705e0 100644 --- a/packages/lib-ethers/live/LiquitySafeMath128.json +++ b/packages/lib-ethers/live/LiquitySafeMath128.json @@ -3,8 +3,8 @@ "contractName": "LiquitySafeMath128", "sourceName": "contracts/Dependencies/LiquitySafeMath128.sol", "abi": [], - "bytecode": "0x60566023600b82828239805160001a607314601657fe5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220799872f0f8b387cbe9eaec83bd8ce2f6401a32c5e1baeca9be361b4ad6bbd0b764736f6c634300060b0033", - "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220799872f0f8b387cbe9eaec83bd8ce2f6401a32c5e1baeca9be361b4ad6bbd0b764736f6c634300060b0033", + "bytecode": "0x60566023600b82828239805160001a607314601657fe5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220d1b8af9d5680a58f76d453a8e162f0848b63455a9cbcc89279f52533e8eef5c964736f6c634300060b0033", + "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220d1b8af9d5680a58f76d453a8e162f0848b63455a9cbcc89279f52533e8eef5c964736f6c634300060b0033", "linkReferences": {}, "deployedLinkReferences": {} } diff --git a/packages/lib-ethers/live/LiquitySafeMath128Tester.json b/packages/lib-ethers/live/LiquitySafeMath128Tester.json index 6263e7567..a9cacad53 100644 --- a/packages/lib-ethers/live/LiquitySafeMath128Tester.json +++ b/packages/lib-ethers/live/LiquitySafeMath128Tester.json @@ -52,8 +52,8 @@ "type": "function" } ], - "bytecode": "0x608060405234801561001057600080fd5b5061021c806100206000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c8063a6fd00851461003b578063feb9939014610085575b600080fd5b6100696004803603604081101561005157600080fd5b506001600160801b03813581169160200135166100b3565b604080516001600160801b039092168252519081900360200190f35b6100696004803603604081101561009b57600080fd5b506001600160801b03813581169160200135166100d5565b60006100ce6001600160801b0384168363ffffffff6100f016565b9392505050565b60006100ce6001600160801b0384168363ffffffff61014916565b6000826001600160801b0316826001600160801b031611156101435760405162461bcd60e51b815260040180806020018281038252602881526020018061019a6028913960400191505060405180910390fd5b50900390565b60008282016001600160801b0380851690821610156100ce5760405162461bcd60e51b81526004018080602001828103825260258152602001806101c26025913960400191505060405180910390fdfe4c697175697479536166654d6174683132383a207375627472616374696f6e206f766572666c6f774c697175697479536166654d6174683132383a206164646974696f6e206f766572666c6f77a264697066735822122075db4bf0de90c2eab97bc19260d610b995f6ca4db8d6c692df0d03b7d6b09fbc64736f6c634300060b0033", - "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100365760003560e01c8063a6fd00851461003b578063feb9939014610085575b600080fd5b6100696004803603604081101561005157600080fd5b506001600160801b03813581169160200135166100b3565b604080516001600160801b039092168252519081900360200190f35b6100696004803603604081101561009b57600080fd5b506001600160801b03813581169160200135166100d5565b60006100ce6001600160801b0384168363ffffffff6100f016565b9392505050565b60006100ce6001600160801b0384168363ffffffff61014916565b6000826001600160801b0316826001600160801b031611156101435760405162461bcd60e51b815260040180806020018281038252602881526020018061019a6028913960400191505060405180910390fd5b50900390565b60008282016001600160801b0380851690821610156100ce5760405162461bcd60e51b81526004018080602001828103825260258152602001806101c26025913960400191505060405180910390fdfe4c697175697479536166654d6174683132383a207375627472616374696f6e206f766572666c6f774c697175697479536166654d6174683132383a206164646974696f6e206f766572666c6f77a264697066735822122075db4bf0de90c2eab97bc19260d610b995f6ca4db8d6c692df0d03b7d6b09fbc64736f6c634300060b0033", + "bytecode": "0x608060405234801561001057600080fd5b5061021c806100206000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c8063a6fd00851461003b578063feb9939014610085575b600080fd5b6100696004803603604081101561005157600080fd5b506001600160801b03813581169160200135166100b3565b604080516001600160801b039092168252519081900360200190f35b6100696004803603604081101561009b57600080fd5b506001600160801b03813581169160200135166100d5565b60006100ce6001600160801b0384168363ffffffff6100f016565b9392505050565b60006100ce6001600160801b0384168363ffffffff61014916565b6000826001600160801b0316826001600160801b031611156101435760405162461bcd60e51b815260040180806020018281038252602881526020018061019a6028913960400191505060405180910390fd5b50900390565b60008282016001600160801b0380851690821610156100ce5760405162461bcd60e51b81526004018080602001828103825260258152602001806101c26025913960400191505060405180910390fdfe4c697175697479536166654d6174683132383a207375627472616374696f6e206f766572666c6f774c697175697479536166654d6174683132383a206164646974696f6e206f766572666c6f77a2646970667358221220dbd80a07f4fea298711b3006e9166e79237c69c6619ba28e6e4ae561b899123064736f6c634300060b0033", + "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100365760003560e01c8063a6fd00851461003b578063feb9939014610085575b600080fd5b6100696004803603604081101561005157600080fd5b506001600160801b03813581169160200135166100b3565b604080516001600160801b039092168252519081900360200190f35b6100696004803603604081101561009b57600080fd5b506001600160801b03813581169160200135166100d5565b60006100ce6001600160801b0384168363ffffffff6100f016565b9392505050565b60006100ce6001600160801b0384168363ffffffff61014916565b6000826001600160801b0316826001600160801b031611156101435760405162461bcd60e51b815260040180806020018281038252602881526020018061019a6028913960400191505060405180910390fd5b50900390565b60008282016001600160801b0380851690821610156100ce5760405162461bcd60e51b81526004018080602001828103825260258152602001806101c26025913960400191505060405180910390fdfe4c697175697479536166654d6174683132383a207375627472616374696f6e206f766572666c6f774c697175697479536166654d6174683132383a206164646974696f6e206f766572666c6f77a2646970667358221220dbd80a07f4fea298711b3006e9166e79237c69c6619ba28e6e4ae561b899123064736f6c634300060b0033", "linkReferences": {}, "deployedLinkReferences": {} } diff --git a/packages/lib-ethers/live/LockupContract.json b/packages/lib-ethers/live/LockupContract.json deleted file mode 100644 index ebbff50c7..000000000 --- a/packages/lib-ethers/live/LockupContract.json +++ /dev/null @@ -1,136 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "LockupContract", - "sourceName": "contracts/LQTY/LockupContract.sol", - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_zeroTokenAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_beneficiary", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_unlockTime", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_beneficiary", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_unlockTime", - "type": "uint256" - } - ], - "name": "LockupContractCreated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "_LQTYwithdrawal", - "type": "uint256" - } - ], - "name": "LockupContractEmptied", - "type": "event" - }, - { - "inputs": [], - "name": "NAME", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "SECONDS_IN_ONE_YEAR", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "beneficiary", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "zeroToken", - "outputs": [ - { - "internalType": "contract ILQTYToken", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "unlockTime", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "withdrawLQTY", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": "0x60a060405234801561001057600080fd5b506040516107243803806107248339818101604052606081101561003357600080fd5b5080516020820151604090920151600080546001600160a01b0319166001600160a01b038416179055909190610068816100cb565b60018190556001600160601b0319606083901b16608052604080516001600160a01b03841681526020810183905281517f5faee922186516bf77266643c1fda130acefc439d571400e8697106c6aed9b54929181900390910190a1505050610204565b60008060009054906101000a90046001600160a01b03166001600160a01b0316633c84b7c26040518163ffffffff1660e01b815260040160206040518083038186803b15801561011a57600080fd5b505afa15801561012e573d6000803e3d6000fd5b505050506040513d602081101561014457600080fd5b50519050610161816301e133806101a3602090811b61030a17901c565b82101561019f5760405162461bcd60e51b815260040180806020018281038252604d8152602001806106d7604d913960600191505060405180910390fd5b5050565b6000828201838110156101fd576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b60805160601c6104ac61022b600039806101535280610249528061037652506104ac6000f3fe608060405234801561001057600080fd5b50600436106100625760003560e01c80631f7af3c314610067578063251c1aa31461008b57806338af3eed146100a557806398e5f3c4146100ad578063a3f4df7e146100b5578063b9470a4614610132575b600080fd5b61006f61013c565b604080516001600160a01b039092168252519081900360200190f35b61009361014b565b60408051918252519081900360200190f35b61006f610151565b610093610175565b6100bd61017d565b6040805160208082528351818301528351919283929083019185019080838360005b838110156100f75781810151838201526020016100df565b50505050905090810190601f1680156101245780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61013a6101a7565b005b6000546001600160a01b031681565b60015481565b7f000000000000000000000000000000000000000000000000000000000000000081565b6301e1338081565b6040518060400160405280600e81526020016d131bd8dadd5c10dbdb9d1c9858dd60921b81525081565b6101af61036b565b6101b76103d4565b60008054604080516370a0823160e01b815230600482015290516001600160a01b03909216929183916370a08231916024808301926020929190829003018186803b15801561020557600080fd5b505afa158015610219573d6000803e3d6000fd5b505050506040513d602081101561022f57600080fd5b50516040805163a9059cbb60e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811660048301526024820184905291519293509084169163a9059cbb916044808201926020929091908290030181600087803b1580156102a757600080fd5b505af11580156102bb573d6000803e3d6000fd5b505050506040513d60208110156102d157600080fd5b50506040805182815290517f7d17cbc0f78ccfed33842dd29dab2872e8347bf3981293ab2cfe35ca16371a2f9181900360200190a15050565b600082820183811015610364576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146103d25760405162461bcd60e51b815260040180806020018281038252602d81526020018061044a602d913960400191505060405180910390fd5b565b6001544210156103d25760405162461bcd60e51b81526004018080602001828103825260348152602001806104166034913960400191505060405180910390fdfe4c6f636b7570436f6e74726163743a20546865206c6f636b7570206475726174696f6e206d7573742068617665207061737365644c6f636b7570436f6e74726163743a2063616c6c6572206973206e6f74207468652062656e6566696369617279a2646970667358221220a3533d4a22e7d00d2227d12bf3317fdc33b762edad5da99343ef64b5ae50574364736f6c634300060b00334c6f636b7570436f6e74726163743a20756e6c6f636b2074696d65206d757374206265206174206c65617374206f6e6520796561722061667465722073797374656d206465706c6f796d656e74", - "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100625760003560e01c80631f7af3c314610067578063251c1aa31461008b57806338af3eed146100a557806398e5f3c4146100ad578063a3f4df7e146100b5578063b9470a4614610132575b600080fd5b61006f61013c565b604080516001600160a01b039092168252519081900360200190f35b61009361014b565b60408051918252519081900360200190f35b61006f610151565b610093610175565b6100bd61017d565b6040805160208082528351818301528351919283929083019185019080838360005b838110156100f75781810151838201526020016100df565b50505050905090810190601f1680156101245780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61013a6101a7565b005b6000546001600160a01b031681565b60015481565b7f000000000000000000000000000000000000000000000000000000000000000081565b6301e1338081565b6040518060400160405280600e81526020016d131bd8dadd5c10dbdb9d1c9858dd60921b81525081565b6101af61036b565b6101b76103d4565b60008054604080516370a0823160e01b815230600482015290516001600160a01b03909216929183916370a08231916024808301926020929190829003018186803b15801561020557600080fd5b505afa158015610219573d6000803e3d6000fd5b505050506040513d602081101561022f57600080fd5b50516040805163a9059cbb60e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811660048301526024820184905291519293509084169163a9059cbb916044808201926020929091908290030181600087803b1580156102a757600080fd5b505af11580156102bb573d6000803e3d6000fd5b505050506040513d60208110156102d157600080fd5b50506040805182815290517f7d17cbc0f78ccfed33842dd29dab2872e8347bf3981293ab2cfe35ca16371a2f9181900360200190a15050565b600082820183811015610364576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146103d25760405162461bcd60e51b815260040180806020018281038252602d81526020018061044a602d913960400191505060405180910390fd5b565b6001544210156103d25760405162461bcd60e51b81526004018080602001828103825260348152602001806104166034913960400191505060405180910390fdfe4c6f636b7570436f6e74726163743a20546865206c6f636b7570206475726174696f6e206d7573742068617665207061737365644c6f636b7570436f6e74726163743a2063616c6c6572206973206e6f74207468652062656e6566696369617279a2646970667358221220a3533d4a22e7d00d2227d12bf3317fdc33b762edad5da99343ef64b5ae50574364736f6c634300060b0033", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/packages/lib-ethers/live/LockupContractFactory.json b/packages/lib-ethers/live/LockupContractFactory.json deleted file mode 100644 index 765876183..000000000 --- a/packages/lib-ethers/live/LockupContractFactory.json +++ /dev/null @@ -1,208 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "LockupContractFactory", - "sourceName": "contracts/LQTY/LockupContractFactory.sol", - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_zeroTokenAddress", - "type": "address" - } - ], - "name": "LQTYTokenAddressSet", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_lockupContractAddress", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "_beneficiary", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_unlockTime", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "address", - "name": "_deployer", - "type": "address" - } - ], - "name": "LockupContractDeployedThroughFactory", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "previousOwner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnershipTransferred", - "type": "event" - }, - { - "inputs": [], - "name": "NAME", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "SECONDS_IN_ONE_YEAR", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_beneficiary", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_unlockTime", - "type": "uint256" - } - ], - "name": "deployLockupContract", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "isOwner", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_contractAddress", - "type": "address" - } - ], - "name": "isRegisteredLockup", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "lockupContractToDeployer", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "zeroTokenAddress", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "owner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_zeroTokenAddress", - "type": "address" - } - ], - "name": "setLQTYTokenAddress", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": "0x608060405234801561001057600080fd5b50600080546001600160a01b0319163390811782556040519091907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3610d0c8061005f6000396000f3fe608060405234801561001057600080fd5b50600436106100835760003560e01c806319d083031461008857806334c44b4d146100b0578063817f6481146100dc5780638da5cb5b146101005780638f32d59b1461010857806398e5f3c414610124578063a3f4df7e1461013e578063bb7603f1146101bb578063d83c72db146101e1575b600080fd5b6100ae6004803603602081101561009e57600080fd5b50356001600160a01b0316610207565b005b6100ae600480360360408110156100c657600080fd5b506001600160a01b0381351690602001356102c5565b6100e46103aa565b604080516001600160a01b039092168252519081900360200190f35b6100e46103b9565b6101106103c8565b604080519115158252519081900360200190f35b61012c6103d9565b60408051918252519081900360200190f35b6101466103e1565b6040805160208082528351818301528351919283929083019185019080838360005b83811015610180578181015183820152602001610168565b50505050905090810190601f1680156101ad5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b610110600480360360208110156101d157600080fd5b50356001600160a01b0316610412565b6100e4600480360360208110156101f757600080fd5b50356001600160a01b0316610432565b61020f6103c8565b610260576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b6102698161044d565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517fb0c89119a7c10e4c2d02306921ba368ac83d0e4b302337916017485c2791bec59181900360200190a16102c2610500565b50565b6001546001600160a01b03166102da8161054a565b60008184846040516102eb906105a5565b6001600160a01b039384168152919092166020820152604080820192909252905190819003606001906000f080158015610329573d6000803e3d6000fd5b506001600160a01b0380821660008181526002602090815260409182902080546001600160a01b03191633908117909155825193845293891690830152818101879052606082019290925290519192507ff534ff9ac4abb71a4aa2f8715f3a8f41c05155fbf8af61daecc51365e3a5c008919081900360800190a150505050565b6001546001600160a01b031681565b6000546001600160a01b031690565b6000546001600160a01b0316331490565b6301e1338081565b604051806040016040528060158152602001744c6f636b7570436f6e7472616374466163746f727960581b81525081565b6001600160a01b0390811660009081526002602052604090205416151590565b6002602052600090815260409020546001600160a01b031681565b6001600160a01b0381166104a8576040805162461bcd60e51b815260206004820152601e60248201527f4163636f756e742063616e6e6f74206265207a65726f20616464726573730000604482015290519081900360640190fd5b803b806104fc576040805162461bcd60e51b815260206004820181905260248201527f4163636f756e7420636f64652073697a652063616e6e6f74206265207a65726f604482015290519081900360640190fd5b5050565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6001600160a01b0381166102c2576040805162461bcd60e51b815260206004820152601c60248201527f4c43463a204c5154592041646472657373206973206e6f742073657400000000604482015290519081900360640190fd5b610724806105b38339019056fe60a060405234801561001057600080fd5b506040516107243803806107248339818101604052606081101561003357600080fd5b5080516020820151604090920151600080546001600160a01b0319166001600160a01b038416179055909190610068816100cb565b60018190556001600160601b0319606083901b16608052604080516001600160a01b03841681526020810183905281517f5faee922186516bf77266643c1fda130acefc439d571400e8697106c6aed9b54929181900390910190a1505050610204565b60008060009054906101000a90046001600160a01b03166001600160a01b0316633c84b7c26040518163ffffffff1660e01b815260040160206040518083038186803b15801561011a57600080fd5b505afa15801561012e573d6000803e3d6000fd5b505050506040513d602081101561014457600080fd5b50519050610161816301e133806101a3602090811b61030a17901c565b82101561019f5760405162461bcd60e51b815260040180806020018281038252604d8152602001806106d7604d913960600191505060405180910390fd5b5050565b6000828201838110156101fd576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b60805160601c6104ac61022b600039806101535280610249528061037652506104ac6000f3fe608060405234801561001057600080fd5b50600436106100625760003560e01c80631f7af3c314610067578063251c1aa31461008b57806338af3eed146100a557806398e5f3c4146100ad578063a3f4df7e146100b5578063b9470a4614610132575b600080fd5b61006f61013c565b604080516001600160a01b039092168252519081900360200190f35b61009361014b565b60408051918252519081900360200190f35b61006f610151565b610093610175565b6100bd61017d565b6040805160208082528351818301528351919283929083019185019080838360005b838110156100f75781810151838201526020016100df565b50505050905090810190601f1680156101245780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61013a6101a7565b005b6000546001600160a01b031681565b60015481565b7f000000000000000000000000000000000000000000000000000000000000000081565b6301e1338081565b6040518060400160405280600e81526020016d131bd8dadd5c10dbdb9d1c9858dd60921b81525081565b6101af61036b565b6101b76103d4565b60008054604080516370a0823160e01b815230600482015290516001600160a01b03909216929183916370a08231916024808301926020929190829003018186803b15801561020557600080fd5b505afa158015610219573d6000803e3d6000fd5b505050506040513d602081101561022f57600080fd5b50516040805163a9059cbb60e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811660048301526024820184905291519293509084169163a9059cbb916044808201926020929091908290030181600087803b1580156102a757600080fd5b505af11580156102bb573d6000803e3d6000fd5b505050506040513d60208110156102d157600080fd5b50506040805182815290517f7d17cbc0f78ccfed33842dd29dab2872e8347bf3981293ab2cfe35ca16371a2f9181900360200190a15050565b600082820183811015610364576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146103d25760405162461bcd60e51b815260040180806020018281038252602d81526020018061044a602d913960400191505060405180910390fd5b565b6001544210156103d25760405162461bcd60e51b81526004018080602001828103825260348152602001806104166034913960400191505060405180910390fdfe4c6f636b7570436f6e74726163743a20546865206c6f636b7570206475726174696f6e206d7573742068617665207061737365644c6f636b7570436f6e74726163743a2063616c6c6572206973206e6f74207468652062656e6566696369617279a2646970667358221220a3533d4a22e7d00d2227d12bf3317fdc33b762edad5da99343ef64b5ae50574364736f6c634300060b00334c6f636b7570436f6e74726163743a20756e6c6f636b2074696d65206d757374206265206174206c65617374206f6e6520796561722061667465722073797374656d206465706c6f796d656e74a2646970667358221220425e059e2af53c8bb2f692412b53482c43f017a48bb8ed4f92105fbe0dccd5eb64736f6c634300060b0033", - "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100835760003560e01c806319d083031461008857806334c44b4d146100b0578063817f6481146100dc5780638da5cb5b146101005780638f32d59b1461010857806398e5f3c414610124578063a3f4df7e1461013e578063bb7603f1146101bb578063d83c72db146101e1575b600080fd5b6100ae6004803603602081101561009e57600080fd5b50356001600160a01b0316610207565b005b6100ae600480360360408110156100c657600080fd5b506001600160a01b0381351690602001356102c5565b6100e46103aa565b604080516001600160a01b039092168252519081900360200190f35b6100e46103b9565b6101106103c8565b604080519115158252519081900360200190f35b61012c6103d9565b60408051918252519081900360200190f35b6101466103e1565b6040805160208082528351818301528351919283929083019185019080838360005b83811015610180578181015183820152602001610168565b50505050905090810190601f1680156101ad5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b610110600480360360208110156101d157600080fd5b50356001600160a01b0316610412565b6100e4600480360360208110156101f757600080fd5b50356001600160a01b0316610432565b61020f6103c8565b610260576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b6102698161044d565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517fb0c89119a7c10e4c2d02306921ba368ac83d0e4b302337916017485c2791bec59181900360200190a16102c2610500565b50565b6001546001600160a01b03166102da8161054a565b60008184846040516102eb906105a5565b6001600160a01b039384168152919092166020820152604080820192909252905190819003606001906000f080158015610329573d6000803e3d6000fd5b506001600160a01b0380821660008181526002602090815260409182902080546001600160a01b03191633908117909155825193845293891690830152818101879052606082019290925290519192507ff534ff9ac4abb71a4aa2f8715f3a8f41c05155fbf8af61daecc51365e3a5c008919081900360800190a150505050565b6001546001600160a01b031681565b6000546001600160a01b031690565b6000546001600160a01b0316331490565b6301e1338081565b604051806040016040528060158152602001744c6f636b7570436f6e7472616374466163746f727960581b81525081565b6001600160a01b0390811660009081526002602052604090205416151590565b6002602052600090815260409020546001600160a01b031681565b6001600160a01b0381166104a8576040805162461bcd60e51b815260206004820152601e60248201527f4163636f756e742063616e6e6f74206265207a65726f20616464726573730000604482015290519081900360640190fd5b803b806104fc576040805162461bcd60e51b815260206004820181905260248201527f4163636f756e7420636f64652073697a652063616e6e6f74206265207a65726f604482015290519081900360640190fd5b5050565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6001600160a01b0381166102c2576040805162461bcd60e51b815260206004820152601c60248201527f4c43463a204c5154592041646472657373206973206e6f742073657400000000604482015290519081900360640190fd5b610724806105b38339019056fe60a060405234801561001057600080fd5b506040516107243803806107248339818101604052606081101561003357600080fd5b5080516020820151604090920151600080546001600160a01b0319166001600160a01b038416179055909190610068816100cb565b60018190556001600160601b0319606083901b16608052604080516001600160a01b03841681526020810183905281517f5faee922186516bf77266643c1fda130acefc439d571400e8697106c6aed9b54929181900390910190a1505050610204565b60008060009054906101000a90046001600160a01b03166001600160a01b0316633c84b7c26040518163ffffffff1660e01b815260040160206040518083038186803b15801561011a57600080fd5b505afa15801561012e573d6000803e3d6000fd5b505050506040513d602081101561014457600080fd5b50519050610161816301e133806101a3602090811b61030a17901c565b82101561019f5760405162461bcd60e51b815260040180806020018281038252604d8152602001806106d7604d913960600191505060405180910390fd5b5050565b6000828201838110156101fd576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b60805160601c6104ac61022b600039806101535280610249528061037652506104ac6000f3fe608060405234801561001057600080fd5b50600436106100625760003560e01c80631f7af3c314610067578063251c1aa31461008b57806338af3eed146100a557806398e5f3c4146100ad578063a3f4df7e146100b5578063b9470a4614610132575b600080fd5b61006f61013c565b604080516001600160a01b039092168252519081900360200190f35b61009361014b565b60408051918252519081900360200190f35b61006f610151565b610093610175565b6100bd61017d565b6040805160208082528351818301528351919283929083019185019080838360005b838110156100f75781810151838201526020016100df565b50505050905090810190601f1680156101245780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61013a6101a7565b005b6000546001600160a01b031681565b60015481565b7f000000000000000000000000000000000000000000000000000000000000000081565b6301e1338081565b6040518060400160405280600e81526020016d131bd8dadd5c10dbdb9d1c9858dd60921b81525081565b6101af61036b565b6101b76103d4565b60008054604080516370a0823160e01b815230600482015290516001600160a01b03909216929183916370a08231916024808301926020929190829003018186803b15801561020557600080fd5b505afa158015610219573d6000803e3d6000fd5b505050506040513d602081101561022f57600080fd5b50516040805163a9059cbb60e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811660048301526024820184905291519293509084169163a9059cbb916044808201926020929091908290030181600087803b1580156102a757600080fd5b505af11580156102bb573d6000803e3d6000fd5b505050506040513d60208110156102d157600080fd5b50506040805182815290517f7d17cbc0f78ccfed33842dd29dab2872e8347bf3981293ab2cfe35ca16371a2f9181900360200190a15050565b600082820183811015610364576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146103d25760405162461bcd60e51b815260040180806020018281038252602d81526020018061044a602d913960400191505060405180910390fd5b565b6001544210156103d25760405162461bcd60e51b81526004018080602001828103825260348152602001806104166034913960400191505060405180910390fdfe4c6f636b7570436f6e74726163743a20546865206c6f636b7570206475726174696f6e206d7573742068617665207061737365644c6f636b7570436f6e74726163743a2063616c6c6572206973206e6f74207468652062656e6566696369617279a2646970667358221220a3533d4a22e7d00d2227d12bf3317fdc33b762edad5da99343ef64b5ae50574364736f6c634300060b00334c6f636b7570436f6e74726163743a20756e6c6f636b2074696d65206d757374206265206174206c65617374206f6e6520796561722061667465722073797374656d206465706c6f796d656e74a2646970667358221220425e059e2af53c8bb2f692412b53482c43f017a48bb8ed4f92105fbe0dccd5eb64736f6c634300060b0033", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/packages/lib-ethers/live/MassetManagerTester.json b/packages/lib-ethers/live/MassetManagerTester.json new file mode 100644 index 000000000..3f9c5017f --- /dev/null +++ b/packages/lib-ethers/live/MassetManagerTester.json @@ -0,0 +1,100 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "MassetManagerTester", + "sourceName": "contracts/TestContracts/MassetManagerTester.sol", + "abi": [ + { + "inputs": [], + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "inputs": [], + "name": "getToken", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_bAsset", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_bAssetQuantity", + "type": "uint256" + }, + { + "internalType": "address", + "name": "_recipient", + "type": "address" + } + ], + "name": "mintTo", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "nueMockToken", + "outputs": [ + { + "internalType": "contract NueMockToken", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_bAsset", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_massetQuantity", + "type": "uint256" + }, + { + "internalType": "address", + "name": "_recipient", + "type": "address" + } + ], + "name": "redeemTo", + "outputs": [ + { + "internalType": "uint256", + "name": "massetRedeemed", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "bytecode": "0x608060405234801561001057600080fd5b5060405161001d9061005f565b604051809103906000f080158015610039573d6000803e3d6000fd5b50600080546001600160a01b0319166001600160a01b039290921691909117905561006c565b611aa6806104a883390190565b61042d8061007b6000396000f3fe608060405234801561001057600080fd5b506004361061004c5760003560e01c806321df0da714610051578063438b1b4b146100755780639f324846146100bd578063fb2c9223146100c5575b600080fd5b6100596100fb565b604080516001600160a01b039092168252519081900360200190f35b6100ab6004803603606081101561008b57600080fd5b506001600160a01b0381358116916020810135916040909101351661010a565b60408051918252519081900360200190f35b6100596102fb565b6100ab600480360360608110156100db57600080fd5b506001600160a01b0381358116916020810135916040909101351661030a565b6000546001600160a01b031690565b604080516323b872dd60e01b81523360048201523060248201526044810184905290516000916001600160a01b038616916323b872dd9160648082019260209290919082900301818787803b15801561016257600080fd5b505af1158015610176573d6000803e3d6000fd5b505050506040513d602081101561018c57600080fd5b505060008054604080516370a0823160e01b81526001600160a01b038681166004830152915191909216916370a08231916024808301926020929190829003018186803b1580156101dc57600080fd5b505afa1580156101f0573d6000803e3d6000fd5b505050506040513d602081101561020657600080fd5b505160008054604080516340c10f1960e01b81526001600160a01b038881166004830152602482018a905291519495509116926340c10f199260448084019391929182900301818387803b15801561025d57600080fd5b505af1158015610271573d6000803e3d6000fd5b5050600054604080516370a0823160e01b81526001600160a01b03888116600483015291518695509190921692506370a0823191602480820192602092909190829003018186803b1580156102c557600080fd5b505afa1580156102d9573d6000803e3d6000fd5b505050506040513d60208110156102ef57600080fd5b50510395945050505050565b6000546001600160a01b031681565b6040805163a9059cbb60e01b81526001600160a01b03838116600483015260248201859052915160009286169163a9059cbb91604480830192602092919082900301818787803b15801561035d57600080fd5b505af1158015610371573d6000803e3d6000fd5b505050506040513d602081101561038757600080fd5b50506000805460408051632770a7eb60e21b81523360048201526024810187905290516001600160a01b0390921692639dc29fac9260448084019382900301818387803b1580156103d757600080fd5b505af11580156103eb573d6000803e3d6000fd5b5094969550505050505056fea2646970667358221220377cd237457815df6d30da178018fd368ff28859e531a544d06eba953471a26d64736f6c634300060b0033610140604081905280605262001a02823960405190819003605201902061012052503480156200002e57600080fd5b50604051806040016040528060078152602001664e75657374726f60c81b81525080604051806040016040528060018152602001603160f81b815250604051806040016040528060078152602001664e75657374726f60c81b815250604051806040016040528060038152602001624e554560e81b8152508160039080519060200190620000be929190620002c7565b508051620000d4906004906020840190620002c7565b50506005805460ff1916601217905550815160208084019190912082519183019190912060405160009080605262001a54823960405190819003605201902060c085905260e084905291506200013490506001600160e01b036200017616565b60a0526200014d8184846001600160e01b036200017a16565b6080526101005250620001709350339250506001600160e01b03620001db169050565b6200036c565b4690565b6000838383620001926001600160e01b036200017616565b6040805160208082019690965280820194909452606084019290925260808301523060a0808401919091528151808403909101815260c090920190528051910120949350505050565b6001600160a01b038116620002225760405162461bcd60e51b8152600401808060200182810382526022815260200180620019e06022913960400191505060405180910390fd5b6001600160a01b0381166200023f6001600160e01b036200029d16565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3604080517035b2bc9737bbb730b136329737bbb732b960791b8152905190819003601101902055565b604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205490565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200030a57805160ff19168380011785556200033a565b828001600101855582156200033a579182015b828111156200033a5782518255916020019190600101906200031d565b50620003489291506200034c565b5090565b6200036991905b8082111562000348576000815560010162000353565b90565b60805160a05160c05160e051610100516101205161162a620003b6600039806109aa525080610f00525080610f42525080610f21525080610ea7525080610ed7525061162a6000f3fe608060405234801561001057600080fd5b506004361061012c5760003560e01c8063605629d6116100ad5780639dc29fac116100715780639dc29fac146103b5578063a457c2d7146103e1578063a9059cbb1461040d578063d505accf14610439578063dd62ed3e1461048a5761012c565b8063605629d6146102ec57806370a082311461033d5780637ecebe0014610363578063893d20e81461038957806395d89b41146103ad5761012c565b8063313ce567116100f4578063313ce567146102665780633408e470146102845780633644e5151461028c578063395093511461029457806340c10f19146102c05761012c565b806306fdde0314610131578063095ea7b3146101ae57806313af4035146101ee57806318160ddd1461021657806323b872dd14610230575b600080fd5b6101396104b8565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561017357818101518382015260200161015b565b50505050905090810190601f1680156101a05780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101da600480360360408110156101c457600080fd5b506001600160a01b03813516906020013561054f565b604080519115158252519081900360200190f35b6102146004803603602081101561020457600080fd5b50356001600160a01b031661056c565b005b61021e6105df565b60408051918252519081900360200190f35b6101da6004803603606081101561024657600080fd5b506001600160a01b038135811691602081013590911690604001356105e5565b61026e610672565b6040805160ff9092168252519081900360200190f35b61021e61067b565b61021e61067f565b6101da600480360360408110156102aa57600080fd5b506001600160a01b03813516906020013561068e565b610214600480360360408110156102d657600080fd5b506001600160a01b0381351690602001356106e2565b610214600480360360e081101561030257600080fd5b506001600160a01b03813581169160208101359091169060408101359060608101359060ff6080820135169060a08101359060c00135610757565b61021e6004803603602081101561035357600080fd5b50356001600160a01b031661077b565b61021e6004803603602081101561037957600080fd5b50356001600160a01b0316610796565b6103916107bd565b604080516001600160a01b039092168252519081900360200190f35b6101396107e7565b610214600480360360408110156103cb57600080fd5b506001600160a01b038135169060200135610848565b6101da600480360360408110156103f757600080fd5b506001600160a01b0381351690602001356108b9565b6101da6004803603604081101561042357600080fd5b506001600160a01b038135169060200135610927565b610214600480360360e081101561044f57600080fd5b506001600160a01b03813581169160208101359091169060408101359060608101359060ff6080820135169060a08101359060c0013561093b565b61021e600480360360408110156104a057600080fd5b506001600160a01b0381358116916020013516610ae7565b60038054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156105445780601f1061051957610100808354040283529160200191610544565b820191906000526020600020905b81548152906001019060200180831161052757829003601f168201915b505050505090505b90565b600061056361055c610b12565b8484610b16565b50600192915050565b6105746107bd565b6001600160a01b0316336001600160a01b0316146105d3576040805162461bcd60e51b815260206004820152601760248201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604482015290519081900360640190fd5b6105dc81610c02565b50565b60025490565b60006105f2848484610cb7565b610668846105fe610b12565b6106638560405180606001604052806028815260200161151e602891396001600160a01b038a1660009081526001602052604081209061063c610b12565b6001600160a01b03168152602081019190915260400160002054919063ffffffff610e0c16565b610b16565b5060019392505050565b60055460ff1690565b4690565b6000610689610ea3565b905090565b600061056361069b610b12565b8461066385600160006106ac610b12565b6001600160a01b03908116825260208083019390935260409182016000908120918c16815292529020549063ffffffff610f6d16565b6106ea6107bd565b6001600160a01b0316336001600160a01b031614610749576040805162461bcd60e51b815260206004820152601760248201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604482015290519081900360640190fd5b6107538282610fce565b5050565b6107668733878787878761093b565b6107718787876105e5565b5050505050505050565b6001600160a01b031660009081526020819052604090205490565b6001600160a01b03811660009081526006602052604081206107b7906110b8565b92915050565b604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205490565b60048054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156105445780601f1061051957610100808354040283529160200191610544565b6108506107bd565b6001600160a01b0316336001600160a01b0316146108af576040805162461bcd60e51b815260206004820152601760248201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604482015290519081900360640190fd5b61075382826110bc565b60006105636108c6610b12565b84610663856040518060600160405280602581526020016115d060259139600160006108f0610b12565b6001600160a01b03908116825260208083019390935260409182016000908120918d1681529252902054919063ffffffff610e0c16565b6000610563610934610b12565b8484610cb7565b83421115610990576040805162461bcd60e51b815260206004820152601d60248201527f45524332305065726d69743a206578706972656420646561646c696e65000000604482015290519081900360640190fd5b6001600160a01b03871660009081526006602052604081207f0000000000000000000000000000000000000000000000000000000000000000908990899089906109d9906110b8565b604080516020808201979097526001600160a01b0395861681830152939094166060840152608083019190915260a082015260c08082018990528251808303909101815260e0909101909152805191012090506000610a37826111b2565b90506000610a47828787876111fe565b9050896001600160a01b0316816001600160a01b031614610aaf576040805162461bcd60e51b815260206004820152601e60248201527f45524332305065726d69743a20696e76616c6964207369676e61747572650000604482015290519081900360640190fd5b6001600160a01b038a166000908152600660205260409020610ad090611369565b610adb8a8a8a610b16565b50505050505050505050565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b3390565b6001600160a01b038316610b5b5760405162461bcd60e51b81526004018080602001828103825260248152602001806115ac6024913960400191505060405180910390fd5b6001600160a01b038216610ba05760405162461bcd60e51b81526004018080602001828103825260228152602001806114706022913960400191505060405180910390fd5b6001600160a01b03808416600081815260016020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b038116610c475760405162461bcd60e51b81526004018080602001828103825260228152602001806114da6022913960400191505060405180910390fd5b806001600160a01b0316610c596107bd565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3604080517035b2bc9737bbb730b136329737bbb732b960791b8152905190819003601101902055565b6001600160a01b038316610cfc5760405162461bcd60e51b81526004018080602001828103825260258152602001806115876025913960400191505060405180910390fd5b6001600160a01b038216610d415760405162461bcd60e51b815260040180806020018281038252602381526020018061142b6023913960400191505060405180910390fd5b610d4c838383611372565b610d8f81604051806060016040528060268152602001611492602691396001600160a01b038616600090815260208190526040902054919063ffffffff610e0c16565b6001600160a01b038085166000908152602081905260408082209390935590841681522054610dc4908263ffffffff610f6d16565b6001600160a01b0380841660008181526020818152604091829020949094558051858152905191939287169260008051602061154683398151915292918290030190a3505050565b60008184841115610e9b5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610e60578181015183820152602001610e48565b50505050905090810190601f168015610e8d5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b60007f0000000000000000000000000000000000000000000000000000000000000000610ece61067b565b1415610efb57507f000000000000000000000000000000000000000000000000000000000000000061054c565b610f667f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611377565b905061054c565b600082820183811015610fc7576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b6001600160a01b038216611029576040805162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015290519081900360640190fd5b61103560008383611372565b600254611048908263ffffffff610f6d16565b6002556001600160a01b038216600090815260208190526040902054611074908263ffffffff610f6d16565b6001600160a01b0383166000818152602081815260408083209490945583518581529351929391926000805160206115468339815191529281900390910190a35050565b5490565b6001600160a01b0382166111015760405162461bcd60e51b81526004018080602001828103825260218152602001806115666021913960400191505060405180910390fd5b61110d82600083611372565b6111508160405180606001604052806022815260200161144e602291396001600160a01b038516600090815260208190526040902054919063ffffffff610e0c16565b6001600160a01b03831660009081526020819052604090205560025461117c908263ffffffff6113cd16565b6002556040805182815290516000916001600160a01b038516916000805160206115468339815191529181900360200190a35050565b60006111bc610ea3565b82604051602001808061190160f01b81525060020183815260200182815260200192505050604051602081830303815290604052805190602001209050919050565b60006fa2a8918ca85bafe22016d0b997e4df60600160ff1b038211156112555760405162461bcd60e51b81526004018080602001828103825260228152602001806114b86022913960400191505060405180910390fd5b8360ff16601b148061126a57508360ff16601c145b6112a55760405162461bcd60e51b81526004018080602001828103825260228152602001806114fc6022913960400191505060405180910390fd5b604080516000808252602080830180855289905260ff88168385015260608301879052608083018690529251909260019260a080820193601f1981019281900390910190855afa1580156112fd573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b038116611360576040805162461bcd60e51b815260206004820152601860248201527745434453413a20696e76616c6964207369676e617475726560401b604482015290519081900360640190fd5b95945050505050565b80546001019055565b505050565b600083838361138461067b565b6040805160208082019690965280820194909452606084019290925260808301523060a0808401919091528151808403909101815260c090920190528051910120949350505050565b600082821115611424576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b5090039056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a206275726e20616d6f756e7420657863656564732062616c616e636545524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545434453413a20696e76616c6964207369676e6174757265202773272076616c75654f776e61626c653a3a7365744f776e65723a20696e76616c6964206164647265737345434453413a20696e76616c6964207369676e6174757265202776272076616c756545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef45524332303a206275726e2066726f6d20746865207a65726f206164647265737345524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220fcaf81fe308cd99e0a6d8ddd4221c0cd68860c5571be488af3538234cf7ddc9464736f6c634300060b00334f776e61626c653a3a7365744f776e65723a20696e76616c696420616464726573735065726d69742861646472657373206f776e65722c61646472657373207370656e6465722c75696e743235362076616c75652c75696e74323536206e6f6e63652c75696e7432353620646561646c696e6529454950373132446f6d61696e28737472696e67206e616d652c737472696e672076657273696f6e2c75696e7432353620636861696e49642c6164647265737320766572696679696e67436f6e747261637429", + "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061004c5760003560e01c806321df0da714610051578063438b1b4b146100755780639f324846146100bd578063fb2c9223146100c5575b600080fd5b6100596100fb565b604080516001600160a01b039092168252519081900360200190f35b6100ab6004803603606081101561008b57600080fd5b506001600160a01b0381358116916020810135916040909101351661010a565b60408051918252519081900360200190f35b6100596102fb565b6100ab600480360360608110156100db57600080fd5b506001600160a01b0381358116916020810135916040909101351661030a565b6000546001600160a01b031690565b604080516323b872dd60e01b81523360048201523060248201526044810184905290516000916001600160a01b038616916323b872dd9160648082019260209290919082900301818787803b15801561016257600080fd5b505af1158015610176573d6000803e3d6000fd5b505050506040513d602081101561018c57600080fd5b505060008054604080516370a0823160e01b81526001600160a01b038681166004830152915191909216916370a08231916024808301926020929190829003018186803b1580156101dc57600080fd5b505afa1580156101f0573d6000803e3d6000fd5b505050506040513d602081101561020657600080fd5b505160008054604080516340c10f1960e01b81526001600160a01b038881166004830152602482018a905291519495509116926340c10f199260448084019391929182900301818387803b15801561025d57600080fd5b505af1158015610271573d6000803e3d6000fd5b5050600054604080516370a0823160e01b81526001600160a01b03888116600483015291518695509190921692506370a0823191602480820192602092909190829003018186803b1580156102c557600080fd5b505afa1580156102d9573d6000803e3d6000fd5b505050506040513d60208110156102ef57600080fd5b50510395945050505050565b6000546001600160a01b031681565b6040805163a9059cbb60e01b81526001600160a01b03838116600483015260248201859052915160009286169163a9059cbb91604480830192602092919082900301818787803b15801561035d57600080fd5b505af1158015610371573d6000803e3d6000fd5b505050506040513d602081101561038757600080fd5b50506000805460408051632770a7eb60e21b81523360048201526024810187905290516001600160a01b0390921692639dc29fac9260448084019382900301818387803b1580156103d757600080fd5b505af11580156103eb573d6000803e3d6000fd5b5094969550505050505056fea2646970667358221220377cd237457815df6d30da178018fd368ff28859e531a544d06eba953471a26d64736f6c634300060b0033", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/packages/lib-ethers/live/Migrations.json b/packages/lib-ethers/live/Migrations.json deleted file mode 100644 index 51efd3613..000000000 --- a/packages/lib-ethers/live/Migrations.json +++ /dev/null @@ -1,68 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "Migrations", - "sourceName": "contracts/Migrations.sol", - "abi": [ - { - "inputs": [], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [], - "name": "last_completed_migration", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "owner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "completed", - "type": "uint256" - } - ], - "name": "setCompleted", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "new_address", - "type": "address" - } - ], - "name": "upgrade", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": "0x608060405234801561001057600080fd5b50600080546001600160a01b031916331790556101b4806100326000396000f3fe608060405234801561001057600080fd5b506004361061004c5760003560e01c80630900f01014610051578063445df0ac146100795780638da5cb5b14610093578063fdacd576146100b7575b600080fd5b6100776004803603602081101561006757600080fd5b50356001600160a01b03166100d4565b005b610081610151565b60408051918252519081900360200190f35b61009b610157565b604080516001600160a01b039092168252519081900360200190f35b610077600480360360208110156100cd57600080fd5b5035610166565b6000546001600160a01b031633141561014e576000819050806001600160a01b031663fdacd5766001546040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b15801561013457600080fd5b505af1158015610148573d6000803e3d6000fd5b50505050505b50565b60015481565b6000546001600160a01b031681565b6000546001600160a01b031633141561014e5760015556fea264697066735822122086d4380df83661993e3b6d804b678ca606af18782462ac7f8247096c46cc368964736f6c634300060b0033", - "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061004c5760003560e01c80630900f01014610051578063445df0ac146100795780638da5cb5b14610093578063fdacd576146100b7575b600080fd5b6100776004803603602081101561006757600080fd5b50356001600160a01b03166100d4565b005b610081610151565b60408051918252519081900360200190f35b61009b610157565b604080516001600160a01b039092168252519081900360200190f35b610077600480360360208110156100cd57600080fd5b5035610166565b6000546001600160a01b031633141561014e576000819050806001600160a01b031663fdacd5766001546040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b15801561013457600080fd5b505af1158015610148573d6000803e3d6000fd5b50505050505b50565b60015481565b6000546001600160a01b031681565b6000546001600160a01b031633141561014e5760015556fea264697066735822122086d4380df83661993e3b6d804b678ca606af18782462ac7f8247096c46cc368964736f6c634300060b0033", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/packages/lib-ethers/live/MoCMedianizer.json b/packages/lib-ethers/live/MoCMedianizer.json new file mode 100644 index 000000000..66096b8d9 --- /dev/null +++ b/packages/lib-ethers/live/MoCMedianizer.json @@ -0,0 +1,40 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "MoCMedianizer", + "sourceName": "contracts/Dependencies/PriceFeed/MocMedianizer.sol", + "abi": [ + { + "inputs": [ + { + "internalType": "address", + "name": "_medianizer", + "type": "address" + } + ], + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "inputs": [], + "name": "latestAnswer", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + } + ], + "bytecode": "0x608060405234801561001057600080fd5b506040516101743803806101748339818101604052602081101561003357600080fd5b5051600080546001600160a01b039092166001600160a01b031990921691909117905561010f806100656000396000f3fe6080604052348015600f57600080fd5b506004361060285760003560e01c806350d25bcd14602d575b600080fd5b6033604c565b6040805192835290151560208301528051918290030190f35b6000806000806000809054906101000a90046001600160a01b03166001600160a01b03166359e02dd76040518163ffffffff1660e01b8152600401604080518083038186803b158015609d57600080fd5b505afa15801560b0573d6000803e3d6000fd5b505050506040513d604081101560c557600080fd5b50805160209091015190945092505050909156fea2646970667358221220177e340fe712b7221ca7b69999a7b933e115feaba9c5d763c7171f9249649cea64736f6c634300060b0033", + "deployedBytecode": "0x6080604052348015600f57600080fd5b506004361060285760003560e01c806350d25bcd14602d575b600080fd5b6033604c565b6040805192835290151560208301528051918290030190f35b6000806000806000809054906101000a90046001600160a01b03166001600160a01b03166359e02dd76040518163ffffffff1660e01b8152600401604080518083038186803b158015609d57600080fd5b505afa15801560b0573d6000803e3d6000fd5b505050506040513d604081101560c557600080fd5b50805160209091015190945092505050909156fea2646970667358221220177e340fe712b7221ca7b69999a7b933e115feaba9c5d763c7171f9249649cea64736f6c634300060b0033", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/packages/lib-ethers/live/MockAggregator.json b/packages/lib-ethers/live/MockAggregator.json deleted file mode 100644 index b9472a3b2..000000000 --- a/packages/lib-ethers/live/MockAggregator.json +++ /dev/null @@ -1,234 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "MockAggregator", - "sourceName": "contracts/TestContracts/MockAggregator.sol", - "abi": [ - { - "inputs": [], - "name": "decimals", - "outputs": [ - { - "internalType": "uint8", - "name": "", - "type": "uint8" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "description", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint80", - "name": "", - "type": "uint80" - } - ], - "name": "getRoundData", - "outputs": [ - { - "internalType": "uint80", - "name": "roundId", - "type": "uint80" - }, - { - "internalType": "int256", - "name": "answer", - "type": "int256" - }, - { - "internalType": "uint256", - "name": "startedAt", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "updatedAt", - "type": "uint256" - }, - { - "internalType": "uint80", - "name": "answeredInRound", - "type": "uint80" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "latestRoundData", - "outputs": [ - { - "internalType": "uint80", - "name": "roundId", - "type": "uint80" - }, - { - "internalType": "int256", - "name": "answer", - "type": "int256" - }, - { - "internalType": "uint256", - "name": "startedAt", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "updatedAt", - "type": "uint256" - }, - { - "internalType": "uint80", - "name": "answeredInRound", - "type": "uint80" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint8", - "name": "_decimals", - "type": "uint8" - } - ], - "name": "setDecimals", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "setDecimalsRevert", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "setLatestRevert", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint80", - "name": "_latestRoundId", - "type": "uint80" - } - ], - "name": "setLatestRoundId", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "int256", - "name": "_prevPrice", - "type": "int256" - } - ], - "name": "setPrevPrice", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "setPrevRevert", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint80", - "name": "_prevRoundId", - "type": "uint80" - } - ], - "name": "setPrevRoundId", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_prevUpdateTime", - "type": "uint256" - } - ], - "name": "setPrevUpdateTime", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "int256", - "name": "_price", - "type": "int256" - } - ], - "name": "setPrice", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_updateTime", - "type": "uint256" - } - ], - "name": "setUpdateTime", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "version", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": "0x60806040526000805460ff1916600817905534801561001d57600080fd5b506105998061002d6000396000f3fe608060405234801561001057600080fd5b50600436106100d55760003560e01c80637394e789116100875780637394e789146101e457806375354ffa146102015780637a1395aa146102275780639a6fc8f514610247578063a68e5945146102a9578063bf73eea6146102b1578063f7a30806146102ce578063feaf968c146102eb576100d5565b806313886538146100da57806329ccf0cf146100f9578063313ce5671461010157806354fd4d501461011f57806366543a6c146101395780637134b990146101415780637284e41614610167575b600080fd5b6100f7600480360360208110156100f057600080fd5b50356102f3565b005b6100f76102f8565b610109610319565b6040805160ff9092168252519081900360200190f35b610127610379565b60408051918252519081900360200190f35b6100f761037e565b6100f76004803603602081101561015757600080fd5b50356001600160501b031661039f565b61016f6103c4565b6040805160208082528351818301528351919283929083019185019080838360005b838110156101a9578181015183820152602001610191565b50505050905090810190601f1680156101d65780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6100f7600480360360208110156101fa57600080fd5b50356103d6565b6100f76004803603602081101561021757600080fd5b50356001600160501b03166103db565b6100f76004803603602081101561023d57600080fd5b503560ff1661040a565b61026d6004803603602081101561025d57600080fd5b50356001600160501b0316610420565b604080516001600160501b0396871681526020810195909552848101939093526060840191909152909216608082015290519081900360a00190f35b6100f76104ae565b6100f7600480360360208110156102c757600080fd5b50356104cf565b6100f7600480360360208110156102e457600080fd5b50356104d4565b61026d6104d9565b600255565b6005805460ff60b01b198116600160b01b9182900460ff1615909102179055565b600554600090600160b01b900460ff161561036f576040805162461bcd60e51b8152602060048201526011602482015270191958da5b585b1cc81c995d995c9d1959607a1b604482015290519081900360640190fd5b5060005460ff1690565b600190565b6005805460ff60a01b198116600160a01b9182900460ff1615909102179055565b6005805469ffffffffffffffffffff19166001600160501b0392909216919091179055565b60408051602081019091526000815290565b600455565b600580546001600160501b03909216600160501b0269ffffffffffffffffffff60501b19909216919091179055565b6000805460ff191660ff92909216919091179055565b6000806000806000600560159054906101000a900460ff1615610482576040805162461bcd60e51b815260206004820152601560248201527419d95d149bdd5b9911185d18481c995d995c9d1959605a1b604482015290519081900360640190fd5b5050600554600254600354600160501b9092046001600160501b03169690955060009450909250839150565b6005805460ff60a81b198116600160a81b9182900460ff1615909102179055565b600355565b600155565b6000806000806000600560149054906101000a900460ff161561053e576040805162461bcd60e51b81526020600482015260186024820152771b185d195cdd149bdd5b9911185d18481c995d995c9d195960421b604482015290519081900360640190fd5b50506005546001546003546001600160501b039092169590945060009350909150829056fea2646970667358221220ed099b5821cd2aa08f9d89428bb844af999bfb098d74b80565fb4aac091ab22864736f6c634300060b0033", - "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100d55760003560e01c80637394e789116100875780637394e789146101e457806375354ffa146102015780637a1395aa146102275780639a6fc8f514610247578063a68e5945146102a9578063bf73eea6146102b1578063f7a30806146102ce578063feaf968c146102eb576100d5565b806313886538146100da57806329ccf0cf146100f9578063313ce5671461010157806354fd4d501461011f57806366543a6c146101395780637134b990146101415780637284e41614610167575b600080fd5b6100f7600480360360208110156100f057600080fd5b50356102f3565b005b6100f76102f8565b610109610319565b6040805160ff9092168252519081900360200190f35b610127610379565b60408051918252519081900360200190f35b6100f761037e565b6100f76004803603602081101561015757600080fd5b50356001600160501b031661039f565b61016f6103c4565b6040805160208082528351818301528351919283929083019185019080838360005b838110156101a9578181015183820152602001610191565b50505050905090810190601f1680156101d65780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6100f7600480360360208110156101fa57600080fd5b50356103d6565b6100f76004803603602081101561021757600080fd5b50356001600160501b03166103db565b6100f76004803603602081101561023d57600080fd5b503560ff1661040a565b61026d6004803603602081101561025d57600080fd5b50356001600160501b0316610420565b604080516001600160501b0396871681526020810195909552848101939093526060840191909152909216608082015290519081900360a00190f35b6100f76104ae565b6100f7600480360360208110156102c757600080fd5b50356104cf565b6100f7600480360360208110156102e457600080fd5b50356104d4565b61026d6104d9565b600255565b6005805460ff60b01b198116600160b01b9182900460ff1615909102179055565b600554600090600160b01b900460ff161561036f576040805162461bcd60e51b8152602060048201526011602482015270191958da5b585b1cc81c995d995c9d1959607a1b604482015290519081900360640190fd5b5060005460ff1690565b600190565b6005805460ff60a01b198116600160a01b9182900460ff1615909102179055565b6005805469ffffffffffffffffffff19166001600160501b0392909216919091179055565b60408051602081019091526000815290565b600455565b600580546001600160501b03909216600160501b0269ffffffffffffffffffff60501b19909216919091179055565b6000805460ff191660ff92909216919091179055565b6000806000806000600560159054906101000a900460ff1615610482576040805162461bcd60e51b815260206004820152601560248201527419d95d149bdd5b9911185d18481c995d995c9d1959605a1b604482015290519081900360640190fd5b5050600554600254600354600160501b9092046001600160501b03169690955060009450909250839150565b6005805460ff60a81b198116600160a81b9182900460ff1615909102179055565b600355565b600155565b6000806000806000600560149054906101000a900460ff161561053e576040805162461bcd60e51b81526020600482015260186024820152771b185d195cdd149bdd5b9911185d18481c995d995c9d195960421b604482015290519081900360640190fd5b50506005546001546003546001600160501b039092169590945060009350909150829056fea2646970667358221220ed099b5821cd2aa08f9d89428bb844af999bfb098d74b80565fb4aac091ab22864736f6c634300060b0033", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/packages/lib-ethers/live/MockBalanceRedirectPresale.json b/packages/lib-ethers/live/MockBalanceRedirectPresale.json new file mode 100644 index 000000000..aa028ca47 --- /dev/null +++ b/packages/lib-ethers/live/MockBalanceRedirectPresale.json @@ -0,0 +1,38 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "MockBalanceRedirectPresale", + "sourceName": "contracts/TestContracts/MockBalanceRedirectPresale.sol", + "abi": [ + { + "inputs": [], + "name": "closePresale", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "isClosed", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "openPresale", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "bytecode": "0x608060405234801561001057600080fd5b5060c38061001f6000396000f3fe6080604052348015600f57600080fd5b5060043610603c5760003560e01c806363cea4501460415780638dd98312146049578063c2b6b58c14604f575b600080fd5b60476069565b005b60476078565b60556084565b604080519115158252519081900360200190f35b6000805460ff19166001179055565b6000805460ff19169055565b60005460ff168156fea2646970667358221220fc2bed8e7b2d3230624b64c8532ad1cf8f5f34c5745b0b66bc2692d7c887c09e64736f6c634300060b0033", + "deployedBytecode": "0x6080604052348015600f57600080fd5b5060043610603c5760003560e01c806363cea4501460415780638dd98312146049578063c2b6b58c14604f575b600080fd5b60476069565b005b60476078565b60556084565b604080519115158252519081900360200190f35b6000805460ff19166001179055565b6000805460ff19169055565b60005460ff168156fea2646970667358221220fc2bed8e7b2d3230624b64c8532ad1cf8f5f34c5745b0b66bc2692d7c887c09e64736f6c634300060b0033", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/packages/lib-ethers/live/MockFeeSharingCollector.json b/packages/lib-ethers/live/MockFeeSharingCollector.json new file mode 100644 index 000000000..e8422cd11 --- /dev/null +++ b/packages/lib-ethers/live/MockFeeSharingCollector.json @@ -0,0 +1,36 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "MockFeeSharingCollector", + "sourceName": "contracts/TestContracts/MockFeeSharingCollector.sol", + "abi": [ + { + "inputs": [], + "name": "transferRBTC", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_token", + "type": "address" + }, + { + "internalType": "uint96", + "name": "_amount", + "type": "uint96" + } + ], + "name": "transferTokens", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "bytecode": "0x608060405234801561001057600080fd5b50610133806100206000396000f3fe60806040526004361060265760003560e01c806322a6fd9514602b578063abe979e1146033575b600080fd5b60316071565b005b348015603e57600080fd5b50603160048036036040811015605357600080fd5b5080356001600160a01b031690602001356001600160601b03166073565b565b604080516323b872dd60e01b81523360048201523060248201526001600160601b038316604482015290516001600160a01b038416916323b872dd9160648083019260209291908290030181600087803b15801560cf57600080fd5b505af115801560e2573d6000803e3d6000fd5b505050506040513d602081101560f757600080fd5b5050505056fea264697066735822122041a1eaed9e2b9a6021fa30c8a9c2e6c66891d8d249f2880ec0bd4039146658fa64736f6c634300060b0033", + "deployedBytecode": "0x60806040526004361060265760003560e01c806322a6fd9514602b578063abe979e1146033575b600080fd5b60316071565b005b348015603e57600080fd5b50603160048036036040811015605357600080fd5b5080356001600160a01b031690602001356001600160601b03166073565b565b604080516323b872dd60e01b81523360048201523060248201526001600160601b038316604482015290516001600160a01b038416916323b872dd9160648083019260209291908290030181600087803b15801560cf57600080fd5b505af115801560e2573d6000803e3d6000fd5b505050506040513d602081101560f757600080fd5b5050505056fea264697066735822122041a1eaed9e2b9a6021fa30c8a9c2e6c66891d8d249f2880ec0bd4039146658fa64736f6c634300060b0033", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/packages/lib-ethers/live/MockIFeeSharingCollector.json b/packages/lib-ethers/live/MockIFeeSharingCollector.json new file mode 100644 index 000000000..29a3ea3a1 --- /dev/null +++ b/packages/lib-ethers/live/MockIFeeSharingCollector.json @@ -0,0 +1,29 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "MockIFeeSharingCollector", + "sourceName": "contracts/TestContracts/MockFeeSharingCollector.sol", + "abi": [ + { + "inputs": [ + { + "internalType": "address", + "name": "_token", + "type": "address" + }, + { + "internalType": "uint96", + "name": "_amount", + "type": "uint96" + } + ], + "name": "transferTokens", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "bytecode": "0x", + "deployedBytecode": "0x", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/packages/lib-ethers/live/MockTellor.json b/packages/lib-ethers/live/MockTellor.json deleted file mode 100644 index ec9bb866c..000000000 --- a/packages/lib-ethers/live/MockTellor.json +++ /dev/null @@ -1,124 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "MockTellor", - "sourceName": "contracts/TestContracts/MockTellor.sol", - "abi": [ - { - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "getNewValueCountbyRequestId", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "getTimestampbyRequestIDandIndex", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "retrieveData", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bool", - "name": "_didRetrieve", - "type": "bool" - } - ], - "name": "setDidRetrieve", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_price", - "type": "uint256" - } - ], - "name": "setPrice", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "setRevertRequest", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_updateTime", - "type": "uint256" - } - ], - "name": "setUpdateTime", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": "0x60806040526000805460ff1916600117905534801561001d57600080fd5b5061021e8061002d6000396000f3fe608060405234801561001057600080fd5b506004361061006d5760003560e01c80632fc0eb851461007257806346eee1c41461007c57806377fbb663146100ab57806391b7f5ed146100ce57806393fa4915146100eb578063bf73eea61461010e578063c49548571461012b575b600080fd5b61007a61014a565b005b6100996004803603602081101561009257600080fd5b503561015e565b60408051918252519081900360200190f35b610099600480360360408110156100c157600080fd5b50803590602001356101bb565b61007a600480360360208110156100e457600080fd5b50356101c3565b6100996004803603604081101561010157600080fd5b50803590602001356101c8565b61007a6004803603602081101561012457600080fd5b50356101d0565b61007a6004803603602081101561014157600080fd5b503515156101d5565b6003805460ff19811660ff90911615179055565b60035460009060ff16156101b3576040805162461bcd60e51b815260206004820152601760248201527615195b1b1bdc881c995c5d595cdd081c995d995c9d1959604a1b604482015290519081900360640190fd5b506001919050565b505060025490565b600155565b505060015490565b600255565b6000805460ff191691151591909117905556fea264697066735822122088ad2c0544643d2ba8d0d1bcb6d750c22119dc1fa5b5e10551f1a4103f78fed564736f6c634300060b0033", - "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061006d5760003560e01c80632fc0eb851461007257806346eee1c41461007c57806377fbb663146100ab57806391b7f5ed146100ce57806393fa4915146100eb578063bf73eea61461010e578063c49548571461012b575b600080fd5b61007a61014a565b005b6100996004803603602081101561009257600080fd5b503561015e565b60408051918252519081900360200190f35b610099600480360360408110156100c157600080fd5b50803590602001356101bb565b61007a600480360360208110156100e457600080fd5b50356101c3565b6100996004803603604081101561010157600080fd5b50803590602001356101c8565b61007a6004803603602081101561012457600080fd5b50356101d0565b61007a6004803603602081101561014157600080fd5b503515156101d5565b6003805460ff19811660ff90911615179055565b60035460009060ff16156101b3576040805162461bcd60e51b815260206004820152601760248201527615195b1b1bdc881c995c5d595cdd081c995d995c9d1959604a1b604482015290519081900360640190fd5b506001919050565b505060025490565b600155565b505060015490565b600255565b6000805460ff191691151591909117905556fea264697066735822122088ad2c0544643d2ba8d0d1bcb6d750c22119dc1fa5b5e10551f1a4103f78fed564736f6c634300060b0033", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/packages/lib-ethers/live/MultiTroveGetter.json b/packages/lib-ethers/live/MultiTroveGetter.json index a3ae653fe..f288fb24d 100644 --- a/packages/lib-ethers/live/MultiTroveGetter.json +++ b/packages/lib-ethers/live/MultiTroveGetter.json @@ -4,20 +4,23 @@ "sourceName": "contracts/MultiTroveGetter.sol", "abi": [ { + "anonymous": false, "inputs": [ { - "internalType": "contract TroveManager", - "name": "_troveManager", + "indexed": true, + "internalType": "address", + "name": "previousOwner", "type": "address" }, { - "internalType": "contract ISortedTroves", - "name": "_sortedTroves", + "indexed": true, + "internalType": "address", + "name": "newOwner", "type": "address" } ], - "stateMutability": "nonpayable", - "type": "constructor" + "name": "OwnershipTransferred", + "type": "event" }, { "inputs": [ @@ -63,7 +66,7 @@ }, { "internalType": "uint256", - "name": "snapshotLUSDDebt", + "name": "snapshotZUSDDebt", "type": "uint256" } ], @@ -75,6 +78,50 @@ "stateMutability": "view", "type": "function" }, + { + "inputs": [], + "name": "getOwner", + "outputs": [ + { + "internalType": "address", + "name": "_owner", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "contract TroveManager", + "name": "_troveManager", + "type": "address" + }, + { + "internalType": "contract ISortedTroves", + "name": "_sortedTroves", + "type": "address" + } + ], + "name": "setAddresses", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_owner", + "type": "address" + } + ], + "name": "setOwner", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, { "inputs": [], "name": "sortedTroves", @@ -102,8 +149,8 @@ "type": "function" } ], - "bytecode": "0x608060405234801561001057600080fd5b50604051610bf6380380610bf683398101604081905261002f91610060565b600080546001600160a01b039384166001600160a01b031991821617909155600180549290931691161790556100b1565b60008060408385031215610072578182fd5b825161007d81610099565b602084015190925061008e81610099565b809150509250929050565b6001600160a01b03811681146100ae57600080fd5b50565b610b36806100c06000396000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c80633d83908a14610046578063ae91875414610064578063b90bce451461006c575b600080fd5b61004e61008c565b60405161005b9190610a6d565b60405180910390f35b61004e61009b565b61007f61007a3660046109a0565b6100aa565b60405161005b9190610a81565b6000546001600160a01b031681565b6001546001600160a01b031681565b6060600080600085126100c2575083905060016100d0565b846001016000039150600090505b6001546040805163de8fa43160e01b815290516000926001600160a01b03169163de8fa431916004808301926020929190829003018186803b15801561011557600080fd5b505afa158015610129573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061014d91906109c1565b905080831061018f576040805160008082526020820190925290610187565b610174610933565b81526020019060019003908161016c5790505b5093506101c4565b8281038086111561019e578095505b82156101b5576101ae84876101cd565b94506101c2565b6101bf8487610584565b94505b505b50505092915050565b60606000600160009054906101000a90046001600160a01b03166001600160a01b0316631e2231436040518163ffffffff1660e01b815260040160206040518083038186803b15801561021f57600080fd5b505afa158015610233573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102579190610972565b905060005b848110156102ee5760015460405163765e015960e01b81526001600160a01b039091169063765e015990610294908590600401610a6d565b60206040518083038186803b1580156102ac57600080fd5b505afa1580156102c0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102e49190610972565b915060010161025c565b508267ffffffffffffffff8111801561030657600080fd5b5060405190808252806020026020018201604052801561034057816020015b61032d610933565b8152602001906001900390816103255790505b50915060005b8381101561057c578183828151811061035b57fe5b60209081029190910101516001600160a01b039182169052600054604051630ddec86760e31b8152911690636ef643389061039a908590600401610a6d565b60a06040518083038186803b1580156103b257600080fd5b505afa1580156103c6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103ea91906109fc565b9050508584815181106103f957fe5b602002602001015160200186858151811061041057fe5b602002602001015160400187868151811061042757fe5b60209081029190910101516060019290925291905252600054604051630b39e3cd60e11b81526001600160a01b0390911690631673c79a9061046d908590600401610a6d565b604080518083038186803b15801561048457600080fd5b505afa158015610498573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104bc91906109d9565b8483815181106104c857fe5b60200260200101516080018584815181106104df57fe5b602090810291909101015160a001919091525260015460405163765e015960e01b81526001600160a01b039091169063765e015990610522908590600401610a6d565b60206040518083038186803b15801561053a57600080fd5b505afa15801561054e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105729190610972565b9150600101610346565b505092915050565b60606000600160009054906101000a90046001600160a01b03166001600160a01b0316634d6228316040518163ffffffff1660e01b815260040160206040518083038186803b1580156105d657600080fd5b505afa1580156105ea573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061060e9190610972565b905060005b848110156106a557600154604051632dc9c0eb60e21b81526001600160a01b039091169063b72703ac9061064b908590600401610a6d565b60206040518083038186803b15801561066357600080fd5b505afa158015610677573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061069b9190610972565b9150600101610613565b508267ffffffffffffffff811180156106bd57600080fd5b506040519080825280602002602001820160405280156106f757816020015b6106e4610933565b8152602001906001900390816106dc5790505b50915060005b8381101561057c578183828151811061071257fe5b60209081029190910101516001600160a01b039182169052600054604051630ddec86760e31b8152911690636ef6433890610751908590600401610a6d565b60a06040518083038186803b15801561076957600080fd5b505afa15801561077d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107a191906109fc565b9050508584815181106107b057fe5b60200260200101516020018685815181106107c757fe5b60200260200101516040018786815181106107de57fe5b60209081029190910101516060019290925291905252600054604051630b39e3cd60e11b81526001600160a01b0390911690631673c79a90610824908590600401610a6d565b604080518083038186803b15801561083b57600080fd5b505afa15801561084f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061087391906109d9565b84838151811061087f57fe5b602002602001015160800185848151811061089657fe5b602090810291909101015160a0019190915252600154604051632dc9c0eb60e21b81526001600160a01b039091169063b72703ac906108d9908590600401610a6d565b60206040518083038186803b1580156108f157600080fd5b505afa158015610905573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109299190610972565b91506001016106fd565b6040518060c0016040528060006001600160a01b0316815260200160008152602001600081526020016000815260200160008152602001600081525090565b600060208284031215610983578081fd5b81516001600160a01b0381168114610999578182fd5b9392505050565b600080604083850312156109b2578081fd5b50508035926020909101359150565b6000602082840312156109d2578081fd5b5051919050565b600080604083850312156109eb578182fd5b505080516020909101519092909150565b600080600080600060a08688031215610a13578081fd5b855194506020860151935060408601519250606086015160058110610a36578182fd5b60808701519092506001600160801b0381168114610a52578182fd5b809150509295509295909350565b6001600160a01b03169052565b6001600160a01b0391909116815260200190565b602080825282518282018190526000919060409081850190868401855b82811015610af3578151610ab3858251610a60565b80870151858801528581015186860152606080820151908601526080808201519086015260a0908101519085015260c09093019290850190600101610a9e565b509197965050505050505056fea26469706673582212200608ed7182ee992be9bf7b08949fbf319c9af4c39af2e92a7cc70cbef3382f6464736f6c634300060b0033", - "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100415760003560e01c80633d83908a14610046578063ae91875414610064578063b90bce451461006c575b600080fd5b61004e61008c565b60405161005b9190610a6d565b60405180910390f35b61004e61009b565b61007f61007a3660046109a0565b6100aa565b60405161005b9190610a81565b6000546001600160a01b031681565b6001546001600160a01b031681565b6060600080600085126100c2575083905060016100d0565b846001016000039150600090505b6001546040805163de8fa43160e01b815290516000926001600160a01b03169163de8fa431916004808301926020929190829003018186803b15801561011557600080fd5b505afa158015610129573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061014d91906109c1565b905080831061018f576040805160008082526020820190925290610187565b610174610933565b81526020019060019003908161016c5790505b5093506101c4565b8281038086111561019e578095505b82156101b5576101ae84876101cd565b94506101c2565b6101bf8487610584565b94505b505b50505092915050565b60606000600160009054906101000a90046001600160a01b03166001600160a01b0316631e2231436040518163ffffffff1660e01b815260040160206040518083038186803b15801561021f57600080fd5b505afa158015610233573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102579190610972565b905060005b848110156102ee5760015460405163765e015960e01b81526001600160a01b039091169063765e015990610294908590600401610a6d565b60206040518083038186803b1580156102ac57600080fd5b505afa1580156102c0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102e49190610972565b915060010161025c565b508267ffffffffffffffff8111801561030657600080fd5b5060405190808252806020026020018201604052801561034057816020015b61032d610933565b8152602001906001900390816103255790505b50915060005b8381101561057c578183828151811061035b57fe5b60209081029190910101516001600160a01b039182169052600054604051630ddec86760e31b8152911690636ef643389061039a908590600401610a6d565b60a06040518083038186803b1580156103b257600080fd5b505afa1580156103c6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103ea91906109fc565b9050508584815181106103f957fe5b602002602001015160200186858151811061041057fe5b602002602001015160400187868151811061042757fe5b60209081029190910101516060019290925291905252600054604051630b39e3cd60e11b81526001600160a01b0390911690631673c79a9061046d908590600401610a6d565b604080518083038186803b15801561048457600080fd5b505afa158015610498573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104bc91906109d9565b8483815181106104c857fe5b60200260200101516080018584815181106104df57fe5b602090810291909101015160a001919091525260015460405163765e015960e01b81526001600160a01b039091169063765e015990610522908590600401610a6d565b60206040518083038186803b15801561053a57600080fd5b505afa15801561054e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105729190610972565b9150600101610346565b505092915050565b60606000600160009054906101000a90046001600160a01b03166001600160a01b0316634d6228316040518163ffffffff1660e01b815260040160206040518083038186803b1580156105d657600080fd5b505afa1580156105ea573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061060e9190610972565b905060005b848110156106a557600154604051632dc9c0eb60e21b81526001600160a01b039091169063b72703ac9061064b908590600401610a6d565b60206040518083038186803b15801561066357600080fd5b505afa158015610677573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061069b9190610972565b9150600101610613565b508267ffffffffffffffff811180156106bd57600080fd5b506040519080825280602002602001820160405280156106f757816020015b6106e4610933565b8152602001906001900390816106dc5790505b50915060005b8381101561057c578183828151811061071257fe5b60209081029190910101516001600160a01b039182169052600054604051630ddec86760e31b8152911690636ef6433890610751908590600401610a6d565b60a06040518083038186803b15801561076957600080fd5b505afa15801561077d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107a191906109fc565b9050508584815181106107b057fe5b60200260200101516020018685815181106107c757fe5b60200260200101516040018786815181106107de57fe5b60209081029190910101516060019290925291905252600054604051630b39e3cd60e11b81526001600160a01b0390911690631673c79a90610824908590600401610a6d565b604080518083038186803b15801561083b57600080fd5b505afa15801561084f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061087391906109d9565b84838151811061087f57fe5b602002602001015160800185848151811061089657fe5b602090810291909101015160a0019190915252600154604051632dc9c0eb60e21b81526001600160a01b039091169063b72703ac906108d9908590600401610a6d565b60206040518083038186803b1580156108f157600080fd5b505afa158015610905573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109299190610972565b91506001016106fd565b6040518060c0016040528060006001600160a01b0316815260200160008152602001600081526020016000815260200160008152602001600081525090565b600060208284031215610983578081fd5b81516001600160a01b0381168114610999578182fd5b9392505050565b600080604083850312156109b2578081fd5b50508035926020909101359150565b6000602082840312156109d2578081fd5b5051919050565b600080604083850312156109eb578182fd5b505080516020909101519092909150565b600080600080600060a08688031215610a13578081fd5b855194506020860151935060408601519250606086015160058110610a36578182fd5b60808701519092506001600160801b0381168114610a52578182fd5b809150509295509295909350565b6001600160a01b03169052565b6001600160a01b0391909116815260200190565b602080825282518282018190526000919060409081850190868401855b82811015610af3578151610ab3858251610a60565b80870151858801528581015186860152606080820151908601526080808201519086015260a0908101519085015260c09093019290850190600101610a9e565b509197965050505050505056fea26469706673582212200608ed7182ee992be9bf7b08949fbf319c9af4c39af2e92a7cc70cbef3382f6464736f6c634300060b0033", + "bytecode": "0x608060405234801561001057600080fd5b50610023336001600160e01b0361002816565b610143565b6001600160a01b0381166100575760405162461bcd60e51b815260040161004e90610101565b60405180910390fd5b6001600160a01b0381166100726001600160e01b036100c516565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360006040516100b5906100e4565b6040519081900390209190915550565b6000806040516100d4906100e4565b6040519081900390205492915050565b7035b2bc9737bbb730b136329737bbb732b960791b815260110190565b60208082526022908201527f4f776e61626c653a3a7365744f776e65723a20696e76616c6964206164647265604082015261737360f01b606082015260800190565b610dc7806101526000396000f3fe608060405234801561001057600080fd5b50600436106100625760003560e01c806313af4035146100675780633d83908a1461007c578063893d20e81461009a57806390107afe146100a2578063ae918754146100b5578063b90bce45146100bd575b600080fd5b61007a610075366004610b20565b6100dd565b005b61008461012a565b6040516100919190610c74565b60405180910390f35b610084610139565b61007a6100b0366004610b5f565b610158565b6100846101be565b6100d06100cb366004610b97565b6101cd565b6040516100919190610c88565b6100e5610139565b6001600160a01b0316336001600160a01b03161461011e5760405162461bcd60e51b815260040161011590610d4b565b60405180910390fd5b610127816102f0565b50565b6000546001600160a01b031681565b60008060405161014890610c57565b6040519081900390205492915050565b610160610139565b6001600160a01b0316336001600160a01b0316146101905760405162461bcd60e51b815260040161011590610d4b565b600080546001600160a01b039384166001600160a01b03199182161790915560018054929093169116179055565b6001546001600160a01b031681565b6060600080600085126101e5575083905060016101f3565b846001016000039150600090505b6001546040805163de8fa43160e01b815290516000926001600160a01b03169163de8fa431916004808301926020929190829003018186803b15801561023857600080fd5b505afa15801561024c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102709190610bb8565b90508083106102b25760408051600080825260208201909252906102aa565b610297610ae1565b81526020019060019003908161028f5790505b5093506102e7565b828103808611156102c1578095505b82156102d8576102d1848761037b565b94506102e5565b6102e28487610732565b94505b505b50505092915050565b6001600160a01b0381166103165760405162461bcd60e51b815260040161011590610d09565b806001600160a01b0316610328610139565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3600060405161036b90610c57565b6040519081900390209190915550565b60606000600160009054906101000a90046001600160a01b03166001600160a01b0316631e2231436040518163ffffffff1660e01b815260040160206040518083038186803b1580156103cd57600080fd5b505afa1580156103e1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104059190610b43565b905060005b8481101561049c5760015460405163765e015960e01b81526001600160a01b039091169063765e015990610442908590600401610c74565b60206040518083038186803b15801561045a57600080fd5b505afa15801561046e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104929190610b43565b915060010161040a565b508267ffffffffffffffff811180156104b457600080fd5b506040519080825280602002602001820160405280156104ee57816020015b6104db610ae1565b8152602001906001900390816104d35790505b50915060005b8381101561072a578183828151811061050957fe5b60209081029190910101516001600160a01b039182169052600054604051630ddec86760e31b8152911690636ef6433890610548908590600401610c74565b60a06040518083038186803b15801561056057600080fd5b505afa158015610574573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105989190610bf3565b9050508584815181106105a757fe5b60200260200101516020018685815181106105be57fe5b60200260200101516040018786815181106105d557fe5b60209081029190910101516060019290925291905252600054604051630b39e3cd60e11b81526001600160a01b0390911690631673c79a9061061b908590600401610c74565b604080518083038186803b15801561063257600080fd5b505afa158015610646573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061066a9190610bd0565b84838151811061067657fe5b602002602001015160800185848151811061068d57fe5b602090810291909101015160a001919091525260015460405163765e015960e01b81526001600160a01b039091169063765e0159906106d0908590600401610c74565b60206040518083038186803b1580156106e857600080fd5b505afa1580156106fc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107209190610b43565b91506001016104f4565b505092915050565b60606000600160009054906101000a90046001600160a01b03166001600160a01b0316634d6228316040518163ffffffff1660e01b815260040160206040518083038186803b15801561078457600080fd5b505afa158015610798573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107bc9190610b43565b905060005b8481101561085357600154604051632dc9c0eb60e21b81526001600160a01b039091169063b72703ac906107f9908590600401610c74565b60206040518083038186803b15801561081157600080fd5b505afa158015610825573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108499190610b43565b91506001016107c1565b508267ffffffffffffffff8111801561086b57600080fd5b506040519080825280602002602001820160405280156108a557816020015b610892610ae1565b81526020019060019003908161088a5790505b50915060005b8381101561072a57818382815181106108c057fe5b60209081029190910101516001600160a01b039182169052600054604051630ddec86760e31b8152911690636ef64338906108ff908590600401610c74565b60a06040518083038186803b15801561091757600080fd5b505afa15801561092b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061094f9190610bf3565b90505085848151811061095e57fe5b602002602001015160200186858151811061097557fe5b602002602001015160400187868151811061098c57fe5b60209081029190910101516060019290925291905252600054604051630b39e3cd60e11b81526001600160a01b0390911690631673c79a906109d2908590600401610c74565b604080518083038186803b1580156109e957600080fd5b505afa1580156109fd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a219190610bd0565b848381518110610a2d57fe5b6020026020010151608001858481518110610a4457fe5b602090810291909101015160a0019190915252600154604051632dc9c0eb60e21b81526001600160a01b039091169063b72703ac90610a87908590600401610c74565b60206040518083038186803b158015610a9f57600080fd5b505afa158015610ab3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ad79190610b43565b91506001016108ab565b6040518060c0016040528060006001600160a01b0316815260200160008152602001600081526020016000815260200160008152602001600081525090565b600060208284031215610b31578081fd5b8135610b3c81610d7c565b9392505050565b600060208284031215610b54578081fd5b8151610b3c81610d7c565b60008060408385031215610b71578081fd5b8235610b7c81610d7c565b91506020830135610b8c81610d7c565b809150509250929050565b60008060408385031215610ba9578182fd5b50508035926020909101359150565b600060208284031215610bc9578081fd5b5051919050565b60008060408385031215610be2578182fd5b505080516020909101519092909150565b600080600080600060a08688031215610c0a578081fd5b855194506020860151935060408601519250606086015160058110610c2d578182fd5b60808701519092506001600160801b0381168114610c49578182fd5b809150509295509295909350565b7035b2bc9737bbb730b136329737bbb732b960791b815260110190565b6001600160a01b0391909116815260200190565b602080825282518282018190526000919060409081850190868401855b82811015610cfc57815180516001600160a01b0316855286810151878601528581015186860152606080820151908601526080808201519086015260a0908101519085015260c09093019290850190600101610ca5565b5091979650505050505050565b60208082526022908201527f4f776e61626c653a3a7365744f776e65723a20696e76616c6964206164647265604082015261737360f01b606082015260800190565b60208082526017908201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604082015260600190565b6001600160a01b038116811461012757600080fdfea2646970667358221220659f4dc0a25b28f8b8a559e447b60b3ff6f5f3d8084d3627ee2f90efdfe1a25864736f6c634300060b0033", + "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100625760003560e01c806313af4035146100675780633d83908a1461007c578063893d20e81461009a57806390107afe146100a2578063ae918754146100b5578063b90bce45146100bd575b600080fd5b61007a610075366004610b20565b6100dd565b005b61008461012a565b6040516100919190610c74565b60405180910390f35b610084610139565b61007a6100b0366004610b5f565b610158565b6100846101be565b6100d06100cb366004610b97565b6101cd565b6040516100919190610c88565b6100e5610139565b6001600160a01b0316336001600160a01b03161461011e5760405162461bcd60e51b815260040161011590610d4b565b60405180910390fd5b610127816102f0565b50565b6000546001600160a01b031681565b60008060405161014890610c57565b6040519081900390205492915050565b610160610139565b6001600160a01b0316336001600160a01b0316146101905760405162461bcd60e51b815260040161011590610d4b565b600080546001600160a01b039384166001600160a01b03199182161790915560018054929093169116179055565b6001546001600160a01b031681565b6060600080600085126101e5575083905060016101f3565b846001016000039150600090505b6001546040805163de8fa43160e01b815290516000926001600160a01b03169163de8fa431916004808301926020929190829003018186803b15801561023857600080fd5b505afa15801561024c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102709190610bb8565b90508083106102b25760408051600080825260208201909252906102aa565b610297610ae1565b81526020019060019003908161028f5790505b5093506102e7565b828103808611156102c1578095505b82156102d8576102d1848761037b565b94506102e5565b6102e28487610732565b94505b505b50505092915050565b6001600160a01b0381166103165760405162461bcd60e51b815260040161011590610d09565b806001600160a01b0316610328610139565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3600060405161036b90610c57565b6040519081900390209190915550565b60606000600160009054906101000a90046001600160a01b03166001600160a01b0316631e2231436040518163ffffffff1660e01b815260040160206040518083038186803b1580156103cd57600080fd5b505afa1580156103e1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104059190610b43565b905060005b8481101561049c5760015460405163765e015960e01b81526001600160a01b039091169063765e015990610442908590600401610c74565b60206040518083038186803b15801561045a57600080fd5b505afa15801561046e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104929190610b43565b915060010161040a565b508267ffffffffffffffff811180156104b457600080fd5b506040519080825280602002602001820160405280156104ee57816020015b6104db610ae1565b8152602001906001900390816104d35790505b50915060005b8381101561072a578183828151811061050957fe5b60209081029190910101516001600160a01b039182169052600054604051630ddec86760e31b8152911690636ef6433890610548908590600401610c74565b60a06040518083038186803b15801561056057600080fd5b505afa158015610574573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105989190610bf3565b9050508584815181106105a757fe5b60200260200101516020018685815181106105be57fe5b60200260200101516040018786815181106105d557fe5b60209081029190910101516060019290925291905252600054604051630b39e3cd60e11b81526001600160a01b0390911690631673c79a9061061b908590600401610c74565b604080518083038186803b15801561063257600080fd5b505afa158015610646573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061066a9190610bd0565b84838151811061067657fe5b602002602001015160800185848151811061068d57fe5b602090810291909101015160a001919091525260015460405163765e015960e01b81526001600160a01b039091169063765e0159906106d0908590600401610c74565b60206040518083038186803b1580156106e857600080fd5b505afa1580156106fc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107209190610b43565b91506001016104f4565b505092915050565b60606000600160009054906101000a90046001600160a01b03166001600160a01b0316634d6228316040518163ffffffff1660e01b815260040160206040518083038186803b15801561078457600080fd5b505afa158015610798573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107bc9190610b43565b905060005b8481101561085357600154604051632dc9c0eb60e21b81526001600160a01b039091169063b72703ac906107f9908590600401610c74565b60206040518083038186803b15801561081157600080fd5b505afa158015610825573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108499190610b43565b91506001016107c1565b508267ffffffffffffffff8111801561086b57600080fd5b506040519080825280602002602001820160405280156108a557816020015b610892610ae1565b81526020019060019003908161088a5790505b50915060005b8381101561072a57818382815181106108c057fe5b60209081029190910101516001600160a01b039182169052600054604051630ddec86760e31b8152911690636ef64338906108ff908590600401610c74565b60a06040518083038186803b15801561091757600080fd5b505afa15801561092b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061094f9190610bf3565b90505085848151811061095e57fe5b602002602001015160200186858151811061097557fe5b602002602001015160400187868151811061098c57fe5b60209081029190910101516060019290925291905252600054604051630b39e3cd60e11b81526001600160a01b0390911690631673c79a906109d2908590600401610c74565b604080518083038186803b1580156109e957600080fd5b505afa1580156109fd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a219190610bd0565b848381518110610a2d57fe5b6020026020010151608001858481518110610a4457fe5b602090810291909101015160a0019190915252600154604051632dc9c0eb60e21b81526001600160a01b039091169063b72703ac90610a87908590600401610c74565b60206040518083038186803b158015610a9f57600080fd5b505afa158015610ab3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ad79190610b43565b91506001016108ab565b6040518060c0016040528060006001600160a01b0316815260200160008152602001600081526020016000815260200160008152602001600081525090565b600060208284031215610b31578081fd5b8135610b3c81610d7c565b9392505050565b600060208284031215610b54578081fd5b8151610b3c81610d7c565b60008060408385031215610b71578081fd5b8235610b7c81610d7c565b91506020830135610b8c81610d7c565b809150509250929050565b60008060408385031215610ba9578182fd5b50508035926020909101359150565b600060208284031215610bc9578081fd5b5051919050565b60008060408385031215610be2578182fd5b505080516020909101519092909150565b600080600080600060a08688031215610c0a578081fd5b855194506020860151935060408601519250606086015160058110610c2d578182fd5b60808701519092506001600160801b0381168114610c49578182fd5b809150509295509295909350565b7035b2bc9737bbb730b136329737bbb732b960791b815260110190565b6001600160a01b0391909116815260200190565b602080825282518282018190526000919060409081850190868401855b82811015610cfc57815180516001600160a01b0316855286810151878601528581015186860152606080820151908601526080808201519086015260a0908101519085015260c09093019290850190600101610ca5565b5091979650505050505050565b60208082526022908201527f4f776e61626c653a3a7365744f776e65723a20696e76616c6964206164647265604082015261737360f01b606082015260800190565b60208082526017908201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604082015260600190565b6001600160a01b038116811461012757600080fdfea2646970667358221220659f4dc0a25b28f8b8a559e447b60b3ff6f5f3d8084d3627ee2f90efdfe1a25864736f6c634300060b0033", "linkReferences": {}, "deployedLinkReferences": {} } diff --git a/packages/lib-ethers/live/MultiTroveGetterStorage.json b/packages/lib-ethers/live/MultiTroveGetterStorage.json new file mode 100644 index 000000000..b19af0263 --- /dev/null +++ b/packages/lib-ethers/live/MultiTroveGetterStorage.json @@ -0,0 +1,82 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "MultiTroveGetterStorage", + "sourceName": "contracts/MultiTroveGetterStorage.sol", + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousOwner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnershipTransferred", + "type": "event" + }, + { + "inputs": [], + "name": "getOwner", + "outputs": [ + { + "internalType": "address", + "name": "_owner", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_owner", + "type": "address" + } + ], + "name": "setOwner", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "sortedTroves", + "outputs": [ + { + "internalType": "contract ISortedTroves", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "troveManager", + "outputs": [ + { + "internalType": "contract TroveManager", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + } + ], + "bytecode": "0x608060405234801561001057600080fd5b50610023336001600160e01b0361002816565b610110565b6001600160a01b03811661006d5760405162461bcd60e51b81526004018080602001828103825260228152602001806103946022913960400191505060405180910390fd5b6001600160a01b0381166100886001600160e01b036100e616565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3604080517035b2bc9737bbb730b136329737bbb732b960791b8152905190819003601101902055565b604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205490565b6102758061011f6000396000f3fe608060405234801561001057600080fd5b506004361061004c5760003560e01c806313af4035146100515780633d83908a14610079578063893d20e81461009d578063ae918754146100a5575b600080fd5b6100776004803603602081101561006757600080fd5b50356001600160a01b03166100ad565b005b610081610120565b604080516001600160a01b039092168252519081900360200190f35b61008161012f565b610081610159565b6100b561012f565b6001600160a01b0316336001600160a01b031614610114576040805162461bcd60e51b815260206004820152601760248201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604482015290519081900360640190fd5b61011d81610168565b50565b6000546001600160a01b031681565b604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205490565b6001546001600160a01b031681565b6001600160a01b0381166101ad5760405162461bcd60e51b815260040180806020018281038252602281526020018061021e6022913960400191505060405180910390fd5b806001600160a01b03166101bf61012f565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205556fe4f776e61626c653a3a7365744f776e65723a20696e76616c69642061646472657373a2646970667358221220157adbe3ddac271693837b0122f5ab220db6b3025fbfd145087db45a59f4be4d64736f6c634300060b00334f776e61626c653a3a7365744f776e65723a20696e76616c69642061646472657373", + "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061004c5760003560e01c806313af4035146100515780633d83908a14610079578063893d20e81461009d578063ae918754146100a5575b600080fd5b6100776004803603602081101561006757600080fd5b50356001600160a01b03166100ad565b005b610081610120565b604080516001600160a01b039092168252519081900360200190f35b61008161012f565b610081610159565b6100b561012f565b6001600160a01b0316336001600160a01b031614610114576040805162461bcd60e51b815260206004820152601760248201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604482015290519081900360640190fd5b61011d81610168565b50565b6000546001600160a01b031681565b604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205490565b6001546001600160a01b031681565b6001600160a01b0381166101ad5760405162461bcd60e51b815260040180806020018281038252602281526020018061021e6022913960400191505060405180910390fd5b806001600160a01b03166101bf61012f565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205556fe4f776e61626c653a3a7365744f776e65723a20696e76616c69642061646472657373a2646970667358221220157adbe3ddac271693837b0122f5ab220db6b3025fbfd145087db45a59f4be4d64736f6c634300060b0033", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/packages/lib-ethers/live/MyntLib.json b/packages/lib-ethers/live/MyntLib.json new file mode 100644 index 000000000..90d53d2bb --- /dev/null +++ b/packages/lib-ethers/live/MyntLib.json @@ -0,0 +1,10 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "MyntLib", + "sourceName": "contracts/Dependencies/Mynt/MyntLib.sol", + "abi": [], + "bytecode": "0x60566023600b82828239805160001a607314601657fe5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea264697066735822122080306348875b87a5d5ac8904b635a118e4584820b315ddc8df2bf1591d0555fd64736f6c634300060b0033", + "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea264697066735822122080306348875b87a5d5ac8904b635a118e4584820b315ddc8df2bf1591d0555fd64736f6c634300060b0033", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/packages/lib-ethers/live/NonPayable.json b/packages/lib-ethers/live/NonPayable.json index 3e651e5d3..93e693383 100644 --- a/packages/lib-ethers/live/NonPayable.json +++ b/packages/lib-ethers/live/NonPayable.json @@ -39,8 +39,8 @@ "type": "receive" } ], - "bytecode": "0x608060405234801561001057600080fd5b5061023c806100206000396000f3fe60806040526004361061002d5760003560e01c80636fadcf7214610048578063f124a300146100c857610043565b366100435760005460ff1661004157600080fd5b005b600080fd5b6100416004803603604081101561005e57600080fd5b6001600160a01b03823516919081019060408101602082013564010000000081111561008957600080fd5b82018360208201111561009b57600080fd5b803590602001918460018302840111640100000000831117156100bd57600080fd5b5090925090506100f4565b3480156100d457600080fd5b50610041600480360360208110156100eb57600080fd5b503515156101f3565b60006060846001600160a01b0316348585604051808383808284376040519201945060009350909150508083038185875af1925050503d8060008114610156576040519150601f19603f3d011682016040523d82523d6000602084013e61015b565b606091505b50915091508181906101eb5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156101b0578181015183820152602001610198565b50505050905090810190601f1680156101dd5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050505050565b6000805460ff191691151591909117905556fea2646970667358221220bc1d5e25f416353cd88608bd4d916d99bd8c83bc14eb11c1440a0c3bcce05b8564736f6c634300060b0033", - "deployedBytecode": "0x60806040526004361061002d5760003560e01c80636fadcf7214610048578063f124a300146100c857610043565b366100435760005460ff1661004157600080fd5b005b600080fd5b6100416004803603604081101561005e57600080fd5b6001600160a01b03823516919081019060408101602082013564010000000081111561008957600080fd5b82018360208201111561009b57600080fd5b803590602001918460018302840111640100000000831117156100bd57600080fd5b5090925090506100f4565b3480156100d457600080fd5b50610041600480360360208110156100eb57600080fd5b503515156101f3565b60006060846001600160a01b0316348585604051808383808284376040519201945060009350909150508083038185875af1925050503d8060008114610156576040519150601f19603f3d011682016040523d82523d6000602084013e61015b565b606091505b50915091508181906101eb5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156101b0578181015183820152602001610198565b50505050905090810190601f1680156101dd5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050505050565b6000805460ff191691151591909117905556fea2646970667358221220bc1d5e25f416353cd88608bd4d916d99bd8c83bc14eb11c1440a0c3bcce05b8564736f6c634300060b0033", + "bytecode": "0x608060405234801561001057600080fd5b5061023c806100206000396000f3fe60806040526004361061002d5760003560e01c80636fadcf7214610048578063f124a300146100c857610043565b366100435760005460ff1661004157600080fd5b005b600080fd5b6100416004803603604081101561005e57600080fd5b6001600160a01b03823516919081019060408101602082013564010000000081111561008957600080fd5b82018360208201111561009b57600080fd5b803590602001918460018302840111640100000000831117156100bd57600080fd5b5090925090506100f4565b3480156100d457600080fd5b50610041600480360360208110156100eb57600080fd5b503515156101f3565b60006060846001600160a01b0316348585604051808383808284376040519201945060009350909150508083038185875af1925050503d8060008114610156576040519150601f19603f3d011682016040523d82523d6000602084013e61015b565b606091505b50915091508181906101eb5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156101b0578181015183820152602001610198565b50505050905090810190601f1680156101dd5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050505050565b6000805460ff191691151591909117905556fea26469706673582212207fcdfa613abf37ee1d28ed912556686e915da4851ad1142cc60c3e5b9482b58764736f6c634300060b0033", + "deployedBytecode": "0x60806040526004361061002d5760003560e01c80636fadcf7214610048578063f124a300146100c857610043565b366100435760005460ff1661004157600080fd5b005b600080fd5b6100416004803603604081101561005e57600080fd5b6001600160a01b03823516919081019060408101602082013564010000000081111561008957600080fd5b82018360208201111561009b57600080fd5b803590602001918460018302840111640100000000831117156100bd57600080fd5b5090925090506100f4565b3480156100d457600080fd5b50610041600480360360208110156100eb57600080fd5b503515156101f3565b60006060846001600160a01b0316348585604051808383808284376040519201945060009350909150508083038185875af1925050503d8060008114610156576040519150601f19603f3d011682016040523d82523d6000602084013e61015b565b606091505b50915091508181906101eb5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156101b0578181015183820152602001610198565b50505050905090810190601f1680156101dd5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050505050565b6000805460ff191691151591909117905556fea26469706673582212207fcdfa613abf37ee1d28ed912556686e915da4851ad1142cc60c3e5b9482b58764736f6c634300060b0033", "linkReferences": {}, "deployedLinkReferences": {} } diff --git a/packages/lib-ethers/live/NueMockToken.json b/packages/lib-ethers/live/NueMockToken.json new file mode 100644 index 000000000..b74b169ec --- /dev/null +++ b/packages/lib-ethers/live/NueMockToken.json @@ -0,0 +1,498 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "NueMockToken", + "sourceName": "contracts/TestContracts/MassetManagerTester.sol", + "abi": [ + { + "inputs": [], + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "Approval", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousOwner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnershipTransferred", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "Transfer", + "type": "event" + }, + { + "inputs": [], + "name": "DOMAIN_SEPARATOR", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "address", + "name": "spender", + "type": "address" + } + ], + "name": "allowance", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "approve", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "balanceOf", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_account", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "burn", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "decimals", + "outputs": [ + { + "internalType": "uint8", + "name": "", + "type": "uint8" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "subtractedValue", + "type": "uint256" + } + ], + "name": "decreaseAllowance", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "getChainId", + "outputs": [ + { + "internalType": "uint256", + "name": "chainID", + "type": "uint256" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [], + "name": "getOwner", + "outputs": [ + { + "internalType": "address", + "name": "_owner", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "addedValue", + "type": "uint256" + } + ], + "name": "increaseAllowance", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_account", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "mint", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "name", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "name": "nonces", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "value", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "deadline", + "type": "uint256" + }, + { + "internalType": "uint8", + "name": "v", + "type": "uint8" + }, + { + "internalType": "bytes32", + "name": "r", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "s", + "type": "bytes32" + } + ], + "name": "permit", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_owner", + "type": "address" + } + ], + "name": "setOwner", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "symbol", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "totalSupply", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "recipient", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "transfer", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "sender", + "type": "address" + }, + { + "internalType": "address", + "name": "recipient", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "transferFrom", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_from", + "type": "address" + }, + { + "internalType": "address", + "name": "_to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_deadline", + "type": "uint256" + }, + { + "internalType": "uint8", + "name": "_v", + "type": "uint8" + }, + { + "internalType": "bytes32", + "name": "_r", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "_s", + "type": "bytes32" + } + ], + "name": "transferWithPermit", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "bytecode": "0x610140604081905280605262001a02823960405190819003605201902061012052503480156200002e57600080fd5b50604051806040016040528060078152602001664e75657374726f60c81b81525080604051806040016040528060018152602001603160f81b815250604051806040016040528060078152602001664e75657374726f60c81b815250604051806040016040528060038152602001624e554560e81b8152508160039080519060200190620000be929190620002c7565b508051620000d4906004906020840190620002c7565b50506005805460ff1916601217905550815160208084019190912082519183019190912060405160009080605262001a54823960405190819003605201902060c085905260e084905291506200013490506001600160e01b036200017616565b60a0526200014d8184846001600160e01b036200017a16565b6080526101005250620001709350339250506001600160e01b03620001db169050565b6200036c565b4690565b6000838383620001926001600160e01b036200017616565b6040805160208082019690965280820194909452606084019290925260808301523060a0808401919091528151808403909101815260c090920190528051910120949350505050565b6001600160a01b038116620002225760405162461bcd60e51b8152600401808060200182810382526022815260200180620019e06022913960400191505060405180910390fd5b6001600160a01b0381166200023f6001600160e01b036200029d16565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3604080517035b2bc9737bbb730b136329737bbb732b960791b8152905190819003601101902055565b604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205490565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200030a57805160ff19168380011785556200033a565b828001600101855582156200033a579182015b828111156200033a5782518255916020019190600101906200031d565b50620003489291506200034c565b5090565b6200036991905b8082111562000348576000815560010162000353565b90565b60805160a05160c05160e051610100516101205161162a620003b6600039806109aa525080610f00525080610f42525080610f21525080610ea7525080610ed7525061162a6000f3fe608060405234801561001057600080fd5b506004361061012c5760003560e01c8063605629d6116100ad5780639dc29fac116100715780639dc29fac146103b5578063a457c2d7146103e1578063a9059cbb1461040d578063d505accf14610439578063dd62ed3e1461048a5761012c565b8063605629d6146102ec57806370a082311461033d5780637ecebe0014610363578063893d20e81461038957806395d89b41146103ad5761012c565b8063313ce567116100f4578063313ce567146102665780633408e470146102845780633644e5151461028c578063395093511461029457806340c10f19146102c05761012c565b806306fdde0314610131578063095ea7b3146101ae57806313af4035146101ee57806318160ddd1461021657806323b872dd14610230575b600080fd5b6101396104b8565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561017357818101518382015260200161015b565b50505050905090810190601f1680156101a05780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101da600480360360408110156101c457600080fd5b506001600160a01b03813516906020013561054f565b604080519115158252519081900360200190f35b6102146004803603602081101561020457600080fd5b50356001600160a01b031661056c565b005b61021e6105df565b60408051918252519081900360200190f35b6101da6004803603606081101561024657600080fd5b506001600160a01b038135811691602081013590911690604001356105e5565b61026e610672565b6040805160ff9092168252519081900360200190f35b61021e61067b565b61021e61067f565b6101da600480360360408110156102aa57600080fd5b506001600160a01b03813516906020013561068e565b610214600480360360408110156102d657600080fd5b506001600160a01b0381351690602001356106e2565b610214600480360360e081101561030257600080fd5b506001600160a01b03813581169160208101359091169060408101359060608101359060ff6080820135169060a08101359060c00135610757565b61021e6004803603602081101561035357600080fd5b50356001600160a01b031661077b565b61021e6004803603602081101561037957600080fd5b50356001600160a01b0316610796565b6103916107bd565b604080516001600160a01b039092168252519081900360200190f35b6101396107e7565b610214600480360360408110156103cb57600080fd5b506001600160a01b038135169060200135610848565b6101da600480360360408110156103f757600080fd5b506001600160a01b0381351690602001356108b9565b6101da6004803603604081101561042357600080fd5b506001600160a01b038135169060200135610927565b610214600480360360e081101561044f57600080fd5b506001600160a01b03813581169160208101359091169060408101359060608101359060ff6080820135169060a08101359060c0013561093b565b61021e600480360360408110156104a057600080fd5b506001600160a01b0381358116916020013516610ae7565b60038054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156105445780601f1061051957610100808354040283529160200191610544565b820191906000526020600020905b81548152906001019060200180831161052757829003601f168201915b505050505090505b90565b600061056361055c610b12565b8484610b16565b50600192915050565b6105746107bd565b6001600160a01b0316336001600160a01b0316146105d3576040805162461bcd60e51b815260206004820152601760248201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604482015290519081900360640190fd5b6105dc81610c02565b50565b60025490565b60006105f2848484610cb7565b610668846105fe610b12565b6106638560405180606001604052806028815260200161151e602891396001600160a01b038a1660009081526001602052604081209061063c610b12565b6001600160a01b03168152602081019190915260400160002054919063ffffffff610e0c16565b610b16565b5060019392505050565b60055460ff1690565b4690565b6000610689610ea3565b905090565b600061056361069b610b12565b8461066385600160006106ac610b12565b6001600160a01b03908116825260208083019390935260409182016000908120918c16815292529020549063ffffffff610f6d16565b6106ea6107bd565b6001600160a01b0316336001600160a01b031614610749576040805162461bcd60e51b815260206004820152601760248201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604482015290519081900360640190fd5b6107538282610fce565b5050565b6107668733878787878761093b565b6107718787876105e5565b5050505050505050565b6001600160a01b031660009081526020819052604090205490565b6001600160a01b03811660009081526006602052604081206107b7906110b8565b92915050565b604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205490565b60048054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156105445780601f1061051957610100808354040283529160200191610544565b6108506107bd565b6001600160a01b0316336001600160a01b0316146108af576040805162461bcd60e51b815260206004820152601760248201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604482015290519081900360640190fd5b61075382826110bc565b60006105636108c6610b12565b84610663856040518060600160405280602581526020016115d060259139600160006108f0610b12565b6001600160a01b03908116825260208083019390935260409182016000908120918d1681529252902054919063ffffffff610e0c16565b6000610563610934610b12565b8484610cb7565b83421115610990576040805162461bcd60e51b815260206004820152601d60248201527f45524332305065726d69743a206578706972656420646561646c696e65000000604482015290519081900360640190fd5b6001600160a01b03871660009081526006602052604081207f0000000000000000000000000000000000000000000000000000000000000000908990899089906109d9906110b8565b604080516020808201979097526001600160a01b0395861681830152939094166060840152608083019190915260a082015260c08082018990528251808303909101815260e0909101909152805191012090506000610a37826111b2565b90506000610a47828787876111fe565b9050896001600160a01b0316816001600160a01b031614610aaf576040805162461bcd60e51b815260206004820152601e60248201527f45524332305065726d69743a20696e76616c6964207369676e61747572650000604482015290519081900360640190fd5b6001600160a01b038a166000908152600660205260409020610ad090611369565b610adb8a8a8a610b16565b50505050505050505050565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b3390565b6001600160a01b038316610b5b5760405162461bcd60e51b81526004018080602001828103825260248152602001806115ac6024913960400191505060405180910390fd5b6001600160a01b038216610ba05760405162461bcd60e51b81526004018080602001828103825260228152602001806114706022913960400191505060405180910390fd5b6001600160a01b03808416600081815260016020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b038116610c475760405162461bcd60e51b81526004018080602001828103825260228152602001806114da6022913960400191505060405180910390fd5b806001600160a01b0316610c596107bd565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3604080517035b2bc9737bbb730b136329737bbb732b960791b8152905190819003601101902055565b6001600160a01b038316610cfc5760405162461bcd60e51b81526004018080602001828103825260258152602001806115876025913960400191505060405180910390fd5b6001600160a01b038216610d415760405162461bcd60e51b815260040180806020018281038252602381526020018061142b6023913960400191505060405180910390fd5b610d4c838383611372565b610d8f81604051806060016040528060268152602001611492602691396001600160a01b038616600090815260208190526040902054919063ffffffff610e0c16565b6001600160a01b038085166000908152602081905260408082209390935590841681522054610dc4908263ffffffff610f6d16565b6001600160a01b0380841660008181526020818152604091829020949094558051858152905191939287169260008051602061154683398151915292918290030190a3505050565b60008184841115610e9b5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610e60578181015183820152602001610e48565b50505050905090810190601f168015610e8d5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b60007f0000000000000000000000000000000000000000000000000000000000000000610ece61067b565b1415610efb57507f000000000000000000000000000000000000000000000000000000000000000061054c565b610f667f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611377565b905061054c565b600082820183811015610fc7576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b6001600160a01b038216611029576040805162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015290519081900360640190fd5b61103560008383611372565b600254611048908263ffffffff610f6d16565b6002556001600160a01b038216600090815260208190526040902054611074908263ffffffff610f6d16565b6001600160a01b0383166000818152602081815260408083209490945583518581529351929391926000805160206115468339815191529281900390910190a35050565b5490565b6001600160a01b0382166111015760405162461bcd60e51b81526004018080602001828103825260218152602001806115666021913960400191505060405180910390fd5b61110d82600083611372565b6111508160405180606001604052806022815260200161144e602291396001600160a01b038516600090815260208190526040902054919063ffffffff610e0c16565b6001600160a01b03831660009081526020819052604090205560025461117c908263ffffffff6113cd16565b6002556040805182815290516000916001600160a01b038516916000805160206115468339815191529181900360200190a35050565b60006111bc610ea3565b82604051602001808061190160f01b81525060020183815260200182815260200192505050604051602081830303815290604052805190602001209050919050565b60006fa2a8918ca85bafe22016d0b997e4df60600160ff1b038211156112555760405162461bcd60e51b81526004018080602001828103825260228152602001806114b86022913960400191505060405180910390fd5b8360ff16601b148061126a57508360ff16601c145b6112a55760405162461bcd60e51b81526004018080602001828103825260228152602001806114fc6022913960400191505060405180910390fd5b604080516000808252602080830180855289905260ff88168385015260608301879052608083018690529251909260019260a080820193601f1981019281900390910190855afa1580156112fd573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b038116611360576040805162461bcd60e51b815260206004820152601860248201527745434453413a20696e76616c6964207369676e617475726560401b604482015290519081900360640190fd5b95945050505050565b80546001019055565b505050565b600083838361138461067b565b6040805160208082019690965280820194909452606084019290925260808301523060a0808401919091528151808403909101815260c090920190528051910120949350505050565b600082821115611424576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b5090039056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a206275726e20616d6f756e7420657863656564732062616c616e636545524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545434453413a20696e76616c6964207369676e6174757265202773272076616c75654f776e61626c653a3a7365744f776e65723a20696e76616c6964206164647265737345434453413a20696e76616c6964207369676e6174757265202776272076616c756545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef45524332303a206275726e2066726f6d20746865207a65726f206164647265737345524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220fcaf81fe308cd99e0a6d8ddd4221c0cd68860c5571be488af3538234cf7ddc9464736f6c634300060b00334f776e61626c653a3a7365744f776e65723a20696e76616c696420616464726573735065726d69742861646472657373206f776e65722c61646472657373207370656e6465722c75696e743235362076616c75652c75696e74323536206e6f6e63652c75696e7432353620646561646c696e6529454950373132446f6d61696e28737472696e67206e616d652c737472696e672076657273696f6e2c75696e7432353620636861696e49642c6164647265737320766572696679696e67436f6e747261637429", + "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061012c5760003560e01c8063605629d6116100ad5780639dc29fac116100715780639dc29fac146103b5578063a457c2d7146103e1578063a9059cbb1461040d578063d505accf14610439578063dd62ed3e1461048a5761012c565b8063605629d6146102ec57806370a082311461033d5780637ecebe0014610363578063893d20e81461038957806395d89b41146103ad5761012c565b8063313ce567116100f4578063313ce567146102665780633408e470146102845780633644e5151461028c578063395093511461029457806340c10f19146102c05761012c565b806306fdde0314610131578063095ea7b3146101ae57806313af4035146101ee57806318160ddd1461021657806323b872dd14610230575b600080fd5b6101396104b8565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561017357818101518382015260200161015b565b50505050905090810190601f1680156101a05780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101da600480360360408110156101c457600080fd5b506001600160a01b03813516906020013561054f565b604080519115158252519081900360200190f35b6102146004803603602081101561020457600080fd5b50356001600160a01b031661056c565b005b61021e6105df565b60408051918252519081900360200190f35b6101da6004803603606081101561024657600080fd5b506001600160a01b038135811691602081013590911690604001356105e5565b61026e610672565b6040805160ff9092168252519081900360200190f35b61021e61067b565b61021e61067f565b6101da600480360360408110156102aa57600080fd5b506001600160a01b03813516906020013561068e565b610214600480360360408110156102d657600080fd5b506001600160a01b0381351690602001356106e2565b610214600480360360e081101561030257600080fd5b506001600160a01b03813581169160208101359091169060408101359060608101359060ff6080820135169060a08101359060c00135610757565b61021e6004803603602081101561035357600080fd5b50356001600160a01b031661077b565b61021e6004803603602081101561037957600080fd5b50356001600160a01b0316610796565b6103916107bd565b604080516001600160a01b039092168252519081900360200190f35b6101396107e7565b610214600480360360408110156103cb57600080fd5b506001600160a01b038135169060200135610848565b6101da600480360360408110156103f757600080fd5b506001600160a01b0381351690602001356108b9565b6101da6004803603604081101561042357600080fd5b506001600160a01b038135169060200135610927565b610214600480360360e081101561044f57600080fd5b506001600160a01b03813581169160208101359091169060408101359060608101359060ff6080820135169060a08101359060c0013561093b565b61021e600480360360408110156104a057600080fd5b506001600160a01b0381358116916020013516610ae7565b60038054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156105445780601f1061051957610100808354040283529160200191610544565b820191906000526020600020905b81548152906001019060200180831161052757829003601f168201915b505050505090505b90565b600061056361055c610b12565b8484610b16565b50600192915050565b6105746107bd565b6001600160a01b0316336001600160a01b0316146105d3576040805162461bcd60e51b815260206004820152601760248201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604482015290519081900360640190fd5b6105dc81610c02565b50565b60025490565b60006105f2848484610cb7565b610668846105fe610b12565b6106638560405180606001604052806028815260200161151e602891396001600160a01b038a1660009081526001602052604081209061063c610b12565b6001600160a01b03168152602081019190915260400160002054919063ffffffff610e0c16565b610b16565b5060019392505050565b60055460ff1690565b4690565b6000610689610ea3565b905090565b600061056361069b610b12565b8461066385600160006106ac610b12565b6001600160a01b03908116825260208083019390935260409182016000908120918c16815292529020549063ffffffff610f6d16565b6106ea6107bd565b6001600160a01b0316336001600160a01b031614610749576040805162461bcd60e51b815260206004820152601760248201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604482015290519081900360640190fd5b6107538282610fce565b5050565b6107668733878787878761093b565b6107718787876105e5565b5050505050505050565b6001600160a01b031660009081526020819052604090205490565b6001600160a01b03811660009081526006602052604081206107b7906110b8565b92915050565b604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205490565b60048054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156105445780601f1061051957610100808354040283529160200191610544565b6108506107bd565b6001600160a01b0316336001600160a01b0316146108af576040805162461bcd60e51b815260206004820152601760248201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604482015290519081900360640190fd5b61075382826110bc565b60006105636108c6610b12565b84610663856040518060600160405280602581526020016115d060259139600160006108f0610b12565b6001600160a01b03908116825260208083019390935260409182016000908120918d1681529252902054919063ffffffff610e0c16565b6000610563610934610b12565b8484610cb7565b83421115610990576040805162461bcd60e51b815260206004820152601d60248201527f45524332305065726d69743a206578706972656420646561646c696e65000000604482015290519081900360640190fd5b6001600160a01b03871660009081526006602052604081207f0000000000000000000000000000000000000000000000000000000000000000908990899089906109d9906110b8565b604080516020808201979097526001600160a01b0395861681830152939094166060840152608083019190915260a082015260c08082018990528251808303909101815260e0909101909152805191012090506000610a37826111b2565b90506000610a47828787876111fe565b9050896001600160a01b0316816001600160a01b031614610aaf576040805162461bcd60e51b815260206004820152601e60248201527f45524332305065726d69743a20696e76616c6964207369676e61747572650000604482015290519081900360640190fd5b6001600160a01b038a166000908152600660205260409020610ad090611369565b610adb8a8a8a610b16565b50505050505050505050565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b3390565b6001600160a01b038316610b5b5760405162461bcd60e51b81526004018080602001828103825260248152602001806115ac6024913960400191505060405180910390fd5b6001600160a01b038216610ba05760405162461bcd60e51b81526004018080602001828103825260228152602001806114706022913960400191505060405180910390fd5b6001600160a01b03808416600081815260016020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b038116610c475760405162461bcd60e51b81526004018080602001828103825260228152602001806114da6022913960400191505060405180910390fd5b806001600160a01b0316610c596107bd565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3604080517035b2bc9737bbb730b136329737bbb732b960791b8152905190819003601101902055565b6001600160a01b038316610cfc5760405162461bcd60e51b81526004018080602001828103825260258152602001806115876025913960400191505060405180910390fd5b6001600160a01b038216610d415760405162461bcd60e51b815260040180806020018281038252602381526020018061142b6023913960400191505060405180910390fd5b610d4c838383611372565b610d8f81604051806060016040528060268152602001611492602691396001600160a01b038616600090815260208190526040902054919063ffffffff610e0c16565b6001600160a01b038085166000908152602081905260408082209390935590841681522054610dc4908263ffffffff610f6d16565b6001600160a01b0380841660008181526020818152604091829020949094558051858152905191939287169260008051602061154683398151915292918290030190a3505050565b60008184841115610e9b5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610e60578181015183820152602001610e48565b50505050905090810190601f168015610e8d5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b60007f0000000000000000000000000000000000000000000000000000000000000000610ece61067b565b1415610efb57507f000000000000000000000000000000000000000000000000000000000000000061054c565b610f667f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611377565b905061054c565b600082820183811015610fc7576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b6001600160a01b038216611029576040805162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015290519081900360640190fd5b61103560008383611372565b600254611048908263ffffffff610f6d16565b6002556001600160a01b038216600090815260208190526040902054611074908263ffffffff610f6d16565b6001600160a01b0383166000818152602081815260408083209490945583518581529351929391926000805160206115468339815191529281900390910190a35050565b5490565b6001600160a01b0382166111015760405162461bcd60e51b81526004018080602001828103825260218152602001806115666021913960400191505060405180910390fd5b61110d82600083611372565b6111508160405180606001604052806022815260200161144e602291396001600160a01b038516600090815260208190526040902054919063ffffffff610e0c16565b6001600160a01b03831660009081526020819052604090205560025461117c908263ffffffff6113cd16565b6002556040805182815290516000916001600160a01b038516916000805160206115468339815191529181900360200190a35050565b60006111bc610ea3565b82604051602001808061190160f01b81525060020183815260200182815260200192505050604051602081830303815290604052805190602001209050919050565b60006fa2a8918ca85bafe22016d0b997e4df60600160ff1b038211156112555760405162461bcd60e51b81526004018080602001828103825260228152602001806114b86022913960400191505060405180910390fd5b8360ff16601b148061126a57508360ff16601c145b6112a55760405162461bcd60e51b81526004018080602001828103825260228152602001806114fc6022913960400191505060405180910390fd5b604080516000808252602080830180855289905260ff88168385015260608301879052608083018690529251909260019260a080820193601f1981019281900390910190855afa1580156112fd573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b038116611360576040805162461bcd60e51b815260206004820152601860248201527745434453413a20696e76616c6964207369676e617475726560401b604482015290519081900360640190fd5b95945050505050565b80546001019055565b505050565b600083838361138461067b565b6040805160208082019690965280820194909452606084019290925260808301523060a0808401919091528151808403909101815260c090920190528051910120949350505050565b600082821115611424576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b5090039056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a206275726e20616d6f756e7420657863656564732062616c616e636545524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545434453413a20696e76616c6964207369676e6174757265202773272076616c75654f776e61626c653a3a7365744f776e65723a20696e76616c6964206164647265737345434453413a20696e76616c6964207369676e6174757265202776272076616c756545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef45524332303a206275726e2066726f6d20746865207a65726f206164647265737345524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220fcaf81fe308cd99e0a6d8ddd4221c0cd68860c5571be488af3538234cf7ddc9464736f6c634300060b0033", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/packages/lib-ethers/live/Ownable.json b/packages/lib-ethers/live/Ownable.json index 9ef3c12fe..89ace3e79 100644 --- a/packages/lib-ethers/live/Ownable.json +++ b/packages/lib-ethers/live/Ownable.json @@ -24,28 +24,28 @@ }, { "inputs": [], - "name": "isOwner", + "name": "getOwner", "outputs": [ { - "internalType": "bool", - "name": "", - "type": "bool" + "internalType": "address", + "name": "_owner", + "type": "address" } ], "stateMutability": "view", "type": "function" }, { - "inputs": [], - "name": "owner", - "outputs": [ + "inputs": [ { "internalType": "address", - "name": "", + "name": "_owner", "type": "address" } ], - "stateMutability": "view", + "name": "setOwner", + "outputs": [], + "stateMutability": "nonpayable", "type": "function" } ], diff --git a/packages/lib-ethers/live/PriceFeed.json b/packages/lib-ethers/live/PriceFeed.json index 9a8184548..fd09c158e 100644 --- a/packages/lib-ethers/live/PriceFeed.json +++ b/packages/lib-ethers/live/PriceFeed.json @@ -40,65 +40,38 @@ "inputs": [ { "indexed": false, - "internalType": "enum PriceFeed.Status", - "name": "newStatus", + "internalType": "uint8", + "name": "index", "type": "uint8" - } - ], - "name": "PriceFeedStatusChanged", - "type": "event" - }, - { - "inputs": [], - "name": "DECIMAL_PRECISION", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "ETHUSD_TELLOR_REQ_ID", - "outputs": [ + }, { - "internalType": "uint256", - "name": "", - "type": "uint256" + "indexed": false, + "internalType": "address", + "name": "priceFeedAddress", + "type": "address" } ], - "stateMutability": "view", - "type": "function" + "name": "PriceFeedBroken", + "type": "event" }, { - "inputs": [], - "name": "MAX_PRICE_DEVIATION_FROM_PREVIOUS_ROUND", - "outputs": [ + "anonymous": false, + "inputs": [ { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "MAX_PRICE_DIFFERENCE_BETWEEN_ORACLES", - "outputs": [ + "indexed": false, + "internalType": "uint8", + "name": "index", + "type": "uint8" + }, { - "internalType": "uint256", - "name": "", - "type": "uint256" + "indexed": false, + "internalType": "address", + "name": "newPriceFeedAddress", + "type": "address" } ], - "stateMutability": "view", - "type": "function" + "name": "PriceFeedUpdated", + "type": "event" }, { "inputs": [], @@ -113,45 +86,6 @@ "stateMutability": "view", "type": "function" }, - { - "inputs": [], - "name": "TARGET_DIGITS", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "TELLOR_DIGITS", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "TIMEOUT", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, { "inputs": [], "name": "fetchPrice", @@ -167,12 +101,12 @@ }, { "inputs": [], - "name": "isOwner", + "name": "getOwner", "outputs": [ { - "internalType": "bool", - "name": "", - "type": "bool" + "internalType": "address", + "name": "_owner", + "type": "address" } ], "stateMutability": "view", @@ -192,41 +126,39 @@ "type": "function" }, { - "inputs": [], - "name": "owner", - "outputs": [ + "inputs": [ + { + "internalType": "uint8", + "name": "_index", + "type": "uint8" + }, { "internalType": "address", - "name": "", + "name": "_newPriceFeed", "type": "address" } ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "priceAggregator", + "name": "setAddress", "outputs": [ { - "internalType": "contract AggregatorV3Interface", + "internalType": "uint256", "name": "", - "type": "address" + "type": "uint256" } ], - "stateMutability": "view", + "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", - "name": "_priceAggregatorAddress", + "name": "_mainPriceFeed", "type": "address" }, { "internalType": "address", - "name": "_tellorCallerAddress", + "name": "_backupPriceFeed", "type": "address" } ], @@ -236,34 +168,21 @@ "type": "function" }, { - "inputs": [], - "name": "status", - "outputs": [ - { - "internalType": "enum PriceFeed.Status", - "name": "", - "type": "uint8" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "tellorCaller", - "outputs": [ + "inputs": [ { - "internalType": "contract ITellorCaller", - "name": "", + "internalType": "address", + "name": "_owner", "type": "address" } ], - "stateMutability": "view", + "name": "setOwner", + "outputs": [], + "stateMutability": "nonpayable", "type": "function" } ], - "bytecode": "0x608060405234801561001057600080fd5b50600080546001600160a01b0319163390811782556040519091907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a36111e68061005f6000396000f3fe608060405234801561001057600080fd5b50600436106100e05760003560e01c80637c61e3bf116100875780637c61e3bf146101775780638da5cb5b1461017f5780638f32d59b1461018757806390107afe146101a3578063a20baee6146101d3578063a3f4df7e146101db578063ebf8e6c614610258578063f56f48f214610260576100e0565b80630490be83146100e55780630fdb11cf146100ff5780631be5c92f14610107578063200d2ed21461010f5780633078fff51461013b57806345079cb41461015f57806358a6aa88146101675780635f42caf81461016f575b600080fd5b6100ed610268565b60408051918252519081900360200190f35b6100ed61026e565b6100ed6105b6565b6101176105bb565b6040518082600481111561012757fe5b60ff16815260200191505060405180910390f35b6101436105c4565b604080516001600160a01b039092168252519081900360200190f35b6100ed6105d3565b6100ed6105de565b6100ed6105ea565b6101436105ef565b6101436105fe565b61018f61060d565b604080519115158252519081900360200190f35b6101d1600480360360408110156101b957600080fd5b506001600160a01b038135811691602001351661061e565b005b6100ed610761565b6101e361076d565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561021d578181015183820152602001610205565b50505050905090810190601f16801561024a5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6100ed610792565b6100ed610797565b60055481565b6000610278611105565b61028061079d565b905061028a611105565b61029c826000015183608001516108e7565b90506102a6611133565b6102ae6109c2565b9050600060065460ff1660048111156102c357fe5b14156103f5576102d38383610a6e565b15610332576102e181610a8f565b156102fd576102f06002610add565b60055493505050506105b3565b61030681610b43565b15610315576102f06001610add565b61031f6001610add565b61032881610b66565b93505050506105b3565b61033b83610b43565b1561037d5761034981610a8f565b15610358576102f06004610add565b6103626003610add565b61036b81610b43565b1561031f5760055493505050506105b3565b6103878383610b81565b156103d45761039581610a8f565b156103a4576102f06002610add565b6103ad81610b43565b156103bc576102f06001610add565b6103c68382610c20565b156103155761032883610c9f565b6103dd81610a8f565b156103ec576103ec6004610add565b61032883610c9f565b600160065460ff16600481111561040857fe5b141561044057610419838383610cb7565b15610428576103ec6000610add565b61043181610a8f565b15610362576102f06002610add565b600260065460ff16600481111561045357fe5b141561047357610464838383610cb7565b156102f0576103ec6000610add565b600360065460ff16600481111561048657fe5b141561052f576104968383610a6e565b156104bd576104a481610a8f565b156104b3576102f06002610add565b6103626001610add565b6104c683610b43565b156104e3576104d481610a8f565b15610362576102f06004610add565b6104ec81610a8f565b156104fb576103ec6004610add565b61050481610b43565b156105165760055493505050506105b3565b6105208382610c20565b15610315576103ec6000610add565b600460065460ff16600481111561054257fe5b14156105af576105528383610a6e565b15610561576102f06002610add565b61056a83610b43565b1561057c5760055493505050506105b3565b610587838383610cb7565b15610596576103ec6000610add565b6105a08383610b81565b156103ec576102f06002610add565b5050505b90565b601281565b60065460ff1681565b6001546001600160a01b031681565b66b1a2bc2ec5000081565b6706f05b59d3b2000081565b600181565b6002546001600160a01b031681565b6000546001600160a01b031690565b6000546001600160a01b0316331490565b61062661060d565b610677576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b61068082610d0f565b61068981610d0f565b600180546001600160a01b038481166001600160a01b03199283161790925560028054928416929091169190911790556006805460ff191690556106cb611105565b6106d361079d565b90506106dd611105565b6106ef826000015183608001516108e7565b90506106fb8282610a6e565b15801561070e575061070c82610b43565b155b6107495760405162461bcd60e51b81526004018080602001828103825260308152602001806111816030913960400191505060405180910390fd5b61075282610c9f565b5061075b610dc2565b50505050565b670de0b6b3a764000081565b60405180604001604052806009815260200168141c9a58d95199595960ba1b81525081565b600681565b61384081565b6107a5611105565b600160009054906101000a90046001600160a01b03166001600160a01b031663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b1580156107f357600080fd5b505afa92505050801561081857506040513d602081101561081357600080fd5b505160015b610821576105b3565b60ff166080820152600160009054906101000a90046001600160a01b03166001600160a01b031663feaf968c6040518163ffffffff1660e01b815260040160a06040518083038186803b15801561087757600080fd5b505afa9250505080156108b957506040513d60a081101561089757600080fd5b5080516020820151604083015160608401516080909401519293919290919060015b6108c2576105b3565b506001600160501b0390931684525060208301526040820152600160608201526105b3565b6108ef611105565b60015460408051639a6fc8f560e01b81526001600160501b03600019870116600482015290516001600160a01b0390921691639a6fc8f59160248082019260a092909190829003018186803b15801561094757600080fd5b505afa92505050801561098957506040513d60a081101561096757600080fd5b5080516020820151604083015160608401516080909401519293919290919060015b610992576109bc565b506001600160501b039093168452506020830152604082015260ff82166080820152600160608201525b92915050565b6109ca611133565b600254604080516332e6aadb60e01b81526001600482015290516001600160a01b03909216916332e6aadb91602480820192606092909190829003018186803b158015610a1657600080fd5b505afa925050508015610a4a57506040513d6060811015610a3657600080fd5b508051602082015160409092015190919060015b610a53576105b3565b911515835260208301526040820152600160608201526105b3565b6000610a7983610e0c565b80610a885750610a8882610e0c565b9392505050565b60008160600151610aa257506001610ad8565b60408201511580610ab65750428260400151115b15610ac357506001610ad8565b6020820151610ad457506001610ad8565b5060005b919050565b6006805482919060ff19166001836004811115610af657fe5b02179055507f5c57579a8214fe4f710c1c56fa829f045b9fa6d225a744225a30c32188064d4e8160405180826004811115610b2d57fe5b60ff16815260200191505060405180910390a150565b6000613840610b5f836040015142610e6b90919063ffffffff16565b1192915050565b600080610b768360200151610ead565b90506109bc81610ec4565b600080610b998460200151856080015160ff16610eff565b90506000610bb28460200151856080015160ff16610eff565b90506000610bc08383610f48565b90506000610bce8484610f5e565b90506000610c0a82610bfe670de0b6b3a7640000610bf2838863ffffffff610e6b16565b9063ffffffff610f6e16565b9063ffffffff610fc716565b6706f05b59d3b200001098975050505050505050565b600080610c388460200151856080015160ff16610eff565b90506000610c498460200151610ead565b90506000610c578284610f48565b90506000610c658385610f5e565b90506000610c8983610bfe670de0b6b3a7640000610bf2868463ffffffff610e6b16565b66b1a2bc2ec50000101598975050505050505050565b600080610b768360200151846080015160ff16610eff565b6000610cc282610a8f565b80610cd15750610cd182610b43565b80610ce15750610ce18484610a6e565b80610cf05750610cf084610b43565b15610cfd57506000610a88565b610d078483610c20565b949350505050565b6001600160a01b038116610d6a576040805162461bcd60e51b815260206004820152601e60248201527f4163636f756e742063616e6e6f74206265207a65726f20616464726573730000604482015290519081900360640190fd5b803b80610dbe576040805162461bcd60e51b815260206004820181905260248201527f4163636f756e7420636f64652073697a652063616e6e6f74206265207a65726f604482015290519081900360640190fd5b5050565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b60008160600151610e1f57506001610ad8565b81516001600160501b0316610e3657506001610ad8565b60408201511580610e4a5750428260400151115b15610e5757506001610ad8565b6000826020015113610ad457506001610ad8565b6000610a8883836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611009565b60006109bc8264e8d4a5100063ffffffff610f6e16565b60058190556040805182815290517f4d29de21de555af78a62fc82dd4bc05e9ae5b0660a37f04729527e0f22780cd39181900360200190a150565b60008060128310610f2857610f21846011198501600a0a63ffffffff610fc716565b9050610a88565b6012831015610a8857610d07846012859003600a0a63ffffffff610f6e16565b6000818310610f575781610a88565b5090919050565b600081831015610f575781610a88565b600082610f7d575060006109bc565b82820282848281610f8a57fe5b0414610a885760405162461bcd60e51b81526004018080602001828103825260218152602001806111606021913960400191505060405180910390fd5b6000610a8883836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506110a0565b600081848411156110985760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561105d578181015183820152602001611045565b50505050905090810190601f16801561108a5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b600081836110ef5760405162461bcd60e51b815260206004820181815283516024840152835190928392604490910191908501908083836000831561105d578181015183820152602001611045565b5060008385816110fb57fe5b0495945050505050565b6040805160a08101825260008082526020820181905291810182905260608101829052608081019190915290565b60405180608001604052806000151581526020016000815260200160008152602001600015158152509056fe536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f775072696365466565643a20436861696e6c696e6b206d75737420626520776f726b696e6720616e642063757272656e74a264697066735822122016dd8016e1c4378daa47ef3e95079078b3c2a1bfc44efdec1780fe7c1eb4009b64736f6c634300060b0033", - "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100e05760003560e01c80637c61e3bf116100875780637c61e3bf146101775780638da5cb5b1461017f5780638f32d59b1461018757806390107afe146101a3578063a20baee6146101d3578063a3f4df7e146101db578063ebf8e6c614610258578063f56f48f214610260576100e0565b80630490be83146100e55780630fdb11cf146100ff5780631be5c92f14610107578063200d2ed21461010f5780633078fff51461013b57806345079cb41461015f57806358a6aa88146101675780635f42caf81461016f575b600080fd5b6100ed610268565b60408051918252519081900360200190f35b6100ed61026e565b6100ed6105b6565b6101176105bb565b6040518082600481111561012757fe5b60ff16815260200191505060405180910390f35b6101436105c4565b604080516001600160a01b039092168252519081900360200190f35b6100ed6105d3565b6100ed6105de565b6100ed6105ea565b6101436105ef565b6101436105fe565b61018f61060d565b604080519115158252519081900360200190f35b6101d1600480360360408110156101b957600080fd5b506001600160a01b038135811691602001351661061e565b005b6100ed610761565b6101e361076d565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561021d578181015183820152602001610205565b50505050905090810190601f16801561024a5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6100ed610792565b6100ed610797565b60055481565b6000610278611105565b61028061079d565b905061028a611105565b61029c826000015183608001516108e7565b90506102a6611133565b6102ae6109c2565b9050600060065460ff1660048111156102c357fe5b14156103f5576102d38383610a6e565b15610332576102e181610a8f565b156102fd576102f06002610add565b60055493505050506105b3565b61030681610b43565b15610315576102f06001610add565b61031f6001610add565b61032881610b66565b93505050506105b3565b61033b83610b43565b1561037d5761034981610a8f565b15610358576102f06004610add565b6103626003610add565b61036b81610b43565b1561031f5760055493505050506105b3565b6103878383610b81565b156103d45761039581610a8f565b156103a4576102f06002610add565b6103ad81610b43565b156103bc576102f06001610add565b6103c68382610c20565b156103155761032883610c9f565b6103dd81610a8f565b156103ec576103ec6004610add565b61032883610c9f565b600160065460ff16600481111561040857fe5b141561044057610419838383610cb7565b15610428576103ec6000610add565b61043181610a8f565b15610362576102f06002610add565b600260065460ff16600481111561045357fe5b141561047357610464838383610cb7565b156102f0576103ec6000610add565b600360065460ff16600481111561048657fe5b141561052f576104968383610a6e565b156104bd576104a481610a8f565b156104b3576102f06002610add565b6103626001610add565b6104c683610b43565b156104e3576104d481610a8f565b15610362576102f06004610add565b6104ec81610a8f565b156104fb576103ec6004610add565b61050481610b43565b156105165760055493505050506105b3565b6105208382610c20565b15610315576103ec6000610add565b600460065460ff16600481111561054257fe5b14156105af576105528383610a6e565b15610561576102f06002610add565b61056a83610b43565b1561057c5760055493505050506105b3565b610587838383610cb7565b15610596576103ec6000610add565b6105a08383610b81565b156103ec576102f06002610add565b5050505b90565b601281565b60065460ff1681565b6001546001600160a01b031681565b66b1a2bc2ec5000081565b6706f05b59d3b2000081565b600181565b6002546001600160a01b031681565b6000546001600160a01b031690565b6000546001600160a01b0316331490565b61062661060d565b610677576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b61068082610d0f565b61068981610d0f565b600180546001600160a01b038481166001600160a01b03199283161790925560028054928416929091169190911790556006805460ff191690556106cb611105565b6106d361079d565b90506106dd611105565b6106ef826000015183608001516108e7565b90506106fb8282610a6e565b15801561070e575061070c82610b43565b155b6107495760405162461bcd60e51b81526004018080602001828103825260308152602001806111816030913960400191505060405180910390fd5b61075282610c9f565b5061075b610dc2565b50505050565b670de0b6b3a764000081565b60405180604001604052806009815260200168141c9a58d95199595960ba1b81525081565b600681565b61384081565b6107a5611105565b600160009054906101000a90046001600160a01b03166001600160a01b031663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b1580156107f357600080fd5b505afa92505050801561081857506040513d602081101561081357600080fd5b505160015b610821576105b3565b60ff166080820152600160009054906101000a90046001600160a01b03166001600160a01b031663feaf968c6040518163ffffffff1660e01b815260040160a06040518083038186803b15801561087757600080fd5b505afa9250505080156108b957506040513d60a081101561089757600080fd5b5080516020820151604083015160608401516080909401519293919290919060015b6108c2576105b3565b506001600160501b0390931684525060208301526040820152600160608201526105b3565b6108ef611105565b60015460408051639a6fc8f560e01b81526001600160501b03600019870116600482015290516001600160a01b0390921691639a6fc8f59160248082019260a092909190829003018186803b15801561094757600080fd5b505afa92505050801561098957506040513d60a081101561096757600080fd5b5080516020820151604083015160608401516080909401519293919290919060015b610992576109bc565b506001600160501b039093168452506020830152604082015260ff82166080820152600160608201525b92915050565b6109ca611133565b600254604080516332e6aadb60e01b81526001600482015290516001600160a01b03909216916332e6aadb91602480820192606092909190829003018186803b158015610a1657600080fd5b505afa925050508015610a4a57506040513d6060811015610a3657600080fd5b508051602082015160409092015190919060015b610a53576105b3565b911515835260208301526040820152600160608201526105b3565b6000610a7983610e0c565b80610a885750610a8882610e0c565b9392505050565b60008160600151610aa257506001610ad8565b60408201511580610ab65750428260400151115b15610ac357506001610ad8565b6020820151610ad457506001610ad8565b5060005b919050565b6006805482919060ff19166001836004811115610af657fe5b02179055507f5c57579a8214fe4f710c1c56fa829f045b9fa6d225a744225a30c32188064d4e8160405180826004811115610b2d57fe5b60ff16815260200191505060405180910390a150565b6000613840610b5f836040015142610e6b90919063ffffffff16565b1192915050565b600080610b768360200151610ead565b90506109bc81610ec4565b600080610b998460200151856080015160ff16610eff565b90506000610bb28460200151856080015160ff16610eff565b90506000610bc08383610f48565b90506000610bce8484610f5e565b90506000610c0a82610bfe670de0b6b3a7640000610bf2838863ffffffff610e6b16565b9063ffffffff610f6e16565b9063ffffffff610fc716565b6706f05b59d3b200001098975050505050505050565b600080610c388460200151856080015160ff16610eff565b90506000610c498460200151610ead565b90506000610c578284610f48565b90506000610c658385610f5e565b90506000610c8983610bfe670de0b6b3a7640000610bf2868463ffffffff610e6b16565b66b1a2bc2ec50000101598975050505050505050565b600080610b768360200151846080015160ff16610eff565b6000610cc282610a8f565b80610cd15750610cd182610b43565b80610ce15750610ce18484610a6e565b80610cf05750610cf084610b43565b15610cfd57506000610a88565b610d078483610c20565b949350505050565b6001600160a01b038116610d6a576040805162461bcd60e51b815260206004820152601e60248201527f4163636f756e742063616e6e6f74206265207a65726f20616464726573730000604482015290519081900360640190fd5b803b80610dbe576040805162461bcd60e51b815260206004820181905260248201527f4163636f756e7420636f64652073697a652063616e6e6f74206265207a65726f604482015290519081900360640190fd5b5050565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b60008160600151610e1f57506001610ad8565b81516001600160501b0316610e3657506001610ad8565b60408201511580610e4a5750428260400151115b15610e5757506001610ad8565b6000826020015113610ad457506001610ad8565b6000610a8883836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611009565b60006109bc8264e8d4a5100063ffffffff610f6e16565b60058190556040805182815290517f4d29de21de555af78a62fc82dd4bc05e9ae5b0660a37f04729527e0f22780cd39181900360200190a150565b60008060128310610f2857610f21846011198501600a0a63ffffffff610fc716565b9050610a88565b6012831015610a8857610d07846012859003600a0a63ffffffff610f6e16565b6000818310610f575781610a88565b5090919050565b600081831015610f575781610a88565b600082610f7d575060006109bc565b82820282848281610f8a57fe5b0414610a885760405162461bcd60e51b81526004018080602001828103825260218152602001806111606021913960400191505060405180910390fd5b6000610a8883836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506110a0565b600081848411156110985760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561105d578181015183820152602001611045565b50505050905090810190601f16801561108a5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b600081836110ef5760405162461bcd60e51b815260206004820181815283516024840152835190928392604490910191908501908083836000831561105d578181015183820152602001611045565b5060008385816110fb57fe5b0495945050505050565b6040805160a08101825260008082526020820181905291810182905260608101829052608081019190915290565b60405180608001604052806000151581526020016000815260200160008152602001600015158152509056fe536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f775072696365466565643a20436861696e6c696e6b206d75737420626520776f726b696e6720616e642063757272656e74a264697066735822122016dd8016e1c4378daa47ef3e95079078b3c2a1bfc44efdec1780fe7c1eb4009b64736f6c634300060b0033", + "bytecode": "0x608060405234801561001057600080fd5b50610023336001600160e01b0361002816565b610110565b6001600160a01b03811661006d5760405162461bcd60e51b81526004018080602001828103825260228152602001806109936022913960400191505060405180910390fd5b6001600160a01b0381166100886001600160e01b036100e616565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3604080517035b2bc9737bbb730b136329737bbb732b960791b8152905190819003601101902055565b604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205490565b6108748061011f6000396000f3fe608060405234801561001057600080fd5b506004361061006d5760003560e01c80630490be83146100725780630589c4e51461008c5780630fdb11cf146100bb57806313af4035146100c3578063893d20e8146100eb57806390107afe1461010f578063a3f4df7e1461013d575b600080fd5b61007a6101ba565b60408051918252519081900360200190f35b61007a600480360360408110156100a257600080fd5b50803560ff1690602001356001600160a01b03166101c0565b61007a6103b9565b6100e9600480360360208110156100d957600080fd5b50356001600160a01b03166104d9565b005b6100f361054c565b604080516001600160a01b039092168252519081900360200190f35b6100e96004803603604081101561012557600080fd5b506001600160a01b0381358116916020013516610576565b610145610606565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561017f578181015183820152602001610167565b50505050905090810190601f1680156101ac5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b60025481565b60006101ca61054c565b6001600160a01b0316336001600160a01b031614610229576040805162461bcd60e51b815260206004820152601760248201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604482015290519081900360640190fd5b60028360ff161061026b5760405162461bcd60e51b81526004018080602001828103825260298152602001806107cf6029913960400191505060405180910390fd5b6102748261062b565b8160008460ff166002811061028557fe5b0180546001600160a01b0319166001600160a01b03929092169190911790556000808060ff8616600281106102b657fe5b0154604080516350d25bcd60e01b815281516001600160a01b03909316926350d25bcd92600480840193919291829003018186803b1580156102f757600080fd5b505afa15801561030b573d6000803e3d6000fd5b505050506040513d604081101561032157600080fd5b50805160209091015190925090508061036b5760405162461bcd60e51b815260040180806020018281038252602581526020018061081a6025913960400191505060405180910390fd5b6040805160ff871681526001600160a01b038616602082015281517f97f7578becfa7a6013824d8ab1174e8c0522d468cd75e7a7e7fc4bde27338442929181900390910190a1509392505050565b6000805b60028160ff1610156104d05760008060008360ff16600281106103dc57fe5b0154604080516350d25bcd60e01b815281516001600160a01b03909316926350d25bcd92600480840193919291829003018186803b15801561041d57600080fd5b505afa158015610431573d6000803e3d6000fd5b505050506040513d604081101561044757600080fd5b5080516020909101519092509050801561046e57610464826106de565b5091506104d69050565b7f19f3630adb38b0aca2b2ad2b9db00888aef6e2b79bbf683a6c4992500998ea708360008560ff16600281106104a057fe5b01546040805160ff90931683526001600160a01b0390911660208301528051918290030190a150506001016103bd565b50506002545b90565b6104e161054c565b6001600160a01b0316336001600160a01b031614610540576040805162461bcd60e51b815260206004820152601760248201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604482015290519081900360640190fd5b61054981610719565b50565b604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205490565b61057e61054c565b6001600160a01b0316336001600160a01b0316146105dd576040805162461bcd60e51b815260206004820152601760248201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604482015290519081900360640190fd5b60006105ea6000846101c0565b90506105f76001836101c0565b50610601816106de565b505050565b60405180604001604052806009815260200168141c9a58d95199595960ba1b81525081565b6001600160a01b038116610686576040805162461bcd60e51b815260206004820152601e60248201527f4163636f756e742063616e6e6f74206265207a65726f20616464726573730000604482015290519081900360640190fd5b803b806106da576040805162461bcd60e51b815260206004820181905260248201527f4163636f756e7420636f64652073697a652063616e6e6f74206265207a65726f604482015290519081900360640190fd5b5050565b60028190556040805182815290517f4d29de21de555af78a62fc82dd4bc05e9ae5b0660a37f04729527e0f22780cd39181900360200190a150565b6001600160a01b03811661075e5760405162461bcd60e51b81526004018080602001828103825260228152602001806107f86022913960400191505060405180910390fd5b806001600160a01b031661077061054c565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205556fe4f7574206f6620626f756e6473207768656e2073657474696e672074686520707269636520666565644f776e61626c653a3a7365744f776e65723a20696e76616c696420616464726573735072696365466565643a2050726963652066656564206d75737420626520776f726b696e67a2646970667358221220d75a0e789852c7f8e3e44c3497dbdf447a2e3743166b9f9b0216e249934429d564736f6c634300060b00334f776e61626c653a3a7365744f776e65723a20696e76616c69642061646472657373", + "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061006d5760003560e01c80630490be83146100725780630589c4e51461008c5780630fdb11cf146100bb57806313af4035146100c3578063893d20e8146100eb57806390107afe1461010f578063a3f4df7e1461013d575b600080fd5b61007a6101ba565b60408051918252519081900360200190f35b61007a600480360360408110156100a257600080fd5b50803560ff1690602001356001600160a01b03166101c0565b61007a6103b9565b6100e9600480360360208110156100d957600080fd5b50356001600160a01b03166104d9565b005b6100f361054c565b604080516001600160a01b039092168252519081900360200190f35b6100e96004803603604081101561012557600080fd5b506001600160a01b0381358116916020013516610576565b610145610606565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561017f578181015183820152602001610167565b50505050905090810190601f1680156101ac5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b60025481565b60006101ca61054c565b6001600160a01b0316336001600160a01b031614610229576040805162461bcd60e51b815260206004820152601760248201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604482015290519081900360640190fd5b60028360ff161061026b5760405162461bcd60e51b81526004018080602001828103825260298152602001806107cf6029913960400191505060405180910390fd5b6102748261062b565b8160008460ff166002811061028557fe5b0180546001600160a01b0319166001600160a01b03929092169190911790556000808060ff8616600281106102b657fe5b0154604080516350d25bcd60e01b815281516001600160a01b03909316926350d25bcd92600480840193919291829003018186803b1580156102f757600080fd5b505afa15801561030b573d6000803e3d6000fd5b505050506040513d604081101561032157600080fd5b50805160209091015190925090508061036b5760405162461bcd60e51b815260040180806020018281038252602581526020018061081a6025913960400191505060405180910390fd5b6040805160ff871681526001600160a01b038616602082015281517f97f7578becfa7a6013824d8ab1174e8c0522d468cd75e7a7e7fc4bde27338442929181900390910190a1509392505050565b6000805b60028160ff1610156104d05760008060008360ff16600281106103dc57fe5b0154604080516350d25bcd60e01b815281516001600160a01b03909316926350d25bcd92600480840193919291829003018186803b15801561041d57600080fd5b505afa158015610431573d6000803e3d6000fd5b505050506040513d604081101561044757600080fd5b5080516020909101519092509050801561046e57610464826106de565b5091506104d69050565b7f19f3630adb38b0aca2b2ad2b9db00888aef6e2b79bbf683a6c4992500998ea708360008560ff16600281106104a057fe5b01546040805160ff90931683526001600160a01b0390911660208301528051918290030190a150506001016103bd565b50506002545b90565b6104e161054c565b6001600160a01b0316336001600160a01b031614610540576040805162461bcd60e51b815260206004820152601760248201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604482015290519081900360640190fd5b61054981610719565b50565b604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205490565b61057e61054c565b6001600160a01b0316336001600160a01b0316146105dd576040805162461bcd60e51b815260206004820152601760248201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604482015290519081900360640190fd5b60006105ea6000846101c0565b90506105f76001836101c0565b50610601816106de565b505050565b60405180604001604052806009815260200168141c9a58d95199595960ba1b81525081565b6001600160a01b038116610686576040805162461bcd60e51b815260206004820152601e60248201527f4163636f756e742063616e6e6f74206265207a65726f20616464726573730000604482015290519081900360640190fd5b803b806106da576040805162461bcd60e51b815260206004820181905260248201527f4163636f756e7420636f64652073697a652063616e6e6f74206265207a65726f604482015290519081900360640190fd5b5050565b60028190556040805182815290517f4d29de21de555af78a62fc82dd4bc05e9ae5b0660a37f04729527e0f22780cd39181900360200190a150565b6001600160a01b03811661075e5760405162461bcd60e51b81526004018080602001828103825260228152602001806107f86022913960400191505060405180910390fd5b806001600160a01b031661077061054c565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205556fe4f7574206f6620626f756e6473207768656e2073657474696e672074686520707269636520666565644f776e61626c653a3a7365744f776e65723a20696e76616c696420616464726573735072696365466565643a2050726963652066656564206d75737420626520776f726b696e67a2646970667358221220d75a0e789852c7f8e3e44c3497dbdf447a2e3743166b9f9b0216e249934429d564736f6c634300060b0033", "linkReferences": {}, "deployedLinkReferences": {} } diff --git a/packages/lib-ethers/live/PriceFeedStorage.json b/packages/lib-ethers/live/PriceFeedStorage.json new file mode 100644 index 000000000..8816e7fee --- /dev/null +++ b/packages/lib-ethers/live/PriceFeedStorage.json @@ -0,0 +1,82 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "PriceFeedStorage", + "sourceName": "contracts/PriceFeedStorage.sol", + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousOwner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnershipTransferred", + "type": "event" + }, + { + "inputs": [], + "name": "NAME", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getOwner", + "outputs": [ + { + "internalType": "address", + "name": "_owner", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "lastGoodPrice", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_owner", + "type": "address" + } + ], + "name": "setOwner", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "bytecode": "0x608060405234801561001057600080fd5b50610023336001600160e01b0361002816565b610110565b6001600160a01b03811661006d5760405162461bcd60e51b81526004018080602001828103825260228152602001806104286022913960400191505060405180910390fd5b6001600160a01b0381166100886001600160e01b036100e616565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3604080517035b2bc9737bbb730b136329737bbb732b960791b8152905190819003601101902055565b604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205490565b6103098061011f6000396000f3fe608060405234801561001057600080fd5b506004361061004c5760003560e01c80630490be831461005157806313af40351461006b578063893d20e814610093578063a3f4df7e146100b7575b600080fd5b610059610134565b60408051918252519081900360200190f35b6100916004803603602081101561008157600080fd5b50356001600160a01b031661013a565b005b61009b6101ad565b604080516001600160a01b039092168252519081900360200190f35b6100bf6101d7565b6040805160208082528351818301528351919283929083019185019080838360005b838110156100f95781810151838201526020016100e1565b50505050905090810190601f1680156101265780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b60025481565b6101426101ad565b6001600160a01b0316336001600160a01b0316146101a1576040805162461bcd60e51b815260206004820152601760248201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604482015290519081900360640190fd5b6101aa816101fc565b50565b604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205490565b60405180604001604052806009815260200168141c9a58d95199595960ba1b81525081565b6001600160a01b0381166102415760405162461bcd60e51b81526004018080602001828103825260228152602001806102b26022913960400191505060405180910390fd5b806001600160a01b03166102536101ad565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205556fe4f776e61626c653a3a7365744f776e65723a20696e76616c69642061646472657373a2646970667358221220850a3957ce660509c32c79d3e8dfef2cedb98b17eadf9a1af3e1d6252e9eb16964736f6c634300060b00334f776e61626c653a3a7365744f776e65723a20696e76616c69642061646472657373", + "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061004c5760003560e01c80630490be831461005157806313af40351461006b578063893d20e814610093578063a3f4df7e146100b7575b600080fd5b610059610134565b60408051918252519081900360200190f35b6100916004803603602081101561008157600080fd5b50356001600160a01b031661013a565b005b61009b6101ad565b604080516001600160a01b039092168252519081900360200190f35b6100bf6101d7565b6040805160208082528351818301528351919283929083019185019080838360005b838110156100f95781810151838201526020016100e1565b50505050905090810190601f1680156101265780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b60025481565b6101426101ad565b6001600160a01b0316336001600160a01b0316146101a1576040805162461bcd60e51b815260206004820152601760248201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604482015290519081900360640190fd5b6101aa816101fc565b50565b604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205490565b60405180604001604052806009815260200168141c9a58d95199595960ba1b81525081565b6001600160a01b0381166102415760405162461bcd60e51b81526004018080602001828103825260228152602001806102b26022913960400191505060405180910390fd5b806001600160a01b03166102536101ad565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205556fe4f776e61626c653a3a7365744f776e65723a20696e76616c69642061646472657373a2646970667358221220850a3957ce660509c32c79d3e8dfef2cedb98b17eadf9a1af3e1d6252e9eb16964736f6c634300060b0033", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/packages/lib-ethers/live/PriceFeedTester.json b/packages/lib-ethers/live/PriceFeedTester.json index d5595dfc6..c3401ebf1 100644 --- a/packages/lib-ethers/live/PriceFeedTester.json +++ b/packages/lib-ethers/live/PriceFeedTester.json @@ -40,65 +40,38 @@ "inputs": [ { "indexed": false, - "internalType": "enum PriceFeed.Status", - "name": "newStatus", + "internalType": "uint8", + "name": "index", "type": "uint8" - } - ], - "name": "PriceFeedStatusChanged", - "type": "event" - }, - { - "inputs": [], - "name": "DECIMAL_PRECISION", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "ETHUSD_TELLOR_REQ_ID", - "outputs": [ + }, { - "internalType": "uint256", - "name": "", - "type": "uint256" + "indexed": false, + "internalType": "address", + "name": "priceFeedAddress", + "type": "address" } ], - "stateMutability": "view", - "type": "function" + "name": "PriceFeedBroken", + "type": "event" }, { - "inputs": [], - "name": "MAX_PRICE_DEVIATION_FROM_PREVIOUS_ROUND", - "outputs": [ + "anonymous": false, + "inputs": [ { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "MAX_PRICE_DIFFERENCE_BETWEEN_ORACLES", - "outputs": [ + "indexed": false, + "internalType": "uint8", + "name": "index", + "type": "uint8" + }, { - "internalType": "uint256", - "name": "", - "type": "uint256" + "indexed": false, + "internalType": "address", + "name": "newPriceFeedAddress", + "type": "address" } ], - "stateMutability": "view", - "type": "function" + "name": "PriceFeedUpdated", + "type": "event" }, { "inputs": [], @@ -113,45 +86,6 @@ "stateMutability": "view", "type": "function" }, - { - "inputs": [], - "name": "TARGET_DIGITS", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "TELLOR_DIGITS", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "TIMEOUT", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, { "inputs": [], "name": "fetchPrice", @@ -167,12 +101,12 @@ }, { "inputs": [], - "name": "isOwner", + "name": "getOwner", "outputs": [ { - "internalType": "bool", - "name": "", - "type": "bool" + "internalType": "address", + "name": "_owner", + "type": "address" } ], "stateMutability": "view", @@ -192,41 +126,39 @@ "type": "function" }, { - "inputs": [], - "name": "owner", - "outputs": [ + "inputs": [ + { + "internalType": "uint8", + "name": "_index", + "type": "uint8" + }, { "internalType": "address", - "name": "", + "name": "_newPriceFeed", "type": "address" } ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "priceAggregator", + "name": "setAddress", "outputs": [ { - "internalType": "contract AggregatorV3Interface", + "internalType": "uint256", "name": "", - "type": "address" + "type": "uint256" } ], - "stateMutability": "view", + "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", - "name": "_priceAggregatorAddress", + "name": "_mainPriceFeed", "type": "address" }, { "internalType": "address", - "name": "_tellorCallerAddress", + "name": "_backupPriceFeed", "type": "address" } ], @@ -251,45 +183,19 @@ { "inputs": [ { - "internalType": "enum PriceFeed.Status", - "name": "_status", - "type": "uint8" + "internalType": "address", + "name": "_owner", + "type": "address" } ], - "name": "setStatus", + "name": "setOwner", "outputs": [], "stateMutability": "nonpayable", "type": "function" - }, - { - "inputs": [], - "name": "status", - "outputs": [ - { - "internalType": "enum PriceFeed.Status", - "name": "", - "type": "uint8" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "tellorCaller", - "outputs": [ - { - "internalType": "contract ITellorCaller", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" } ], - "bytecode": "0x608060405234801561001057600080fd5b50600080546001600160a01b0319163390811782556040519091907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a361125f8061005f6000396000f3fe608060405234801561001057600080fd5b50600436106100f65760003560e01c80637c61e3bf116100925780637c61e3bf146101af5780638da5cb5b146101b75780638f32d59b146101bf57806390107afe146101db578063a20baee614610209578063a3f4df7e14610211578063c521b3f51461028e578063ebf8e6c6146102ab578063f56f48f2146102b3576100f6565b80630490be83146100fb5780630fdb11cf146101155780631be5c92f1461011d578063200d2ed2146101255780632e49d78b146101515780633078fff51461017357806345079cb41461019757806358a6aa881461019f5780635f42caf8146101a7575b600080fd5b6101036102bb565b60408051918252519081900360200190f35b6101036102c1565b610103610609565b61012d61060e565b6040518082600481111561013d57fe5b60ff16815260200191505060405180910390f35b6101716004803603602081101561016757600080fd5b503560ff16610617565b005b61017b610638565b604080516001600160a01b039092168252519081900360200190f35b610103610647565b610103610652565b61010361065e565b61017b610663565b61017b610672565b6101c7610681565b604080519115158252519081900360200190f35b610171600480360360408110156101f157600080fd5b506001600160a01b0381358116916020013516610692565b6101036107d5565b6102196107e1565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561025357818101518382015260200161023b565b50505050905090810190601f1680156102805780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b610171600480360360208110156102a457600080fd5b5035610806565b61010361080b565b610103610810565b60055481565b60006102cb61117e565b6102d3610816565b90506102dd61117e565b6102ef82600001518360800151610960565b90506102f96111ac565b610301610a3b565b9050600060065460ff16600481111561031657fe5b1415610448576103268383610ae7565b156103855761033481610b08565b15610350576103436002610b56565b6005549350505050610606565b61035981610bbc565b15610368576103436001610b56565b6103726001610b56565b61037b81610bdf565b9350505050610606565b61038e83610bbc565b156103d05761039c81610b08565b156103ab576103436004610b56565b6103b56003610b56565b6103be81610bbc565b15610372576005549350505050610606565b6103da8383610bfa565b15610427576103e881610b08565b156103f7576103436002610b56565b61040081610bbc565b1561040f576103436001610b56565b6104198382610c99565b156103685761037b83610d18565b61043081610b08565b1561043f5761043f6004610b56565b61037b83610d18565b600160065460ff16600481111561045b57fe5b14156104935761046c838383610d30565b1561047b5761043f6000610b56565b61048481610b08565b156103b5576103436002610b56565b600260065460ff1660048111156104a657fe5b14156104c6576104b7838383610d30565b156103435761043f6000610b56565b600360065460ff1660048111156104d957fe5b1415610582576104e98383610ae7565b15610510576104f781610b08565b15610506576103436002610b56565b6103b56001610b56565b61051983610bbc565b156105365761052781610b08565b156103b5576103436004610b56565b61053f81610b08565b1561054e5761043f6004610b56565b61055781610bbc565b15610569576005549350505050610606565b6105738382610c99565b156103685761043f6000610b56565b600460065460ff16600481111561059557fe5b1415610602576105a58383610ae7565b156105b4576103436002610b56565b6105bd83610bbc565b156105cf576005549350505050610606565b6105da838383610d30565b156105e95761043f6000610b56565b6105f38383610bfa565b1561043f576103436002610b56565b5050505b90565b601281565b60065460ff1681565b6006805482919060ff1916600183600481111561063057fe5b021790555050565b6001546001600160a01b031681565b66b1a2bc2ec5000081565b6706f05b59d3b2000081565b600181565b6002546001600160a01b031681565b6000546001600160a01b031690565b6000546001600160a01b0316331490565b61069a610681565b6106eb576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b6106f482610d88565b6106fd81610d88565b600180546001600160a01b038481166001600160a01b03199283161790925560028054928416929091169190911790556006805460ff1916905561073f61117e565b610747610816565b905061075161117e565b61076382600001518360800151610960565b905061076f8282610ae7565b158015610782575061078082610bbc565b155b6107bd5760405162461bcd60e51b81526004018080602001828103825260308152602001806111fa6030913960400191505060405180910390fd5b6107c682610d18565b506107cf610e3b565b50505050565b670de0b6b3a764000081565b60405180604001604052806009815260200168141c9a58d95199595960ba1b81525081565b600555565b600681565b61384081565b61081e61117e565b600160009054906101000a90046001600160a01b03166001600160a01b031663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b15801561086c57600080fd5b505afa92505050801561089157506040513d602081101561088c57600080fd5b505160015b61089a57610606565b60ff166080820152600160009054906101000a90046001600160a01b03166001600160a01b031663feaf968c6040518163ffffffff1660e01b815260040160a06040518083038186803b1580156108f057600080fd5b505afa92505050801561093257506040513d60a081101561091057600080fd5b5080516020820151604083015160608401516080909401519293919290919060015b61093b57610606565b506001600160501b039093168452506020830152604082015260016060820152610606565b61096861117e565b60015460408051639a6fc8f560e01b81526001600160501b03600019870116600482015290516001600160a01b0390921691639a6fc8f59160248082019260a092909190829003018186803b1580156109c057600080fd5b505afa925050508015610a0257506040513d60a08110156109e057600080fd5b5080516020820151604083015160608401516080909401519293919290919060015b610a0b57610a35565b506001600160501b039093168452506020830152604082015260ff82166080820152600160608201525b92915050565b610a436111ac565b600254604080516332e6aadb60e01b81526001600482015290516001600160a01b03909216916332e6aadb91602480820192606092909190829003018186803b158015610a8f57600080fd5b505afa925050508015610ac357506040513d6060811015610aaf57600080fd5b508051602082015160409092015190919060015b610acc57610606565b91151583526020830152604082015260016060820152610606565b6000610af283610e85565b80610b015750610b0182610e85565b9392505050565b60008160600151610b1b57506001610b51565b60408201511580610b2f5750428260400151115b15610b3c57506001610b51565b6020820151610b4d57506001610b51565b5060005b919050565b6006805482919060ff19166001836004811115610b6f57fe5b02179055507f5c57579a8214fe4f710c1c56fa829f045b9fa6d225a744225a30c32188064d4e8160405180826004811115610ba657fe5b60ff16815260200191505060405180910390a150565b6000613840610bd8836040015142610ee490919063ffffffff16565b1192915050565b600080610bef8360200151610f26565b9050610a3581610f3d565b600080610c128460200151856080015160ff16610f78565b90506000610c2b8460200151856080015160ff16610f78565b90506000610c398383610fc1565b90506000610c478484610fd7565b90506000610c8382610c77670de0b6b3a7640000610c6b838863ffffffff610ee416565b9063ffffffff610fe716565b9063ffffffff61104016565b6706f05b59d3b200001098975050505050505050565b600080610cb18460200151856080015160ff16610f78565b90506000610cc28460200151610f26565b90506000610cd08284610fc1565b90506000610cde8385610fd7565b90506000610d0283610c77670de0b6b3a7640000610c6b868463ffffffff610ee416565b66b1a2bc2ec50000101598975050505050505050565b600080610bef8360200151846080015160ff16610f78565b6000610d3b82610b08565b80610d4a5750610d4a82610bbc565b80610d5a5750610d5a8484610ae7565b80610d695750610d6984610bbc565b15610d7657506000610b01565b610d808483610c99565b949350505050565b6001600160a01b038116610de3576040805162461bcd60e51b815260206004820152601e60248201527f4163636f756e742063616e6e6f74206265207a65726f20616464726573730000604482015290519081900360640190fd5b803b80610e37576040805162461bcd60e51b815260206004820181905260248201527f4163636f756e7420636f64652073697a652063616e6e6f74206265207a65726f604482015290519081900360640190fd5b5050565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b60008160600151610e9857506001610b51565b81516001600160501b0316610eaf57506001610b51565b60408201511580610ec35750428260400151115b15610ed057506001610b51565b6000826020015113610b4d57506001610b51565b6000610b0183836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611082565b6000610a358264e8d4a5100063ffffffff610fe716565b60058190556040805182815290517f4d29de21de555af78a62fc82dd4bc05e9ae5b0660a37f04729527e0f22780cd39181900360200190a150565b60008060128310610fa157610f9a846011198501600a0a63ffffffff61104016565b9050610b01565b6012831015610b0157610d80846012859003600a0a63ffffffff610fe716565b6000818310610fd05781610b01565b5090919050565b600081831015610fd05781610b01565b600082610ff657506000610a35565b8282028284828161100357fe5b0414610b015760405162461bcd60e51b81526004018080602001828103825260218152602001806111d96021913960400191505060405180910390fd5b6000610b0183836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611119565b600081848411156111115760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156110d65781810151838201526020016110be565b50505050905090810190601f1680156111035780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b600081836111685760405162461bcd60e51b81526020600482018181528351602484015283519092839260449091019190850190808383600083156110d65781810151838201526020016110be565b50600083858161117457fe5b0495945050505050565b6040805160a08101825260008082526020820181905291810182905260608101829052608081019190915290565b60405180608001604052806000151581526020016000815260200160008152602001600015158152509056fe536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f775072696365466565643a20436861696e6c696e6b206d75737420626520776f726b696e6720616e642063757272656e74a2646970667358221220bc06eede700e6db44e26a889a89820153013199c031b5a02156743c8df15f81264736f6c634300060b0033", - "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100f65760003560e01c80637c61e3bf116100925780637c61e3bf146101af5780638da5cb5b146101b75780638f32d59b146101bf57806390107afe146101db578063a20baee614610209578063a3f4df7e14610211578063c521b3f51461028e578063ebf8e6c6146102ab578063f56f48f2146102b3576100f6565b80630490be83146100fb5780630fdb11cf146101155780631be5c92f1461011d578063200d2ed2146101255780632e49d78b146101515780633078fff51461017357806345079cb41461019757806358a6aa881461019f5780635f42caf8146101a7575b600080fd5b6101036102bb565b60408051918252519081900360200190f35b6101036102c1565b610103610609565b61012d61060e565b6040518082600481111561013d57fe5b60ff16815260200191505060405180910390f35b6101716004803603602081101561016757600080fd5b503560ff16610617565b005b61017b610638565b604080516001600160a01b039092168252519081900360200190f35b610103610647565b610103610652565b61010361065e565b61017b610663565b61017b610672565b6101c7610681565b604080519115158252519081900360200190f35b610171600480360360408110156101f157600080fd5b506001600160a01b0381358116916020013516610692565b6101036107d5565b6102196107e1565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561025357818101518382015260200161023b565b50505050905090810190601f1680156102805780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b610171600480360360208110156102a457600080fd5b5035610806565b61010361080b565b610103610810565b60055481565b60006102cb61117e565b6102d3610816565b90506102dd61117e565b6102ef82600001518360800151610960565b90506102f96111ac565b610301610a3b565b9050600060065460ff16600481111561031657fe5b1415610448576103268383610ae7565b156103855761033481610b08565b15610350576103436002610b56565b6005549350505050610606565b61035981610bbc565b15610368576103436001610b56565b6103726001610b56565b61037b81610bdf565b9350505050610606565b61038e83610bbc565b156103d05761039c81610b08565b156103ab576103436004610b56565b6103b56003610b56565b6103be81610bbc565b15610372576005549350505050610606565b6103da8383610bfa565b15610427576103e881610b08565b156103f7576103436002610b56565b61040081610bbc565b1561040f576103436001610b56565b6104198382610c99565b156103685761037b83610d18565b61043081610b08565b1561043f5761043f6004610b56565b61037b83610d18565b600160065460ff16600481111561045b57fe5b14156104935761046c838383610d30565b1561047b5761043f6000610b56565b61048481610b08565b156103b5576103436002610b56565b600260065460ff1660048111156104a657fe5b14156104c6576104b7838383610d30565b156103435761043f6000610b56565b600360065460ff1660048111156104d957fe5b1415610582576104e98383610ae7565b15610510576104f781610b08565b15610506576103436002610b56565b6103b56001610b56565b61051983610bbc565b156105365761052781610b08565b156103b5576103436004610b56565b61053f81610b08565b1561054e5761043f6004610b56565b61055781610bbc565b15610569576005549350505050610606565b6105738382610c99565b156103685761043f6000610b56565b600460065460ff16600481111561059557fe5b1415610602576105a58383610ae7565b156105b4576103436002610b56565b6105bd83610bbc565b156105cf576005549350505050610606565b6105da838383610d30565b156105e95761043f6000610b56565b6105f38383610bfa565b1561043f576103436002610b56565b5050505b90565b601281565b60065460ff1681565b6006805482919060ff1916600183600481111561063057fe5b021790555050565b6001546001600160a01b031681565b66b1a2bc2ec5000081565b6706f05b59d3b2000081565b600181565b6002546001600160a01b031681565b6000546001600160a01b031690565b6000546001600160a01b0316331490565b61069a610681565b6106eb576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b6106f482610d88565b6106fd81610d88565b600180546001600160a01b038481166001600160a01b03199283161790925560028054928416929091169190911790556006805460ff1916905561073f61117e565b610747610816565b905061075161117e565b61076382600001518360800151610960565b905061076f8282610ae7565b158015610782575061078082610bbc565b155b6107bd5760405162461bcd60e51b81526004018080602001828103825260308152602001806111fa6030913960400191505060405180910390fd5b6107c682610d18565b506107cf610e3b565b50505050565b670de0b6b3a764000081565b60405180604001604052806009815260200168141c9a58d95199595960ba1b81525081565b600555565b600681565b61384081565b61081e61117e565b600160009054906101000a90046001600160a01b03166001600160a01b031663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b15801561086c57600080fd5b505afa92505050801561089157506040513d602081101561088c57600080fd5b505160015b61089a57610606565b60ff166080820152600160009054906101000a90046001600160a01b03166001600160a01b031663feaf968c6040518163ffffffff1660e01b815260040160a06040518083038186803b1580156108f057600080fd5b505afa92505050801561093257506040513d60a081101561091057600080fd5b5080516020820151604083015160608401516080909401519293919290919060015b61093b57610606565b506001600160501b039093168452506020830152604082015260016060820152610606565b61096861117e565b60015460408051639a6fc8f560e01b81526001600160501b03600019870116600482015290516001600160a01b0390921691639a6fc8f59160248082019260a092909190829003018186803b1580156109c057600080fd5b505afa925050508015610a0257506040513d60a08110156109e057600080fd5b5080516020820151604083015160608401516080909401519293919290919060015b610a0b57610a35565b506001600160501b039093168452506020830152604082015260ff82166080820152600160608201525b92915050565b610a436111ac565b600254604080516332e6aadb60e01b81526001600482015290516001600160a01b03909216916332e6aadb91602480820192606092909190829003018186803b158015610a8f57600080fd5b505afa925050508015610ac357506040513d6060811015610aaf57600080fd5b508051602082015160409092015190919060015b610acc57610606565b91151583526020830152604082015260016060820152610606565b6000610af283610e85565b80610b015750610b0182610e85565b9392505050565b60008160600151610b1b57506001610b51565b60408201511580610b2f5750428260400151115b15610b3c57506001610b51565b6020820151610b4d57506001610b51565b5060005b919050565b6006805482919060ff19166001836004811115610b6f57fe5b02179055507f5c57579a8214fe4f710c1c56fa829f045b9fa6d225a744225a30c32188064d4e8160405180826004811115610ba657fe5b60ff16815260200191505060405180910390a150565b6000613840610bd8836040015142610ee490919063ffffffff16565b1192915050565b600080610bef8360200151610f26565b9050610a3581610f3d565b600080610c128460200151856080015160ff16610f78565b90506000610c2b8460200151856080015160ff16610f78565b90506000610c398383610fc1565b90506000610c478484610fd7565b90506000610c8382610c77670de0b6b3a7640000610c6b838863ffffffff610ee416565b9063ffffffff610fe716565b9063ffffffff61104016565b6706f05b59d3b200001098975050505050505050565b600080610cb18460200151856080015160ff16610f78565b90506000610cc28460200151610f26565b90506000610cd08284610fc1565b90506000610cde8385610fd7565b90506000610d0283610c77670de0b6b3a7640000610c6b868463ffffffff610ee416565b66b1a2bc2ec50000101598975050505050505050565b600080610bef8360200151846080015160ff16610f78565b6000610d3b82610b08565b80610d4a5750610d4a82610bbc565b80610d5a5750610d5a8484610ae7565b80610d695750610d6984610bbc565b15610d7657506000610b01565b610d808483610c99565b949350505050565b6001600160a01b038116610de3576040805162461bcd60e51b815260206004820152601e60248201527f4163636f756e742063616e6e6f74206265207a65726f20616464726573730000604482015290519081900360640190fd5b803b80610e37576040805162461bcd60e51b815260206004820181905260248201527f4163636f756e7420636f64652073697a652063616e6e6f74206265207a65726f604482015290519081900360640190fd5b5050565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b60008160600151610e9857506001610b51565b81516001600160501b0316610eaf57506001610b51565b60408201511580610ec35750428260400151115b15610ed057506001610b51565b6000826020015113610b4d57506001610b51565b6000610b0183836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611082565b6000610a358264e8d4a5100063ffffffff610fe716565b60058190556040805182815290517f4d29de21de555af78a62fc82dd4bc05e9ae5b0660a37f04729527e0f22780cd39181900360200190a150565b60008060128310610fa157610f9a846011198501600a0a63ffffffff61104016565b9050610b01565b6012831015610b0157610d80846012859003600a0a63ffffffff610fe716565b6000818310610fd05781610b01565b5090919050565b600081831015610fd05781610b01565b600082610ff657506000610a35565b8282028284828161100357fe5b0414610b015760405162461bcd60e51b81526004018080602001828103825260218152602001806111d96021913960400191505060405180910390fd5b6000610b0183836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611119565b600081848411156111115760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156110d65781810151838201526020016110be565b50505050905090810190601f1680156111035780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b600081836111685760405162461bcd60e51b81526020600482018181528351602484015283519092839260449091019190850190808383600083156110d65781810151838201526020016110be565b50600083858161117457fe5b0495945050505050565b6040805160a08101825260008082526020820181905291810182905260608101829052608081019190915290565b60405180608001604052806000151581526020016000815260200160008152602001600015158152509056fe536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f775072696365466565643a20436861696e6c696e6b206d75737420626520776f726b696e6720616e642063757272656e74a2646970667358221220bc06eede700e6db44e26a889a89820153013199c031b5a02156743c8df15f81264736f6c634300060b0033", + "bytecode": "0x608060405234801561001057600080fd5b50610023336001600160e01b0361002816565b610110565b6001600160a01b03811661006d5760405162461bcd60e51b81526004018080602001828103825260228152602001806109c06022913960400191505060405180910390fd5b6001600160a01b0381166100886001600160e01b036100e616565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3604080517035b2bc9737bbb730b136329737bbb732b960791b8152905190819003601101902055565b604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205490565b6108a18061011f6000396000f3fe608060405234801561001057600080fd5b50600436106100785760003560e01c80630490be831461007d5780630589c4e5146100975780630fdb11cf146100c657806313af4035146100ce578063893d20e8146100f657806390107afe1461011a578063a3f4df7e14610148578063c521b3f5146101c5575b600080fd5b6100856101e2565b60408051918252519081900360200190f35b610085600480360360408110156100ad57600080fd5b50803560ff1690602001356001600160a01b03166101e8565b6100856103e1565b6100f4600480360360208110156100e457600080fd5b50356001600160a01b0316610501565b005b6100fe610574565b604080516001600160a01b039092168252519081900360200190f35b6100f46004803603604081101561013057600080fd5b506001600160a01b038135811691602001351661059e565b61015061062e565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561018a578181015183820152602001610172565b50505050905090810190601f1680156101b75780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6100f4600480360360208110156101db57600080fd5b5035610653565b60025481565b60006101f2610574565b6001600160a01b0316336001600160a01b031614610251576040805162461bcd60e51b815260206004820152601760248201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604482015290519081900360640190fd5b60028360ff16106102935760405162461bcd60e51b81526004018080602001828103825260298152602001806107fc6029913960400191505060405180910390fd5b61029c82610658565b8160008460ff16600281106102ad57fe5b0180546001600160a01b0319166001600160a01b03929092169190911790556000808060ff8616600281106102de57fe5b0154604080516350d25bcd60e01b815281516001600160a01b03909316926350d25bcd92600480840193919291829003018186803b15801561031f57600080fd5b505afa158015610333573d6000803e3d6000fd5b505050506040513d604081101561034957600080fd5b5080516020909101519092509050806103935760405162461bcd60e51b81526004018080602001828103825260258152602001806108476025913960400191505060405180910390fd5b6040805160ff871681526001600160a01b038616602082015281517f97f7578becfa7a6013824d8ab1174e8c0522d468cd75e7a7e7fc4bde27338442929181900390910190a1509392505050565b6000805b60028160ff1610156104f85760008060008360ff166002811061040457fe5b0154604080516350d25bcd60e01b815281516001600160a01b03909316926350d25bcd92600480840193919291829003018186803b15801561044557600080fd5b505afa158015610459573d6000803e3d6000fd5b505050506040513d604081101561046f57600080fd5b508051602090910151909250905080156104965761048c8261070b565b5091506104fe9050565b7f19f3630adb38b0aca2b2ad2b9db00888aef6e2b79bbf683a6c4992500998ea708360008560ff16600281106104c857fe5b01546040805160ff90931683526001600160a01b0390911660208301528051918290030190a150506001016103e5565b50506002545b90565b610509610574565b6001600160a01b0316336001600160a01b031614610568576040805162461bcd60e51b815260206004820152601760248201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604482015290519081900360640190fd5b61057181610746565b50565b604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205490565b6105a6610574565b6001600160a01b0316336001600160a01b031614610605576040805162461bcd60e51b815260206004820152601760248201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604482015290519081900360640190fd5b60006106126000846101e8565b905061061f6001836101e8565b506106298161070b565b505050565b60405180604001604052806009815260200168141c9a58d95199595960ba1b81525081565b600255565b6001600160a01b0381166106b3576040805162461bcd60e51b815260206004820152601e60248201527f4163636f756e742063616e6e6f74206265207a65726f20616464726573730000604482015290519081900360640190fd5b803b80610707576040805162461bcd60e51b815260206004820181905260248201527f4163636f756e7420636f64652073697a652063616e6e6f74206265207a65726f604482015290519081900360640190fd5b5050565b60028190556040805182815290517f4d29de21de555af78a62fc82dd4bc05e9ae5b0660a37f04729527e0f22780cd39181900360200190a150565b6001600160a01b03811661078b5760405162461bcd60e51b81526004018080602001828103825260228152602001806108256022913960400191505060405180910390fd5b806001600160a01b031661079d610574565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205556fe4f7574206f6620626f756e6473207768656e2073657474696e672074686520707269636520666565644f776e61626c653a3a7365744f776e65723a20696e76616c696420616464726573735072696365466565643a2050726963652066656564206d75737420626520776f726b696e67a2646970667358221220ef036ea581505bc85a10052254a8e4ab79708bfd52f07bb45cc61d45601b9da764736f6c634300060b00334f776e61626c653a3a7365744f776e65723a20696e76616c69642061646472657373", + "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100785760003560e01c80630490be831461007d5780630589c4e5146100975780630fdb11cf146100c657806313af4035146100ce578063893d20e8146100f657806390107afe1461011a578063a3f4df7e14610148578063c521b3f5146101c5575b600080fd5b6100856101e2565b60408051918252519081900360200190f35b610085600480360360408110156100ad57600080fd5b50803560ff1690602001356001600160a01b03166101e8565b6100856103e1565b6100f4600480360360208110156100e457600080fd5b50356001600160a01b0316610501565b005b6100fe610574565b604080516001600160a01b039092168252519081900360200190f35b6100f46004803603604081101561013057600080fd5b506001600160a01b038135811691602001351661059e565b61015061062e565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561018a578181015183820152602001610172565b50505050905090810190601f1680156101b75780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6100f4600480360360208110156101db57600080fd5b5035610653565b60025481565b60006101f2610574565b6001600160a01b0316336001600160a01b031614610251576040805162461bcd60e51b815260206004820152601760248201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604482015290519081900360640190fd5b60028360ff16106102935760405162461bcd60e51b81526004018080602001828103825260298152602001806107fc6029913960400191505060405180910390fd5b61029c82610658565b8160008460ff16600281106102ad57fe5b0180546001600160a01b0319166001600160a01b03929092169190911790556000808060ff8616600281106102de57fe5b0154604080516350d25bcd60e01b815281516001600160a01b03909316926350d25bcd92600480840193919291829003018186803b15801561031f57600080fd5b505afa158015610333573d6000803e3d6000fd5b505050506040513d604081101561034957600080fd5b5080516020909101519092509050806103935760405162461bcd60e51b81526004018080602001828103825260258152602001806108476025913960400191505060405180910390fd5b6040805160ff871681526001600160a01b038616602082015281517f97f7578becfa7a6013824d8ab1174e8c0522d468cd75e7a7e7fc4bde27338442929181900390910190a1509392505050565b6000805b60028160ff1610156104f85760008060008360ff166002811061040457fe5b0154604080516350d25bcd60e01b815281516001600160a01b03909316926350d25bcd92600480840193919291829003018186803b15801561044557600080fd5b505afa158015610459573d6000803e3d6000fd5b505050506040513d604081101561046f57600080fd5b508051602090910151909250905080156104965761048c8261070b565b5091506104fe9050565b7f19f3630adb38b0aca2b2ad2b9db00888aef6e2b79bbf683a6c4992500998ea708360008560ff16600281106104c857fe5b01546040805160ff90931683526001600160a01b0390911660208301528051918290030190a150506001016103e5565b50506002545b90565b610509610574565b6001600160a01b0316336001600160a01b031614610568576040805162461bcd60e51b815260206004820152601760248201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604482015290519081900360640190fd5b61057181610746565b50565b604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205490565b6105a6610574565b6001600160a01b0316336001600160a01b031614610605576040805162461bcd60e51b815260206004820152601760248201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604482015290519081900360640190fd5b60006106126000846101e8565b905061061f6001836101e8565b506106298161070b565b505050565b60405180604001604052806009815260200168141c9a58d95199595960ba1b81525081565b600255565b6001600160a01b0381166106b3576040805162461bcd60e51b815260206004820152601e60248201527f4163636f756e742063616e6e6f74206265207a65726f20616464726573730000604482015290519081900360640190fd5b803b80610707576040805162461bcd60e51b815260206004820181905260248201527f4163636f756e7420636f64652073697a652063616e6e6f74206265207a65726f604482015290519081900360640190fd5b5050565b60028190556040805182815290517f4d29de21de555af78a62fc82dd4bc05e9ae5b0660a37f04729527e0f22780cd39181900360200190a150565b6001600160a01b03811661078b5760405162461bcd60e51b81526004018080602001828103825260228152602001806108256022913960400191505060405180910390fd5b806001600160a01b031661079d610574565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205556fe4f7574206f6620626f756e6473207768656e2073657474696e672074686520707269636520666565644f776e61626c653a3a7365744f776e65723a20696e76616c696420616464726573735072696365466565643a2050726963652066656564206d75737420626520776f726b696e67a2646970667358221220ef036ea581505bc85a10052254a8e4ab79708bfd52f07bb45cc61d45601b9da764736f6c634300060b0033", "linkReferences": {}, "deployedLinkReferences": {} } diff --git a/packages/lib-ethers/live/PriceFeedTestnet.json b/packages/lib-ethers/live/PriceFeedTestnet.json index 1393efcff..76401d674 100644 --- a/packages/lib-ethers/live/PriceFeedTestnet.json +++ b/packages/lib-ethers/live/PriceFeedTestnet.json @@ -62,8 +62,8 @@ "type": "function" } ], - "bytecode": "0x6080604052680ad78ebc5ac620000060005534801561001d57600080fd5b5060cb8061002c6000396000f3fe6080604052348015600f57600080fd5b5060043610603c5760003560e01c80630fdb11cf14604157806391b7f5ed14605957806398d5fdca146041575b600080fd5b60476087565b60408051918252519081900360200190f35b607360048036036020811015606d57600080fd5b5035608d565b604080519115158252519081900360200190f35b60005490565b60005560019056fea2646970667358221220987d1afde74388e098a39b40724f88f529e6c3ebb79473037c7e38555b3a243e64736f6c634300060b0033", - "deployedBytecode": "0x6080604052348015600f57600080fd5b5060043610603c5760003560e01c80630fdb11cf14604157806391b7f5ed14605957806398d5fdca146041575b600080fd5b60476087565b60408051918252519081900360200190f35b607360048036036020811015606d57600080fd5b5035608d565b604080519115158252519081900360200190f35b60005490565b60005560019056fea2646970667358221220987d1afde74388e098a39b40724f88f529e6c3ebb79473037c7e38555b3a243e64736f6c634300060b0033", + "bytecode": "0x6080604052680ad78ebc5ac620000060005534801561001d57600080fd5b5061010e8061002d6000396000f3fe6080604052348015600f57600080fd5b5060043610603c5760003560e01c80630fdb11cf14604157806391b7f5ed14605957806398d5fdca146087575b600080fd5b6047608d565b60408051918252519081900360200190f35b607360048036036020811015606d57600080fd5b503560ca565b604080519115158252519081900360200190f35b604760d2565b6000805460408051918252517f4d29de21de555af78a62fc82dd4bc05e9ae5b0660a37f04729527e0f22780cd39181900360200190a15060005490565b600055600190565b6000549056fea2646970667358221220164ba700becaab6addb0063cb07fd2e3060ebb0990f72b63246d2dc261ecdc9364736f6c634300060b0033", + "deployedBytecode": "0x6080604052348015600f57600080fd5b5060043610603c5760003560e01c80630fdb11cf14604157806391b7f5ed14605957806398d5fdca146087575b600080fd5b6047608d565b60408051918252519081900360200190f35b607360048036036020811015606d57600080fd5b503560ca565b604080519115158252519081900360200190f35b604760d2565b6000805460408051918252517f4d29de21de555af78a62fc82dd4bc05e9ae5b0660a37f04729527e0f22780cd39181900360200190a15060005490565b600055600190565b6000549056fea2646970667358221220164ba700becaab6addb0063cb07fd2e3060ebb0990f72b63246d2dc261ecdc9364736f6c634300060b0033", "linkReferences": {}, "deployedLinkReferences": {} } diff --git a/packages/lib-ethers/live/ProxiableContract.json b/packages/lib-ethers/live/ProxiableContract.json new file mode 100644 index 000000000..07a04391f --- /dev/null +++ b/packages/lib-ethers/live/ProxiableContract.json @@ -0,0 +1,37 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "ProxiableContract", + "sourceName": "contracts/TestContracts/UpgradableProxyTester.sol", + "abi": [ + { + "inputs": [], + "name": "getSomeVar", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "setSomeVar", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "bytecode": "0x608060405234801561001057600080fd5b5060ac8061001f6000396000f3fe6080604052348015600f57600080fd5b506004361060325760003560e01c806304f03b6a146037578063fdc658e014604f575b600080fd5b603d606b565b60408051918252519081900360200190f35b606960048036036020811015606357600080fd5b50356071565b005b60005490565b60005556fea264697066735822122007b53bc4aa5a32c49415ca7b56f8d434653ad5ae3c41b8b1959dbc19811d708f64736f6c634300060b0033", + "deployedBytecode": "0x6080604052348015600f57600080fd5b506004361060325760003560e01c806304f03b6a146037578063fdc658e014604f575b600080fd5b603d606b565b60408051918252519081900360200190f35b606960048036036020811015606357600080fd5b50356071565b005b60005490565b60005556fea264697066735822122007b53bc4aa5a32c49415ca7b56f8d434653ad5ae3c41b8b1959dbc19811d708f64736f6c634300060b0033", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/packages/lib-ethers/live/ProxiableContract2.json b/packages/lib-ethers/live/ProxiableContract2.json new file mode 100644 index 000000000..296eb5b61 --- /dev/null +++ b/packages/lib-ethers/live/ProxiableContract2.json @@ -0,0 +1,76 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "ProxiableContract2", + "sourceName": "contracts/TestContracts/UpgradableProxyTester.sol", + "abi": [ + { + "inputs": [], + "name": "getAnotherVar", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getSomeVar", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "mulVars", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "setAnotherVar", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "setSomeVar", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "bytecode": "0x608060405234801561001057600080fd5b50610105806100206000396000f3fe6080604052348015600f57600080fd5b506004361060505760003560e01c806304f03b6a1460555780634be8254314606d578063ab2bf6b5146073578063afd2f403146079578063fdc658e0146095575b600080fd5b605b60af565b60408051918252519081900360200190f35b605b60b5565b605b60bb565b609360048036036020811015608d57600080fd5b503560c5565b005b60936004803603602081101560a957600080fd5b503560ca565b60005490565b60015490565b6001546000540290565b600155565b60005556fea2646970667358221220e5318cb8e056afe87324cbd0339e66389558cb712d1a8bef68d66df343c80aa764736f6c634300060b0033", + "deployedBytecode": "0x6080604052348015600f57600080fd5b506004361060505760003560e01c806304f03b6a1460555780634be8254314606d578063ab2bf6b5146073578063afd2f403146079578063fdc658e0146095575b600080fd5b605b60af565b60408051918252519081900360200190f35b605b60b5565b605b60bb565b609360048036036020811015608d57600080fd5b503560c5565b005b60936004803603602081101560a957600080fd5b503560ca565b60005490565b60015490565b6001546000540290565b600155565b60005556fea2646970667358221220e5318cb8e056afe87324cbd0339e66389558cb712d1a8bef68d66df343c80aa764736f6c634300060b0033", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/packages/lib-ethers/live/Proxy.json b/packages/lib-ethers/live/Proxy.json new file mode 100644 index 000000000..686b37fd9 --- /dev/null +++ b/packages/lib-ethers/live/Proxy.json @@ -0,0 +1,96 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "Proxy", + "sourceName": "contracts/Proxy/Proxy.sol", + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "_oldImplementation", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "_newImplementation", + "type": "address" + } + ], + "name": "ImplementationChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousOwner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnershipTransferred", + "type": "event" + }, + { + "stateMutability": "payable", + "type": "fallback" + }, + { + "inputs": [], + "name": "getImplementation", + "outputs": [ + { + "internalType": "address", + "name": "_implementation", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getOwner", + "outputs": [ + { + "internalType": "address", + "name": "_owner", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_owner", + "type": "address" + } + ], + "name": "setOwner", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "stateMutability": "payable", + "type": "receive" + } + ], + "bytecode": "0x608060405234801561001057600080fd5b50610023336001600160e01b0361002816565b610110565b6001600160a01b03811661006d5760405162461bcd60e51b81526004018080602001828103825260228152602001806104556022913960400191505060405180910390fd5b6001600160a01b0381166100886001600160e01b036100e616565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3604080517035b2bc9737bbb730b136329737bbb732b960791b8152905190819003601101902055565b604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205490565b6103368061011f6000396000f3fe6080604052600436106100385760003560e01c806313af40351461004f578063893d20e814610082578063aaf10f42146100b357610047565b36610047576100456100c8565b005b6100456100c8565b34801561005b57600080fd5b506100456004803603602081101561007257600080fd5b50356001600160a01b031661013e565b34801561008e57600080fd5b506100976101b1565b604080516001600160a01b039092168252519081900360200190f35b3480156100bf57600080fd5b506100976101db565b60006100d26101db565b90506001600160a01b0381166101195760405162461bcd60e51b81526004018080602001828103825260238152602001806102de6023913960400191505060405180910390fd5b60405136600082376000803683855af43d806000843e81801561013a578184f35b8184fd5b6101466101b1565b6001600160a01b0316336001600160a01b0316146101a5576040805162461bcd60e51b815260206004820152601760248201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604482015290519081900360640190fd5b6101ae81610206565b50565b604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205490565b604080517135b2bc9734b6b83632b6b2b73a30ba34b7b760711b815290519081900360120190205490565b6001600160a01b03811661024b5760405162461bcd60e51b81526004018080602001828103825260228152602001806102bc6022913960400191505060405180910390fd5b806001600160a01b031661025d6101b1565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205556fe4f776e61626c653a3a7365744f776e65723a20696e76616c6964206164647265737350726f78793a3a28293a20696d706c656d656e746174696f6e206e6f7420666f756e64a2646970667358221220847498cad4cff368610e264fcc4280cc45d1a9930fe2330a276d5af4aa5484ce64736f6c634300060b00334f776e61626c653a3a7365744f776e65723a20696e76616c69642061646472657373", + "deployedBytecode": "0x6080604052600436106100385760003560e01c806313af40351461004f578063893d20e814610082578063aaf10f42146100b357610047565b36610047576100456100c8565b005b6100456100c8565b34801561005b57600080fd5b506100456004803603602081101561007257600080fd5b50356001600160a01b031661013e565b34801561008e57600080fd5b506100976101b1565b604080516001600160a01b039092168252519081900360200190f35b3480156100bf57600080fd5b506100976101db565b60006100d26101db565b90506001600160a01b0381166101195760405162461bcd60e51b81526004018080602001828103825260238152602001806102de6023913960400191505060405180910390fd5b60405136600082376000803683855af43d806000843e81801561013a578184f35b8184fd5b6101466101b1565b6001600160a01b0316336001600160a01b0316146101a5576040805162461bcd60e51b815260206004820152601760248201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604482015290519081900360640190fd5b6101ae81610206565b50565b604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205490565b604080517135b2bc9734b6b83632b6b2b73a30ba34b7b760711b815290519081900360120190205490565b6001600160a01b03811661024b5760405162461bcd60e51b81526004018080602001828103825260228152602001806102bc6022913960400191505060405180910390fd5b806001600160a01b031661025d6101b1565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205556fe4f776e61626c653a3a7365744f776e65723a20696e76616c6964206164647265737350726f78793a3a28293a20696d706c656d656e746174696f6e206e6f7420666f756e64a2646970667358221220847498cad4cff368610e264fcc4280cc45d1a9930fe2330a276d5af4aa5484ce64736f6c634300060b0033", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/packages/lib-ethers/live/RskOracle.json b/packages/lib-ethers/live/RskOracle.json new file mode 100644 index 000000000..88a521330 --- /dev/null +++ b/packages/lib-ethers/live/RskOracle.json @@ -0,0 +1,40 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "RskOracle", + "sourceName": "contracts/Dependencies/PriceFeed/RskOracle.sol", + "abi": [ + { + "inputs": [ + { + "internalType": "address", + "name": "_address", + "type": "address" + } + ], + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "inputs": [], + "name": "latestAnswer", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + } + ], + "bytecode": "0x608060405234801561001057600080fd5b5060405161015e38038061015e8339818101604052602081101561003357600080fd5b5051600080546001600160a01b039092166001600160a01b031990921691909117905560fa806100646000396000f3fe6080604052348015600f57600080fd5b506004361060285760003560e01c806350d25bcd14602d575b600080fd5b6033604c565b6040805192835290151560208301528051918290030190f35b60008054604080516307169c6760e31b81528151849384936001600160a01b03909116926338b4e3389260048083019392829003018186803b158015609057600080fd5b505afa15801560a3573d6000803e3d6000fd5b505050506040513d604081101560b857600080fd5b5051936001935091505056fea2646970667358221220d437286b4d2232b863f78047e05b4b9db19e3c4988087ec1ac17a59bebd77b0b64736f6c634300060b0033", + "deployedBytecode": "0x6080604052348015600f57600080fd5b506004361060285760003560e01c806350d25bcd14602d575b600080fd5b6033604c565b6040805192835290151560208301528051918290030190f35b60008054604080516307169c6760e31b81528151849384936001600160a01b03909116926338b4e3389260048083019392829003018186803b158015609057600080fd5b505afa15801560a3573d6000803e3d6000fd5b505050506040513d604081101560b857600080fd5b5051936001935091505056fea2646970667358221220d437286b4d2232b863f78047e05b4b9db19e3c4988087ec1ac17a59bebd77b0b64736f6c634300060b0033", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/packages/lib-ethers/live/SafeERC20.json b/packages/lib-ethers/live/SafeERC20.json deleted file mode 100644 index cf1482034..000000000 --- a/packages/lib-ethers/live/SafeERC20.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "SafeERC20", - "sourceName": "contracts/LPRewards/Dependencies/SafeERC20.sol", - "abi": [], - "bytecode": "0x60566023600b82828239805160001a607314601657fe5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220fcd3192cf5a9d86556cc0329cfa29a07f12f44ed452596b25ffc7a5906e70aa964736f6c634300060b0033", - "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220fcd3192cf5a9d86556cc0329cfa29a07f12f44ed452596b25ffc7a5906e70aa964736f6c634300060b0033", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/packages/lib-ethers/live/SafeMath.json b/packages/lib-ethers/live/SafeMath.json index b77a63336..16a607f58 100644 --- a/packages/lib-ethers/live/SafeMath.json +++ b/packages/lib-ethers/live/SafeMath.json @@ -3,8 +3,8 @@ "contractName": "SafeMath", "sourceName": "contracts/Dependencies/SafeMath.sol", "abi": [], - "bytecode": "0x60566023600b82828239805160001a607314601657fe5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220457c16ba1d24447f58f5e9c2ddbfc2e863ec475fe6c8709fa99670126138dc8764736f6c634300060b0033", - "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220457c16ba1d24447f58f5e9c2ddbfc2e863ec475fe6c8709fa99670126138dc8764736f6c634300060b0033", + "bytecode": "0x60566023600b82828239805160001a607314601657fe5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212203b472eae0a04f40447bb68c78ce43b1739eb6bc3af5e6b372427652dc99744ee64736f6c634300060b0033", + "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212203b472eae0a04f40447bb68c78ce43b1739eb6bc3af5e6b372427652dc99744ee64736f6c634300060b0033", "linkReferences": {}, "deployedLinkReferences": {} } diff --git a/packages/lib-ethers/live/SortedTroves.json b/packages/lib-ethers/live/SortedTroves.json index b28cb03ef..5efc66dc9 100644 --- a/packages/lib-ethers/live/SortedTroves.json +++ b/packages/lib-ethers/live/SortedTroves.json @@ -258,6 +258,19 @@ "stateMutability": "view", "type": "function" }, + { + "inputs": [], + "name": "getOwner", + "outputs": [ + { + "internalType": "address", + "name": "_owner", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, { "inputs": [ { @@ -344,32 +357,6 @@ "stateMutability": "view", "type": "function" }, - { - "inputs": [], - "name": "isOwner", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "owner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, { "inputs": [ { @@ -411,6 +398,19 @@ "stateMutability": "nonpayable", "type": "function" }, + { + "inputs": [ + { + "internalType": "address", + "name": "_owner", + "type": "address" + } + ], + "name": "setOwner", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, { "inputs": [ { @@ -477,8 +477,8 @@ "type": "function" } ], - "bytecode": "0x608060405234801561001057600080fd5b50600080546001600160a01b0319163390811782556040519091907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a36118ce8061005f6000396000f3fe608060405234801561001057600080fd5b50600436106101375760003560e01c8063681fe70c116100b8578063a3f4df7e1161007c578063a3f4df7e1461036a578063b72703ac146103e7578063b7f8cf9b1461040d578063babd3d9a14610415578063de8fa4311461041d578063f376d7981461042557610137565b8063681fe70c146102f257806373d4a13a146102fa578063765e0159146103345780638da5cb5b1461035a5780638f32d59b1461036257610137565b8063416980dc116100ff578063416980dc1461021457806346f7cf871461026e5780634d622831146102aa5780635dbe47e8146102b257806363e1d57c146102d857610137565b80631e2231431461013c57806329092d0e146101605780632be21260146101885780633d83908a146101c45780633fce12d5146101cc575b600080fd5b610144610459565b604080516001600160a01b039092168252519081900360200190f35b6101866004803603602081101561017657600080fd5b50356001600160a01b0316610468565b005b6101866004803603608081101561019e57600080fd5b506001600160a01b0381358116916020810135916040820135811691606001351661047c565b610144610531565b610200600480360360608110156101e257600080fd5b508035906001600160a01b0360208201358116916040013516610540565b604080519115158252519081900360200190f35b6102486004803603606081101561022a57600080fd5b508035906001600160a01b0360208201358116916040013516610563565b604080516001600160a01b03938416815291909216602082015281519081900390910190f35b6101866004803603608081101561028457600080fd5b506001600160a01b0381358116916020810135916040820135811691606001351661058d565b6101446105a2565b610200600480360360208110156102c857600080fd5b50356001600160a01b03166105b1565b6102e06105cf565b60408051918252519081900360200190f35b6102006105d5565b6103026105dc565b604080516001600160a01b03958616815293909416602084015282840191909152606082015290519081900360800190f35b6101446004803603602081101561034a57600080fd5b50356001600160a01b03166105fb565b61014461061e565b61020061062d565b61037261063e565b6040805160208082528351818301528351919283929083019185019080838360005b838110156103ac578181015183820152602001610394565b50505050905090810190601f1680156103d95780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b610144600480360360208110156103fd57600080fd5b50356001600160a01b0316610666565b610144610687565b610200610696565b6102e06106a0565b6101866004803603606081101561043b57600080fd5b508035906001600160a01b03602082013581169160400135166106a6565b6003546001600160a01b031690565b6104706107fe565b61047981610849565b50565b6002546001600160a01b031661049181610a7d565b61049a856105b1565b6104d55760405162461bcd60e51b815260040180806020018281038252602a8152602001806117d1602a913960400191505060405180910390fd5b600084116105145760405162461bcd60e51b81526004018080602001828103825260238152602001806118766023913960400191505060405180910390fd5b61051d85610849565b61052a8186868686610ad9565b5050505050565b6002546001600160a01b031681565b60025460009061055b906001600160a01b0316858585610e5d565b949350505050565b6002546000908190610580906001600160a01b0316868686611104565b915091505b935093915050565b6002546001600160a01b031661051d81610a7d565b6004546001600160a01b031690565b6001600160a01b031660009081526007602052604090205460ff1690565b60055490565b6006541590565b6003546004546005546006546001600160a01b03938416939092169184565b6001600160a01b0390811660009081526007602052604090205461010090041690565b6000546001600160a01b031690565b6000546001600160a01b0316331490565b6040518060400160405280600c81526020016b536f7274656454726f76657360a01b81525081565b6001600160a01b039081166000908152600760205260409020600101541690565b6001546001600160a01b031681565b6005546006541490565b60065490565b6106ae61062d565b6106ff576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b6000831161073e5760405162461bcd60e51b81526004018080602001828103825260228152602001806117fb6022913960400191505060405180910390fd5b610747826112f1565b610750816112f1565b6005839055600280546001600160a01b038085166001600160a01b03199283168117909355600180549185169190921617905560408051918252517f143219c9e69b09e07e095fcc889b43d8f46ca892bba65f08dc3a0050869a56789181900360200190a1604080516001600160a01b038316815290517f3ca631ffcd2a9b5d9ae18543fc82f58eb4ca33af9e6ab01b7a8e95331e6ed9859181900360200190a16107f96113a4565b505050565b6002546001600160a01b031633146108475760405162461bcd60e51b815260040180806020018281038252602c81526020018061181d602c913960400191505060405180910390fd5b565b610852816105b1565b61088d5760405162461bcd60e51b815260040180806020018281038252602a8152602001806117d1602a913960400191505060405180910390fd5b600654600110156109d3576003546001600160a01b03828116911614156108fc576001600160a01b03818116600090815260076020526040808220546003805461010090920485166001600160a01b0319928316179081905590931682529020600101805490911690556109ce565b6004546001600160a01b0382811691161415610963576001600160a01b0380821660009081526007602052604080822060010154600480546001600160a01b03191691851691909117908190559092168152208054610100600160a81b03191690556109ce565b6001600160a01b038082166000908152600760205260408082208054600180830180548716865284862080546101009485900489168502610100600160a81b03199091161790555492549190910485168452919092200180546001600160a01b031916919092161790555b6109f0565b600380546001600160a01b03199081169091556004805490911690555b6001600160a01b038116600090815260076020526040902080546001600160a81b0319168155600190810180546001600160a01b0319169055600654610a3b9163ffffffff6113ee16565b600655604080516001600160a01b038316815290517fcfc24166db4bb677e857cacabd1541fb2b30645021b27c5130419589b84db52b9181900360200190a150565b6001546001600160a01b0316331480610a9e5750336001600160a01b038216145b6104795760405162461bcd60e51b815260040180806020018281038252602d815260200180611849602d913960400191505060405180910390fd5b610ae1610696565b15610b33576040805162461bcd60e51b815260206004820152601a60248201527f536f7274656454726f7665733a204c6973742069732066756c6c000000000000604482015290519081900360640190fd5b610b3c846105b1565b15610b785760405162461bcd60e51b815260040180806020018281038252602c8152602001806117a5602c913960400191505060405180910390fd5b6001600160a01b038416610bd3576040805162461bcd60e51b815260206004820152601f60248201527f536f7274656454726f7665733a2049642063616e6e6f74206265207a65726f00604482015290519081900360640190fd5b60008311610c125760405162461bcd60e51b81526004018080602001828103825260238152602001806118766023913960400191505060405180910390fd5b8181610c2087868484610e5d565b610c3657610c3087868484611104565b90925090505b6001600160a01b038087166000908152600760205260409020805460ff191660011790558216158015610c7057506001600160a01b038116155b15610ca557600380546001600160a01b0388166001600160a01b03199182168117909255600480549091169091179055610df9565b6001600160a01b038216610d1957600380546001600160a01b03888116600081815260076020526040808220805495851661010002610100600160a81b0319909616959095179094558454909216825291902060010180546001600160a01b03199081168317909155825416179055610df9565b6001600160a01b038116610d8957600480546001600160a01b0388811660008181526007602052604080822060010180549585166001600160a01b031996871617905585549093168152919091208054610100600160a81b03191661010083021790558254909116179055610df9565b6001600160a01b038087166000818152600760205260408082208054858716610100818102610100600160a81b031993841617845560019384018054988b166001600160a01b0319998a168117909155865284862080549188029190931617909155835291200180549092161790555b600654610e0d90600163ffffffff61143716565b600655604080516001600160a01b03881681526020810187905281517fe02b43adbee0c123de070a04554a71877a0007e2fc161466299cae3c094fe82f929181900390910190a150505050505050565b60006001600160a01b038316158015610e7d57506001600160a01b038216155b15610e9157610e8a6105d5565b905061055b565b6001600160a01b038316610f43576003546001600160a01b038381169116148015610e8a5750846001600160a01b031663b0d8e181836040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b158015610f0d57600080fd5b505afa158015610f21573d6000803e3d6000fd5b505050506040513d6020811015610f3757600080fd5b5051841015905061055b565b6001600160a01b038216610ff5576004546001600160a01b038481169116148015610e8a5750846001600160a01b031663b0d8e181846040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b158015610fbf57600080fd5b505afa158015610fd3573d6000803e3d6000fd5b505050506040513d6020811015610fe957600080fd5b5051841115905061055b565b6001600160a01b03838116600090815260076020526040902054610100900481169083161480156110a7575083856001600160a01b031663b0d8e181856040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b15801561107857600080fd5b505afa15801561108c573d6000803e3d6000fd5b505050506040513d60208110156110a257600080fd5b505110155b8015610e8a5750846001600160a01b031663b0d8e181836040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b158015610f0d57600080fd5b60008083836001600160a01b038216156111b757611121826105b1565b15806111ad5750876001600160a01b031663b0d8e181836040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b15801561117e57600080fd5b505afa158015611192573d6000803e3d6000fd5b505050506040513d60208110156111a857600080fd5b505187115b156111b757600091505b6001600160a01b03811615611264576111cf816105b1565b158061125b5750876001600160a01b031663b0d8e181826040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b15801561122c57600080fd5b505afa158015611240573d6000803e3d6000fd5b505050506040513d602081101561125657600080fd5b505187105b15611264575060005b6001600160a01b03821615801561128257506001600160a01b038116155b156112ab576003546112a090899089906001600160a01b0316611491565b9350935050506112e8565b6001600160a01b0382166112c4576112a08888836115d2565b6001600160a01b0381166112dd576112a0888884611491565b6112a0888884611491565b94509492505050565b6001600160a01b03811661134c576040805162461bcd60e51b815260206004820152601e60248201527f4163636f756e742063616e6e6f74206265207a65726f20616464726573730000604482015290519081900360640190fd5b803b806113a0576040805162461bcd60e51b815260206004820181905260248201527f4163636f756e7420636f64652073697a652063616e6e6f74206265207a65726f604482015290519081900360640190fd5b5050565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b600061143083836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061170d565b9392505050565b600082820183811015611430576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b60035460009081906001600160a01b0384811691161480156115345750846001600160a01b031663b0d8e181846040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b15801561150457600080fd5b505afa158015611518573d6000803e3d6000fd5b505050506040513d602081101561152e57600080fd5b50518410155b1561154457506000905081610585565b6001600160a01b038084166000908152600760205260409020548491610100909104165b6001600160a01b03821615801590611589575061158787878484610e5d565b155b156115c657506001600160a01b03908116600090815260076020526040808220546101009081900484168084529190922054909291900416611568565b90969095509350505050565b60045460009081906001600160a01b0384811691161480156116755750846001600160a01b031663b0d8e181846040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b15801561164557600080fd5b505afa158015611659573d6000803e3d6000fd5b505050506040513d602081101561166f57600080fd5b50518411155b1561168557508190506000610585565b6001600160a01b038084166000908152600760205260409020600101548491165b6001600160a01b038216158015906116c757506116c587878385610e5d565b155b1561170257506001600160a01b03908116600090815260076020526040808220600190810154841680845291909220909101549091166116a6565b969095509350505050565b6000818484111561179c5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611761578181015183820152602001611749565b50505050905090810190601f16801561178e5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50505090039056fe536f7274656454726f7665733a204c69737420616c726561647920636f6e7461696e7320746865206e6f6465536f7274656454726f7665733a204c69737420646f6573206e6f7420636f6e7461696e20746865206964536f7274656454726f7665733a2053697a652063616ee2809974206265207a65726f536f7274656454726f7665733a2043616c6c6572206973206e6f74207468652054726f76654d616e61676572536f7274656454726f7665733a2043616c6c6572206973206e65697468657220424f206e6f722054726f76654d536f7274656454726f7665733a204e494352206d75737420626520706f736974697665a26469706673582212201d874b55cf00dbe12667ece34475e1aad0be33f636deb090d42aa2285522364f64736f6c634300060b0033", - "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106101375760003560e01c8063681fe70c116100b8578063a3f4df7e1161007c578063a3f4df7e1461036a578063b72703ac146103e7578063b7f8cf9b1461040d578063babd3d9a14610415578063de8fa4311461041d578063f376d7981461042557610137565b8063681fe70c146102f257806373d4a13a146102fa578063765e0159146103345780638da5cb5b1461035a5780638f32d59b1461036257610137565b8063416980dc116100ff578063416980dc1461021457806346f7cf871461026e5780634d622831146102aa5780635dbe47e8146102b257806363e1d57c146102d857610137565b80631e2231431461013c57806329092d0e146101605780632be21260146101885780633d83908a146101c45780633fce12d5146101cc575b600080fd5b610144610459565b604080516001600160a01b039092168252519081900360200190f35b6101866004803603602081101561017657600080fd5b50356001600160a01b0316610468565b005b6101866004803603608081101561019e57600080fd5b506001600160a01b0381358116916020810135916040820135811691606001351661047c565b610144610531565b610200600480360360608110156101e257600080fd5b508035906001600160a01b0360208201358116916040013516610540565b604080519115158252519081900360200190f35b6102486004803603606081101561022a57600080fd5b508035906001600160a01b0360208201358116916040013516610563565b604080516001600160a01b03938416815291909216602082015281519081900390910190f35b6101866004803603608081101561028457600080fd5b506001600160a01b0381358116916020810135916040820135811691606001351661058d565b6101446105a2565b610200600480360360208110156102c857600080fd5b50356001600160a01b03166105b1565b6102e06105cf565b60408051918252519081900360200190f35b6102006105d5565b6103026105dc565b604080516001600160a01b03958616815293909416602084015282840191909152606082015290519081900360800190f35b6101446004803603602081101561034a57600080fd5b50356001600160a01b03166105fb565b61014461061e565b61020061062d565b61037261063e565b6040805160208082528351818301528351919283929083019185019080838360005b838110156103ac578181015183820152602001610394565b50505050905090810190601f1680156103d95780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b610144600480360360208110156103fd57600080fd5b50356001600160a01b0316610666565b610144610687565b610200610696565b6102e06106a0565b6101866004803603606081101561043b57600080fd5b508035906001600160a01b03602082013581169160400135166106a6565b6003546001600160a01b031690565b6104706107fe565b61047981610849565b50565b6002546001600160a01b031661049181610a7d565b61049a856105b1565b6104d55760405162461bcd60e51b815260040180806020018281038252602a8152602001806117d1602a913960400191505060405180910390fd5b600084116105145760405162461bcd60e51b81526004018080602001828103825260238152602001806118766023913960400191505060405180910390fd5b61051d85610849565b61052a8186868686610ad9565b5050505050565b6002546001600160a01b031681565b60025460009061055b906001600160a01b0316858585610e5d565b949350505050565b6002546000908190610580906001600160a01b0316868686611104565b915091505b935093915050565b6002546001600160a01b031661051d81610a7d565b6004546001600160a01b031690565b6001600160a01b031660009081526007602052604090205460ff1690565b60055490565b6006541590565b6003546004546005546006546001600160a01b03938416939092169184565b6001600160a01b0390811660009081526007602052604090205461010090041690565b6000546001600160a01b031690565b6000546001600160a01b0316331490565b6040518060400160405280600c81526020016b536f7274656454726f76657360a01b81525081565b6001600160a01b039081166000908152600760205260409020600101541690565b6001546001600160a01b031681565b6005546006541490565b60065490565b6106ae61062d565b6106ff576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b6000831161073e5760405162461bcd60e51b81526004018080602001828103825260228152602001806117fb6022913960400191505060405180910390fd5b610747826112f1565b610750816112f1565b6005839055600280546001600160a01b038085166001600160a01b03199283168117909355600180549185169190921617905560408051918252517f143219c9e69b09e07e095fcc889b43d8f46ca892bba65f08dc3a0050869a56789181900360200190a1604080516001600160a01b038316815290517f3ca631ffcd2a9b5d9ae18543fc82f58eb4ca33af9e6ab01b7a8e95331e6ed9859181900360200190a16107f96113a4565b505050565b6002546001600160a01b031633146108475760405162461bcd60e51b815260040180806020018281038252602c81526020018061181d602c913960400191505060405180910390fd5b565b610852816105b1565b61088d5760405162461bcd60e51b815260040180806020018281038252602a8152602001806117d1602a913960400191505060405180910390fd5b600654600110156109d3576003546001600160a01b03828116911614156108fc576001600160a01b03818116600090815260076020526040808220546003805461010090920485166001600160a01b0319928316179081905590931682529020600101805490911690556109ce565b6004546001600160a01b0382811691161415610963576001600160a01b0380821660009081526007602052604080822060010154600480546001600160a01b03191691851691909117908190559092168152208054610100600160a81b03191690556109ce565b6001600160a01b038082166000908152600760205260408082208054600180830180548716865284862080546101009485900489168502610100600160a81b03199091161790555492549190910485168452919092200180546001600160a01b031916919092161790555b6109f0565b600380546001600160a01b03199081169091556004805490911690555b6001600160a01b038116600090815260076020526040902080546001600160a81b0319168155600190810180546001600160a01b0319169055600654610a3b9163ffffffff6113ee16565b600655604080516001600160a01b038316815290517fcfc24166db4bb677e857cacabd1541fb2b30645021b27c5130419589b84db52b9181900360200190a150565b6001546001600160a01b0316331480610a9e5750336001600160a01b038216145b6104795760405162461bcd60e51b815260040180806020018281038252602d815260200180611849602d913960400191505060405180910390fd5b610ae1610696565b15610b33576040805162461bcd60e51b815260206004820152601a60248201527f536f7274656454726f7665733a204c6973742069732066756c6c000000000000604482015290519081900360640190fd5b610b3c846105b1565b15610b785760405162461bcd60e51b815260040180806020018281038252602c8152602001806117a5602c913960400191505060405180910390fd5b6001600160a01b038416610bd3576040805162461bcd60e51b815260206004820152601f60248201527f536f7274656454726f7665733a2049642063616e6e6f74206265207a65726f00604482015290519081900360640190fd5b60008311610c125760405162461bcd60e51b81526004018080602001828103825260238152602001806118766023913960400191505060405180910390fd5b8181610c2087868484610e5d565b610c3657610c3087868484611104565b90925090505b6001600160a01b038087166000908152600760205260409020805460ff191660011790558216158015610c7057506001600160a01b038116155b15610ca557600380546001600160a01b0388166001600160a01b03199182168117909255600480549091169091179055610df9565b6001600160a01b038216610d1957600380546001600160a01b03888116600081815260076020526040808220805495851661010002610100600160a81b0319909616959095179094558454909216825291902060010180546001600160a01b03199081168317909155825416179055610df9565b6001600160a01b038116610d8957600480546001600160a01b0388811660008181526007602052604080822060010180549585166001600160a01b031996871617905585549093168152919091208054610100600160a81b03191661010083021790558254909116179055610df9565b6001600160a01b038087166000818152600760205260408082208054858716610100818102610100600160a81b031993841617845560019384018054988b166001600160a01b0319998a168117909155865284862080549188029190931617909155835291200180549092161790555b600654610e0d90600163ffffffff61143716565b600655604080516001600160a01b03881681526020810187905281517fe02b43adbee0c123de070a04554a71877a0007e2fc161466299cae3c094fe82f929181900390910190a150505050505050565b60006001600160a01b038316158015610e7d57506001600160a01b038216155b15610e9157610e8a6105d5565b905061055b565b6001600160a01b038316610f43576003546001600160a01b038381169116148015610e8a5750846001600160a01b031663b0d8e181836040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b158015610f0d57600080fd5b505afa158015610f21573d6000803e3d6000fd5b505050506040513d6020811015610f3757600080fd5b5051841015905061055b565b6001600160a01b038216610ff5576004546001600160a01b038481169116148015610e8a5750846001600160a01b031663b0d8e181846040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b158015610fbf57600080fd5b505afa158015610fd3573d6000803e3d6000fd5b505050506040513d6020811015610fe957600080fd5b5051841115905061055b565b6001600160a01b03838116600090815260076020526040902054610100900481169083161480156110a7575083856001600160a01b031663b0d8e181856040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b15801561107857600080fd5b505afa15801561108c573d6000803e3d6000fd5b505050506040513d60208110156110a257600080fd5b505110155b8015610e8a5750846001600160a01b031663b0d8e181836040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b158015610f0d57600080fd5b60008083836001600160a01b038216156111b757611121826105b1565b15806111ad5750876001600160a01b031663b0d8e181836040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b15801561117e57600080fd5b505afa158015611192573d6000803e3d6000fd5b505050506040513d60208110156111a857600080fd5b505187115b156111b757600091505b6001600160a01b03811615611264576111cf816105b1565b158061125b5750876001600160a01b031663b0d8e181826040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b15801561122c57600080fd5b505afa158015611240573d6000803e3d6000fd5b505050506040513d602081101561125657600080fd5b505187105b15611264575060005b6001600160a01b03821615801561128257506001600160a01b038116155b156112ab576003546112a090899089906001600160a01b0316611491565b9350935050506112e8565b6001600160a01b0382166112c4576112a08888836115d2565b6001600160a01b0381166112dd576112a0888884611491565b6112a0888884611491565b94509492505050565b6001600160a01b03811661134c576040805162461bcd60e51b815260206004820152601e60248201527f4163636f756e742063616e6e6f74206265207a65726f20616464726573730000604482015290519081900360640190fd5b803b806113a0576040805162461bcd60e51b815260206004820181905260248201527f4163636f756e7420636f64652073697a652063616e6e6f74206265207a65726f604482015290519081900360640190fd5b5050565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b600061143083836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061170d565b9392505050565b600082820183811015611430576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b60035460009081906001600160a01b0384811691161480156115345750846001600160a01b031663b0d8e181846040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b15801561150457600080fd5b505afa158015611518573d6000803e3d6000fd5b505050506040513d602081101561152e57600080fd5b50518410155b1561154457506000905081610585565b6001600160a01b038084166000908152600760205260409020548491610100909104165b6001600160a01b03821615801590611589575061158787878484610e5d565b155b156115c657506001600160a01b03908116600090815260076020526040808220546101009081900484168084529190922054909291900416611568565b90969095509350505050565b60045460009081906001600160a01b0384811691161480156116755750846001600160a01b031663b0d8e181846040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b15801561164557600080fd5b505afa158015611659573d6000803e3d6000fd5b505050506040513d602081101561166f57600080fd5b50518411155b1561168557508190506000610585565b6001600160a01b038084166000908152600760205260409020600101548491165b6001600160a01b038216158015906116c757506116c587878385610e5d565b155b1561170257506001600160a01b03908116600090815260076020526040808220600190810154841680845291909220909101549091166116a6565b969095509350505050565b6000818484111561179c5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611761578181015183820152602001611749565b50505050905090810190601f16801561178e5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50505090039056fe536f7274656454726f7665733a204c69737420616c726561647920636f6e7461696e7320746865206e6f6465536f7274656454726f7665733a204c69737420646f6573206e6f7420636f6e7461696e20746865206964536f7274656454726f7665733a2053697a652063616ee2809974206265207a65726f536f7274656454726f7665733a2043616c6c6572206973206e6f74207468652054726f76654d616e61676572536f7274656454726f7665733a2043616c6c6572206973206e65697468657220424f206e6f722054726f76654d536f7274656454726f7665733a204e494352206d75737420626520706f736974697665a26469706673582212201d874b55cf00dbe12667ece34475e1aad0be33f636deb090d42aa2285522364f64736f6c634300060b0033", + "bytecode": "0x608060405234801561001057600080fd5b50610023336001600160e01b0361002816565b610110565b6001600160a01b03811661006d5760405162461bcd60e51b8152600401808060200182810382526022815260200180611b186022913960400191505060405180910390fd5b6001600160a01b0381166100886001600160e01b036100e616565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3604080517035b2bc9737bbb730b136329737bbb732b960791b8152905190819003601101902055565b604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205490565b6119f98061011f6000396000f3fe608060405234801561001057600080fd5b50600436106101375760003560e01c806363e1d57c116100b8578063a3f4df7e1161007c578063a3f4df7e14610388578063b72703ac14610405578063b7f8cf9b1461042b578063babd3d9a14610433578063de8fa4311461043b578063f376d7981461044357610137565b806363e1d57c146102fe578063681fe70c1461031857806373d4a13a14610320578063765e01591461035a578063893d20e81461038057610137565b80633fce12d5116100ff5780633fce12d5146101f2578063416980dc1461023a57806346f7cf87146102945780634d622831146102d05780635dbe47e8146102d857610137565b806313af40351461013c5780631e2231431461016457806329092d0e146101885780632be21260146101ae5780633d83908a146101ea575b600080fd5b6101626004803603602081101561015257600080fd5b50356001600160a01b0316610477565b005b61016c6104ea565b604080516001600160a01b039092168252519081900360200190f35b6101626004803603602081101561019e57600080fd5b50356001600160a01b03166104f9565b610162600480360360808110156101c457600080fd5b506001600160a01b0381358116916020810135916040820135811691606001351661050a565b61016c6105bf565b6102266004803603606081101561020857600080fd5b508035906001600160a01b03602082013581169160400135166105ce565b604080519115158252519081900360200190f35b61026e6004803603606081101561025057600080fd5b508035906001600160a01b03602082013581169160400135166105f1565b604080516001600160a01b03938416815291909216602082015281519081900390910190f35b610162600480360360808110156102aa57600080fd5b506001600160a01b0381358116916020810135916040820135811691606001351661061b565b61016c610630565b610226600480360360208110156102ee57600080fd5b50356001600160a01b031661063f565b61030661065d565b60408051918252519081900360200190f35b610226610663565b61032861066a565b604080516001600160a01b03958616815293909416602084015282840191909152606082015290519081900360800190f35b61016c6004803603602081101561037057600080fd5b50356001600160a01b0316610689565b61016c6106ac565b6103906106d6565b6040805160208082528351818301528351919283929083019185019080838360005b838110156103ca5781810151838201526020016103b2565b50505050905090810190601f1680156103f75780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61016c6004803603602081101561041b57600080fd5b50356001600160a01b03166106fe565b61016c61071f565b61022661072e565b610306610738565b6101626004803603606081101561045957600080fd5b508035906001600160a01b036020820135811691604001351661073e565b61047f6106ac565b6001600160a01b0316336001600160a01b0316146104de576040805162461bcd60e51b815260206004820152601760248201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604482015290519081900360640190fd5b6104e78161089c565b50565b6002546001600160a01b031690565b610501610951565b6104e78161099c565b6001546001600160a01b031661051f81610bd0565b6105288561063f565b6105635760405162461bcd60e51b815260040180806020018281038252602a8152602001806118da602a913960400191505060405180910390fd5b600084116105a25760405162461bcd60e51b81526004018080602001828103825260238152602001806119a16023913960400191505060405180910390fd5b6105ab8561099c565b6105b88186868686610c2c565b5050505050565b6001546001600160a01b031681565b6001546000906105e9906001600160a01b0316858585610fb0565b949350505050565b600154600090819061060e906001600160a01b0316868686611257565b915091505b935093915050565b6001546001600160a01b03166105ab81610bd0565b6003546001600160a01b031690565b6001600160a01b031660009081526006602052604090205460ff1690565b60045490565b6005541590565b6002546003546004546005546001600160a01b03938416939092169184565b6001600160a01b0390811660009081526006602052604090205461010090041690565b604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205490565b6040518060400160405280600c81526020016b536f7274656454726f76657360a01b81525081565b6001600160a01b039081166000908152600660205260409020600101541690565b6000546001600160a01b031681565b6004546005541490565b60055490565b6107466106ac565b6001600160a01b0316336001600160a01b0316146107a5576040805162461bcd60e51b815260206004820152601760248201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604482015290519081900360640190fd5b600083116107e45760405162461bcd60e51b81526004018080602001828103825260228152602001806119046022913960400191505060405180910390fd5b6107ed82611444565b6107f681611444565b6004839055600180546001600160a01b038085166001600160a01b03199283168117909355600080549185169190921617905560408051918252517f143219c9e69b09e07e095fcc889b43d8f46ca892bba65f08dc3a0050869a56789181900360200190a1604080516001600160a01b038316815290517f3ca631ffcd2a9b5d9ae18543fc82f58eb4ca33af9e6ab01b7a8e95331e6ed9859181900360200190a1505050565b6001600160a01b0381166108e15760405162461bcd60e51b81526004018080602001828103825260228152602001806119526022913960400191505060405180910390fd5b806001600160a01b03166108f36106ac565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3604080517035b2bc9737bbb730b136329737bbb732b960791b8152905190819003601101902055565b6001546001600160a01b0316331461099a5760405162461bcd60e51b815260040180806020018281038252602c815260200180611926602c913960400191505060405180910390fd5b565b6109a58161063f565b6109e05760405162461bcd60e51b815260040180806020018281038252602a8152602001806118da602a913960400191505060405180910390fd5b60055460011015610b26576002546001600160a01b0382811691161415610a4f576001600160a01b03818116600090815260066020526040808220546002805461010090920485166001600160a01b031992831617908190559093168252902060010180549091169055610b21565b6003546001600160a01b0382811691161415610ab6576001600160a01b0380821660009081526006602052604080822060010154600380546001600160a01b03191691851691909117908190559092168152208054610100600160a81b0319169055610b21565b6001600160a01b038082166000908152600660205260408082208054600180830180548716865284862080546101009485900489168502610100600160a81b03199091161790555492549190910485168452919092200180546001600160a01b031916919092161790555b610b43565b600280546001600160a01b03199081169091556003805490911690555b6001600160a01b038116600090815260066020526040902080546001600160a81b0319168155600190810180546001600160a01b0319169055600554610b8e9163ffffffff6114f716565b600555604080516001600160a01b038316815290517fcfc24166db4bb677e857cacabd1541fb2b30645021b27c5130419589b84db52b9181900360200190a150565b6000546001600160a01b0316331480610bf15750336001600160a01b038216145b6104e75760405162461bcd60e51b815260040180806020018281038252602d815260200180611974602d913960400191505060405180910390fd5b610c3461072e565b15610c86576040805162461bcd60e51b815260206004820152601a60248201527f536f7274656454726f7665733a204c6973742069732066756c6c000000000000604482015290519081900360640190fd5b610c8f8461063f565b15610ccb5760405162461bcd60e51b815260040180806020018281038252602c8152602001806118ae602c913960400191505060405180910390fd5b6001600160a01b038416610d26576040805162461bcd60e51b815260206004820152601f60248201527f536f7274656454726f7665733a2049642063616e6e6f74206265207a65726f00604482015290519081900360640190fd5b60008311610d655760405162461bcd60e51b81526004018080602001828103825260238152602001806119a16023913960400191505060405180910390fd5b8181610d7387868484610fb0565b610d8957610d8387868484611257565b90925090505b6001600160a01b038087166000908152600660205260409020805460ff191660011790558216158015610dc357506001600160a01b038116155b15610df857600280546001600160a01b0388166001600160a01b03199182168117909255600380549091169091179055610f4c565b6001600160a01b038216610e6c57600280546001600160a01b03888116600081815260066020526040808220805495851661010002610100600160a81b0319909616959095179094558454909216825291902060010180546001600160a01b03199081168317909155825416179055610f4c565b6001600160a01b038116610edc57600380546001600160a01b0388811660008181526006602052604080822060010180549585166001600160a01b031996871617905585549093168152919091208054610100600160a81b03191661010083021790558254909116179055610f4c565b6001600160a01b038087166000818152600660205260408082208054858716610100818102610100600160a81b031993841617845560019384018054988b166001600160a01b0319998a168117909155865284862080549188029190931617909155835291200180549092161790555b600554610f6090600163ffffffff61154016565b600555604080516001600160a01b03881681526020810187905281517fe02b43adbee0c123de070a04554a71877a0007e2fc161466299cae3c094fe82f929181900390910190a150505050505050565b60006001600160a01b038316158015610fd057506001600160a01b038216155b15610fe457610fdd610663565b90506105e9565b6001600160a01b038316611096576002546001600160a01b038381169116148015610fdd5750846001600160a01b031663b0d8e181836040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b15801561106057600080fd5b505afa158015611074573d6000803e3d6000fd5b505050506040513d602081101561108a57600080fd5b505184101590506105e9565b6001600160a01b038216611148576003546001600160a01b038481169116148015610fdd5750846001600160a01b031663b0d8e181846040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b15801561111257600080fd5b505afa158015611126573d6000803e3d6000fd5b505050506040513d602081101561113c57600080fd5b505184111590506105e9565b6001600160a01b03838116600090815260066020526040902054610100900481169083161480156111fa575083856001600160a01b031663b0d8e181856040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b1580156111cb57600080fd5b505afa1580156111df573d6000803e3d6000fd5b505050506040513d60208110156111f557600080fd5b505110155b8015610fdd5750846001600160a01b031663b0d8e181836040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b15801561106057600080fd5b60008083836001600160a01b0382161561130a576112748261063f565b15806113005750876001600160a01b031663b0d8e181836040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b1580156112d157600080fd5b505afa1580156112e5573d6000803e3d6000fd5b505050506040513d60208110156112fb57600080fd5b505187115b1561130a57600091505b6001600160a01b038116156113b7576113228161063f565b15806113ae5750876001600160a01b031663b0d8e181826040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b15801561137f57600080fd5b505afa158015611393573d6000803e3d6000fd5b505050506040513d60208110156113a957600080fd5b505187105b156113b7575060005b6001600160a01b0382161580156113d557506001600160a01b038116155b156113fe576002546113f390899089906001600160a01b031661159a565b93509350505061143b565b6001600160a01b038216611417576113f38888836116db565b6001600160a01b038116611430576113f388888461159a565b6113f388888461159a565b94509492505050565b6001600160a01b03811661149f576040805162461bcd60e51b815260206004820152601e60248201527f4163636f756e742063616e6e6f74206265207a65726f20616464726573730000604482015290519081900360640190fd5b803b806114f3576040805162461bcd60e51b815260206004820181905260248201527f4163636f756e7420636f64652073697a652063616e6e6f74206265207a65726f604482015290519081900360640190fd5b5050565b600061153983836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611816565b9392505050565b600082820183811015611539576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b60025460009081906001600160a01b03848116911614801561163d5750846001600160a01b031663b0d8e181846040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b15801561160d57600080fd5b505afa158015611621573d6000803e3d6000fd5b505050506040513d602081101561163757600080fd5b50518410155b1561164d57506000905081610613565b6001600160a01b038084166000908152600660205260409020548491610100909104165b6001600160a01b03821615801590611692575061169087878484610fb0565b155b156116cf57506001600160a01b03908116600090815260066020526040808220546101009081900484168084529190922054909291900416611671565b90969095509350505050565b60035460009081906001600160a01b03848116911614801561177e5750846001600160a01b031663b0d8e181846040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b15801561174e57600080fd5b505afa158015611762573d6000803e3d6000fd5b505050506040513d602081101561177857600080fd5b50518411155b1561178e57508190506000610613565b6001600160a01b038084166000908152600660205260409020600101548491165b6001600160a01b038216158015906117d057506117ce87878385610fb0565b155b1561180b57506001600160a01b03908116600090815260066020526040808220600190810154841680845291909220909101549091166117af565b969095509350505050565b600081848411156118a55760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561186a578181015183820152602001611852565b50505050905090810190601f1680156118975780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50505090039056fe536f7274656454726f7665733a204c69737420616c726561647920636f6e7461696e7320746865206e6f6465536f7274656454726f7665733a204c69737420646f6573206e6f7420636f6e7461696e20746865206964536f7274656454726f7665733a2053697a652063616ee2809974206265207a65726f536f7274656454726f7665733a2043616c6c6572206973206e6f74207468652054726f76654d616e616765724f776e61626c653a3a7365744f776e65723a20696e76616c69642061646472657373536f7274656454726f7665733a2043616c6c6572206973206e65697468657220424f206e6f722054726f76654d536f7274656454726f7665733a204e494352206d75737420626520706f736974697665a264697066735822122032b466fa1ae0f54c795858e19523f6f623b02846824d1e4a37750d801b21599064736f6c634300060b00334f776e61626c653a3a7365744f776e65723a20696e76616c69642061646472657373", + "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106101375760003560e01c806363e1d57c116100b8578063a3f4df7e1161007c578063a3f4df7e14610388578063b72703ac14610405578063b7f8cf9b1461042b578063babd3d9a14610433578063de8fa4311461043b578063f376d7981461044357610137565b806363e1d57c146102fe578063681fe70c1461031857806373d4a13a14610320578063765e01591461035a578063893d20e81461038057610137565b80633fce12d5116100ff5780633fce12d5146101f2578063416980dc1461023a57806346f7cf87146102945780634d622831146102d05780635dbe47e8146102d857610137565b806313af40351461013c5780631e2231431461016457806329092d0e146101885780632be21260146101ae5780633d83908a146101ea575b600080fd5b6101626004803603602081101561015257600080fd5b50356001600160a01b0316610477565b005b61016c6104ea565b604080516001600160a01b039092168252519081900360200190f35b6101626004803603602081101561019e57600080fd5b50356001600160a01b03166104f9565b610162600480360360808110156101c457600080fd5b506001600160a01b0381358116916020810135916040820135811691606001351661050a565b61016c6105bf565b6102266004803603606081101561020857600080fd5b508035906001600160a01b03602082013581169160400135166105ce565b604080519115158252519081900360200190f35b61026e6004803603606081101561025057600080fd5b508035906001600160a01b03602082013581169160400135166105f1565b604080516001600160a01b03938416815291909216602082015281519081900390910190f35b610162600480360360808110156102aa57600080fd5b506001600160a01b0381358116916020810135916040820135811691606001351661061b565b61016c610630565b610226600480360360208110156102ee57600080fd5b50356001600160a01b031661063f565b61030661065d565b60408051918252519081900360200190f35b610226610663565b61032861066a565b604080516001600160a01b03958616815293909416602084015282840191909152606082015290519081900360800190f35b61016c6004803603602081101561037057600080fd5b50356001600160a01b0316610689565b61016c6106ac565b6103906106d6565b6040805160208082528351818301528351919283929083019185019080838360005b838110156103ca5781810151838201526020016103b2565b50505050905090810190601f1680156103f75780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61016c6004803603602081101561041b57600080fd5b50356001600160a01b03166106fe565b61016c61071f565b61022661072e565b610306610738565b6101626004803603606081101561045957600080fd5b508035906001600160a01b036020820135811691604001351661073e565b61047f6106ac565b6001600160a01b0316336001600160a01b0316146104de576040805162461bcd60e51b815260206004820152601760248201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604482015290519081900360640190fd5b6104e78161089c565b50565b6002546001600160a01b031690565b610501610951565b6104e78161099c565b6001546001600160a01b031661051f81610bd0565b6105288561063f565b6105635760405162461bcd60e51b815260040180806020018281038252602a8152602001806118da602a913960400191505060405180910390fd5b600084116105a25760405162461bcd60e51b81526004018080602001828103825260238152602001806119a16023913960400191505060405180910390fd5b6105ab8561099c565b6105b88186868686610c2c565b5050505050565b6001546001600160a01b031681565b6001546000906105e9906001600160a01b0316858585610fb0565b949350505050565b600154600090819061060e906001600160a01b0316868686611257565b915091505b935093915050565b6001546001600160a01b03166105ab81610bd0565b6003546001600160a01b031690565b6001600160a01b031660009081526006602052604090205460ff1690565b60045490565b6005541590565b6002546003546004546005546001600160a01b03938416939092169184565b6001600160a01b0390811660009081526006602052604090205461010090041690565b604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205490565b6040518060400160405280600c81526020016b536f7274656454726f76657360a01b81525081565b6001600160a01b039081166000908152600660205260409020600101541690565b6000546001600160a01b031681565b6004546005541490565b60055490565b6107466106ac565b6001600160a01b0316336001600160a01b0316146107a5576040805162461bcd60e51b815260206004820152601760248201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604482015290519081900360640190fd5b600083116107e45760405162461bcd60e51b81526004018080602001828103825260228152602001806119046022913960400191505060405180910390fd5b6107ed82611444565b6107f681611444565b6004839055600180546001600160a01b038085166001600160a01b03199283168117909355600080549185169190921617905560408051918252517f143219c9e69b09e07e095fcc889b43d8f46ca892bba65f08dc3a0050869a56789181900360200190a1604080516001600160a01b038316815290517f3ca631ffcd2a9b5d9ae18543fc82f58eb4ca33af9e6ab01b7a8e95331e6ed9859181900360200190a1505050565b6001600160a01b0381166108e15760405162461bcd60e51b81526004018080602001828103825260228152602001806119526022913960400191505060405180910390fd5b806001600160a01b03166108f36106ac565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3604080517035b2bc9737bbb730b136329737bbb732b960791b8152905190819003601101902055565b6001546001600160a01b0316331461099a5760405162461bcd60e51b815260040180806020018281038252602c815260200180611926602c913960400191505060405180910390fd5b565b6109a58161063f565b6109e05760405162461bcd60e51b815260040180806020018281038252602a8152602001806118da602a913960400191505060405180910390fd5b60055460011015610b26576002546001600160a01b0382811691161415610a4f576001600160a01b03818116600090815260066020526040808220546002805461010090920485166001600160a01b031992831617908190559093168252902060010180549091169055610b21565b6003546001600160a01b0382811691161415610ab6576001600160a01b0380821660009081526006602052604080822060010154600380546001600160a01b03191691851691909117908190559092168152208054610100600160a81b0319169055610b21565b6001600160a01b038082166000908152600660205260408082208054600180830180548716865284862080546101009485900489168502610100600160a81b03199091161790555492549190910485168452919092200180546001600160a01b031916919092161790555b610b43565b600280546001600160a01b03199081169091556003805490911690555b6001600160a01b038116600090815260066020526040902080546001600160a81b0319168155600190810180546001600160a01b0319169055600554610b8e9163ffffffff6114f716565b600555604080516001600160a01b038316815290517fcfc24166db4bb677e857cacabd1541fb2b30645021b27c5130419589b84db52b9181900360200190a150565b6000546001600160a01b0316331480610bf15750336001600160a01b038216145b6104e75760405162461bcd60e51b815260040180806020018281038252602d815260200180611974602d913960400191505060405180910390fd5b610c3461072e565b15610c86576040805162461bcd60e51b815260206004820152601a60248201527f536f7274656454726f7665733a204c6973742069732066756c6c000000000000604482015290519081900360640190fd5b610c8f8461063f565b15610ccb5760405162461bcd60e51b815260040180806020018281038252602c8152602001806118ae602c913960400191505060405180910390fd5b6001600160a01b038416610d26576040805162461bcd60e51b815260206004820152601f60248201527f536f7274656454726f7665733a2049642063616e6e6f74206265207a65726f00604482015290519081900360640190fd5b60008311610d655760405162461bcd60e51b81526004018080602001828103825260238152602001806119a16023913960400191505060405180910390fd5b8181610d7387868484610fb0565b610d8957610d8387868484611257565b90925090505b6001600160a01b038087166000908152600660205260409020805460ff191660011790558216158015610dc357506001600160a01b038116155b15610df857600280546001600160a01b0388166001600160a01b03199182168117909255600380549091169091179055610f4c565b6001600160a01b038216610e6c57600280546001600160a01b03888116600081815260066020526040808220805495851661010002610100600160a81b0319909616959095179094558454909216825291902060010180546001600160a01b03199081168317909155825416179055610f4c565b6001600160a01b038116610edc57600380546001600160a01b0388811660008181526006602052604080822060010180549585166001600160a01b031996871617905585549093168152919091208054610100600160a81b03191661010083021790558254909116179055610f4c565b6001600160a01b038087166000818152600660205260408082208054858716610100818102610100600160a81b031993841617845560019384018054988b166001600160a01b0319998a168117909155865284862080549188029190931617909155835291200180549092161790555b600554610f6090600163ffffffff61154016565b600555604080516001600160a01b03881681526020810187905281517fe02b43adbee0c123de070a04554a71877a0007e2fc161466299cae3c094fe82f929181900390910190a150505050505050565b60006001600160a01b038316158015610fd057506001600160a01b038216155b15610fe457610fdd610663565b90506105e9565b6001600160a01b038316611096576002546001600160a01b038381169116148015610fdd5750846001600160a01b031663b0d8e181836040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b15801561106057600080fd5b505afa158015611074573d6000803e3d6000fd5b505050506040513d602081101561108a57600080fd5b505184101590506105e9565b6001600160a01b038216611148576003546001600160a01b038481169116148015610fdd5750846001600160a01b031663b0d8e181846040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b15801561111257600080fd5b505afa158015611126573d6000803e3d6000fd5b505050506040513d602081101561113c57600080fd5b505184111590506105e9565b6001600160a01b03838116600090815260066020526040902054610100900481169083161480156111fa575083856001600160a01b031663b0d8e181856040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b1580156111cb57600080fd5b505afa1580156111df573d6000803e3d6000fd5b505050506040513d60208110156111f557600080fd5b505110155b8015610fdd5750846001600160a01b031663b0d8e181836040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b15801561106057600080fd5b60008083836001600160a01b0382161561130a576112748261063f565b15806113005750876001600160a01b031663b0d8e181836040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b1580156112d157600080fd5b505afa1580156112e5573d6000803e3d6000fd5b505050506040513d60208110156112fb57600080fd5b505187115b1561130a57600091505b6001600160a01b038116156113b7576113228161063f565b15806113ae5750876001600160a01b031663b0d8e181826040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b15801561137f57600080fd5b505afa158015611393573d6000803e3d6000fd5b505050506040513d60208110156113a957600080fd5b505187105b156113b7575060005b6001600160a01b0382161580156113d557506001600160a01b038116155b156113fe576002546113f390899089906001600160a01b031661159a565b93509350505061143b565b6001600160a01b038216611417576113f38888836116db565b6001600160a01b038116611430576113f388888461159a565b6113f388888461159a565b94509492505050565b6001600160a01b03811661149f576040805162461bcd60e51b815260206004820152601e60248201527f4163636f756e742063616e6e6f74206265207a65726f20616464726573730000604482015290519081900360640190fd5b803b806114f3576040805162461bcd60e51b815260206004820181905260248201527f4163636f756e7420636f64652073697a652063616e6e6f74206265207a65726f604482015290519081900360640190fd5b5050565b600061153983836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611816565b9392505050565b600082820183811015611539576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b60025460009081906001600160a01b03848116911614801561163d5750846001600160a01b031663b0d8e181846040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b15801561160d57600080fd5b505afa158015611621573d6000803e3d6000fd5b505050506040513d602081101561163757600080fd5b50518410155b1561164d57506000905081610613565b6001600160a01b038084166000908152600660205260409020548491610100909104165b6001600160a01b03821615801590611692575061169087878484610fb0565b155b156116cf57506001600160a01b03908116600090815260066020526040808220546101009081900484168084529190922054909291900416611671565b90969095509350505050565b60035460009081906001600160a01b03848116911614801561177e5750846001600160a01b031663b0d8e181846040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b15801561174e57600080fd5b505afa158015611762573d6000803e3d6000fd5b505050506040513d602081101561177857600080fd5b50518411155b1561178e57508190506000610613565b6001600160a01b038084166000908152600660205260409020600101548491165b6001600160a01b038216158015906117d057506117ce87878385610fb0565b155b1561180b57506001600160a01b03908116600090815260066020526040808220600190810154841680845291909220909101549091166117af565b969095509350505050565b600081848411156118a55760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561186a578181015183820152602001611852565b50505050905090810190601f1680156118975780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50505090039056fe536f7274656454726f7665733a204c69737420616c726561647920636f6e7461696e7320746865206e6f6465536f7274656454726f7665733a204c69737420646f6573206e6f7420636f6e7461696e20746865206964536f7274656454726f7665733a2053697a652063616ee2809974206265207a65726f536f7274656454726f7665733a2043616c6c6572206973206e6f74207468652054726f76654d616e616765724f776e61626c653a3a7365744f776e65723a20696e76616c69642061646472657373536f7274656454726f7665733a2043616c6c6572206973206e65697468657220424f206e6f722054726f76654d536f7274656454726f7665733a204e494352206d75737420626520706f736974697665a264697066735822122032b466fa1ae0f54c795858e19523f6f623b02846824d1e4a37750d801b21599064736f6c634300060b0033", "linkReferences": {}, "deployedLinkReferences": {} } diff --git a/packages/lib-ethers/live/SortedTrovesStorage.json b/packages/lib-ethers/live/SortedTrovesStorage.json new file mode 100644 index 000000000..b0f625014 --- /dev/null +++ b/packages/lib-ethers/live/SortedTrovesStorage.json @@ -0,0 +1,123 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "SortedTrovesStorage", + "sourceName": "contracts/SortedTrovesStorage.sol", + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousOwner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnershipTransferred", + "type": "event" + }, + { + "inputs": [], + "name": "NAME", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "borrowerOperationsAddress", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "data", + "outputs": [ + { + "internalType": "address", + "name": "head", + "type": "address" + }, + { + "internalType": "address", + "name": "tail", + "type": "address" + }, + { + "internalType": "uint256", + "name": "maxSize", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "size", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getOwner", + "outputs": [ + { + "internalType": "address", + "name": "_owner", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_owner", + "type": "address" + } + ], + "name": "setOwner", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "troveManager", + "outputs": [ + { + "internalType": "contract ITroveManager", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + } + ], + "bytecode": "0x608060405234801561001057600080fd5b50610023336001600160e01b0361002816565b610110565b6001600160a01b03811661006d5760405162461bcd60e51b81526004018080602001828103825260228152602001806104a86022913960400191505060405180910390fd5b6001600160a01b0381166100886001600160e01b036100e616565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3604080517035b2bc9737bbb730b136329737bbb732b960791b8152905190819003601101902055565b604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205490565b6103898061011f6000396000f3fe608060405234801561001057600080fd5b50600436106100625760003560e01c806313af4035146100675780633d83908a1461008f57806373d4a13a146100b3578063893d20e8146100ed578063a3f4df7e146100f5578063b7f8cf9b14610172575b600080fd5b61008d6004803603602081101561007d57600080fd5b50356001600160a01b031661017a565b005b6100976101ed565b604080516001600160a01b039092168252519081900360200190f35b6100bb6101fc565b604080516001600160a01b03958616815293909416602084015282840191909152606082015290519081900360800190f35b61009761021b565b6100fd610245565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561013757818101518382015260200161011f565b50505050905090810190601f1680156101645780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61009761026d565b61018261021b565b6001600160a01b0316336001600160a01b0316146101e1576040805162461bcd60e51b815260206004820152601760248201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604482015290519081900360640190fd5b6101ea8161027c565b50565b6001546001600160a01b031681565b6002546003546004546005546001600160a01b03938416939092169184565b604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205490565b6040518060400160405280600c81526020016b536f7274656454726f76657360a01b81525081565b6000546001600160a01b031681565b6001600160a01b0381166102c15760405162461bcd60e51b81526004018080602001828103825260228152602001806103326022913960400191505060405180910390fd5b806001600160a01b03166102d361021b565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205556fe4f776e61626c653a3a7365744f776e65723a20696e76616c69642061646472657373a2646970667358221220c869aa6aa6de74ca2c4f35b99a32866318935a648436017e11637f945f5db34e64736f6c634300060b00334f776e61626c653a3a7365744f776e65723a20696e76616c69642061646472657373", + "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100625760003560e01c806313af4035146100675780633d83908a1461008f57806373d4a13a146100b3578063893d20e8146100ed578063a3f4df7e146100f5578063b7f8cf9b14610172575b600080fd5b61008d6004803603602081101561007d57600080fd5b50356001600160a01b031661017a565b005b6100976101ed565b604080516001600160a01b039092168252519081900360200190f35b6100bb6101fc565b604080516001600160a01b03958616815293909416602084015282840191909152606082015290519081900360800190f35b61009761021b565b6100fd610245565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561013757818101518382015260200161011f565b50505050905090810190601f1680156101645780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61009761026d565b61018261021b565b6001600160a01b0316336001600160a01b0316146101e1576040805162461bcd60e51b815260206004820152601760248201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604482015290519081900360640190fd5b6101ea8161027c565b50565b6001546001600160a01b031681565b6002546003546004546005546001600160a01b03938416939092169184565b604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205490565b6040518060400160405280600c81526020016b536f7274656454726f76657360a01b81525081565b6000546001600160a01b031681565b6001600160a01b0381166102c15760405162461bcd60e51b81526004018080602001828103825260228152602001806103326022913960400191505060405180910390fd5b806001600160a01b03166102d361021b565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205556fe4f776e61626c653a3a7365744f776e65723a20696e76616c69642061646472657373a2646970667358221220c869aa6aa6de74ca2c4f35b99a32866318935a648436017e11637f945f5db34e64736f6c634300060b0033", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/packages/lib-ethers/live/SortedTrovesTester.json b/packages/lib-ethers/live/SortedTrovesTester.json index 08b962519..e8b3444b7 100644 --- a/packages/lib-ethers/live/SortedTrovesTester.json +++ b/packages/lib-ethers/live/SortedTrovesTester.json @@ -129,8 +129,8 @@ "type": "function" } ], - "bytecode": "0x608060405234801561001057600080fd5b5061033f806100206000396000f3fe608060405234801561001057600080fd5b50600436106100625760003560e01c806329092d0e146100675780632be212601461008f57806346f7cf87146100cb578063b0d8e18114610107578063d293c7101461013f578063e24b40d21461016b575b600080fd5b61008d6004803603602081101561007d57600080fd5b50356001600160a01b0316610191565b005b61008d600480360360808110156100a557600080fd5b506001600160a01b038135811691602081013591604082013581169160600135166101f7565b61008d600480360360808110156100e157600080fd5b506001600160a01b03813581169160208101359160408201358116916060013516610277565b61012d6004803603602081101561011d57600080fd5b50356001600160a01b03166102d9565b60408051918252519081900360200190f35b61012d6004803603604081101561015557600080fd5b506001600160a01b0381351690602001356102df565b61008d6004803603602081101561018157600080fd5b50356001600160a01b03166102e7565b6000805460408051631484968760e11b81526001600160a01b038581166004830152915191909216926329092d0e926024808201939182900301818387803b1580156101dc57600080fd5b505af11580156101f0573d6000803e3d6000fd5b5050505050565b600080546040805163015f109360e51b81526001600160a01b038881166004830152602482018890528681166044830152858116606483015291519190921692632be21260926084808201939182900301818387803b15801561025957600080fd5b505af115801561026d573d6000803e3d6000fd5b5050505050505050565b60008054604080516346f7cf8760e01b81526001600160a01b0388811660048301526024820188905286811660448301528581166064830152915191909216926346f7cf87926084808201939182900301818387803b15801561025957600080fd5b50600190565b600192915050565b600080546001600160a01b0319166001600160a01b039290921691909117905556fea2646970667358221220d422810956a5d8bbe2c184abf43e69c6891fbe9e9ebf42ef1b1452384802bd8464736f6c634300060b0033", - "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100625760003560e01c806329092d0e146100675780632be212601461008f57806346f7cf87146100cb578063b0d8e18114610107578063d293c7101461013f578063e24b40d21461016b575b600080fd5b61008d6004803603602081101561007d57600080fd5b50356001600160a01b0316610191565b005b61008d600480360360808110156100a557600080fd5b506001600160a01b038135811691602081013591604082013581169160600135166101f7565b61008d600480360360808110156100e157600080fd5b506001600160a01b03813581169160208101359160408201358116916060013516610277565b61012d6004803603602081101561011d57600080fd5b50356001600160a01b03166102d9565b60408051918252519081900360200190f35b61012d6004803603604081101561015557600080fd5b506001600160a01b0381351690602001356102df565b61008d6004803603602081101561018157600080fd5b50356001600160a01b03166102e7565b6000805460408051631484968760e11b81526001600160a01b038581166004830152915191909216926329092d0e926024808201939182900301818387803b1580156101dc57600080fd5b505af11580156101f0573d6000803e3d6000fd5b5050505050565b600080546040805163015f109360e51b81526001600160a01b038881166004830152602482018890528681166044830152858116606483015291519190921692632be21260926084808201939182900301818387803b15801561025957600080fd5b505af115801561026d573d6000803e3d6000fd5b5050505050505050565b60008054604080516346f7cf8760e01b81526001600160a01b0388811660048301526024820188905286811660448301528581166064830152915191909216926346f7cf87926084808201939182900301818387803b15801561025957600080fd5b50600190565b600192915050565b600080546001600160a01b0319166001600160a01b039290921691909117905556fea2646970667358221220d422810956a5d8bbe2c184abf43e69c6891fbe9e9ebf42ef1b1452384802bd8464736f6c634300060b0033", + "bytecode": "0x608060405234801561001057600080fd5b5061033f806100206000396000f3fe608060405234801561001057600080fd5b50600436106100625760003560e01c806329092d0e146100675780632be212601461008f57806346f7cf87146100cb578063b0d8e18114610107578063d293c7101461013f578063e24b40d21461016b575b600080fd5b61008d6004803603602081101561007d57600080fd5b50356001600160a01b0316610191565b005b61008d600480360360808110156100a557600080fd5b506001600160a01b038135811691602081013591604082013581169160600135166101f7565b61008d600480360360808110156100e157600080fd5b506001600160a01b03813581169160208101359160408201358116916060013516610277565b61012d6004803603602081101561011d57600080fd5b50356001600160a01b03166102d9565b60408051918252519081900360200190f35b61012d6004803603604081101561015557600080fd5b506001600160a01b0381351690602001356102df565b61008d6004803603602081101561018157600080fd5b50356001600160a01b03166102e7565b6000805460408051631484968760e11b81526001600160a01b038581166004830152915191909216926329092d0e926024808201939182900301818387803b1580156101dc57600080fd5b505af11580156101f0573d6000803e3d6000fd5b5050505050565b600080546040805163015f109360e51b81526001600160a01b038881166004830152602482018890528681166044830152858116606483015291519190921692632be21260926084808201939182900301818387803b15801561025957600080fd5b505af115801561026d573d6000803e3d6000fd5b5050505050505050565b60008054604080516346f7cf8760e01b81526001600160a01b0388811660048301526024820188905286811660448301528581166064830152915191909216926346f7cf87926084808201939182900301818387803b15801561025957600080fd5b50600190565b600192915050565b600080546001600160a01b0319166001600160a01b039290921691909117905556fea2646970667358221220e77f57d705bff27575b5dd23d472c76b82cffb5124b592201051dc2556727b3364736f6c634300060b0033", + "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100625760003560e01c806329092d0e146100675780632be212601461008f57806346f7cf87146100cb578063b0d8e18114610107578063d293c7101461013f578063e24b40d21461016b575b600080fd5b61008d6004803603602081101561007d57600080fd5b50356001600160a01b0316610191565b005b61008d600480360360808110156100a557600080fd5b506001600160a01b038135811691602081013591604082013581169160600135166101f7565b61008d600480360360808110156100e157600080fd5b506001600160a01b03813581169160208101359160408201358116916060013516610277565b61012d6004803603602081101561011d57600080fd5b50356001600160a01b03166102d9565b60408051918252519081900360200190f35b61012d6004803603604081101561015557600080fd5b506001600160a01b0381351690602001356102df565b61008d6004803603602081101561018157600080fd5b50356001600160a01b03166102e7565b6000805460408051631484968760e11b81526001600160a01b038581166004830152915191909216926329092d0e926024808201939182900301818387803b1580156101dc57600080fd5b505af11580156101f0573d6000803e3d6000fd5b5050505050565b600080546040805163015f109360e51b81526001600160a01b038881166004830152602482018890528681166044830152858116606483015291519190921692632be21260926084808201939182900301818387803b15801561025957600080fd5b505af115801561026d573d6000803e3d6000fd5b5050505050505050565b60008054604080516346f7cf8760e01b81526001600160a01b0388811660048301526024820188905286811660448301528581166064830152915191909216926346f7cf87926084808201939182900301818387803b15801561025957600080fd5b50600190565b600192915050565b600080546001600160a01b0319166001600160a01b039290921691909117905556fea2646970667358221220e77f57d705bff27575b5dd23d472c76b82cffb5124b592201051dc2556727b3364736f6c634300060b0033", "linkReferences": {}, "deployedLinkReferences": {} } diff --git a/packages/lib-ethers/live/StabilityPool.json b/packages/lib-ethers/live/StabilityPool.json index ce951809f..e272214a1 100644 --- a/packages/lib-ethers/live/StabilityPool.json +++ b/packages/lib-ethers/live/StabilityPool.json @@ -104,7 +104,7 @@ { "indexed": false, "internalType": "uint256", - "name": "_LUSDLoss", + "name": "_ZUSDLoss", "type": "uint256" } ], @@ -256,57 +256,6 @@ "name": "G_Updated", "type": "event" }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "_depositor", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_LQTY", - "type": "uint256" - } - ], - "name": "LQTYPaidToDepositor", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "_frontEnd", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_LQTY", - "type": "uint256" - } - ], - "name": "LQTYPaidToFrontEnd", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_newLUSDTokenAddress", - "type": "address" - } - ], - "name": "LUSDTokenAddressChanged", - "type": "event" - }, { "anonymous": false, "inputs": [ @@ -426,7 +375,7 @@ "type": "uint256" } ], - "name": "StabilityPoolLUSDBalanceUpdated", + "name": "StabilityPoolZUSDBalanceUpdated", "type": "event" }, { @@ -462,60 +411,84 @@ "type": "event" }, { - "inputs": [], - "name": "BORROWING_FEE_FLOOR", - "outputs": [ + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "_depositor", + "type": "address" + }, { + "indexed": false, "internalType": "uint256", - "name": "", + "name": "_zusdAmountRequested", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "_dllrAmountReceived", "type": "uint256" } ], - "stateMutability": "view", - "type": "function" + "name": "WithdrawFromSpAndConvertToDLLR", + "type": "event" }, { - "inputs": [], - "name": "CCR", - "outputs": [ + "anonymous": false, + "inputs": [ { + "indexed": true, + "internalType": "address", + "name": "_depositor", + "type": "address" + }, + { + "indexed": false, "internalType": "uint256", - "name": "", + "name": "_ZERO", "type": "uint256" } ], - "stateMutability": "view", - "type": "function" + "name": "ZEROPaidToDepositor", + "type": "event" }, { - "inputs": [], - "name": "DECIMAL_PRECISION", - "outputs": [ + "anonymous": false, + "inputs": [ { + "indexed": true, + "internalType": "address", + "name": "_frontEnd", + "type": "address" + }, + { + "indexed": false, "internalType": "uint256", - "name": "", + "name": "_ZERO", "type": "uint256" } ], - "stateMutability": "view", - "type": "function" + "name": "ZEROPaidToFrontEnd", + "type": "event" }, { - "inputs": [], - "name": "LUSD_GAS_COMPENSATION", - "outputs": [ + "anonymous": false, + "inputs": [ { - "internalType": "uint256", - "name": "", - "type": "uint256" + "indexed": false, + "internalType": "address", + "name": "_newZUSDTokenAddress", + "type": "address" } ], - "stateMutability": "view", - "type": "function" + "name": "ZUSDTokenAddressChanged", + "type": "event" }, { "inputs": [], - "name": "MCR", + "name": "DECIMAL_PRECISION", "outputs": [ { "internalType": "uint256", @@ -567,7 +540,7 @@ }, { "inputs": [], - "name": "PERCENT_DIVISOR", + "name": "SCALE_FACTOR", "outputs": [ { "internalType": "uint256", @@ -580,7 +553,7 @@ }, { "inputs": [], - "name": "SCALE_FACTOR", + "name": "ZUSD_GAS_COMPENSATION", "outputs": [ { "internalType": "uint256", @@ -902,7 +875,7 @@ "type": "address" } ], - "name": "getCompoundedLUSDDeposit", + "name": "getCompoundedZUSDDeposit", "outputs": [ { "internalType": "uint256", @@ -940,7 +913,7 @@ "type": "address" } ], - "name": "getDepositorLQTYGain", + "name": "getDepositorZEROGain", "outputs": [ { "internalType": "uint256", @@ -998,7 +971,7 @@ "type": "address" } ], - "name": "getFrontEndLQTYGain", + "name": "getFrontEndZEROGain", "outputs": [ { "internalType": "uint256", @@ -1011,12 +984,12 @@ }, { "inputs": [], - "name": "getTotalLUSDDeposits", + "name": "getOwner", "outputs": [ { - "internalType": "uint256", - "name": "", - "type": "uint256" + "internalType": "address", + "name": "_owner", + "type": "address" } ], "stateMutability": "view", @@ -1024,12 +997,12 @@ }, { "inputs": [], - "name": "isOwner", + "name": "getTotalZUSDDeposits", "outputs": [ { - "internalType": "bool", + "internalType": "uint256", "name": "", - "type": "bool" + "type": "uint256" } ], "stateMutability": "view", @@ -1050,7 +1023,7 @@ }, { "inputs": [], - "name": "lastLQTYError", + "name": "lastZEROError", "outputs": [ { "internalType": "uint256", @@ -1063,7 +1036,7 @@ }, { "inputs": [], - "name": "lastLUSDLossError_Offset", + "name": "lastZUSDLossError_Offset", "outputs": [ { "internalType": "uint256", @@ -1076,10 +1049,10 @@ }, { "inputs": [], - "name": "zusdToken", + "name": "liquityBaseParams", "outputs": [ { - "internalType": "contract ILUSDToken", + "internalType": "contract ILiquityBaseParams", "name": "", "type": "address" } @@ -1105,19 +1078,6 @@ "stateMutability": "nonpayable", "type": "function" }, - { - "inputs": [], - "name": "owner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, { "inputs": [], "name": "priceFeed", @@ -1149,6 +1109,46 @@ "stateMutability": "nonpayable", "type": "function" }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_dllrAmount", + "type": "uint256" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "deadline", + "type": "uint256" + }, + { + "internalType": "uint8", + "name": "v", + "type": "uint8" + }, + { + "internalType": "bytes32", + "name": "r", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "s", + "type": "bytes32" + } + ], + "internalType": "struct IMassetManager.PermitParams", + "name": "_permitParams", + "type": "tuple" + } + ], + "name": "provideToSpFromDLLR", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, { "inputs": [ { @@ -1164,6 +1164,11 @@ }, { "inputs": [ + { + "internalType": "address", + "name": "_liquityBaseParamsAddress", + "type": "address" + }, { "internalType": "address", "name": "_borrowerOperationsAddress", @@ -1205,6 +1210,19 @@ "stateMutability": "nonpayable", "type": "function" }, + { + "inputs": [ + { + "internalType": "address", + "name": "_owner", + "type": "address" + } + ], + "name": "setOwner", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, { "inputs": [], "name": "sortedTroves", @@ -1262,13 +1280,39 @@ "stateMutability": "nonpayable", "type": "function" }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_zusdAmountRequested", + "type": "uint256" + } + ], + "name": "withdrawFromSpAndConvertToDLLR", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "zusdToken", + "outputs": [ + { + "internalType": "contract IZUSDToken", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, { "stateMutability": "payable", "type": "receive" } ], - "bytecode": "0x6080604052670de0b6b3a764000060105534801561001c57600080fd5b50600380546001600160a01b031916339081179091556040516000907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a36139248061006c6000396000f3fe6080604052600436106102975760003560e01c806382e0a5741161015a578063ae918754116100c1578063df9cd84f1161007a578063df9cd84f146108ec578063eaa8ba7f1461091f578063f5f1595d14610984578063f92d3433146109b7578063fc7e286d146109cc578063fda0101a14610a20576102de565b8063ae91875414610850578063b83f91a214610865578063ce4b5bbe1461087a578063cef941e81461088f578063d4ca0575146108a4578063d7fb0443146108d7576102de565b806395fb16bb1161011357806395fb16bb1461073b5780639bf2f1ac14610750578063a20baee6146105b6578063a3f4df7e14610765578063a4e59ac8146107ef578063a7bfff9714610804576102de565b806382e0a5741461066557806386da0824146106a0578063887105d3146106d35780638b8fbd92146106e85780638da5cb5b146106fd5780638f32d59b14610712576102de565b8063538153ca116101fe578063741bef1a116101b7578063741bef1a146105cb57806376671808146105e057806377553ad414610611578063794e572414610626578063795d26c31461063b5780637f7dde4a14610650576102de565b8063538153ca146104f6578063556be1011461050b5780635733d58f146105355780635d2de6421461054a5780635f788d651461057d57806372fe25aa146105b6576102de565b80632e86bbd8116102505780632e86bbd814610423578063335525ad14610438578063389e92a5146104685780633cc742251461049b5780633d83908a146104cc5780634870dd9a146104e1576102de565b806314f6c3be146102e357806316b9d3c51461030a5780631bf43555146103745780631cdc47001461038957806328a0a04d146103bc5780632e54bf95146103f7576102de565b366102de576102a4610a5b565b6009546102b7903463ffffffff610aa616565b600981905560408051918252516000805160206136588339815191529181900360200190a1005b600080fd5b3480156102ef57600080fd5b506102f8610b09565b60408051918252519081900360200190f35b34801561031657600080fd5b5061033d6004803603602081101561032d57600080fd5b50356001600160a01b0316610b0f565b604080519586526020860194909452848401929092526001600160801b039081166060850152166080830152519081900360a00190f35b34801561038057600080fd5b506102f8610b4a565b34801561039557600080fd5b506102f8600480360360208110156103ac57600080fd5b50356001600160a01b0316610b57565b3480156103c857600080fd5b506102f8600480360360408110156103df57600080fd5b506001600160801b0381358116916020013516610bff565b34801561040357600080fd5b506104216004803603602081101561041a57600080fd5b5035610c1c565b005b34801561042f57600080fd5b506102f8610da5565b34801561044457600080fd5b506104216004803603604081101561045b57600080fd5b5080359060200135610db2565b34801561047457600080fd5b506102f86004803603602081101561048b57600080fd5b50356001600160a01b0316610e16565b3480156104a757600080fd5b506104b0610eb3565b604080516001600160a01b039092168252519081900360200190f35b3480156104d857600080fd5b506104b0610ec2565b3480156104ed57600080fd5b506102f8610ed1565b34801561050257600080fd5b506102f8610ed6565b34801561051757600080fd5b506104216004803603602081101561052e57600080fd5b5035610edc565b34801561054157600080fd5b506102f8610f51565b34801561055657600080fd5b506102f86004803603602081101561056d57600080fd5b50356001600160a01b0316610f5d565b34801561058957600080fd5b50610421600480360360408110156105a057600080fd5b50803590602001356001600160a01b0316610f6f565b3480156105c257600080fd5b506102f86110f0565b3480156105d757600080fd5b506104b06110fc565b3480156105ec57600080fd5b506105f561110b565b604080516001600160801b039092168252519081900360200190f35b34801561061d57600080fd5b506104b0611121565b34801561063257600080fd5b506102f8611130565b34801561064757600080fd5b506102f861113c565b34801561065c57600080fd5b506104b061123d565b34801561067157600080fd5b506102f86004803603604081101561068857600080fd5b506001600160801b038135811691602001351661124c565b3480156106ac57600080fd5b5061033d600480360360208110156106c357600080fd5b50356001600160a01b0316611269565b3480156106df57600080fd5b506102f86112a4565b3480156106f457600080fd5b506102f8611360565b34801561070957600080fd5b506104b0611366565b34801561071e57600080fd5b50610727611375565b604080519115158252519081900360200190f35b34801561074757600080fd5b506104b0611386565b34801561075c57600080fd5b506102f8611395565b34801561077157600080fd5b5061077a61139b565b6040805160208082528351818301528351919283929083019185019080838360005b838110156107b457818101518382015260200161079c565b50505050905090810190601f1680156107e15780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156107fb57600080fd5b506105f56113c4565b34801561081057600080fd5b506108376004803603602081101561082757600080fd5b50356001600160a01b03166113d3565b6040805192835290151560208301528051918290030190f35b34801561085c57600080fd5b506104b06113ef565b34801561087157600080fd5b506104b06113fe565b34801561088657600080fd5b506102f861140d565b34801561089b57600080fd5b506102f8611415565b3480156108b057600080fd5b506102f8600480360360208110156108c757600080fd5b50356001600160a01b031661141b565b3480156108e357600080fd5b506102f861151f565b3480156108f857600080fd5b506102f86004803603602081101561090f57600080fd5b50356001600160a01b0316611525565b34801561092b57600080fd5b50610421600480360360e081101561094257600080fd5b506001600160a01b038135811691602081013582169160408201358116916060810135821691608082013581169160a081013582169160c090910135166115c2565b34801561099057600080fd5b506102f8600480360360208110156109a757600080fd5b50356001600160a01b0316611873565b3480156109c357600080fd5b506102f8611970565b3480156109d857600080fd5b506109ff600480360360208110156109ef57600080fd5b50356001600160a01b031661197b565b604080519283526001600160a01b0390911660208301528051918290030190f35b348015610a2c57600080fd5b5061042160048036036040811015610a4357600080fd5b506001600160a01b038135811691602001351661199d565b6000546001600160a01b03163314610aa45760405162461bcd60e51b81526004018080602001828103825260278152602001806136316027913960400191505060405180910390fd5b565b600082820183811015610b00576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b90505b92915050565b60095490565b600f602052600090815260409020805460018201546002830154600390930154919290916001600160801b0380821691600160801b90041685565b686194049f30f720000081565b6001600160a01b0381166000908152600b602052604081205480610b7f576000915050610bfa565b610b87613563565b506001600160a01b0383166000908152600c60209081526040808320815160a08101835281548152600182015493810193909352600281015491830191909152600301546001600160801b038082166060840152600160801b90910416608082015290610bf48383611bcd565b93505050505b919050565b601260209081526000928352604080842090915290825290205481565b8015610c2a57610c2a611cc9565b336000908152600b6020526040902054610c4381611e86565b6008546001600160a01b0316610c5881611ec8565b6000610c6333610e16565b90506000610c7033610b57565b90506000610c7e8683611f3c565b90506000610c92868463ffffffff611f5216565b336000818152600b60205260409020600101549192506001600160a01b0390911690610cc090879083611f94565b6000610ccb82611525565b90506000610cdf828663ffffffff611f5216565b9050610ceb8382612133565b6040805182815233602082015281516001600160a01b0386169260008051602061383e833981519152928290030190a2610d25338661227f565b6000610d37878763ffffffff611f5216565b9050610d433382612305565b60408051828152905133916000805160206136a9833981519152919081900360200190a260408051898152602081018790528151339260008051602061378d833981519152928290030190a2610d988861248b565b5050505050505050505050565b680ad78ebc5ac620000081565b610dba612597565b600a54801580610dc8575082155b15610dd35750610e12565b600854610de8906001600160a01b0316611ec8565b600080610df68486856125e0565b91509150610e0482826126d9565b610e0e84866129d3565b5050505b5050565b6001600160a01b0381166000908152600b602052604081205480610e3e576000915050610bfa565b610e46613563565b506001600160a01b0383166000908152600c60209081526040808320815160a08101835281548152600182015493810193909352600281015491830191909152600301546001600160801b038082166060840152600160801b90910416608082015290610bf48383612b0d565b6001546001600160a01b031681565b6005546001600160a01b031681565b60c881565b60165481565b610ee533612bfe565b610eee33612c59565b610ef781612caf565b336000818152600d60209081526040918290208481556001908101805460ff19169091179055815184815291517f19bc932fb9e16a8b5a1e41be9f4c2de59d5ddd7567b8b81405f532ca00a9880e9281900390910190a250565b6714d1120d7b16000081565b600e6020526000908152604090205481565b610f7881612cf6565b610f8133612bfe565b610f8a82612d62565b336000908152600b60205260409020546008546001600160a01b0316610faf81611ec8565b81610fbe57610fbe3384612da1565b6000610fc933610e16565b90506000610fd633610b57565b90506000610fea858363ffffffff611f5216565b336000818152600b60205260409020600101549192506001600160a01b039091169061101890869083611f94565b600061102382611525565b90506000611037828b63ffffffff610aa616565b90506110438382612133565b6040805182815233602082015281516001600160a01b0386169260008051602061383e833981519152928290030190a261107d338b612dfb565b600061108f868c63ffffffff610aa616565b905061109b3382612305565b60408051828152905133916000805160206136a9833981519152919081900360200190a260408051888152602081018790528151339260008051602061378d833981519152928290030190a2610d988761248b565b670de0b6b3a764000081565b6002546001600160a01b031681565b601154600160801b90046001600160801b031681565b6004546001600160a01b031681565b670f43fc2c04ee000081565b6000805460408051632f5a97e560e11b8152905183926001600160a01b031691635eb52fca916004808301926020929190829003018186803b15801561118157600080fd5b505afa158015611195573d6000803e3d6000fd5b505050506040513d60208110156111ab57600080fd5b505160015460408051632f5a97e560e11b815290519293506000926001600160a01b0390921691635eb52fca91600480820192602092909190829003018186803b1580156111f857600080fd5b505afa15801561120c573d6000803e3d6000fd5b505050506040513d602081101561122257600080fd5b50519050611236828263ffffffff610aa616565b9250505090565b6000546001600160a01b031681565b601360209081526000928352604080842090915290825290205481565b600c602052600090815260409020805460018201546002830154600390930154919290916001600160801b0380821691600160801b90041685565b6000805460408051630a7b61df60e11b8152905183926001600160a01b0316916314f6c3be916004808301926020929190829003018186803b1580156112e957600080fd5b505afa1580156112fd573d6000803e3d6000fd5b505050506040513d602081101561131357600080fd5b505160015460408051630a7b61df60e11b815290519293506000926001600160a01b03909216916314f6c3be91600480820192602092909190829003018186803b1580156111f857600080fd5b60105481565b6003546001600160a01b031690565b6003546001600160a01b0316331490565b6008546001600160a01b031681565b600a5490565b6040518060400160405280600d81526020016c14dd18589a5b1a5d1e541bdbdb609a1b81525081565b6011546001600160801b031681565b600d602052600090815260409020805460019091015460ff1682565b6007546001600160a01b031681565b6006546001600160a01b031681565b633b9aca0081565b60145481565b6001600160a01b0381166000908152600e602052604081205480611443576000915050610bfa565b6001600160a01b0383166000908152600d602052604081205490611475670de0b6b3a76400008363ffffffff611f5216565b905061147f613563565b506001600160a01b0385166000908152600f60209081526040808320815160a08101835281548152600182015493810193909352600281015491830191909152600301546001600160801b038082166060840152600160801b90910416608082015290611514670de0b6b3a76400006115086114fb8886612ec5565b869063ffffffff612f5116565b9063ffffffff612faa16565b979650505050505050565b60155481565b6001600160a01b0381166000908152600e60205260408120548061154d576000915050610bfa565b611555613563565b506001600160a01b0383166000908152600f60209081526040808320815160a08101835281548152600182015493810193909352600281015491830191909152600301546001600160801b038082166060840152600160801b90910416608082015290610bf48383611bcd565b6115ca611375565b61161b576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b61162487612fec565b61162d86612fec565b61163685612fec565b61163f84612fec565b61164883612fec565b61165182612fec565b61165a81612fec565b600480546001600160a01b03199081166001600160a01b038a81169182179093556005805483168a85161790556000805483168985161790556006805483168885161790556007805483168785161790556002805483168685161790556008805490921692841692909217905560408051918252517f3ca631ffcd2a9b5d9ae18543fc82f58eb4ca33af9e6ab01b7a8e95331e6ed985916020908290030190a1604080516001600160a01b038816815290517f143219c9e69b09e07e095fcc889b43d8f46ca892bba65f08dc3a0050869a56789181900360200190a1604080516001600160a01b038716815290517f78f058b189175430c48dc02699e3a0031ea4ff781536dc2fab847de4babdd8829181900360200190a1604080516001600160a01b038616815290517f227eec0ec317af6ab1a9587ffa1c84332522eb4c583a908f89babc05f8f339bd9181900360200190a1604080516001600160a01b038516815290517f65f4cf077bc01e4742eb5ad98326f6e95b63548ea24b17f8d5e823111fe788009181900360200190a1604080516001600160a01b038416815290517f8c537274438aa850a330284665d81a85dd38267d09e4050d416bfc94142db2649181900360200190a1604080516001600160a01b038316815290517f3055265812fb8447b9ada4a5d804ec43bd528ec40e89c952bbc7b85dc5ac68119181900360200190a161186a61309b565b50505050505050565b6001600160a01b0381166000908152600b60205260408120548061189b576000915050610bfa565b6001600160a01b038084166000908152600b60205260408120600101549091169081156118e0576001600160a01b0382166000908152600d60205260409020546118ea565b670de0b6b3a76400005b90506118f4613563565b506001600160a01b0385166000908152600c60209081526040808320815160a08101835281548152600182015493810193909352600281015491830191909152600301546001600160801b038082166060840152600160801b90910416608082015290611514670de0b6b3a76400006115086114fb8886612ec5565b6611c37937e0800081565b600b60205260009081526040902080546001909101546001600160a01b031682565b336000908152600b60205260409020546119b681611e86565b6119bf336130e5565b6119c83361319c565b6008546001600160a01b03166119dd81611ec8565b60006119e833610e16565b905060006119f533610b57565b90506000611a09858363ffffffff611f5216565b336000818152600b60205260409020600101549192506001600160a01b0390911690611a3790869083611f94565b6000611a4282611525565b905080611a4f8382612133565b6040805182815233602082015281516001600160a01b0386169260008051602061383e833981519152928290030190a2611a893386612305565b60408051878152602081018690528151339260008051602061378d833981519152928290030190a260408051868152905133916000805160206136a9833981519152919081900360200190a2600954611ae8908763ffffffff611f5216565b600981905560408051918252516000805160206136588339815191529181900360200190a1604080513381526020810188905281517f6109e2559dfa766aaec7118351d48a523f0a4157f49c8d68749c8ac41318ad12929181900390910190a1600480546040805163ea9638bf60e01b815233938101939093526001600160a01b038d811660248501528c81166044850152905191169163ea9638bf91899160648082019260009290919082900301818588803b158015611ba857600080fd5b505af1158015611bbc573d6000803e3d6000fd5b505050505050505050505050505050565b6020810151606082015160808301516011546000939291906001600160801b03600160801b90910481169082161015611c0c5760009350505050610b03565b6011546000908190611c2d906001600160801b03168563ffffffff6131e816565b90506001600160801b038116611c5d57611c56856115086010548b612f5190919063ffffffff16565b9150611c95565b806001600160801b031660011415611c9057611c56633b9aca00611508876115086010548d612f5190919063ffffffff16565b600091505b611ca988633b9aca0063ffffffff612faa16565b821015611cbe57600095505050505050610b03565b509695505050505050565b60025460408051630fdb11cf60e01b815290516000926001600160a01b031691630fdb11cf91600480830192602092919082900301818787803b158015611d0f57600080fd5b505af1158015611d23573d6000803e3d6000fd5b505050506040513d6020811015611d3957600080fd5b505160075460408051634d62283160e01b815290519293506000926001600160a01b0390921691634d62283191600480820192602092909190829003018186803b158015611d8657600080fd5b505afa158015611d9a573d6000803e3d6000fd5b505050506040513d6020811015611db057600080fd5b505160055460408051630d293c7160e41b81526001600160a01b038085166004830152602482018790529151939450600093919092169163d293c710916044808301926020929190829003018186803b158015611e0c57600080fd5b505afa158015611e20573d6000803e3d6000fd5b505050506040513d6020811015611e3657600080fd5b50519050670f43fc2c04ee0000811015611e815760405162461bcd60e51b81526004018080602001828103825260448152602001806138ab6044913960600191505060405180910390fd5b505050565b60008111611ec55760405162461bcd60e51b815260040180806020018281038252603081526020018061380e6030913960400191505060405180910390fd5b50565b6000816001600160a01b03166346ad34d96040518163ffffffff1660e01b8152600401602060405180830381600087803b158015611f0557600080fd5b505af1158015611f19573d6000803e3d6000fd5b505050506040513d6020811015611f2f57600080fd5b50519050610e1281613241565b6000818310611f4b5781610b00565b5090919050565b6000610b0083836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061335c565b6001600160a01b03811615612069576000611fae8261141b565b9050836001600160a01b031663614d2ab683836040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b15801561201057600080fd5b505af1158015612024573d6000803e3d6000fd5b50506040805184815290516001600160a01b03861693507fcd2cdc1a4af71051394e9c6facd9a266b2ac5bd65d219a701eeda009f47682bf92509081900360200190a2505b600061207483611873565b9050836001600160a01b031663614d2ab684836040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b1580156120d657600080fd5b505af11580156120ea573d6000803e3d6000fd5b50506040805184815290516001600160a01b03871693507f2608b986a6ac0f6c629ca37018e80af5561e366252ae93602a96d3ab2e73e42d92509081900360200190a250505050565b6001600160a01b0382166000908152600e60205260409020819055806121c3576001600160a01b0382166000818152600f60209081526040808320838155600181018490556002810184905560030183905580518381529182019290925281517fbb1322f85cc7cc8bac4e172a5bc5dcc0c1959007f9a030032abf9258205f0e45929181900390910190a2610e12565b6011546010546001600160801b03600160801b80840482166000818152601360209081526040808320978616808452978252808320546001600160a01b038b16808552600f845293829020600181018990556002810182905560030180546001600160801b0319168a17909716958502959095179095558451868152908101849052845192959491927fbb1322f85cc7cc8bac4e172a5bc5dcc0c1959007f9a030032abf9258205f0e45929181900390910190a2505050505050565b8061228957610e12565b60065460408051631062c15f60e11b81523060048201526001600160a01b03858116602483015260448201859052915191909216916320c582be91606480830192600092919082900301818387803b1580156122e457600080fd5b505af11580156122f8573d6000803e3d6000fd5b50505050610e12816133f3565b6001600160a01b0382166000908152600b60205260409020819055806123b3576001600160a01b0382166000818152600b60209081526040808320600190810180546001600160a01b0319169055600c83528184208481559081018490556002810184905560030183905580518381529182018390528181019290925290517f2d6cc0bcdf72c9486f6451bde6b80f44066f4558f77f44dbfedbe7d8b295225a9181900360600190a2610e12565b6011546010546001600160801b03600160801b8084048216600081815260126020908152604080832097861680845297825280832054848452601383528184208985528352818420546001600160a01b038c16808652600c855294839020600181018a90558281556002810182905560030180546001600160801b0319168b179098169686029690961790965580518781529182018690528181018590525192959493927f2d6cc0bcdf72c9486f6451bde6b80f44066f4558f77f44dbfedbe7d8b295225a916060908290030190a250505050505050565b8061249557611ec5565b6009546000906124ab908363ffffffff611f5216565b6009819055604080518281529051919250600080516020613658833981519152919081900360200190a1604080513381526020810184905281517f6109e2559dfa766aaec7118351d48a523f0a4157f49c8d68749c8ac41318ad12929181900390910190a1604051600090339084908381818185875af1925050503d8060008114612552576040519150601f19603f3d011682016040523d82523d6000602084013e612557565b606091505b5050905080611e815760405162461bcd60e51b81526004018080602001828103825260218152602001806136f26021913960400191505060405180910390fd5b6005546001600160a01b03163314610aa45760405162461bcd60e51b81526004018080602001828103825260298152602001806136c96029913960400191505060405180910390fd5b6000806000612612601554612606670de0b6b3a764000089612f5190919063ffffffff16565b9063ffffffff610aa616565b90508385111561261e57fe5b8385141561263b576000601655670de0b6b3a7640000915061269b565b6016546000906126699061265d88670de0b6b3a764000063ffffffff612f5116565b9063ffffffff611f5216565b90506126806001612606838863ffffffff612faa16565b92506126968161265d858863ffffffff612f5116565b601655505b6126ab818563ffffffff612faa16565b92506126cd6126c0848663ffffffff612f5116565b829063ffffffff611f5216565b60155550935093915050565b6010546000670de0b6b3a76400008311156126f057fe5b600061270a670de0b6b3a76400008563ffffffff611f5216565b6011546001600160801b03600160801b82048116600081815260126020908152604080832094909516808352939052928320549394509092909161274e8988612f51565b90506000612762838363ffffffff610aa616565b6001600160801b038086166000818152601260209081526040808320948b16808452948252918290208590558151858152908101929092528181019290925290519192507fe12e2cd2c9afa8069203ca07e7eff1edce4a075686d0736a8e7e0d593597b207919081900360600190a185612899576127f06001600160801b038516600163ffffffff61344916565b601180546001600160801b03908116600160801b938216840217918290556040805193909204168252517fb50f0f59e7cb5b421dc77581c3a9919e3806e076e5fa78a874c3f120cb7d874d916020908290030190a1601180546001600160801b0319169055604080516000815290517f1f9dfc70cd666adb18a39d60a797518f7b4febf4b6e24ef37d44f6e1e7219fbe9181900360200190a1670de0b6b3a76400009650612985565b633b9aca006128ba670de0b6b3a76400006115088b8a63ffffffff612f5116565b1015612966576128f0670de0b6b3a7640000611508633b9aca006128e48c8b63ffffffff612f5116565b9063ffffffff612f5116565b965061290c6001600160801b038616600163ffffffff61344916565b601180546001600160801b0319166001600160801b0392831617908190556040805191909216815290517f1f9dfc70cd666adb18a39d60a797518f7b4febf4b6e24ef37d44f6e1e7219fbe916020908290030190a1612985565b612982670de0b6b3a76400006115088a8963ffffffff612f5116565b96505b6000871161298f57fe5b60108790556040805188815290517fc1a9618cb59ebca77cbdbc2949f126823c407ff13edb285fd0262519a9c18e8c9181900360200190a150505050505050505050565b600080546040805163071b32b560e31b81526004810185905290516001600160a01b039092169283926338d995a892602480820193929182900301818387803b158015612a1f57600080fd5b505af1158015612a33573d6000803e3d6000fd5b50505050612a40826133f3565b60065460408051632770a7eb60e21b81523060048201526024810185905290516001600160a01b0390921691639dc29fac9160448082019260009290919082900301818387803b158015612a9357600080fd5b505af1158015612aa7573d6000803e3d6000fd5b5050604080516364a197f360e01b81523060048201526024810187905290516001600160a01b03851693506364a197f39250604480830192600092919082900301818387803b158015612af957600080fd5b505af115801561186a573d6000803e3d6000fd5b6080810151606082015182516020808501516001600160801b03808616600090815260128452604080822092871682529190935282205491949392918590612b5b908463ffffffff611f5216565b6001600160801b03808716600090815260126020526040812092935091612bbe91633b9aca0091908490612b98908a16600163ffffffff61344916565b6001600160801b031681526020810191909152604001600020549063ffffffff612faa16565b90506000612bf0670de0b6b3a76400006115088681612be3888863ffffffff610aa616565b8f9063ffffffff612f5116565b9a9950505050505050505050565b6001600160a01b0381166000908152600d602052604090206001015460ff1615611ec55760405162461bcd60e51b81526004018080602001828103825260398152602001806137ad6039913960400191505060405180910390fd5b6001600160a01b0381166000908152600b60205260409020548015610e125760405162461bcd60e51b81526004018080602001828103825260288152602001806137e66028913960400191505060405180910390fd5b670de0b6b3a7640000811115611ec55760405162461bcd60e51b81526004018080602001828103825260338152602001806137346033913960400191505060405180910390fd5b6001600160a01b0381166000908152600d602052604090206001015460ff1680612d2757506001600160a01b038116155b611ec55760405162461bcd60e51b81526004018080602001828103825260468152602001806135eb6046913960600191505060405180910390fd5b60008111611ec55760405162461bcd60e51b81526004018080602001828103825260268152602001806137676026913960400191505060405180910390fd5b6001600160a01b038281166000818152600b602052604080822060010180546001600160a01b0319169486169485179055517f094c08e96a8890877a8390b4f967180a7507ad8622244d05fcd0f9f8e086564e9190a35050565b60065460408051632ee65eeb60e21b81526001600160a01b038581166004830152306024830152604482018590529151919092169163bb997bac91606480830192600092919082900301818387803b158015612e5657600080fd5b505af1158015612e6a573d6000803e3d6000fd5b5050600a5460009250612e8491508363ffffffff610aa616565b600a8190556040805182815290519192507fa8e886449d8f7e765877b4a4f54632da3943ae454d5a272bdccb1781f086ff29919081900360200190a1505050565b608081015160608201516040808401516020808601516001600160801b03808716600090815260138452858120918716815292529281205490949392908590612f14908463ffffffff611f5216565b6001600160801b03808716600090815260136020526040812092935091612bbe91633b9aca0091908490612b98908a16600163ffffffff61344916565b600082612f6057506000610b03565b82820282848281612f6d57fe5b0414610b005760405162461bcd60e51b81526004018080602001828103825260218152602001806137136021913960400191505060405180910390fd5b6000610b0083836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250613499565b6001600160a01b038116613047576040805162461bcd60e51b815260206004820152601e60248201527f4163636f756e742063616e6e6f74206265207a65726f20616464726573730000604482015290519081900360640190fd5b803b80610e12576040805162461bcd60e51b815260206004820181905260248201527f4163636f756e7420636f64652073697a652063616e6e6f74206265207a65726f604482015290519081900360640190fd5b6003546040516000916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600380546001600160a01b0319169055565b600554604080516321e3780160e01b81526001600160a01b038481166004830152915191909216916321e37801916024808301926020929190829003018186803b15801561313257600080fd5b505afa158015613146573d6000803e3d6000fd5b505050506040513d602081101561315c57600080fd5b5051600114611ec55760405162461bcd60e51b81526004018080602001828103825260468152602001806135a56046913960600191505060405180910390fd5b60006131a782610e16565b905060008111610e125760405162461bcd60e51b81526004018080602001828103825260318152602001806136786031913960400191505060405180910390fd5b6000826001600160801b0316826001600160801b0316111561323b5760405162461bcd60e51b815260040180806020018281038252602881526020018061385e6028913960400191505060405180910390fd5b50900390565b600a5480158061324f575081155b1561325a5750611ec5565b600061326683836134fe565b9050600061327f60105483612f5190919063ffffffff16565b6011546001600160801b03600160801b8204811660009081526013602090815260408083209390941682529190915220549091506132c3908263ffffffff610aa616565b601180546001600160801b03600160801b808304821660009081526013602081815260408084209686168452958152858320979097559454918204831680825294865283812091909216808352908552908290205482519081529384019290925282810191909152517f2d6127771b164a9cc8827d24b5955db2a77e7a81dac389107ebb8bce9fb649689181900360600190a150505050565b600081848411156133eb5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156133b0578181015183820152602001613398565b50505050905090810190601f1680156133dd5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b600a54600090613409908363ffffffff611f5216565b600a8190556040805182815290519192507fa8e886449d8f7e765877b4a4f54632da3943ae454d5a272bdccb1781f086ff29919081900360200190a15050565b60008282016001600160801b038085169082161015610b005760405162461bcd60e51b81526004018080602001828103825260258152602001806138866025913960400191505060405180910390fd5b600081836134e85760405162461bcd60e51b81526020600482018181528351602484015283519092839260449091019190850190808383600083156133b0578181015183820152602001613398565b5060008385816134f457fe5b0495945050505050565b600080613522601454612606670de0b6b3a764000087612f5190919063ffffffff16565b90506000613536828563ffffffff612faa16565b905061355861354b828663ffffffff612f5116565b839063ffffffff611f5216565b601455949350505050565b6040518060a0016040528060008152602001600081526020016000815260200160006001600160801b0316815260200160006001600160801b03168152509056fe53746162696c697479506f6f6c3a2063616c6c6572206d757374206861766520616e206163746976652074726f766520746f207769746864726177204554484761696e20746f53746162696c697479506f6f6c3a20546167206d757374206265206120726567697374657265642066726f6e7420656e642c206f7220746865207a65726f206164647265737353746162696c697479506f6f6c3a2043616c6c6572206973206e6f7420416374697665506f6f6cceb6d671277d4354fd29977ada70695fbd93a16612abf765d6b0e25c28dc6db353746162696c697479506f6f6c3a2063616c6c6572206d7573742068617665206e6f6e2d7a65726f20455448204761696ebce78369dccab09eec1986f4d409ab09ffbb47d65423e5148fcf98411c5111c953746162696c697479506f6f6c3a2043616c6c6572206973206e6f742054726f76654d616e6167657253746162696c697479506f6f6c3a2073656e64696e6720455448206661696c6564536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7753746162696c697479506f6f6c3a204b69636b6261636b2072617465206d75737420626520696e2072616e6765205b302c315d53746162696c697479506f6f6c3a20416d6f756e74206d757374206265206e6f6e2d7a65726f51457222ebca92c335c9c86e2baa1cc0e40ffaa9084a51452980d5ba8dec2f6353746162696c697479506f6f6c3a206d757374206e6f7420616c7265616479206265206120726567697374657265642066726f6e7420656e6453746162696c697479506f6f6c3a2055736572206d7573742068617665206e6f206465706f73697453746162696c697479506f6f6c3a2055736572206d75737420686176652061206e6f6e2d7a65726f206465706f73697499920012339b5a3368d3a04b8606ce412c46ed92b7dcd8602d41fc8862cb8f254c697175697479536166654d6174683132383a207375627472616374696f6e206f766572666c6f774c697175697479536166654d6174683132383a206164646974696f6e206f766572666c6f7753746162696c697479506f6f6c3a2043616e6e6f74207769746864726177207768696c65207468657265206172652074726f766573207769746820494352203c204d4352a2646970667358221220a933496260fd68a40610a4fd1fa4621c153dab6beff4bfe0e8c5416c4fe4722164736f6c634300060b0033", - "deployedBytecode": "0x6080604052600436106102975760003560e01c806382e0a5741161015a578063ae918754116100c1578063df9cd84f1161007a578063df9cd84f146108ec578063eaa8ba7f1461091f578063f5f1595d14610984578063f92d3433146109b7578063fc7e286d146109cc578063fda0101a14610a20576102de565b8063ae91875414610850578063b83f91a214610865578063ce4b5bbe1461087a578063cef941e81461088f578063d4ca0575146108a4578063d7fb0443146108d7576102de565b806395fb16bb1161011357806395fb16bb1461073b5780639bf2f1ac14610750578063a20baee6146105b6578063a3f4df7e14610765578063a4e59ac8146107ef578063a7bfff9714610804576102de565b806382e0a5741461066557806386da0824146106a0578063887105d3146106d35780638b8fbd92146106e85780638da5cb5b146106fd5780638f32d59b14610712576102de565b8063538153ca116101fe578063741bef1a116101b7578063741bef1a146105cb57806376671808146105e057806377553ad414610611578063794e572414610626578063795d26c31461063b5780637f7dde4a14610650576102de565b8063538153ca146104f6578063556be1011461050b5780635733d58f146105355780635d2de6421461054a5780635f788d651461057d57806372fe25aa146105b6576102de565b80632e86bbd8116102505780632e86bbd814610423578063335525ad14610438578063389e92a5146104685780633cc742251461049b5780633d83908a146104cc5780634870dd9a146104e1576102de565b806314f6c3be146102e357806316b9d3c51461030a5780631bf43555146103745780631cdc47001461038957806328a0a04d146103bc5780632e54bf95146103f7576102de565b366102de576102a4610a5b565b6009546102b7903463ffffffff610aa616565b600981905560408051918252516000805160206136588339815191529181900360200190a1005b600080fd5b3480156102ef57600080fd5b506102f8610b09565b60408051918252519081900360200190f35b34801561031657600080fd5b5061033d6004803603602081101561032d57600080fd5b50356001600160a01b0316610b0f565b604080519586526020860194909452848401929092526001600160801b039081166060850152166080830152519081900360a00190f35b34801561038057600080fd5b506102f8610b4a565b34801561039557600080fd5b506102f8600480360360208110156103ac57600080fd5b50356001600160a01b0316610b57565b3480156103c857600080fd5b506102f8600480360360408110156103df57600080fd5b506001600160801b0381358116916020013516610bff565b34801561040357600080fd5b506104216004803603602081101561041a57600080fd5b5035610c1c565b005b34801561042f57600080fd5b506102f8610da5565b34801561044457600080fd5b506104216004803603604081101561045b57600080fd5b5080359060200135610db2565b34801561047457600080fd5b506102f86004803603602081101561048b57600080fd5b50356001600160a01b0316610e16565b3480156104a757600080fd5b506104b0610eb3565b604080516001600160a01b039092168252519081900360200190f35b3480156104d857600080fd5b506104b0610ec2565b3480156104ed57600080fd5b506102f8610ed1565b34801561050257600080fd5b506102f8610ed6565b34801561051757600080fd5b506104216004803603602081101561052e57600080fd5b5035610edc565b34801561054157600080fd5b506102f8610f51565b34801561055657600080fd5b506102f86004803603602081101561056d57600080fd5b50356001600160a01b0316610f5d565b34801561058957600080fd5b50610421600480360360408110156105a057600080fd5b50803590602001356001600160a01b0316610f6f565b3480156105c257600080fd5b506102f86110f0565b3480156105d757600080fd5b506104b06110fc565b3480156105ec57600080fd5b506105f561110b565b604080516001600160801b039092168252519081900360200190f35b34801561061d57600080fd5b506104b0611121565b34801561063257600080fd5b506102f8611130565b34801561064757600080fd5b506102f861113c565b34801561065c57600080fd5b506104b061123d565b34801561067157600080fd5b506102f86004803603604081101561068857600080fd5b506001600160801b038135811691602001351661124c565b3480156106ac57600080fd5b5061033d600480360360208110156106c357600080fd5b50356001600160a01b0316611269565b3480156106df57600080fd5b506102f86112a4565b3480156106f457600080fd5b506102f8611360565b34801561070957600080fd5b506104b0611366565b34801561071e57600080fd5b50610727611375565b604080519115158252519081900360200190f35b34801561074757600080fd5b506104b0611386565b34801561075c57600080fd5b506102f8611395565b34801561077157600080fd5b5061077a61139b565b6040805160208082528351818301528351919283929083019185019080838360005b838110156107b457818101518382015260200161079c565b50505050905090810190601f1680156107e15780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156107fb57600080fd5b506105f56113c4565b34801561081057600080fd5b506108376004803603602081101561082757600080fd5b50356001600160a01b03166113d3565b6040805192835290151560208301528051918290030190f35b34801561085c57600080fd5b506104b06113ef565b34801561087157600080fd5b506104b06113fe565b34801561088657600080fd5b506102f861140d565b34801561089b57600080fd5b506102f8611415565b3480156108b057600080fd5b506102f8600480360360208110156108c757600080fd5b50356001600160a01b031661141b565b3480156108e357600080fd5b506102f861151f565b3480156108f857600080fd5b506102f86004803603602081101561090f57600080fd5b50356001600160a01b0316611525565b34801561092b57600080fd5b50610421600480360360e081101561094257600080fd5b506001600160a01b038135811691602081013582169160408201358116916060810135821691608082013581169160a081013582169160c090910135166115c2565b34801561099057600080fd5b506102f8600480360360208110156109a757600080fd5b50356001600160a01b0316611873565b3480156109c357600080fd5b506102f8611970565b3480156109d857600080fd5b506109ff600480360360208110156109ef57600080fd5b50356001600160a01b031661197b565b604080519283526001600160a01b0390911660208301528051918290030190f35b348015610a2c57600080fd5b5061042160048036036040811015610a4357600080fd5b506001600160a01b038135811691602001351661199d565b6000546001600160a01b03163314610aa45760405162461bcd60e51b81526004018080602001828103825260278152602001806136316027913960400191505060405180910390fd5b565b600082820183811015610b00576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b90505b92915050565b60095490565b600f602052600090815260409020805460018201546002830154600390930154919290916001600160801b0380821691600160801b90041685565b686194049f30f720000081565b6001600160a01b0381166000908152600b602052604081205480610b7f576000915050610bfa565b610b87613563565b506001600160a01b0383166000908152600c60209081526040808320815160a08101835281548152600182015493810193909352600281015491830191909152600301546001600160801b038082166060840152600160801b90910416608082015290610bf48383611bcd565b93505050505b919050565b601260209081526000928352604080842090915290825290205481565b8015610c2a57610c2a611cc9565b336000908152600b6020526040902054610c4381611e86565b6008546001600160a01b0316610c5881611ec8565b6000610c6333610e16565b90506000610c7033610b57565b90506000610c7e8683611f3c565b90506000610c92868463ffffffff611f5216565b336000818152600b60205260409020600101549192506001600160a01b0390911690610cc090879083611f94565b6000610ccb82611525565b90506000610cdf828663ffffffff611f5216565b9050610ceb8382612133565b6040805182815233602082015281516001600160a01b0386169260008051602061383e833981519152928290030190a2610d25338661227f565b6000610d37878763ffffffff611f5216565b9050610d433382612305565b60408051828152905133916000805160206136a9833981519152919081900360200190a260408051898152602081018790528151339260008051602061378d833981519152928290030190a2610d988861248b565b5050505050505050505050565b680ad78ebc5ac620000081565b610dba612597565b600a54801580610dc8575082155b15610dd35750610e12565b600854610de8906001600160a01b0316611ec8565b600080610df68486856125e0565b91509150610e0482826126d9565b610e0e84866129d3565b5050505b5050565b6001600160a01b0381166000908152600b602052604081205480610e3e576000915050610bfa565b610e46613563565b506001600160a01b0383166000908152600c60209081526040808320815160a08101835281548152600182015493810193909352600281015491830191909152600301546001600160801b038082166060840152600160801b90910416608082015290610bf48383612b0d565b6001546001600160a01b031681565b6005546001600160a01b031681565b60c881565b60165481565b610ee533612bfe565b610eee33612c59565b610ef781612caf565b336000818152600d60209081526040918290208481556001908101805460ff19169091179055815184815291517f19bc932fb9e16a8b5a1e41be9f4c2de59d5ddd7567b8b81405f532ca00a9880e9281900390910190a250565b6714d1120d7b16000081565b600e6020526000908152604090205481565b610f7881612cf6565b610f8133612bfe565b610f8a82612d62565b336000908152600b60205260409020546008546001600160a01b0316610faf81611ec8565b81610fbe57610fbe3384612da1565b6000610fc933610e16565b90506000610fd633610b57565b90506000610fea858363ffffffff611f5216565b336000818152600b60205260409020600101549192506001600160a01b039091169061101890869083611f94565b600061102382611525565b90506000611037828b63ffffffff610aa616565b90506110438382612133565b6040805182815233602082015281516001600160a01b0386169260008051602061383e833981519152928290030190a261107d338b612dfb565b600061108f868c63ffffffff610aa616565b905061109b3382612305565b60408051828152905133916000805160206136a9833981519152919081900360200190a260408051888152602081018790528151339260008051602061378d833981519152928290030190a2610d988761248b565b670de0b6b3a764000081565b6002546001600160a01b031681565b601154600160801b90046001600160801b031681565b6004546001600160a01b031681565b670f43fc2c04ee000081565b6000805460408051632f5a97e560e11b8152905183926001600160a01b031691635eb52fca916004808301926020929190829003018186803b15801561118157600080fd5b505afa158015611195573d6000803e3d6000fd5b505050506040513d60208110156111ab57600080fd5b505160015460408051632f5a97e560e11b815290519293506000926001600160a01b0390921691635eb52fca91600480820192602092909190829003018186803b1580156111f857600080fd5b505afa15801561120c573d6000803e3d6000fd5b505050506040513d602081101561122257600080fd5b50519050611236828263ffffffff610aa616565b9250505090565b6000546001600160a01b031681565b601360209081526000928352604080842090915290825290205481565b600c602052600090815260409020805460018201546002830154600390930154919290916001600160801b0380821691600160801b90041685565b6000805460408051630a7b61df60e11b8152905183926001600160a01b0316916314f6c3be916004808301926020929190829003018186803b1580156112e957600080fd5b505afa1580156112fd573d6000803e3d6000fd5b505050506040513d602081101561131357600080fd5b505160015460408051630a7b61df60e11b815290519293506000926001600160a01b03909216916314f6c3be91600480820192602092909190829003018186803b1580156111f857600080fd5b60105481565b6003546001600160a01b031690565b6003546001600160a01b0316331490565b6008546001600160a01b031681565b600a5490565b6040518060400160405280600d81526020016c14dd18589a5b1a5d1e541bdbdb609a1b81525081565b6011546001600160801b031681565b600d602052600090815260409020805460019091015460ff1682565b6007546001600160a01b031681565b6006546001600160a01b031681565b633b9aca0081565b60145481565b6001600160a01b0381166000908152600e602052604081205480611443576000915050610bfa565b6001600160a01b0383166000908152600d602052604081205490611475670de0b6b3a76400008363ffffffff611f5216565b905061147f613563565b506001600160a01b0385166000908152600f60209081526040808320815160a08101835281548152600182015493810193909352600281015491830191909152600301546001600160801b038082166060840152600160801b90910416608082015290611514670de0b6b3a76400006115086114fb8886612ec5565b869063ffffffff612f5116565b9063ffffffff612faa16565b979650505050505050565b60155481565b6001600160a01b0381166000908152600e60205260408120548061154d576000915050610bfa565b611555613563565b506001600160a01b0383166000908152600f60209081526040808320815160a08101835281548152600182015493810193909352600281015491830191909152600301546001600160801b038082166060840152600160801b90910416608082015290610bf48383611bcd565b6115ca611375565b61161b576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b61162487612fec565b61162d86612fec565b61163685612fec565b61163f84612fec565b61164883612fec565b61165182612fec565b61165a81612fec565b600480546001600160a01b03199081166001600160a01b038a81169182179093556005805483168a85161790556000805483168985161790556006805483168885161790556007805483168785161790556002805483168685161790556008805490921692841692909217905560408051918252517f3ca631ffcd2a9b5d9ae18543fc82f58eb4ca33af9e6ab01b7a8e95331e6ed985916020908290030190a1604080516001600160a01b038816815290517f143219c9e69b09e07e095fcc889b43d8f46ca892bba65f08dc3a0050869a56789181900360200190a1604080516001600160a01b038716815290517f78f058b189175430c48dc02699e3a0031ea4ff781536dc2fab847de4babdd8829181900360200190a1604080516001600160a01b038616815290517f227eec0ec317af6ab1a9587ffa1c84332522eb4c583a908f89babc05f8f339bd9181900360200190a1604080516001600160a01b038516815290517f65f4cf077bc01e4742eb5ad98326f6e95b63548ea24b17f8d5e823111fe788009181900360200190a1604080516001600160a01b038416815290517f8c537274438aa850a330284665d81a85dd38267d09e4050d416bfc94142db2649181900360200190a1604080516001600160a01b038316815290517f3055265812fb8447b9ada4a5d804ec43bd528ec40e89c952bbc7b85dc5ac68119181900360200190a161186a61309b565b50505050505050565b6001600160a01b0381166000908152600b60205260408120548061189b576000915050610bfa565b6001600160a01b038084166000908152600b60205260408120600101549091169081156118e0576001600160a01b0382166000908152600d60205260409020546118ea565b670de0b6b3a76400005b90506118f4613563565b506001600160a01b0385166000908152600c60209081526040808320815160a08101835281548152600182015493810193909352600281015491830191909152600301546001600160801b038082166060840152600160801b90910416608082015290611514670de0b6b3a76400006115086114fb8886612ec5565b6611c37937e0800081565b600b60205260009081526040902080546001909101546001600160a01b031682565b336000908152600b60205260409020546119b681611e86565b6119bf336130e5565b6119c83361319c565b6008546001600160a01b03166119dd81611ec8565b60006119e833610e16565b905060006119f533610b57565b90506000611a09858363ffffffff611f5216565b336000818152600b60205260409020600101549192506001600160a01b0390911690611a3790869083611f94565b6000611a4282611525565b905080611a4f8382612133565b6040805182815233602082015281516001600160a01b0386169260008051602061383e833981519152928290030190a2611a893386612305565b60408051878152602081018690528151339260008051602061378d833981519152928290030190a260408051868152905133916000805160206136a9833981519152919081900360200190a2600954611ae8908763ffffffff611f5216565b600981905560408051918252516000805160206136588339815191529181900360200190a1604080513381526020810188905281517f6109e2559dfa766aaec7118351d48a523f0a4157f49c8d68749c8ac41318ad12929181900390910190a1600480546040805163ea9638bf60e01b815233938101939093526001600160a01b038d811660248501528c81166044850152905191169163ea9638bf91899160648082019260009290919082900301818588803b158015611ba857600080fd5b505af1158015611bbc573d6000803e3d6000fd5b505050505050505050505050505050565b6020810151606082015160808301516011546000939291906001600160801b03600160801b90910481169082161015611c0c5760009350505050610b03565b6011546000908190611c2d906001600160801b03168563ffffffff6131e816565b90506001600160801b038116611c5d57611c56856115086010548b612f5190919063ffffffff16565b9150611c95565b806001600160801b031660011415611c9057611c56633b9aca00611508876115086010548d612f5190919063ffffffff16565b600091505b611ca988633b9aca0063ffffffff612faa16565b821015611cbe57600095505050505050610b03565b509695505050505050565b60025460408051630fdb11cf60e01b815290516000926001600160a01b031691630fdb11cf91600480830192602092919082900301818787803b158015611d0f57600080fd5b505af1158015611d23573d6000803e3d6000fd5b505050506040513d6020811015611d3957600080fd5b505160075460408051634d62283160e01b815290519293506000926001600160a01b0390921691634d62283191600480820192602092909190829003018186803b158015611d8657600080fd5b505afa158015611d9a573d6000803e3d6000fd5b505050506040513d6020811015611db057600080fd5b505160055460408051630d293c7160e41b81526001600160a01b038085166004830152602482018790529151939450600093919092169163d293c710916044808301926020929190829003018186803b158015611e0c57600080fd5b505afa158015611e20573d6000803e3d6000fd5b505050506040513d6020811015611e3657600080fd5b50519050670f43fc2c04ee0000811015611e815760405162461bcd60e51b81526004018080602001828103825260448152602001806138ab6044913960600191505060405180910390fd5b505050565b60008111611ec55760405162461bcd60e51b815260040180806020018281038252603081526020018061380e6030913960400191505060405180910390fd5b50565b6000816001600160a01b03166346ad34d96040518163ffffffff1660e01b8152600401602060405180830381600087803b158015611f0557600080fd5b505af1158015611f19573d6000803e3d6000fd5b505050506040513d6020811015611f2f57600080fd5b50519050610e1281613241565b6000818310611f4b5781610b00565b5090919050565b6000610b0083836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061335c565b6001600160a01b03811615612069576000611fae8261141b565b9050836001600160a01b031663614d2ab683836040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b15801561201057600080fd5b505af1158015612024573d6000803e3d6000fd5b50506040805184815290516001600160a01b03861693507fcd2cdc1a4af71051394e9c6facd9a266b2ac5bd65d219a701eeda009f47682bf92509081900360200190a2505b600061207483611873565b9050836001600160a01b031663614d2ab684836040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b1580156120d657600080fd5b505af11580156120ea573d6000803e3d6000fd5b50506040805184815290516001600160a01b03871693507f2608b986a6ac0f6c629ca37018e80af5561e366252ae93602a96d3ab2e73e42d92509081900360200190a250505050565b6001600160a01b0382166000908152600e60205260409020819055806121c3576001600160a01b0382166000818152600f60209081526040808320838155600181018490556002810184905560030183905580518381529182019290925281517fbb1322f85cc7cc8bac4e172a5bc5dcc0c1959007f9a030032abf9258205f0e45929181900390910190a2610e12565b6011546010546001600160801b03600160801b80840482166000818152601360209081526040808320978616808452978252808320546001600160a01b038b16808552600f845293829020600181018990556002810182905560030180546001600160801b0319168a17909716958502959095179095558451868152908101849052845192959491927fbb1322f85cc7cc8bac4e172a5bc5dcc0c1959007f9a030032abf9258205f0e45929181900390910190a2505050505050565b8061228957610e12565b60065460408051631062c15f60e11b81523060048201526001600160a01b03858116602483015260448201859052915191909216916320c582be91606480830192600092919082900301818387803b1580156122e457600080fd5b505af11580156122f8573d6000803e3d6000fd5b50505050610e12816133f3565b6001600160a01b0382166000908152600b60205260409020819055806123b3576001600160a01b0382166000818152600b60209081526040808320600190810180546001600160a01b0319169055600c83528184208481559081018490556002810184905560030183905580518381529182018390528181019290925290517f2d6cc0bcdf72c9486f6451bde6b80f44066f4558f77f44dbfedbe7d8b295225a9181900360600190a2610e12565b6011546010546001600160801b03600160801b8084048216600081815260126020908152604080832097861680845297825280832054848452601383528184208985528352818420546001600160a01b038c16808652600c855294839020600181018a90558281556002810182905560030180546001600160801b0319168b179098169686029690961790965580518781529182018690528181018590525192959493927f2d6cc0bcdf72c9486f6451bde6b80f44066f4558f77f44dbfedbe7d8b295225a916060908290030190a250505050505050565b8061249557611ec5565b6009546000906124ab908363ffffffff611f5216565b6009819055604080518281529051919250600080516020613658833981519152919081900360200190a1604080513381526020810184905281517f6109e2559dfa766aaec7118351d48a523f0a4157f49c8d68749c8ac41318ad12929181900390910190a1604051600090339084908381818185875af1925050503d8060008114612552576040519150601f19603f3d011682016040523d82523d6000602084013e612557565b606091505b5050905080611e815760405162461bcd60e51b81526004018080602001828103825260218152602001806136f26021913960400191505060405180910390fd5b6005546001600160a01b03163314610aa45760405162461bcd60e51b81526004018080602001828103825260298152602001806136c96029913960400191505060405180910390fd5b6000806000612612601554612606670de0b6b3a764000089612f5190919063ffffffff16565b9063ffffffff610aa616565b90508385111561261e57fe5b8385141561263b576000601655670de0b6b3a7640000915061269b565b6016546000906126699061265d88670de0b6b3a764000063ffffffff612f5116565b9063ffffffff611f5216565b90506126806001612606838863ffffffff612faa16565b92506126968161265d858863ffffffff612f5116565b601655505b6126ab818563ffffffff612faa16565b92506126cd6126c0848663ffffffff612f5116565b829063ffffffff611f5216565b60155550935093915050565b6010546000670de0b6b3a76400008311156126f057fe5b600061270a670de0b6b3a76400008563ffffffff611f5216565b6011546001600160801b03600160801b82048116600081815260126020908152604080832094909516808352939052928320549394509092909161274e8988612f51565b90506000612762838363ffffffff610aa616565b6001600160801b038086166000818152601260209081526040808320948b16808452948252918290208590558151858152908101929092528181019290925290519192507fe12e2cd2c9afa8069203ca07e7eff1edce4a075686d0736a8e7e0d593597b207919081900360600190a185612899576127f06001600160801b038516600163ffffffff61344916565b601180546001600160801b03908116600160801b938216840217918290556040805193909204168252517fb50f0f59e7cb5b421dc77581c3a9919e3806e076e5fa78a874c3f120cb7d874d916020908290030190a1601180546001600160801b0319169055604080516000815290517f1f9dfc70cd666adb18a39d60a797518f7b4febf4b6e24ef37d44f6e1e7219fbe9181900360200190a1670de0b6b3a76400009650612985565b633b9aca006128ba670de0b6b3a76400006115088b8a63ffffffff612f5116565b1015612966576128f0670de0b6b3a7640000611508633b9aca006128e48c8b63ffffffff612f5116565b9063ffffffff612f5116565b965061290c6001600160801b038616600163ffffffff61344916565b601180546001600160801b0319166001600160801b0392831617908190556040805191909216815290517f1f9dfc70cd666adb18a39d60a797518f7b4febf4b6e24ef37d44f6e1e7219fbe916020908290030190a1612985565b612982670de0b6b3a76400006115088a8963ffffffff612f5116565b96505b6000871161298f57fe5b60108790556040805188815290517fc1a9618cb59ebca77cbdbc2949f126823c407ff13edb285fd0262519a9c18e8c9181900360200190a150505050505050505050565b600080546040805163071b32b560e31b81526004810185905290516001600160a01b039092169283926338d995a892602480820193929182900301818387803b158015612a1f57600080fd5b505af1158015612a33573d6000803e3d6000fd5b50505050612a40826133f3565b60065460408051632770a7eb60e21b81523060048201526024810185905290516001600160a01b0390921691639dc29fac9160448082019260009290919082900301818387803b158015612a9357600080fd5b505af1158015612aa7573d6000803e3d6000fd5b5050604080516364a197f360e01b81523060048201526024810187905290516001600160a01b03851693506364a197f39250604480830192600092919082900301818387803b158015612af957600080fd5b505af115801561186a573d6000803e3d6000fd5b6080810151606082015182516020808501516001600160801b03808616600090815260128452604080822092871682529190935282205491949392918590612b5b908463ffffffff611f5216565b6001600160801b03808716600090815260126020526040812092935091612bbe91633b9aca0091908490612b98908a16600163ffffffff61344916565b6001600160801b031681526020810191909152604001600020549063ffffffff612faa16565b90506000612bf0670de0b6b3a76400006115088681612be3888863ffffffff610aa616565b8f9063ffffffff612f5116565b9a9950505050505050505050565b6001600160a01b0381166000908152600d602052604090206001015460ff1615611ec55760405162461bcd60e51b81526004018080602001828103825260398152602001806137ad6039913960400191505060405180910390fd5b6001600160a01b0381166000908152600b60205260409020548015610e125760405162461bcd60e51b81526004018080602001828103825260288152602001806137e66028913960400191505060405180910390fd5b670de0b6b3a7640000811115611ec55760405162461bcd60e51b81526004018080602001828103825260338152602001806137346033913960400191505060405180910390fd5b6001600160a01b0381166000908152600d602052604090206001015460ff1680612d2757506001600160a01b038116155b611ec55760405162461bcd60e51b81526004018080602001828103825260468152602001806135eb6046913960600191505060405180910390fd5b60008111611ec55760405162461bcd60e51b81526004018080602001828103825260268152602001806137676026913960400191505060405180910390fd5b6001600160a01b038281166000818152600b602052604080822060010180546001600160a01b0319169486169485179055517f094c08e96a8890877a8390b4f967180a7507ad8622244d05fcd0f9f8e086564e9190a35050565b60065460408051632ee65eeb60e21b81526001600160a01b038581166004830152306024830152604482018590529151919092169163bb997bac91606480830192600092919082900301818387803b158015612e5657600080fd5b505af1158015612e6a573d6000803e3d6000fd5b5050600a5460009250612e8491508363ffffffff610aa616565b600a8190556040805182815290519192507fa8e886449d8f7e765877b4a4f54632da3943ae454d5a272bdccb1781f086ff29919081900360200190a1505050565b608081015160608201516040808401516020808601516001600160801b03808716600090815260138452858120918716815292529281205490949392908590612f14908463ffffffff611f5216565b6001600160801b03808716600090815260136020526040812092935091612bbe91633b9aca0091908490612b98908a16600163ffffffff61344916565b600082612f6057506000610b03565b82820282848281612f6d57fe5b0414610b005760405162461bcd60e51b81526004018080602001828103825260218152602001806137136021913960400191505060405180910390fd5b6000610b0083836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250613499565b6001600160a01b038116613047576040805162461bcd60e51b815260206004820152601e60248201527f4163636f756e742063616e6e6f74206265207a65726f20616464726573730000604482015290519081900360640190fd5b803b80610e12576040805162461bcd60e51b815260206004820181905260248201527f4163636f756e7420636f64652073697a652063616e6e6f74206265207a65726f604482015290519081900360640190fd5b6003546040516000916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600380546001600160a01b0319169055565b600554604080516321e3780160e01b81526001600160a01b038481166004830152915191909216916321e37801916024808301926020929190829003018186803b15801561313257600080fd5b505afa158015613146573d6000803e3d6000fd5b505050506040513d602081101561315c57600080fd5b5051600114611ec55760405162461bcd60e51b81526004018080602001828103825260468152602001806135a56046913960600191505060405180910390fd5b60006131a782610e16565b905060008111610e125760405162461bcd60e51b81526004018080602001828103825260318152602001806136786031913960400191505060405180910390fd5b6000826001600160801b0316826001600160801b0316111561323b5760405162461bcd60e51b815260040180806020018281038252602881526020018061385e6028913960400191505060405180910390fd5b50900390565b600a5480158061324f575081155b1561325a5750611ec5565b600061326683836134fe565b9050600061327f60105483612f5190919063ffffffff16565b6011546001600160801b03600160801b8204811660009081526013602090815260408083209390941682529190915220549091506132c3908263ffffffff610aa616565b601180546001600160801b03600160801b808304821660009081526013602081815260408084209686168452958152858320979097559454918204831680825294865283812091909216808352908552908290205482519081529384019290925282810191909152517f2d6127771b164a9cc8827d24b5955db2a77e7a81dac389107ebb8bce9fb649689181900360600190a150505050565b600081848411156133eb5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156133b0578181015183820152602001613398565b50505050905090810190601f1680156133dd5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b600a54600090613409908363ffffffff611f5216565b600a8190556040805182815290519192507fa8e886449d8f7e765877b4a4f54632da3943ae454d5a272bdccb1781f086ff29919081900360200190a15050565b60008282016001600160801b038085169082161015610b005760405162461bcd60e51b81526004018080602001828103825260258152602001806138866025913960400191505060405180910390fd5b600081836134e85760405162461bcd60e51b81526020600482018181528351602484015283519092839260449091019190850190808383600083156133b0578181015183820152602001613398565b5060008385816134f457fe5b0495945050505050565b600080613522601454612606670de0b6b3a764000087612f5190919063ffffffff16565b90506000613536828563ffffffff612faa16565b905061355861354b828663ffffffff612f5116565b839063ffffffff611f5216565b601455949350505050565b6040518060a0016040528060008152602001600081526020016000815260200160006001600160801b0316815260200160006001600160801b03168152509056fe53746162696c697479506f6f6c3a2063616c6c6572206d757374206861766520616e206163746976652074726f766520746f207769746864726177204554484761696e20746f53746162696c697479506f6f6c3a20546167206d757374206265206120726567697374657265642066726f6e7420656e642c206f7220746865207a65726f206164647265737353746162696c697479506f6f6c3a2043616c6c6572206973206e6f7420416374697665506f6f6cceb6d671277d4354fd29977ada70695fbd93a16612abf765d6b0e25c28dc6db353746162696c697479506f6f6c3a2063616c6c6572206d7573742068617665206e6f6e2d7a65726f20455448204761696ebce78369dccab09eec1986f4d409ab09ffbb47d65423e5148fcf98411c5111c953746162696c697479506f6f6c3a2043616c6c6572206973206e6f742054726f76654d616e6167657253746162696c697479506f6f6c3a2073656e64696e6720455448206661696c6564536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7753746162696c697479506f6f6c3a204b69636b6261636b2072617465206d75737420626520696e2072616e6765205b302c315d53746162696c697479506f6f6c3a20416d6f756e74206d757374206265206e6f6e2d7a65726f51457222ebca92c335c9c86e2baa1cc0e40ffaa9084a51452980d5ba8dec2f6353746162696c697479506f6f6c3a206d757374206e6f7420616c7265616479206265206120726567697374657265642066726f6e7420656e6453746162696c697479506f6f6c3a2055736572206d7573742068617665206e6f206465706f73697453746162696c697479506f6f6c3a2055736572206d75737420686176652061206e6f6e2d7a65726f206465706f73697499920012339b5a3368d3a04b8606ce412c46ed92b7dcd8602d41fc8862cb8f254c697175697479536166654d6174683132383a207375627472616374696f6e206f766572666c6f774c697175697479536166654d6174683132383a206164646974696f6e206f766572666c6f7753746162696c697479506f6f6c3a2043616e6e6f74207769746864726177207768696c65207468657265206172652074726f766573207769746820494352203c204d4352a2646970667358221220a933496260fd68a40610a4fd1fa4621c153dab6beff4bfe0e8c5416c4fe4722164736f6c634300060b0033", + "bytecode": "0x60806040523480156200001157600080fd5b5062000026336001600160e01b036200002c16565b62000150565b6001600160a01b0381166200005e5760405162461bcd60e51b815260040162000055906200010e565b60405180910390fd5b6001600160a01b0381166200007b6001600160e01b03620000d016565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000604051620000c090620000f1565b6040519081900390209190915550565b600080604051620000e190620000f1565b6040519081900390205492915050565b7035b2bc9737bbb730b136329737bbb732b960791b815260110190565b60208082526022908201527f4f776e61626c653a3a7365744f776e65723a20696e76616c6964206164647265604082015261737360f01b606082015260800190565b61437380620001606000396000f3fe60806040526004361061028c5760003560e01c80638692a8a21161015a578063b31ee965116100c1578063d733cfd01161007a578063d733cfd01461073d578063d7fb04431461075d578063df9cd84f14610772578063ec9f7d4614610792578063fc7e286d146107a7578063fda0101a146107d5576102d7565b8063b31ee965146106a9578063b71d3bf3146106be578063bdaf37ea146106d3578063c0a90828146106e8578063c3a34a0e14610708578063ce4b5bbe14610728576102d7565b80639f070670116101135780639f0706701461061a578063a20baee6146104c6578063a3f4df7e1461062f578063a4e59ac814610651578063a7bfff9714610666578063ae91875414610694576102d7565b80638692a8a21461058657806386da0824146105a6578063887105d3146105c6578063893d20e8146105db5780638b8fbd92146105f057806395fb16bb14610605576102d7565b806340ed1afd116101fe578063759b3034116101b7578063759b3034146104f0578063766718081461050557806377553ad414610527578063795d26c31461053c5780637f7dde4a1461055157806382e0a57414610566576102d7565b806340ed1afd14610446578063556be101146104665780635d2de642146104865780635f788d65146104a657806372fe25aa146104c6578063741bef1a146104db576102d7565b806328a0a04d1161025057806328a0a04d1461038f5780632e54bf95146103af578063335525ad146103cf578063389e92a5146103ef5780633cc742251461040f5780633d83908a14610431576102d7565b80630fbfe38b146102dc57806313af4035146102fe57806314f6c3be1461031e57806316b9d3c5146103495780631bf435551461037a576102d7565b366102d7576102996107f5565b6009546102ac903463ffffffff61082a16565b60098190556040516000805160206142be833981519152916102cd9161422a565b60405180910390a1005b600080fd5b3480156102e857600080fd5b506102fc6102f73660046138ab565b610858565b005b34801561030a57600080fd5b506102fc61031936600461373f565b610a58565b34801561032a57600080fd5b50610333610a9c565b604051610340919061422a565b60405180910390f35b34801561035557600080fd5b5061036961036436600461373f565b610aa2565b604051610340959493929190614279565b34801561038657600080fd5b50610333610add565b34801561039b57600080fd5b506103336103aa366004613877565b610aea565b3480156103bb57600080fd5b506102fc6103ca3660046138ab565b610b07565b3480156103db57600080fd5b506102fc6103ea366004613935565b610b15565b3480156103fb57600080fd5b5061033361040a36600461373f565b610b78565b34801561041b57600080fd5b50610424610c20565b6040516103409190613997565b34801561043d57600080fd5b50610424610c2f565b34801561045257600080fd5b5061033361046136600461373f565b610c3e565b34801561047257600080fd5b506102fc6104813660046138ab565b610cdb565b34801561049257600080fd5b506103336104a136600461373f565b610d53565b3480156104b257600080fd5b506102fc6104c13660046138db565b610d65565b3480156104d257600080fd5b50610333610d6f565b3480156104e757600080fd5b50610424610d7b565b3480156104fc57600080fd5b50610333610d8a565b34801561051157600080fd5b5061051a610d97565b6040516103409190614216565b34801561053357600080fd5b50610424610dad565b34801561054857600080fd5b50610333610dbc565b34801561055d57600080fd5b50610424610edb565b34801561057257600080fd5b50610333610581366004613877565b610eea565b34801561059257600080fd5b506103336105a136600461373f565b610f07565b3480156105b257600080fd5b506103696105c136600461373f565b61100b565b3480156105d257600080fd5b50610333611046565b3480156105e757600080fd5b50610424611115565b3480156105fc57600080fd5b50610333611134565b34801561061157600080fd5b5061042461113a565b34801561062657600080fd5b50610424611149565b34801561063b57600080fd5b50610644611158565b6040516103409190613ab4565b34801561065d57600080fd5b5061051a611181565b34801561067257600080fd5b5061068661068136600461373f565b611190565b60405161034092919061424a565b3480156106a057600080fd5b506104246111ac565b3480156106b557600080fd5b506103336111bb565b3480156106ca57600080fd5b506103336111c1565b3480156106df57600080fd5b506103336111c7565b3480156106f457600080fd5b5061033361070336600461373f565b6111cd565b34801561071457600080fd5b506102fc6107233660046138ff565b6112ca565b34801561073457600080fd5b5061033361136e565b34801561074957600080fd5b506102fc6107583660046137af565b611376565b34801561076957600080fd5b50610333611608565b34801561077e57600080fd5b5061033361078d36600461373f565b61160e565b34801561079e57600080fd5b506104246116ab565b3480156107b357600080fd5b506107c76107c236600461373f565b6116ba565b604051610340929190614233565b3480156107e157600080fd5b506102fc6107f0366004613777565b6116dc565b6000546001600160a01b031633146108285760405162461bcd60e51b815260040161081f90613cac565b60405180910390fd5b565b60008282018381101561084f5760405162461bcd60e51b815260040161081f90613bbc565b90505b92915050565b6000600460009054906101000a90046001600160a01b03166001600160a01b031663e9fc34616040518163ffffffff1660e01b815260040160206040518083038186803b1580156108a857600080fd5b505afa1580156108bc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108e0919061375b565b905060006108ee8330611922565b60065460405163095ea7b360e01b81529192506001600160a01b03169063095ea7b3906109219085908590600401613a33565b602060405180830381600087803b15801561093b57600080fd5b505af115801561094f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109739190613857565b61098f5760405162461bcd60e51b815260040161081f90614043565b60065460405163438b1b4b60e01b81526001600160a01b038481169263438b1b4b926109c5929091169085903390600401613a6d565b602060405180830381600087803b1580156109df57600080fd5b505af11580156109f3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a1791906138c3565b507f2b0fbec1c4e7e30517f196a714775ffe72770d2348f5d586854bb3c0fdf41df8338483604051610a4b93929190613a4c565b60405180910390a1505050565b610a60611115565b6001600160a01b0316336001600160a01b031614610a905760405162461bcd60e51b815260040161081f90613f71565b610a9981611aed565b50565b60095490565b600f602052600090815260409020805460018201546002830154600390930154919290916001600160801b0380821691600160801b90041685565b6809c2007651b250000081565b601260209081526000928352604080842090915290825290205481565b610b118133611922565b5050565b610b1d611b78565b600a54801580610b2b575082155b15610b365750610b11565b600854610b4b906001600160a01b0316611ba2565b600080610b59848685611c22565b91509150610b678282611d1b565b610b71848661201c565b5050505050565b6001600160a01b0381166000908152600b602052604081205480610ba0576000915050610c1b565b610ba86136e7565b506001600160a01b0383166000908152600c60209081526040808320815160a08101835281548152600182015493810193909352600281015491830191909152600301546001600160801b038082166060840152600160801b90910416608082015290610c158383612152565b93505050505b919050565b6001546001600160a01b031681565b6005546001600160a01b031681565b6001600160a01b0381166000908152600b602052604081205480610c66576000915050610c1b565b610c6e6136e7565b506001600160a01b0383166000908152600c60209081526040808320815160a08101835281548152600182015493810193909352600281015491830191909152600301546001600160801b038082166060840152600160801b90910416608082015290610c158383612243565b610ce43361233f565b610ced3361237b565b610cf6816123b2565b336000818152600d6020526040908190208381556001908101805460ff19169091179055517f19bc932fb9e16a8b5a1e41be9f4c2de59d5ddd7567b8b81405f532ca00a9880e90610d4890849061422a565b60405180910390a250565b600e6020526000908152604090205481565b610b1182826123da565b670de0b6b3a764000081565b6002546001600160a01b031681565b6801158e460913d0000081565b601154600160801b90046001600160801b031681565b6004546001600160a01b031681565b60008054604080516272c7d360e71b8152905183926001600160a01b031691633963e980916004808301926020929190829003018186803b158015610e0057600080fd5b505afa158015610e14573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e3891906138c3565b90506000600160009054906101000a90046001600160a01b03166001600160a01b0316633963e9806040518163ffffffff1660e01b815260040160206040518083038186803b158015610e8a57600080fd5b505afa158015610e9e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ec291906138c3565b9050610ed4828263ffffffff61082a16565b9250505090565b6000546001600160a01b031681565b601360209081526000928352604080842090915290825290205481565b6001600160a01b0381166000908152600e602052604081205480610f2f576000915050610c1b565b6001600160a01b0383166000908152600d602052604081205490610f61670de0b6b3a76400008363ffffffff61257d16565b9050610f6b6136e7565b506001600160a01b0385166000908152600f60209081526040808320815160a08101835281548152600182015493810193909352600281015491830191909152600301546001600160801b038082166060840152600160801b90910416608082015290611000670de0b6b3a7640000610ff4610fe788866125bf565b869063ffffffff61264b16565b9063ffffffff61268516565b979650505050505050565b600c602052600090815260409020805460018201546002830154600390930154919290916001600160801b0380821691600160801b90041685565b6000805460408051630a7b61df60e11b8152905183926001600160a01b0316916314f6c3be916004808301926020929190829003018186803b15801561108b57600080fd5b505afa15801561109f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110c391906138c3565b90506000600160009054906101000a90046001600160a01b03166001600160a01b03166314f6c3be6040518163ffffffff1660e01b815260040160206040518083038186803b158015610e8a57600080fd5b6000806040516111249061397a565b6040519081900390205492915050565b60105481565b6008546001600160a01b031681565b6003546001600160a01b031681565b6040518060400160405280600d81526020016c14dd18589a5b1a5d1e541bdbdb609a1b81525081565b6011546001600160801b031681565b600d602052600090815260409020805460019091015460ff1682565b6007546001600160a01b031681565b60165481565b60145481565b600a5490565b6001600160a01b0381166000908152600b6020526040812054806111f5576000915050610c1b565b6001600160a01b038084166000908152600b602052604081206001015490911690811561123a576001600160a01b0382166000908152600d6020526040902054611244565b670de0b6b3a76400005b905061124e6136e7565b506001600160a01b0385166000908152600c60209081526040808320815160a08101835281548152600182015493810193909352600281015491830191909152600301546001600160801b038082166060840152600160801b90910416608082015290611000670de0b6b3a7640000610ff4610fe788866125bf565b600480546040805163e9fc346160e01b8152905160009361135c936001600160a01b03169263e9fc34619281830192602092829003018186803b15801561131057600080fd5b505afa158015611324573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611348919061375b565b60065485906001600160a01b0316856126c7565b90506113698160006123da565b505050565b633b9aca0081565b61137e611115565b6001600160a01b0316336001600160a01b0316146113ae5760405162461bcd60e51b815260040161081f90613f71565b6113b78861296c565b6113c08761296c565b6113c98661296c565b6113d28561296c565b6113db8461296c565b6113e48361296c565b6113ed8261296c565b6113f68161296c565b670de0b6b3a7640000601055600380546001600160a01b03199081166001600160a01b038b8116919091179092556004805482168a8416179055600580548216898416179055600080548216888416179055600680548216878416179055600780548216868416179055600280548216858416179055600880549091169183169190911790556040517f3ca631ffcd2a9b5d9ae18543fc82f58eb4ca33af9e6ab01b7a8e95331e6ed985906114ac908990613997565b60405180910390a17f143219c9e69b09e07e095fcc889b43d8f46ca892bba65f08dc3a0050869a5678866040516114e39190613997565b60405180910390a17f78f058b189175430c48dc02699e3a0031ea4ff781536dc2fab847de4babdd8828560405161151a9190613997565b60405180910390a17fcdf33850c44a1a874b5fefb51dae615ac6afebd581ef90d571f81b06541d8e9d846040516115519190613997565b60405180910390a17f65f4cf077bc01e4742eb5ad98326f6e95b63548ea24b17f8d5e823111fe78800836040516115889190613997565b60405180910390a17f8c537274438aa850a330284665d81a85dd38267d09e4050d416bfc94142db264826040516115bf9190613997565b60405180910390a17f3055265812fb8447b9ada4a5d804ec43bd528ec40e89c952bbc7b85dc5ac6811816040516115f69190613997565b60405180910390a15050505050505050565b60155481565b6001600160a01b0381166000908152600e602052604081205480611636576000915050610c1b565b61163e6136e7565b506001600160a01b0383166000908152600f60209081526040808320815160a08101835281548152600182015493810193909352600281015491830191909152600301546001600160801b038082166060840152600160801b90910416608082015290610c158383612243565b6006546001600160a01b031681565b600b60205260009081526040902080546001909101546001600160a01b031682565b336000908152600b60205260409020546116f5816129b1565b6116fe336129d1565b61170733612a70565b6008546001600160a01b031661171c81611ba2565b600061172733610b78565b9050600061173433610c3e565b90506000611748858363ffffffff61257d16565b336000818152600b60205260409020600101549192506001600160a01b039091169061177690869083612a9d565b60006117818261160e565b90508061178e8382612c12565b826001600160a01b031660008051602061431e83398151915282336040516117b7929190614233565b60405180910390a26117c93386612d5a565b336001600160a01b03166000805160206142fe83398151915287866040516117f2929190613a90565b60405180910390a2336001600160a01b03166000805160206142de83398151915286604051611821919061422a565b60405180910390a260095461183c908763ffffffff61257d16565b60098190556040516000805160206142be8339815191529161185d9161422a565b60405180910390a17f6109e2559dfa766aaec7118351d48a523f0a4157f49c8d68749c8ac41318ad123387604051611896929190613a33565b60405180910390a1600460009054906101000a90046001600160a01b03166001600160a01b031663ea9638bf87338d8d6040518563ffffffff1660e01b81526004016118e4939291906139ab565b6000604051808303818588803b1580156118fd57600080fd5b505af1158015611911573d6000803e3d6000fd5b505050505050505050505050505050565b60006001600160a01b03821661194a5760405162461bcd60e51b815260040161081f90613e88565b821561195857611958612ecf565b336000908152600b6020526040902054611971816129b1565b6008546001600160a01b031661198681611ba2565b600061199133610b78565b9050600061199e33610c3e565b905060006119ac8883613106565b905060006119c0868463ffffffff61257d16565b336000818152600b60205260409020600101549192506001600160a01b03909116906119ee90879083612a9d565b60006119f98261160e565b90506000611a0d828663ffffffff61257d16565b9050611a198382612c12565b826001600160a01b031660008051602061431e8339815191528233604051611a42929190614233565b60405180910390a2611a548b8661311c565b6000611a66878763ffffffff61257d16565b9050611a723382612d5a565b336001600160a01b03166000805160206142de83398151915282604051611a99919061422a565b60405180910390a2336001600160a01b03166000805160206142fe8339815191528987604051611aca929190613a90565b60405180910390a2611adc8833613195565b50939b9a5050505050505050505050565b6001600160a01b038116611b135760405162461bcd60e51b815260040161081f90613cf3565b806001600160a01b0316611b25611115565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000604051611b689061397a565b6040519081900390209190915550565b6005546001600160a01b031633146108285760405162461bcd60e51b815260040161081f90613dbd565b6000816001600160a01b031663e59be5866040518163ffffffff1660e01b8152600401602060405180830381600087803b158015611bdf57600080fd5b505af1158015611bf3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c1791906138c3565b9050610b11816132c4565b6000806000611c54601554611c48670de0b6b3a76400008961264b90919063ffffffff16565b9063ffffffff61082a16565b905083851115611c6057fe5b83851415611c7d576000601655670de0b6b3a76400009150611cdd565b601654600090611cab90611c9f88670de0b6b3a764000063ffffffff61264b16565b9063ffffffff61257d16565b9050611cc26001611c48838863ffffffff61268516565b9250611cd881611c9f858863ffffffff61264b16565b601655505b611ced818563ffffffff61268516565b9250611d0f611d02848663ffffffff61264b16565b829063ffffffff61257d16565b60155550935093915050565b6010546000670de0b6b3a7640000831115611d3257fe5b6000611d4c670de0b6b3a76400008563ffffffff61257d16565b6011546001600160801b03600160801b820481166000818152601260209081526040808320949095168083529390529283205493945090929091611d90898861264b565b90506000611da4838363ffffffff61082a16565b6001600160801b038086166000908152601260209081526040808320938a168352929052819020829055519091507fe12e2cd2c9afa8069203ca07e7eff1edce4a075686d0736a8e7e0d593597b20790611e039083908790899061425a565b60405180910390a185611edc57611e2a6001600160801b038516600163ffffffff6133d516565b601180546001600160801b03908116600160801b938216840217918290556040517fb50f0f59e7cb5b421dc77581c3a9919e3806e076e5fa78a874c3f120cb7d874d93611e7b930490911690614216565b60405180910390a1601180546001600160801b03191690556040517f1f9dfc70cd666adb18a39d60a797518f7b4febf4b6e24ef37d44f6e1e7219fbe90611ec490600090614216565b60405180910390a1670de0b6b3a76400009650611fc9565b633b9aca00611efd670de0b6b3a7640000610ff48b8a63ffffffff61264b16565b1015611faa57611f33670de0b6b3a7640000610ff4633b9aca00611f278c8b63ffffffff61264b16565b9063ffffffff61264b16565b9650611f4f6001600160801b038616600163ffffffff6133d516565b601180546001600160801b0319166001600160801b0392831617908190556040517f1f9dfc70cd666adb18a39d60a797518f7b4febf4b6e24ef37d44f6e1e7219fbe92611f9d921690614216565b60405180910390a1611fc9565b611fc6670de0b6b3a7640000610ff48a8963ffffffff61264b16565b96505b60008711611fd357fe5b60108790556040517fc1a9618cb59ebca77cbdbc2949f126823c407ff13edb285fd0262519a9c18e8c9061200890899061422a565b60405180910390a150505050505050505050565b60005460405163121cbc4d60e11b81526001600160a01b03909116908190632439789a9061204e90859060040161422a565b600060405180830381600087803b15801561206857600080fd5b505af115801561207c573d6000803e3d6000fd5b5050505061208982613406565b600654604051632770a7eb60e21b81526001600160a01b0390911690639dc29fac906120bb9030908690600401613a33565b600060405180830381600087803b1580156120d557600080fd5b505af11580156120e9573d6000803e3d6000fd5b50506040516364a197f360e01b81526001600160a01b03841692506364a197f3915061211b9030908790600401613a33565b600060405180830381600087803b15801561213557600080fd5b505af1158015612149573d6000803e3d6000fd5b50505050505050565b6080810151606082015182516020808501516001600160801b038086166000908152601284526040808220928716825291909352822054919493929185906121a0908463ffffffff61257d16565b6001600160801b0380871660009081526012602052604081209293509161220391633b9aca00919084906121dd908a16600163ffffffff6133d516565b6001600160801b031681526020810191909152604001600020549063ffffffff61268516565b90506000612235670de0b6b3a7640000610ff48681612228888863ffffffff61082a16565b8f9063ffffffff61264b16565b9a9950505050505050505050565b6020810151606082015160808301516011546000939291906001600160801b03600160801b909104811690821610156122825760009350505050610852565b60115460009081906122a3906001600160801b03168563ffffffff61346016565b90506001600160801b0381166122d3576122cc85610ff46010548b61264b90919063ffffffff16565b915061230b565b806001600160801b031660011415612306576122cc633b9aca00610ff487610ff46010548d61264b90919063ffffffff16565b600091505b61231f88633b9aca0063ffffffff61268516565b82101561233457600095505050505050610852565b509695505050505050565b6001600160a01b0381166000908152600d602052604090206001015460ff1615610a995760405162461bcd60e51b815260040161081f90613fa2565b6001600160a01b0381166000908152600b60205260409020548015610b115760405162461bcd60e51b815260040161081f90613ffb565b670de0b6b3a7640000811115610a995760405162461bcd60e51b815260040161081f90613ed8565b6123e38161349a565b6123ec3361233f565b6123f5826134e7565b336000908152600b60205260409020546008546001600160a01b031661241a81611ba2565b81612429576124293384613507565b600061243433610b78565b9050600061244133610c3e565b90506000612455858363ffffffff61257d16565b336000818152600b60205260409020600101549192506001600160a01b039091169061248390869083612a9d565b600061248e8261160e565b905060006124a2828b63ffffffff61082a16565b90506124ae8382612c12565b826001600160a01b031660008051602061431e83398151915282336040516124d7929190614233565b60405180910390a26124e9338b613561565b60006124fb868c63ffffffff61082a16565b90506125073382612d5a565b336001600160a01b03166000805160206142de8339815191528260405161252e919061422a565b60405180910390a2336001600160a01b03166000805160206142fe833981519152888760405161255f929190613a90565b60405180910390a261257087613615565b5050505050505050505050565b600061084f83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061361f565b608081015160608201516040808401516020808601516001600160801b0380871660009081526013845285812091871681529252928120549094939290859061260e908463ffffffff61257d16565b6001600160801b0380871660009081526013602052604081209293509161220391633b9aca00919084906121dd908a16600163ffffffff6133d516565b60008261265a57506000610852565b8282028284828161266757fe5b041461084f5760405162461bcd60e51b815260040161081f90613e47565b600061084f83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061364b565b600080856001600160a01b03166321df0da76040518163ffffffff1660e01b815260040160206040518083038186803b15801561270357600080fd5b505afa158015612717573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061273b919061375b565b90506000816001600160a01b03166370a08231306040518263ffffffff1660e01b815260040161276b9190613997565b60206040518083038186803b15801561278357600080fd5b505afa158015612797573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127bb91906138c3565b9050306001600160a01b03831663605629d633838a89356127e260408c0160208d01613956565b8b604001358c606001356040518863ffffffff1660e01b815260040161280e97969594939291906139f2565b600060405180830381600087803b15801561282857600080fd5b505af115801561283c573d6000803e3d6000fd5b50505050866128c183856001600160a01b03166370a08231856040518263ffffffff1660e01b81526004016128719190613997565b60206040518083038186803b15801561288957600080fd5b505afa15801561289d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c9f91906138c3565b146128de5760405162461bcd60e51b815260040161081f90613b73565b60405163fb2c922360e01b81526001600160a01b0389169063fb2c92239061290e9089908b903390600401613a6d565b602060405180830381600087803b15801561292857600080fd5b505af115801561293c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061296091906138c3565b98975050505050505050565b6001600160a01b0381166129925760405162461bcd60e51b815260040161081f90613d35565b803b80610b115760405162461bcd60e51b815260040161081f9061409a565b60008111610a995760405162461bcd60e51b815260040161081f906140cf565b6005546040516321e3780160e01b81526001600160a01b03909116906321e3780190612a01908490600401613997565b60206040518083038186803b158015612a1957600080fd5b505afa158015612a2d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612a5191906138c3565b600114610a995760405162461bcd60e51b815260040161081f90613b07565b6000612a7b82610b78565b905060008111610b115760405162461bcd60e51b815260040161081f90613d6c565b6001600160a01b03811615612b5d576000612ab782610f07565b6040516306e6c58360e31b81529091506001600160a01b038516906337362c1890612ae89085908590600401613a33565b600060405180830381600087803b158015612b0257600080fd5b505af1158015612b16573d6000803e3d6000fd5b50505050816001600160a01b03167fea80c5084fc812c1d3ccd3e420d32e85001442759aa2261773ffa052cbd660b682604051612b53919061422a565b60405180910390a2505b6000612b68836111cd565b6040516306e6c58360e31b81529091506001600160a01b038516906337362c1890612b999086908590600401613a33565b600060405180830381600087803b158015612bb357600080fd5b505af1158015612bc7573d6000803e3d6000fd5b50505050826001600160a01b03167fc250d4f5c804eafb4ed97612e247bbc934de6fede0e59e4d263e190fb335193f82604051612c04919061422a565b60405180910390a250505050565b6001600160a01b0382166000908152600e6020526040902081905580612c9d576001600160a01b0382166000818152600f60205260408082208281556001810183905560028101839055600301829055517fbb1322f85cc7cc8bac4e172a5bc5dcc0c1959007f9a030032abf9258205f0e4591612c90918190613a90565b60405180910390a2610b11565b6011546010546001600160801b03600160801b80840482166000818152601360209081526040808320978616808452978252808320546001600160a01b038b16808552600f90935292819020600181018890556002810184905560030180546001600160801b0319168917909616948402949094179094559151909392907fbb1322f85cc7cc8bac4e172a5bc5dcc0c1959007f9a030032abf9258205f0e4590612d4a9085908590613a90565b60405180910390a2505050505050565b6001600160a01b0382166000908152600b6020526040902081905580612df8576001600160a01b0382166000818152600b60209081526040808320600190810180546001600160a01b0319169055600c909252808320838155918201839055600282018390556003909101829055517f2d6cc0bcdf72c9486f6451bde6b80f44066f4558f77f44dbfedbe7d8b295225a91612c909181908190613a9e565b6011546010546001600160801b03600160801b8084048216600081815260126020908152604080832097861680845297825280832054848452601383528184208985528352818420546001600160a01b038c16808652600c90945293829020600181018990558181556002810185905560030180546001600160801b0319168a1790971695850295909517909555935191949390917f2d6cc0bcdf72c9486f6451bde6b80f44066f4558f77f44dbfedbe7d8b295225a90612ebe90869086908690613a9e565b60405180910390a250505050505050565b60025460408051630fdb11cf60e01b815290516000926001600160a01b031691630fdb11cf91600480830192602092919082900301818787803b158015612f1557600080fd5b505af1158015612f29573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612f4d91906138c3565b90506000600760009054906101000a90046001600160a01b03166001600160a01b0316634d6228316040518163ffffffff1660e01b815260040160206040518083038186803b158015612f9f57600080fd5b505afa158015612fb3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612fd7919061375b565b600554604051630d293c7160e41b81529192506000916001600160a01b039091169063d293c7109061300f9085908790600401613a33565b60206040518083038186803b15801561302757600080fd5b505afa15801561303b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061305f91906138c3565b9050600360009054906101000a90046001600160a01b03166001600160a01b031663794e57246040518163ffffffff1660e01b815260040160206040518083038186803b1580156130af57600080fd5b505afa1580156130c3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906130e791906138c3565b8110156113695760405162461bcd60e51b815260040161081f906141ac565b6000818310613115578161084f565b5090919050565b8061312657610b11565b600654604051631062c15f60e11b81526001600160a01b03909116906320c582be9061315a903090869086906004016139ce565b600060405180830381600087803b15801561317457600080fd5b505af1158015613188573d6000803e3d6000fd5b50505050610b1181613406565b6001600160a01b0381166131bb5760405162461bcd60e51b815260040161081f90613bf3565b816131c557610b11565b6009546000906131db908463ffffffff61257d16565b9050806009819055506000805160206142be83398151915281604051613201919061422a565b60405180910390a17f6109e2559dfa766aaec7118351d48a523f0a4157f49c8d68749c8ac41318ad12338460405161323a929190613a33565b60405180910390a16000336001600160a01b03168460405161325b90613977565b60006040518083038185875af1925050503d8060008114613298576040519150601f19603f3d011682016040523d82523d6000602084013e61329d565b606091505b50509050806132be5760405162461bcd60e51b815260040161081f90613e06565b50505050565b600a548015806132d2575081155b156132dd5750610a99565b60006132e98383613682565b905060006133026010548361264b90919063ffffffff16565b6011546001600160801b03600160801b820481166000908152601360209081526040808320939094168252919091522054909150613346908263ffffffff61082a16565b601180546001600160801b03600160801b80830482166000908152601360208181526040808420968616845295815285832097909755945491820483168082529486528381209190921680835294528190205490517f2d6127771b164a9cc8827d24b5955db2a77e7a81dac389107ebb8bce9fb64968936133c7939161425a565b60405180910390a150505050565b60008282016001600160801b03808516908216101561084f5760405162461bcd60e51b815260040161081f90614167565b600a5460009061341c908363ffffffff61257d16565b905080600a819055507ff3c69a10dcea5d744225cbe910fb39d6f8208bb8e21fff523d6756a7966093c781604051613454919061422a565b60405180910390a15050565b6000826001600160801b0316826001600160801b031611156134945760405162461bcd60e51b815260040161081f9061411f565b50900390565b6001600160a01b0381166000908152600d602052604090206001015460ff16806134cb57506001600160a01b038116155b610a995760405162461bcd60e51b815260040161081f90613c40565b60008111610a995760405162461bcd60e51b815260040161081f90613f2b565b6001600160a01b038281166000818152600b602052604080822060010180546001600160a01b0319169486169485179055517f094c08e96a8890877a8390b4f967180a7507ad8622244d05fcd0f9f8e086564e9190a35050565b600654604051632ee65eeb60e21b81526001600160a01b039091169063bb997bac90613595908590309086906004016139ce565b600060405180830381600087803b1580156135af57600080fd5b505af11580156135c3573d6000803e3d6000fd5b5050600a54600092506135dd91508363ffffffff61082a16565b905080600a819055507ff3c69a10dcea5d744225cbe910fb39d6f8208bb8e21fff523d6756a7966093c781604051610a4b919061422a565b610a998133613195565b600081848411156136435760405162461bcd60e51b815260040161081f9190613ab4565b505050900390565b6000818361366c5760405162461bcd60e51b815260040161081f9190613ab4565b50600083858161367857fe5b0495945050505050565b6000806136a6601454611c48670de0b6b3a76400008761264b90919063ffffffff16565b905060006136ba828563ffffffff61268516565b90506136dc6136cf828663ffffffff61264b16565b839063ffffffff61257d16565b601455949350505050565b6040518060a0016040528060008152602001600081526020016000815260200160006001600160801b0316815260200160006001600160801b031681525090565b80356001600160801b038116811461085257600080fd5b600060208284031215613750578081fd5b813561084f816142a8565b60006020828403121561376c578081fd5b815161084f816142a8565b60008060408385031215613789578081fd5b8235613794816142a8565b915060208301356137a4816142a8565b809150509250929050565b600080600080600080600080610100898b0312156137cb578384fd5b88356137d6816142a8565b975060208901356137e6816142a8565b965060408901356137f6816142a8565b95506060890135613806816142a8565b94506080890135613816816142a8565b935060a0890135613826816142a8565b925060c0890135613836816142a8565b915060e0890135613846816142a8565b809150509295985092959890939650565b600060208284031215613868578081fd5b8151801515811461084f578182fd5b60008060408385031215613889578182fd5b6138938484613728565b91506138a28460208501613728565b90509250929050565b6000602082840312156138bc578081fd5b5035919050565b6000602082840312156138d4578081fd5b5051919050565b600080604083850312156138ed578182fd5b8235915060208301356137a4816142a8565b60008082840360a0811215613912578283fd5b833592506080601f1982011215613927578182fd5b506020830190509250929050565b60008060408385031215613947578182fd5b50508035926020909101359150565b600060208284031215613967578081fd5b813560ff8116811461084f578182fd5b90565b7035b2bc9737bbb730b136329737bbb732b960791b815260110190565b6001600160a01b0391909116815260200190565b6001600160a01b0393841681529183166020830152909116604082015260600190565b6001600160a01b039384168152919092166020820152604081019190915260600190565b6001600160a01b0397881681529590961660208601526040850193909352606084019190915260ff16608083015260a082015260c081019190915260e00190565b6001600160a01b03929092168252602082015260400190565b6001600160a01b039390931683526020830191909152604082015260600190565b6001600160a01b0393841681526020810192909252909116604082015260600190565b918252602082015260400190565b9283526020830191909152604082015260600190565b6000602080835283518082850152825b81811015613ae057858101830151858201604001528201613ac4565b81811115613af15783604083870101525b50601f01601f1916929092016040019392505050565b60208082526046908201527f53746162696c697479506f6f6c3a2063616c6c6572206d75737420686176652060408201527f616e206163746976652074726f766520746f207769746864726177204554484760608201526561696e20746f60d01b608082015260a00190565b60208082526029908201527f444c4c52207472616e7366657272656420616d6f756e742076616c69646174696040820152681bdb8819985a5b195960ba1b606082015260800190565b6020808252601b908201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604082015260600190565b6020808252602d908201527f53503a3a5f73656e644554484761696e546f3a205f726563656976657220697360408201526c207a65726f206164647265737360981b606082015260800190565b60208082526046908201527f53746162696c697479506f6f6c3a20546167206d75737420626520612072656760408201527f697374657265642066726f6e7420656e642c206f7220746865207a65726f206160608201526564647265737360d01b608082015260a00190565b60208082526027908201527f53746162696c697479506f6f6c3a2043616c6c6572206973206e6f74204163746040820152661a5d99541bdbdb60ca1b606082015260800190565b60208082526022908201527f4f776e61626c653a3a7365744f776e65723a20696e76616c6964206164647265604082015261737360f01b606082015260800190565b6020808252601e908201527f4163636f756e742063616e6e6f74206265207a65726f20616464726573730000604082015260600190565b60208082526031908201527f53746162696c697479506f6f6c3a2063616c6c6572206d7573742068617665206040820152703737b716bd32b9379022aa241023b0b4b760791b606082015260800190565b60208082526029908201527f53746162696c697479506f6f6c3a2043616c6c6572206973206e6f742054726f6040820152683b32a6b0b730b3b2b960b91b606082015260800190565b60208082526021908201527f53746162696c697479506f6f6c3a2073656e64696e6720455448206661696c656040820152601960fa1b606082015260800190565b60208082526021908201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6040820152607760f81b606082015260800190565b60208082526030908201527f53503a3a5f776974686472617746726f6d5370546f3a205f726563656976657260408201526f206973207a65726f206164647265737360801b606082015260800190565b60208082526033908201527f53746162696c697479506f6f6c3a204b69636b6261636b2072617465206d75736040820152727420626520696e2072616e6765205b302c315d60681b606082015260800190565b60208082526026908201527f53746162696c697479506f6f6c3a20416d6f756e74206d757374206265206e6f6040820152656e2d7a65726f60d01b606082015260800190565b60208082526017908201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604082015260600190565b60208082526039908201527f53746162696c697479506f6f6c3a206d757374206e6f7420616c72656164792060408201527818994818481c9959da5cdd195c995908199c9bdb9d08195b99603a1b606082015260800190565b60208082526028908201527f53746162696c697479506f6f6c3a2055736572206d7573742068617665206e6f6040820152670819195c1bdcda5d60c21b606082015260800190565b60208082526037908201527f4661696c656420746f20617070726f7665205a55534420616d6f756e7420666f60408201527672204d796e74206d417373657420746f2072656465656d60481b606082015260800190565b6020808252818101527f4163636f756e7420636f64652073697a652063616e6e6f74206265207a65726f604082015260600190565b60208082526030908201527f53746162696c697479506f6f6c3a2055736572206d757374206861766520612060408201526f1b9bdb8b5e995c9bc819195c1bdcda5d60821b606082015260800190565b60208082526028908201527f4c697175697479536166654d6174683132383a207375627472616374696f6e206040820152676f766572666c6f7760c01b606082015260800190565b60208082526025908201527f4c697175697479536166654d6174683132383a206164646974696f6e206f766560408201526472666c6f7760d81b606082015260800190565b60208082526044908201527f53746162696c697479506f6f6c3a2043616e6e6f74207769746864726177207760408201527f68696c65207468657265206172652074726f766573207769746820494352203c6060820152631026a1a960e11b608082015260a00190565b6001600160801b0391909116815260200190565b90815260200190565b9182526001600160a01b0316602082015260400190565b9182521515602082015260400190565b9283526001600160801b03918216602084015216604082015260600190565b948552602085019390935260408401919091526001600160801b03908116606084015216608082015260a00190565b6001600160a01b0381168114610a9957600080fdfeceb6d671277d4354fd29977ada70695fbd93a16612abf765d6b0e25c28dc6db3bce78369dccab09eec1986f4d409ab09ffbb47d65423e5148fcf98411c5111c951457222ebca92c335c9c86e2baa1cc0e40ffaa9084a51452980d5ba8dec2f6399920012339b5a3368d3a04b8606ce412c46ed92b7dcd8602d41fc8862cb8f25a2646970667358221220e955fa7f80b9ad38eba52b70ed60457b452eb83b2417f8f09df3b2acb6ae421364736f6c634300060b0033", + "deployedBytecode": "0x60806040526004361061028c5760003560e01c80638692a8a21161015a578063b31ee965116100c1578063d733cfd01161007a578063d733cfd01461073d578063d7fb04431461075d578063df9cd84f14610772578063ec9f7d4614610792578063fc7e286d146107a7578063fda0101a146107d5576102d7565b8063b31ee965146106a9578063b71d3bf3146106be578063bdaf37ea146106d3578063c0a90828146106e8578063c3a34a0e14610708578063ce4b5bbe14610728576102d7565b80639f070670116101135780639f0706701461061a578063a20baee6146104c6578063a3f4df7e1461062f578063a4e59ac814610651578063a7bfff9714610666578063ae91875414610694576102d7565b80638692a8a21461058657806386da0824146105a6578063887105d3146105c6578063893d20e8146105db5780638b8fbd92146105f057806395fb16bb14610605576102d7565b806340ed1afd116101fe578063759b3034116101b7578063759b3034146104f0578063766718081461050557806377553ad414610527578063795d26c31461053c5780637f7dde4a1461055157806382e0a57414610566576102d7565b806340ed1afd14610446578063556be101146104665780635d2de642146104865780635f788d65146104a657806372fe25aa146104c6578063741bef1a146104db576102d7565b806328a0a04d1161025057806328a0a04d1461038f5780632e54bf95146103af578063335525ad146103cf578063389e92a5146103ef5780633cc742251461040f5780633d83908a14610431576102d7565b80630fbfe38b146102dc57806313af4035146102fe57806314f6c3be1461031e57806316b9d3c5146103495780631bf435551461037a576102d7565b366102d7576102996107f5565b6009546102ac903463ffffffff61082a16565b60098190556040516000805160206142be833981519152916102cd9161422a565b60405180910390a1005b600080fd5b3480156102e857600080fd5b506102fc6102f73660046138ab565b610858565b005b34801561030a57600080fd5b506102fc61031936600461373f565b610a58565b34801561032a57600080fd5b50610333610a9c565b604051610340919061422a565b60405180910390f35b34801561035557600080fd5b5061036961036436600461373f565b610aa2565b604051610340959493929190614279565b34801561038657600080fd5b50610333610add565b34801561039b57600080fd5b506103336103aa366004613877565b610aea565b3480156103bb57600080fd5b506102fc6103ca3660046138ab565b610b07565b3480156103db57600080fd5b506102fc6103ea366004613935565b610b15565b3480156103fb57600080fd5b5061033361040a36600461373f565b610b78565b34801561041b57600080fd5b50610424610c20565b6040516103409190613997565b34801561043d57600080fd5b50610424610c2f565b34801561045257600080fd5b5061033361046136600461373f565b610c3e565b34801561047257600080fd5b506102fc6104813660046138ab565b610cdb565b34801561049257600080fd5b506103336104a136600461373f565b610d53565b3480156104b257600080fd5b506102fc6104c13660046138db565b610d65565b3480156104d257600080fd5b50610333610d6f565b3480156104e757600080fd5b50610424610d7b565b3480156104fc57600080fd5b50610333610d8a565b34801561051157600080fd5b5061051a610d97565b6040516103409190614216565b34801561053357600080fd5b50610424610dad565b34801561054857600080fd5b50610333610dbc565b34801561055d57600080fd5b50610424610edb565b34801561057257600080fd5b50610333610581366004613877565b610eea565b34801561059257600080fd5b506103336105a136600461373f565b610f07565b3480156105b257600080fd5b506103696105c136600461373f565b61100b565b3480156105d257600080fd5b50610333611046565b3480156105e757600080fd5b50610424611115565b3480156105fc57600080fd5b50610333611134565b34801561061157600080fd5b5061042461113a565b34801561062657600080fd5b50610424611149565b34801561063b57600080fd5b50610644611158565b6040516103409190613ab4565b34801561065d57600080fd5b5061051a611181565b34801561067257600080fd5b5061068661068136600461373f565b611190565b60405161034092919061424a565b3480156106a057600080fd5b506104246111ac565b3480156106b557600080fd5b506103336111bb565b3480156106ca57600080fd5b506103336111c1565b3480156106df57600080fd5b506103336111c7565b3480156106f457600080fd5b5061033361070336600461373f565b6111cd565b34801561071457600080fd5b506102fc6107233660046138ff565b6112ca565b34801561073457600080fd5b5061033361136e565b34801561074957600080fd5b506102fc6107583660046137af565b611376565b34801561076957600080fd5b50610333611608565b34801561077e57600080fd5b5061033361078d36600461373f565b61160e565b34801561079e57600080fd5b506104246116ab565b3480156107b357600080fd5b506107c76107c236600461373f565b6116ba565b604051610340929190614233565b3480156107e157600080fd5b506102fc6107f0366004613777565b6116dc565b6000546001600160a01b031633146108285760405162461bcd60e51b815260040161081f90613cac565b60405180910390fd5b565b60008282018381101561084f5760405162461bcd60e51b815260040161081f90613bbc565b90505b92915050565b6000600460009054906101000a90046001600160a01b03166001600160a01b031663e9fc34616040518163ffffffff1660e01b815260040160206040518083038186803b1580156108a857600080fd5b505afa1580156108bc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108e0919061375b565b905060006108ee8330611922565b60065460405163095ea7b360e01b81529192506001600160a01b03169063095ea7b3906109219085908590600401613a33565b602060405180830381600087803b15801561093b57600080fd5b505af115801561094f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109739190613857565b61098f5760405162461bcd60e51b815260040161081f90614043565b60065460405163438b1b4b60e01b81526001600160a01b038481169263438b1b4b926109c5929091169085903390600401613a6d565b602060405180830381600087803b1580156109df57600080fd5b505af11580156109f3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a1791906138c3565b507f2b0fbec1c4e7e30517f196a714775ffe72770d2348f5d586854bb3c0fdf41df8338483604051610a4b93929190613a4c565b60405180910390a1505050565b610a60611115565b6001600160a01b0316336001600160a01b031614610a905760405162461bcd60e51b815260040161081f90613f71565b610a9981611aed565b50565b60095490565b600f602052600090815260409020805460018201546002830154600390930154919290916001600160801b0380821691600160801b90041685565b6809c2007651b250000081565b601260209081526000928352604080842090915290825290205481565b610b118133611922565b5050565b610b1d611b78565b600a54801580610b2b575082155b15610b365750610b11565b600854610b4b906001600160a01b0316611ba2565b600080610b59848685611c22565b91509150610b678282611d1b565b610b71848661201c565b5050505050565b6001600160a01b0381166000908152600b602052604081205480610ba0576000915050610c1b565b610ba86136e7565b506001600160a01b0383166000908152600c60209081526040808320815160a08101835281548152600182015493810193909352600281015491830191909152600301546001600160801b038082166060840152600160801b90910416608082015290610c158383612152565b93505050505b919050565b6001546001600160a01b031681565b6005546001600160a01b031681565b6001600160a01b0381166000908152600b602052604081205480610c66576000915050610c1b565b610c6e6136e7565b506001600160a01b0383166000908152600c60209081526040808320815160a08101835281548152600182015493810193909352600281015491830191909152600301546001600160801b038082166060840152600160801b90910416608082015290610c158383612243565b610ce43361233f565b610ced3361237b565b610cf6816123b2565b336000818152600d6020526040908190208381556001908101805460ff19169091179055517f19bc932fb9e16a8b5a1e41be9f4c2de59d5ddd7567b8b81405f532ca00a9880e90610d4890849061422a565b60405180910390a250565b600e6020526000908152604090205481565b610b1182826123da565b670de0b6b3a764000081565b6002546001600160a01b031681565b6801158e460913d0000081565b601154600160801b90046001600160801b031681565b6004546001600160a01b031681565b60008054604080516272c7d360e71b8152905183926001600160a01b031691633963e980916004808301926020929190829003018186803b158015610e0057600080fd5b505afa158015610e14573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e3891906138c3565b90506000600160009054906101000a90046001600160a01b03166001600160a01b0316633963e9806040518163ffffffff1660e01b815260040160206040518083038186803b158015610e8a57600080fd5b505afa158015610e9e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ec291906138c3565b9050610ed4828263ffffffff61082a16565b9250505090565b6000546001600160a01b031681565b601360209081526000928352604080842090915290825290205481565b6001600160a01b0381166000908152600e602052604081205480610f2f576000915050610c1b565b6001600160a01b0383166000908152600d602052604081205490610f61670de0b6b3a76400008363ffffffff61257d16565b9050610f6b6136e7565b506001600160a01b0385166000908152600f60209081526040808320815160a08101835281548152600182015493810193909352600281015491830191909152600301546001600160801b038082166060840152600160801b90910416608082015290611000670de0b6b3a7640000610ff4610fe788866125bf565b869063ffffffff61264b16565b9063ffffffff61268516565b979650505050505050565b600c602052600090815260409020805460018201546002830154600390930154919290916001600160801b0380821691600160801b90041685565b6000805460408051630a7b61df60e11b8152905183926001600160a01b0316916314f6c3be916004808301926020929190829003018186803b15801561108b57600080fd5b505afa15801561109f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110c391906138c3565b90506000600160009054906101000a90046001600160a01b03166001600160a01b03166314f6c3be6040518163ffffffff1660e01b815260040160206040518083038186803b158015610e8a57600080fd5b6000806040516111249061397a565b6040519081900390205492915050565b60105481565b6008546001600160a01b031681565b6003546001600160a01b031681565b6040518060400160405280600d81526020016c14dd18589a5b1a5d1e541bdbdb609a1b81525081565b6011546001600160801b031681565b600d602052600090815260409020805460019091015460ff1682565b6007546001600160a01b031681565b60165481565b60145481565b600a5490565b6001600160a01b0381166000908152600b6020526040812054806111f5576000915050610c1b565b6001600160a01b038084166000908152600b602052604081206001015490911690811561123a576001600160a01b0382166000908152600d6020526040902054611244565b670de0b6b3a76400005b905061124e6136e7565b506001600160a01b0385166000908152600c60209081526040808320815160a08101835281548152600182015493810193909352600281015491830191909152600301546001600160801b038082166060840152600160801b90910416608082015290611000670de0b6b3a7640000610ff4610fe788866125bf565b600480546040805163e9fc346160e01b8152905160009361135c936001600160a01b03169263e9fc34619281830192602092829003018186803b15801561131057600080fd5b505afa158015611324573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611348919061375b565b60065485906001600160a01b0316856126c7565b90506113698160006123da565b505050565b633b9aca0081565b61137e611115565b6001600160a01b0316336001600160a01b0316146113ae5760405162461bcd60e51b815260040161081f90613f71565b6113b78861296c565b6113c08761296c565b6113c98661296c565b6113d28561296c565b6113db8461296c565b6113e48361296c565b6113ed8261296c565b6113f68161296c565b670de0b6b3a7640000601055600380546001600160a01b03199081166001600160a01b038b8116919091179092556004805482168a8416179055600580548216898416179055600080548216888416179055600680548216878416179055600780548216868416179055600280548216858416179055600880549091169183169190911790556040517f3ca631ffcd2a9b5d9ae18543fc82f58eb4ca33af9e6ab01b7a8e95331e6ed985906114ac908990613997565b60405180910390a17f143219c9e69b09e07e095fcc889b43d8f46ca892bba65f08dc3a0050869a5678866040516114e39190613997565b60405180910390a17f78f058b189175430c48dc02699e3a0031ea4ff781536dc2fab847de4babdd8828560405161151a9190613997565b60405180910390a17fcdf33850c44a1a874b5fefb51dae615ac6afebd581ef90d571f81b06541d8e9d846040516115519190613997565b60405180910390a17f65f4cf077bc01e4742eb5ad98326f6e95b63548ea24b17f8d5e823111fe78800836040516115889190613997565b60405180910390a17f8c537274438aa850a330284665d81a85dd38267d09e4050d416bfc94142db264826040516115bf9190613997565b60405180910390a17f3055265812fb8447b9ada4a5d804ec43bd528ec40e89c952bbc7b85dc5ac6811816040516115f69190613997565b60405180910390a15050505050505050565b60155481565b6001600160a01b0381166000908152600e602052604081205480611636576000915050610c1b565b61163e6136e7565b506001600160a01b0383166000908152600f60209081526040808320815160a08101835281548152600182015493810193909352600281015491830191909152600301546001600160801b038082166060840152600160801b90910416608082015290610c158383612243565b6006546001600160a01b031681565b600b60205260009081526040902080546001909101546001600160a01b031682565b336000908152600b60205260409020546116f5816129b1565b6116fe336129d1565b61170733612a70565b6008546001600160a01b031661171c81611ba2565b600061172733610b78565b9050600061173433610c3e565b90506000611748858363ffffffff61257d16565b336000818152600b60205260409020600101549192506001600160a01b039091169061177690869083612a9d565b60006117818261160e565b90508061178e8382612c12565b826001600160a01b031660008051602061431e83398151915282336040516117b7929190614233565b60405180910390a26117c93386612d5a565b336001600160a01b03166000805160206142fe83398151915287866040516117f2929190613a90565b60405180910390a2336001600160a01b03166000805160206142de83398151915286604051611821919061422a565b60405180910390a260095461183c908763ffffffff61257d16565b60098190556040516000805160206142be8339815191529161185d9161422a565b60405180910390a17f6109e2559dfa766aaec7118351d48a523f0a4157f49c8d68749c8ac41318ad123387604051611896929190613a33565b60405180910390a1600460009054906101000a90046001600160a01b03166001600160a01b031663ea9638bf87338d8d6040518563ffffffff1660e01b81526004016118e4939291906139ab565b6000604051808303818588803b1580156118fd57600080fd5b505af1158015611911573d6000803e3d6000fd5b505050505050505050505050505050565b60006001600160a01b03821661194a5760405162461bcd60e51b815260040161081f90613e88565b821561195857611958612ecf565b336000908152600b6020526040902054611971816129b1565b6008546001600160a01b031661198681611ba2565b600061199133610b78565b9050600061199e33610c3e565b905060006119ac8883613106565b905060006119c0868463ffffffff61257d16565b336000818152600b60205260409020600101549192506001600160a01b03909116906119ee90879083612a9d565b60006119f98261160e565b90506000611a0d828663ffffffff61257d16565b9050611a198382612c12565b826001600160a01b031660008051602061431e8339815191528233604051611a42929190614233565b60405180910390a2611a548b8661311c565b6000611a66878763ffffffff61257d16565b9050611a723382612d5a565b336001600160a01b03166000805160206142de83398151915282604051611a99919061422a565b60405180910390a2336001600160a01b03166000805160206142fe8339815191528987604051611aca929190613a90565b60405180910390a2611adc8833613195565b50939b9a5050505050505050505050565b6001600160a01b038116611b135760405162461bcd60e51b815260040161081f90613cf3565b806001600160a01b0316611b25611115565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000604051611b689061397a565b6040519081900390209190915550565b6005546001600160a01b031633146108285760405162461bcd60e51b815260040161081f90613dbd565b6000816001600160a01b031663e59be5866040518163ffffffff1660e01b8152600401602060405180830381600087803b158015611bdf57600080fd5b505af1158015611bf3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c1791906138c3565b9050610b11816132c4565b6000806000611c54601554611c48670de0b6b3a76400008961264b90919063ffffffff16565b9063ffffffff61082a16565b905083851115611c6057fe5b83851415611c7d576000601655670de0b6b3a76400009150611cdd565b601654600090611cab90611c9f88670de0b6b3a764000063ffffffff61264b16565b9063ffffffff61257d16565b9050611cc26001611c48838863ffffffff61268516565b9250611cd881611c9f858863ffffffff61264b16565b601655505b611ced818563ffffffff61268516565b9250611d0f611d02848663ffffffff61264b16565b829063ffffffff61257d16565b60155550935093915050565b6010546000670de0b6b3a7640000831115611d3257fe5b6000611d4c670de0b6b3a76400008563ffffffff61257d16565b6011546001600160801b03600160801b820481166000818152601260209081526040808320949095168083529390529283205493945090929091611d90898861264b565b90506000611da4838363ffffffff61082a16565b6001600160801b038086166000908152601260209081526040808320938a168352929052819020829055519091507fe12e2cd2c9afa8069203ca07e7eff1edce4a075686d0736a8e7e0d593597b20790611e039083908790899061425a565b60405180910390a185611edc57611e2a6001600160801b038516600163ffffffff6133d516565b601180546001600160801b03908116600160801b938216840217918290556040517fb50f0f59e7cb5b421dc77581c3a9919e3806e076e5fa78a874c3f120cb7d874d93611e7b930490911690614216565b60405180910390a1601180546001600160801b03191690556040517f1f9dfc70cd666adb18a39d60a797518f7b4febf4b6e24ef37d44f6e1e7219fbe90611ec490600090614216565b60405180910390a1670de0b6b3a76400009650611fc9565b633b9aca00611efd670de0b6b3a7640000610ff48b8a63ffffffff61264b16565b1015611faa57611f33670de0b6b3a7640000610ff4633b9aca00611f278c8b63ffffffff61264b16565b9063ffffffff61264b16565b9650611f4f6001600160801b038616600163ffffffff6133d516565b601180546001600160801b0319166001600160801b0392831617908190556040517f1f9dfc70cd666adb18a39d60a797518f7b4febf4b6e24ef37d44f6e1e7219fbe92611f9d921690614216565b60405180910390a1611fc9565b611fc6670de0b6b3a7640000610ff48a8963ffffffff61264b16565b96505b60008711611fd357fe5b60108790556040517fc1a9618cb59ebca77cbdbc2949f126823c407ff13edb285fd0262519a9c18e8c9061200890899061422a565b60405180910390a150505050505050505050565b60005460405163121cbc4d60e11b81526001600160a01b03909116908190632439789a9061204e90859060040161422a565b600060405180830381600087803b15801561206857600080fd5b505af115801561207c573d6000803e3d6000fd5b5050505061208982613406565b600654604051632770a7eb60e21b81526001600160a01b0390911690639dc29fac906120bb9030908690600401613a33565b600060405180830381600087803b1580156120d557600080fd5b505af11580156120e9573d6000803e3d6000fd5b50506040516364a197f360e01b81526001600160a01b03841692506364a197f3915061211b9030908790600401613a33565b600060405180830381600087803b15801561213557600080fd5b505af1158015612149573d6000803e3d6000fd5b50505050505050565b6080810151606082015182516020808501516001600160801b038086166000908152601284526040808220928716825291909352822054919493929185906121a0908463ffffffff61257d16565b6001600160801b0380871660009081526012602052604081209293509161220391633b9aca00919084906121dd908a16600163ffffffff6133d516565b6001600160801b031681526020810191909152604001600020549063ffffffff61268516565b90506000612235670de0b6b3a7640000610ff48681612228888863ffffffff61082a16565b8f9063ffffffff61264b16565b9a9950505050505050505050565b6020810151606082015160808301516011546000939291906001600160801b03600160801b909104811690821610156122825760009350505050610852565b60115460009081906122a3906001600160801b03168563ffffffff61346016565b90506001600160801b0381166122d3576122cc85610ff46010548b61264b90919063ffffffff16565b915061230b565b806001600160801b031660011415612306576122cc633b9aca00610ff487610ff46010548d61264b90919063ffffffff16565b600091505b61231f88633b9aca0063ffffffff61268516565b82101561233457600095505050505050610852565b509695505050505050565b6001600160a01b0381166000908152600d602052604090206001015460ff1615610a995760405162461bcd60e51b815260040161081f90613fa2565b6001600160a01b0381166000908152600b60205260409020548015610b115760405162461bcd60e51b815260040161081f90613ffb565b670de0b6b3a7640000811115610a995760405162461bcd60e51b815260040161081f90613ed8565b6123e38161349a565b6123ec3361233f565b6123f5826134e7565b336000908152600b60205260409020546008546001600160a01b031661241a81611ba2565b81612429576124293384613507565b600061243433610b78565b9050600061244133610c3e565b90506000612455858363ffffffff61257d16565b336000818152600b60205260409020600101549192506001600160a01b039091169061248390869083612a9d565b600061248e8261160e565b905060006124a2828b63ffffffff61082a16565b90506124ae8382612c12565b826001600160a01b031660008051602061431e83398151915282336040516124d7929190614233565b60405180910390a26124e9338b613561565b60006124fb868c63ffffffff61082a16565b90506125073382612d5a565b336001600160a01b03166000805160206142de8339815191528260405161252e919061422a565b60405180910390a2336001600160a01b03166000805160206142fe833981519152888760405161255f929190613a90565b60405180910390a261257087613615565b5050505050505050505050565b600061084f83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061361f565b608081015160608201516040808401516020808601516001600160801b0380871660009081526013845285812091871681529252928120549094939290859061260e908463ffffffff61257d16565b6001600160801b0380871660009081526013602052604081209293509161220391633b9aca00919084906121dd908a16600163ffffffff6133d516565b60008261265a57506000610852565b8282028284828161266757fe5b041461084f5760405162461bcd60e51b815260040161081f90613e47565b600061084f83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061364b565b600080856001600160a01b03166321df0da76040518163ffffffff1660e01b815260040160206040518083038186803b15801561270357600080fd5b505afa158015612717573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061273b919061375b565b90506000816001600160a01b03166370a08231306040518263ffffffff1660e01b815260040161276b9190613997565b60206040518083038186803b15801561278357600080fd5b505afa158015612797573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127bb91906138c3565b9050306001600160a01b03831663605629d633838a89356127e260408c0160208d01613956565b8b604001358c606001356040518863ffffffff1660e01b815260040161280e97969594939291906139f2565b600060405180830381600087803b15801561282857600080fd5b505af115801561283c573d6000803e3d6000fd5b50505050866128c183856001600160a01b03166370a08231856040518263ffffffff1660e01b81526004016128719190613997565b60206040518083038186803b15801561288957600080fd5b505afa15801561289d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c9f91906138c3565b146128de5760405162461bcd60e51b815260040161081f90613b73565b60405163fb2c922360e01b81526001600160a01b0389169063fb2c92239061290e9089908b903390600401613a6d565b602060405180830381600087803b15801561292857600080fd5b505af115801561293c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061296091906138c3565b98975050505050505050565b6001600160a01b0381166129925760405162461bcd60e51b815260040161081f90613d35565b803b80610b115760405162461bcd60e51b815260040161081f9061409a565b60008111610a995760405162461bcd60e51b815260040161081f906140cf565b6005546040516321e3780160e01b81526001600160a01b03909116906321e3780190612a01908490600401613997565b60206040518083038186803b158015612a1957600080fd5b505afa158015612a2d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612a5191906138c3565b600114610a995760405162461bcd60e51b815260040161081f90613b07565b6000612a7b82610b78565b905060008111610b115760405162461bcd60e51b815260040161081f90613d6c565b6001600160a01b03811615612b5d576000612ab782610f07565b6040516306e6c58360e31b81529091506001600160a01b038516906337362c1890612ae89085908590600401613a33565b600060405180830381600087803b158015612b0257600080fd5b505af1158015612b16573d6000803e3d6000fd5b50505050816001600160a01b03167fea80c5084fc812c1d3ccd3e420d32e85001442759aa2261773ffa052cbd660b682604051612b53919061422a565b60405180910390a2505b6000612b68836111cd565b6040516306e6c58360e31b81529091506001600160a01b038516906337362c1890612b999086908590600401613a33565b600060405180830381600087803b158015612bb357600080fd5b505af1158015612bc7573d6000803e3d6000fd5b50505050826001600160a01b03167fc250d4f5c804eafb4ed97612e247bbc934de6fede0e59e4d263e190fb335193f82604051612c04919061422a565b60405180910390a250505050565b6001600160a01b0382166000908152600e6020526040902081905580612c9d576001600160a01b0382166000818152600f60205260408082208281556001810183905560028101839055600301829055517fbb1322f85cc7cc8bac4e172a5bc5dcc0c1959007f9a030032abf9258205f0e4591612c90918190613a90565b60405180910390a2610b11565b6011546010546001600160801b03600160801b80840482166000818152601360209081526040808320978616808452978252808320546001600160a01b038b16808552600f90935292819020600181018890556002810184905560030180546001600160801b0319168917909616948402949094179094559151909392907fbb1322f85cc7cc8bac4e172a5bc5dcc0c1959007f9a030032abf9258205f0e4590612d4a9085908590613a90565b60405180910390a2505050505050565b6001600160a01b0382166000908152600b6020526040902081905580612df8576001600160a01b0382166000818152600b60209081526040808320600190810180546001600160a01b0319169055600c909252808320838155918201839055600282018390556003909101829055517f2d6cc0bcdf72c9486f6451bde6b80f44066f4558f77f44dbfedbe7d8b295225a91612c909181908190613a9e565b6011546010546001600160801b03600160801b8084048216600081815260126020908152604080832097861680845297825280832054848452601383528184208985528352818420546001600160a01b038c16808652600c90945293829020600181018990558181556002810185905560030180546001600160801b0319168a1790971695850295909517909555935191949390917f2d6cc0bcdf72c9486f6451bde6b80f44066f4558f77f44dbfedbe7d8b295225a90612ebe90869086908690613a9e565b60405180910390a250505050505050565b60025460408051630fdb11cf60e01b815290516000926001600160a01b031691630fdb11cf91600480830192602092919082900301818787803b158015612f1557600080fd5b505af1158015612f29573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612f4d91906138c3565b90506000600760009054906101000a90046001600160a01b03166001600160a01b0316634d6228316040518163ffffffff1660e01b815260040160206040518083038186803b158015612f9f57600080fd5b505afa158015612fb3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612fd7919061375b565b600554604051630d293c7160e41b81529192506000916001600160a01b039091169063d293c7109061300f9085908790600401613a33565b60206040518083038186803b15801561302757600080fd5b505afa15801561303b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061305f91906138c3565b9050600360009054906101000a90046001600160a01b03166001600160a01b031663794e57246040518163ffffffff1660e01b815260040160206040518083038186803b1580156130af57600080fd5b505afa1580156130c3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906130e791906138c3565b8110156113695760405162461bcd60e51b815260040161081f906141ac565b6000818310613115578161084f565b5090919050565b8061312657610b11565b600654604051631062c15f60e11b81526001600160a01b03909116906320c582be9061315a903090869086906004016139ce565b600060405180830381600087803b15801561317457600080fd5b505af1158015613188573d6000803e3d6000fd5b50505050610b1181613406565b6001600160a01b0381166131bb5760405162461bcd60e51b815260040161081f90613bf3565b816131c557610b11565b6009546000906131db908463ffffffff61257d16565b9050806009819055506000805160206142be83398151915281604051613201919061422a565b60405180910390a17f6109e2559dfa766aaec7118351d48a523f0a4157f49c8d68749c8ac41318ad12338460405161323a929190613a33565b60405180910390a16000336001600160a01b03168460405161325b90613977565b60006040518083038185875af1925050503d8060008114613298576040519150601f19603f3d011682016040523d82523d6000602084013e61329d565b606091505b50509050806132be5760405162461bcd60e51b815260040161081f90613e06565b50505050565b600a548015806132d2575081155b156132dd5750610a99565b60006132e98383613682565b905060006133026010548361264b90919063ffffffff16565b6011546001600160801b03600160801b820481166000908152601360209081526040808320939094168252919091522054909150613346908263ffffffff61082a16565b601180546001600160801b03600160801b80830482166000908152601360208181526040808420968616845295815285832097909755945491820483168082529486528381209190921680835294528190205490517f2d6127771b164a9cc8827d24b5955db2a77e7a81dac389107ebb8bce9fb64968936133c7939161425a565b60405180910390a150505050565b60008282016001600160801b03808516908216101561084f5760405162461bcd60e51b815260040161081f90614167565b600a5460009061341c908363ffffffff61257d16565b905080600a819055507ff3c69a10dcea5d744225cbe910fb39d6f8208bb8e21fff523d6756a7966093c781604051613454919061422a565b60405180910390a15050565b6000826001600160801b0316826001600160801b031611156134945760405162461bcd60e51b815260040161081f9061411f565b50900390565b6001600160a01b0381166000908152600d602052604090206001015460ff16806134cb57506001600160a01b038116155b610a995760405162461bcd60e51b815260040161081f90613c40565b60008111610a995760405162461bcd60e51b815260040161081f90613f2b565b6001600160a01b038281166000818152600b602052604080822060010180546001600160a01b0319169486169485179055517f094c08e96a8890877a8390b4f967180a7507ad8622244d05fcd0f9f8e086564e9190a35050565b600654604051632ee65eeb60e21b81526001600160a01b039091169063bb997bac90613595908590309086906004016139ce565b600060405180830381600087803b1580156135af57600080fd5b505af11580156135c3573d6000803e3d6000fd5b5050600a54600092506135dd91508363ffffffff61082a16565b905080600a819055507ff3c69a10dcea5d744225cbe910fb39d6f8208bb8e21fff523d6756a7966093c781604051610a4b919061422a565b610a998133613195565b600081848411156136435760405162461bcd60e51b815260040161081f9190613ab4565b505050900390565b6000818361366c5760405162461bcd60e51b815260040161081f9190613ab4565b50600083858161367857fe5b0495945050505050565b6000806136a6601454611c48670de0b6b3a76400008761264b90919063ffffffff16565b905060006136ba828563ffffffff61268516565b90506136dc6136cf828663ffffffff61264b16565b839063ffffffff61257d16565b601455949350505050565b6040518060a0016040528060008152602001600081526020016000815260200160006001600160801b0316815260200160006001600160801b031681525090565b80356001600160801b038116811461085257600080fd5b600060208284031215613750578081fd5b813561084f816142a8565b60006020828403121561376c578081fd5b815161084f816142a8565b60008060408385031215613789578081fd5b8235613794816142a8565b915060208301356137a4816142a8565b809150509250929050565b600080600080600080600080610100898b0312156137cb578384fd5b88356137d6816142a8565b975060208901356137e6816142a8565b965060408901356137f6816142a8565b95506060890135613806816142a8565b94506080890135613816816142a8565b935060a0890135613826816142a8565b925060c0890135613836816142a8565b915060e0890135613846816142a8565b809150509295985092959890939650565b600060208284031215613868578081fd5b8151801515811461084f578182fd5b60008060408385031215613889578182fd5b6138938484613728565b91506138a28460208501613728565b90509250929050565b6000602082840312156138bc578081fd5b5035919050565b6000602082840312156138d4578081fd5b5051919050565b600080604083850312156138ed578182fd5b8235915060208301356137a4816142a8565b60008082840360a0811215613912578283fd5b833592506080601f1982011215613927578182fd5b506020830190509250929050565b60008060408385031215613947578182fd5b50508035926020909101359150565b600060208284031215613967578081fd5b813560ff8116811461084f578182fd5b90565b7035b2bc9737bbb730b136329737bbb732b960791b815260110190565b6001600160a01b0391909116815260200190565b6001600160a01b0393841681529183166020830152909116604082015260600190565b6001600160a01b039384168152919092166020820152604081019190915260600190565b6001600160a01b0397881681529590961660208601526040850193909352606084019190915260ff16608083015260a082015260c081019190915260e00190565b6001600160a01b03929092168252602082015260400190565b6001600160a01b039390931683526020830191909152604082015260600190565b6001600160a01b0393841681526020810192909252909116604082015260600190565b918252602082015260400190565b9283526020830191909152604082015260600190565b6000602080835283518082850152825b81811015613ae057858101830151858201604001528201613ac4565b81811115613af15783604083870101525b50601f01601f1916929092016040019392505050565b60208082526046908201527f53746162696c697479506f6f6c3a2063616c6c6572206d75737420686176652060408201527f616e206163746976652074726f766520746f207769746864726177204554484760608201526561696e20746f60d01b608082015260a00190565b60208082526029908201527f444c4c52207472616e7366657272656420616d6f756e742076616c69646174696040820152681bdb8819985a5b195960ba1b606082015260800190565b6020808252601b908201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604082015260600190565b6020808252602d908201527f53503a3a5f73656e644554484761696e546f3a205f726563656976657220697360408201526c207a65726f206164647265737360981b606082015260800190565b60208082526046908201527f53746162696c697479506f6f6c3a20546167206d75737420626520612072656760408201527f697374657265642066726f6e7420656e642c206f7220746865207a65726f206160608201526564647265737360d01b608082015260a00190565b60208082526027908201527f53746162696c697479506f6f6c3a2043616c6c6572206973206e6f74204163746040820152661a5d99541bdbdb60ca1b606082015260800190565b60208082526022908201527f4f776e61626c653a3a7365744f776e65723a20696e76616c6964206164647265604082015261737360f01b606082015260800190565b6020808252601e908201527f4163636f756e742063616e6e6f74206265207a65726f20616464726573730000604082015260600190565b60208082526031908201527f53746162696c697479506f6f6c3a2063616c6c6572206d7573742068617665206040820152703737b716bd32b9379022aa241023b0b4b760791b606082015260800190565b60208082526029908201527f53746162696c697479506f6f6c3a2043616c6c6572206973206e6f742054726f6040820152683b32a6b0b730b3b2b960b91b606082015260800190565b60208082526021908201527f53746162696c697479506f6f6c3a2073656e64696e6720455448206661696c656040820152601960fa1b606082015260800190565b60208082526021908201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6040820152607760f81b606082015260800190565b60208082526030908201527f53503a3a5f776974686472617746726f6d5370546f3a205f726563656976657260408201526f206973207a65726f206164647265737360801b606082015260800190565b60208082526033908201527f53746162696c697479506f6f6c3a204b69636b6261636b2072617465206d75736040820152727420626520696e2072616e6765205b302c315d60681b606082015260800190565b60208082526026908201527f53746162696c697479506f6f6c3a20416d6f756e74206d757374206265206e6f6040820152656e2d7a65726f60d01b606082015260800190565b60208082526017908201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604082015260600190565b60208082526039908201527f53746162696c697479506f6f6c3a206d757374206e6f7420616c72656164792060408201527818994818481c9959da5cdd195c995908199c9bdb9d08195b99603a1b606082015260800190565b60208082526028908201527f53746162696c697479506f6f6c3a2055736572206d7573742068617665206e6f6040820152670819195c1bdcda5d60c21b606082015260800190565b60208082526037908201527f4661696c656420746f20617070726f7665205a55534420616d6f756e7420666f60408201527672204d796e74206d417373657420746f2072656465656d60481b606082015260800190565b6020808252818101527f4163636f756e7420636f64652073697a652063616e6e6f74206265207a65726f604082015260600190565b60208082526030908201527f53746162696c697479506f6f6c3a2055736572206d757374206861766520612060408201526f1b9bdb8b5e995c9bc819195c1bdcda5d60821b606082015260800190565b60208082526028908201527f4c697175697479536166654d6174683132383a207375627472616374696f6e206040820152676f766572666c6f7760c01b606082015260800190565b60208082526025908201527f4c697175697479536166654d6174683132383a206164646974696f6e206f766560408201526472666c6f7760d81b606082015260800190565b60208082526044908201527f53746162696c697479506f6f6c3a2043616e6e6f74207769746864726177207760408201527f68696c65207468657265206172652074726f766573207769746820494352203c6060820152631026a1a960e11b608082015260a00190565b6001600160801b0391909116815260200190565b90815260200190565b9182526001600160a01b0316602082015260400190565b9182521515602082015260400190565b9283526001600160801b03918216602084015216604082015260600190565b948552602085019390935260408401919091526001600160801b03908116606084015216608082015260a00190565b6001600160a01b0381168114610a9957600080fdfeceb6d671277d4354fd29977ada70695fbd93a16612abf765d6b0e25c28dc6db3bce78369dccab09eec1986f4d409ab09ffbb47d65423e5148fcf98411c5111c951457222ebca92c335c9c86e2baa1cc0e40ffaa9084a51452980d5ba8dec2f6399920012339b5a3368d3a04b8606ce412c46ed92b7dcd8602d41fc8862cb8f25a2646970667358221220e955fa7f80b9ad38eba52b70ed60457b452eb83b2417f8f09df3b2acb6ae421364736f6c634300060b0033", "linkReferences": {}, "deployedLinkReferences": {} } diff --git a/packages/lib-ethers/live/StabilityPoolScript.json b/packages/lib-ethers/live/StabilityPoolScript.json index e70f04507..c0d3cba4d 100644 --- a/packages/lib-ethers/live/StabilityPoolScript.json +++ b/packages/lib-ethers/live/StabilityPoolScript.json @@ -77,8 +77,8 @@ "type": "function" } ], - "bytecode": "0x60a060405234801561001057600080fd5b506040516104733803806104738339818101604052602081101561003357600080fd5b5051610047816001600160e01b0361005c16565b60601b6001600160601b03191660805261010f565b6001600160a01b0381166100b7576040805162461bcd60e51b815260206004820152601e60248201527f4163636f756e742063616e6e6f74206265207a65726f20616464726573730000604482015290519081900360640190fd5b803b8061010b576040805162461bcd60e51b815260206004820181905260248201527f4163636f756e7420636f64652073697a652063616e6e6f74206265207a65726f604482015290519081900360640190fd5b5050565b60805160601c61033d6101366000398061014952806101ca52806102bd525061033d6000f3fe608060405234801561001057600080fd5b506004361061004c5760003560e01c80632e54bf95146100515780635f788d6514610070578063a3f4df7e1461009c578063fda0101a14610119575b600080fd5b61006e6004803603602081101561006757600080fd5b5035610147565b005b61006e6004803603604081101561008657600080fd5b50803590602001356001600160a01b03166101c8565b6100a4610264565b6040805160208082528351818301528351919283929083019185019080838360005b838110156100de5781810151838201526020016100c6565b50505050905090810190601f16801561010b5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61006e6004803603604081101561012f57600080fd5b506001600160a01b0381358116916020013516610293565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316632e54bf95826040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b1580156101ad57600080fd5b505af11580156101c1573d6000803e3d6000fd5b5050505050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316635f788d6583836040518363ffffffff1660e01b815260040180838152602001826001600160a01b03166001600160a01b0316815260200192505050600060405180830381600087803b15801561024857600080fd5b505af115801561025c573d6000803e3d6000fd5b505050505050565b6040518060400160405280601381526020017214dd18589a5b1a5d1e541bdbdb14d8dc9a5c1d606a1b81525081565b60408051637ed0080d60e11b81526001600160a01b038481166004830152838116602483015291517f00000000000000000000000000000000000000000000000000000000000000009092169163fda0101a9160448082019260009290919082900301818387803b15801561024857600080fdfea2646970667358221220dca5554da235030d3e709ce46d0976d026962a74c2829014805970a2dfac702e64736f6c634300060b0033", - "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061004c5760003560e01c80632e54bf95146100515780635f788d6514610070578063a3f4df7e1461009c578063fda0101a14610119575b600080fd5b61006e6004803603602081101561006757600080fd5b5035610147565b005b61006e6004803603604081101561008657600080fd5b50803590602001356001600160a01b03166101c8565b6100a4610264565b6040805160208082528351818301528351919283929083019185019080838360005b838110156100de5781810151838201526020016100c6565b50505050905090810190601f16801561010b5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61006e6004803603604081101561012f57600080fd5b506001600160a01b0381358116916020013516610293565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316632e54bf95826040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b1580156101ad57600080fd5b505af11580156101c1573d6000803e3d6000fd5b5050505050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316635f788d6583836040518363ffffffff1660e01b815260040180838152602001826001600160a01b03166001600160a01b0316815260200192505050600060405180830381600087803b15801561024857600080fd5b505af115801561025c573d6000803e3d6000fd5b505050505050565b6040518060400160405280601381526020017214dd18589a5b1a5d1e541bdbdb14d8dc9a5c1d606a1b81525081565b60408051637ed0080d60e11b81526001600160a01b038481166004830152838116602483015291517f00000000000000000000000000000000000000000000000000000000000000009092169163fda0101a9160448082019260009290919082900301818387803b15801561024857600080fdfea2646970667358221220dca5554da235030d3e709ce46d0976d026962a74c2829014805970a2dfac702e64736f6c634300060b0033", + "bytecode": "0x60a060405234801561001057600080fd5b506040516104733803806104738339818101604052602081101561003357600080fd5b5051610047816001600160e01b0361005c16565b60601b6001600160601b03191660805261010f565b6001600160a01b0381166100b7576040805162461bcd60e51b815260206004820152601e60248201527f4163636f756e742063616e6e6f74206265207a65726f20616464726573730000604482015290519081900360640190fd5b803b8061010b576040805162461bcd60e51b815260206004820181905260248201527f4163636f756e7420636f64652073697a652063616e6e6f74206265207a65726f604482015290519081900360640190fd5b5050565b60805160601c61033d6101366000398061014952806101ca52806102bd525061033d6000f3fe608060405234801561001057600080fd5b506004361061004c5760003560e01c80632e54bf95146100515780635f788d6514610070578063a3f4df7e1461009c578063fda0101a14610119575b600080fd5b61006e6004803603602081101561006757600080fd5b5035610147565b005b61006e6004803603604081101561008657600080fd5b50803590602001356001600160a01b03166101c8565b6100a4610264565b6040805160208082528351818301528351919283929083019185019080838360005b838110156100de5781810151838201526020016100c6565b50505050905090810190601f16801561010b5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61006e6004803603604081101561012f57600080fd5b506001600160a01b0381358116916020013516610293565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316632e54bf95826040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b1580156101ad57600080fd5b505af11580156101c1573d6000803e3d6000fd5b5050505050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316635f788d6583836040518363ffffffff1660e01b815260040180838152602001826001600160a01b03166001600160a01b0316815260200192505050600060405180830381600087803b15801561024857600080fd5b505af115801561025c573d6000803e3d6000fd5b505050505050565b6040518060400160405280601381526020017214dd18589a5b1a5d1e541bdbdb14d8dc9a5c1d606a1b81525081565b60408051637ed0080d60e11b81526001600160a01b038481166004830152838116602483015291517f00000000000000000000000000000000000000000000000000000000000000009092169163fda0101a9160448082019260009290919082900301818387803b15801561024857600080fdfea26469706673582212209697245623577505d2c1e6f2cf89ce2c1a6ec93b3a79783ae0c3a97568ebda0164736f6c634300060b0033", + "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061004c5760003560e01c80632e54bf95146100515780635f788d6514610070578063a3f4df7e1461009c578063fda0101a14610119575b600080fd5b61006e6004803603602081101561006757600080fd5b5035610147565b005b61006e6004803603604081101561008657600080fd5b50803590602001356001600160a01b03166101c8565b6100a4610264565b6040805160208082528351818301528351919283929083019185019080838360005b838110156100de5781810151838201526020016100c6565b50505050905090810190601f16801561010b5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61006e6004803603604081101561012f57600080fd5b506001600160a01b0381358116916020013516610293565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316632e54bf95826040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b1580156101ad57600080fd5b505af11580156101c1573d6000803e3d6000fd5b5050505050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316635f788d6583836040518363ffffffff1660e01b815260040180838152602001826001600160a01b03166001600160a01b0316815260200192505050600060405180830381600087803b15801561024857600080fd5b505af115801561025c573d6000803e3d6000fd5b505050505050565b6040518060400160405280601381526020017214dd18589a5b1a5d1e541bdbdb14d8dc9a5c1d606a1b81525081565b60408051637ed0080d60e11b81526001600160a01b038481166004830152838116602483015291517f00000000000000000000000000000000000000000000000000000000000000009092169163fda0101a9160448082019260009290919082900301818387803b15801561024857600080fdfea26469706673582212209697245623577505d2c1e6f2cf89ce2c1a6ec93b3a79783ae0c3a97568ebda0164736f6c634300060b0033", "linkReferences": {}, "deployedLinkReferences": {} } diff --git a/packages/lib-ethers/live/StabilityPoolStorage.json b/packages/lib-ethers/live/StabilityPoolStorage.json new file mode 100644 index 000000000..4766d32a2 --- /dev/null +++ b/packages/lib-ethers/live/StabilityPoolStorage.json @@ -0,0 +1,431 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "StabilityPoolStorage", + "sourceName": "contracts/StabilityPoolStorage.sol", + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousOwner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnershipTransferred", + "type": "event" + }, + { + "inputs": [], + "name": "DECIMAL_PRECISION", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "NAME", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "P", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "SCALE_FACTOR", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "borrowerOperations", + "outputs": [ + { + "internalType": "contract IBorrowerOperations", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "communityIssuance", + "outputs": [ + { + "internalType": "contract ICommunityIssuance", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "currentEpoch", + "outputs": [ + { + "internalType": "uint128", + "name": "", + "type": "uint128" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "currentScale", + "outputs": [ + { + "internalType": "uint128", + "name": "", + "type": "uint128" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "depositSnapshots", + "outputs": [ + { + "internalType": "uint256", + "name": "S", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "P", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "G", + "type": "uint256" + }, + { + "internalType": "uint128", + "name": "scale", + "type": "uint128" + }, + { + "internalType": "uint128", + "name": "epoch", + "type": "uint128" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "deposits", + "outputs": [ + { + "internalType": "uint256", + "name": "initialValue", + "type": "uint256" + }, + { + "internalType": "address", + "name": "frontEndTag", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "", + "type": "uint128" + }, + { + "internalType": "uint128", + "name": "", + "type": "uint128" + } + ], + "name": "epochToScaleToG", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "", + "type": "uint128" + }, + { + "internalType": "uint128", + "name": "", + "type": "uint128" + } + ], + "name": "epochToScaleToSum", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "frontEndSnapshots", + "outputs": [ + { + "internalType": "uint256", + "name": "S", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "P", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "G", + "type": "uint256" + }, + { + "internalType": "uint128", + "name": "scale", + "type": "uint128" + }, + { + "internalType": "uint128", + "name": "epoch", + "type": "uint128" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "frontEndStakes", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "frontEnds", + "outputs": [ + { + "internalType": "uint256", + "name": "kickbackRate", + "type": "uint256" + }, + { + "internalType": "bool", + "name": "registered", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getOwner", + "outputs": [ + { + "internalType": "address", + "name": "_owner", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "lastETHError_Offset", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "lastZEROError", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "lastZUSDLossError_Offset", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_owner", + "type": "address" + } + ], + "name": "setOwner", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "sortedTroves", + "outputs": [ + { + "internalType": "contract ISortedTroves", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "troveManager", + "outputs": [ + { + "internalType": "contract ITroveManager", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "zusdToken", + "outputs": [ + { + "internalType": "contract IZUSDToken", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + } + ], + "bytecode": "0x608060405234801561001057600080fd5b50610023336001600160e01b0361002816565b610110565b6001600160a01b03811661006d5760405162461bcd60e51b81526004018080602001828103825260228152602001806108ca6022913960400191505060405180910390fd5b6001600160a01b0381166100886001600160e01b036100e616565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3604080517035b2bc9737bbb730b136329737bbb732b960791b8152905190819003601101902055565b604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205490565b6107ab8061011f6000396000f3fe608060405234801561001057600080fd5b506004361061014d5760003560e01c806395fb16bb116100c3578063b31ee9651161007c578063b31ee965146103cd578063b71d3bf3146103d5578063ce4b5bbe146103dd578063d7fb0443146103e5578063ec9f7d46146103ed578063fc7e286d146103f55761014d565b806395fb16bb146102f1578063a20baee6146102f9578063a3f4df7e14610301578063a4e59ac81461037e578063a7bfff9714610386578063ae918754146103c55761014d565b80637667180811610115578063766718081461026157806377553ad41461028557806382e0a5741461028d57806386da0824146102bb578063893d20e8146102e15780638b8fbd92146102e95761014d565b806313af40351461015257806316b9d3c51461017a57806328a0a04d146101d75780633d83908a146102175780635d2de6421461023b575b600080fd5b6101786004803603602081101561016857600080fd5b50356001600160a01b031661043c565b005b6101a06004803603602081101561019057600080fd5b50356001600160a01b03166104af565b604080519586526020860194909452848401929092526001600160801b039081166060850152166080830152519081900360a00190f35b610205600480360360408110156101ed57600080fd5b506001600160801b03813581169160200135166104ea565b60408051918252519081900360200190f35b61021f610507565b604080516001600160a01b039092168252519081900360200190f35b6102056004803603602081101561025157600080fd5b50356001600160a01b0316610516565b610269610528565b604080516001600160801b039092168252519081900360200190f35b61021f61053e565b610205600480360360408110156102a357600080fd5b506001600160801b038135811691602001351661054d565b6101a0600480360360208110156102d157600080fd5b50356001600160a01b031661056a565b61021f6105a5565b6102056105cf565b61021f6105d5565b6102056105e4565b6103096105f0565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561034357818101518382015260200161032b565b50505050905090810190601f1680156103705780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b610269610619565b6103ac6004803603602081101561039c57600080fd5b50356001600160a01b0316610628565b6040805192835290151560208301528051918290030190f35b61021f610644565b610205610653565b610205610659565b61020561065f565b610205610667565b61021f61066d565b61041b6004803603602081101561040b57600080fd5b50356001600160a01b031661067c565b604080519283526001600160a01b0390911660208301528051918290030190f35b6104446105a5565b6001600160a01b0316336001600160a01b0316146104a3576040805162461bcd60e51b815260206004820152601760248201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604482015290519081900360640190fd5b6104ac8161069e565b50565b600b602052600090815260409020805460018201546002830154600390930154919290916001600160801b0380821691600160801b90041685565b600e60209081526000928352604080842090915290825290205481565b6001546001600160a01b031681565b600a6020526000908152604090205481565b600d54600160801b90046001600160801b031681565b6000546001600160a01b031681565b600f60209081526000928352604080842090915290825290205481565b6008602052600090815260409020805460018201546002830154600390930154919290916001600160801b0380821691600160801b90041685565b604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205490565b600c5481565b6004546001600160a01b031681565b670de0b6b3a764000081565b6040518060400160405280600d81526020016c14dd18589a5b1a5d1e541bdbdb609a1b81525081565b600d546001600160801b031681565b6009602052600090815260409020805460019091015460ff1682565b6003546001600160a01b031681565b60125481565b60105481565b633b9aca0081565b60115481565b6002546001600160a01b031681565b600760205260009081526040902080546001909101546001600160a01b031682565b6001600160a01b0381166106e35760405162461bcd60e51b81526004018080602001828103825260228152602001806107546022913960400191505060405180910390fd5b806001600160a01b03166106f56105a5565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205556fe4f776e61626c653a3a7365744f776e65723a20696e76616c69642061646472657373a2646970667358221220d2eebe7b3c10d572258ce15061762cc72158a3426529294c1870b5998ab6bfac64736f6c634300060b00334f776e61626c653a3a7365744f776e65723a20696e76616c69642061646472657373", + "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061014d5760003560e01c806395fb16bb116100c3578063b31ee9651161007c578063b31ee965146103cd578063b71d3bf3146103d5578063ce4b5bbe146103dd578063d7fb0443146103e5578063ec9f7d46146103ed578063fc7e286d146103f55761014d565b806395fb16bb146102f1578063a20baee6146102f9578063a3f4df7e14610301578063a4e59ac81461037e578063a7bfff9714610386578063ae918754146103c55761014d565b80637667180811610115578063766718081461026157806377553ad41461028557806382e0a5741461028d57806386da0824146102bb578063893d20e8146102e15780638b8fbd92146102e95761014d565b806313af40351461015257806316b9d3c51461017a57806328a0a04d146101d75780633d83908a146102175780635d2de6421461023b575b600080fd5b6101786004803603602081101561016857600080fd5b50356001600160a01b031661043c565b005b6101a06004803603602081101561019057600080fd5b50356001600160a01b03166104af565b604080519586526020860194909452848401929092526001600160801b039081166060850152166080830152519081900360a00190f35b610205600480360360408110156101ed57600080fd5b506001600160801b03813581169160200135166104ea565b60408051918252519081900360200190f35b61021f610507565b604080516001600160a01b039092168252519081900360200190f35b6102056004803603602081101561025157600080fd5b50356001600160a01b0316610516565b610269610528565b604080516001600160801b039092168252519081900360200190f35b61021f61053e565b610205600480360360408110156102a357600080fd5b506001600160801b038135811691602001351661054d565b6101a0600480360360208110156102d157600080fd5b50356001600160a01b031661056a565b61021f6105a5565b6102056105cf565b61021f6105d5565b6102056105e4565b6103096105f0565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561034357818101518382015260200161032b565b50505050905090810190601f1680156103705780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b610269610619565b6103ac6004803603602081101561039c57600080fd5b50356001600160a01b0316610628565b6040805192835290151560208301528051918290030190f35b61021f610644565b610205610653565b610205610659565b61020561065f565b610205610667565b61021f61066d565b61041b6004803603602081101561040b57600080fd5b50356001600160a01b031661067c565b604080519283526001600160a01b0390911660208301528051918290030190f35b6104446105a5565b6001600160a01b0316336001600160a01b0316146104a3576040805162461bcd60e51b815260206004820152601760248201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604482015290519081900360640190fd5b6104ac8161069e565b50565b600b602052600090815260409020805460018201546002830154600390930154919290916001600160801b0380821691600160801b90041685565b600e60209081526000928352604080842090915290825290205481565b6001546001600160a01b031681565b600a6020526000908152604090205481565b600d54600160801b90046001600160801b031681565b6000546001600160a01b031681565b600f60209081526000928352604080842090915290825290205481565b6008602052600090815260409020805460018201546002830154600390930154919290916001600160801b0380821691600160801b90041685565b604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205490565b600c5481565b6004546001600160a01b031681565b670de0b6b3a764000081565b6040518060400160405280600d81526020016c14dd18589a5b1a5d1e541bdbdb609a1b81525081565b600d546001600160801b031681565b6009602052600090815260409020805460019091015460ff1682565b6003546001600160a01b031681565b60125481565b60105481565b633b9aca0081565b60115481565b6002546001600160a01b031681565b600760205260009081526040902080546001909101546001600160a01b031682565b6001600160a01b0381166106e35760405162461bcd60e51b81526004018080602001828103825260228152602001806107546022913960400191505060405180910390fd5b806001600160a01b03166106f56105a5565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205556fe4f776e61626c653a3a7365744f776e65723a20696e76616c69642061646472657373a2646970667358221220d2eebe7b3c10d572258ce15061762cc72158a3426529294c1870b5998ab6bfac64736f6c634300060b0033", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/packages/lib-ethers/live/StabilityPoolTester.json b/packages/lib-ethers/live/StabilityPoolTester.json index 93f027ab4..0771fdef1 100644 --- a/packages/lib-ethers/live/StabilityPoolTester.json +++ b/packages/lib-ethers/live/StabilityPoolTester.json @@ -104,7 +104,7 @@ { "indexed": false, "internalType": "uint256", - "name": "_LUSDLoss", + "name": "_ZUSDLoss", "type": "uint256" } ], @@ -256,57 +256,6 @@ "name": "G_Updated", "type": "event" }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "_depositor", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_LQTY", - "type": "uint256" - } - ], - "name": "LQTYPaidToDepositor", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "_frontEnd", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_LQTY", - "type": "uint256" - } - ], - "name": "LQTYPaidToFrontEnd", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_newLUSDTokenAddress", - "type": "address" - } - ], - "name": "LUSDTokenAddressChanged", - "type": "event" - }, { "anonymous": false, "inputs": [ @@ -426,7 +375,7 @@ "type": "uint256" } ], - "name": "StabilityPoolLUSDBalanceUpdated", + "name": "StabilityPoolZUSDBalanceUpdated", "type": "event" }, { @@ -462,60 +411,84 @@ "type": "event" }, { - "inputs": [], - "name": "BORROWING_FEE_FLOOR", - "outputs": [ + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "_depositor", + "type": "address" + }, { + "indexed": false, "internalType": "uint256", - "name": "", + "name": "_zusdAmountRequested", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "_dllrAmountReceived", "type": "uint256" } ], - "stateMutability": "view", - "type": "function" + "name": "WithdrawFromSpAndConvertToDLLR", + "type": "event" }, { - "inputs": [], - "name": "CCR", - "outputs": [ + "anonymous": false, + "inputs": [ { + "indexed": true, + "internalType": "address", + "name": "_depositor", + "type": "address" + }, + { + "indexed": false, "internalType": "uint256", - "name": "", + "name": "_ZERO", "type": "uint256" } ], - "stateMutability": "view", - "type": "function" + "name": "ZEROPaidToDepositor", + "type": "event" }, { - "inputs": [], - "name": "DECIMAL_PRECISION", - "outputs": [ + "anonymous": false, + "inputs": [ { + "indexed": true, + "internalType": "address", + "name": "_frontEnd", + "type": "address" + }, + { + "indexed": false, "internalType": "uint256", - "name": "", + "name": "_ZERO", "type": "uint256" } ], - "stateMutability": "view", - "type": "function" + "name": "ZEROPaidToFrontEnd", + "type": "event" }, { - "inputs": [], - "name": "LUSD_GAS_COMPENSATION", - "outputs": [ + "anonymous": false, + "inputs": [ { - "internalType": "uint256", - "name": "", - "type": "uint256" + "indexed": false, + "internalType": "address", + "name": "_newZUSDTokenAddress", + "type": "address" } ], - "stateMutability": "view", - "type": "function" + "name": "ZUSDTokenAddressChanged", + "type": "event" }, { "inputs": [], - "name": "MCR", + "name": "DECIMAL_PRECISION", "outputs": [ { "internalType": "uint256", @@ -567,7 +540,7 @@ }, { "inputs": [], - "name": "PERCENT_DIVISOR", + "name": "SCALE_FACTOR", "outputs": [ { "internalType": "uint256", @@ -580,7 +553,7 @@ }, { "inputs": [], - "name": "SCALE_FACTOR", + "name": "ZUSD_GAS_COMPENSATION", "outputs": [ { "internalType": "uint256", @@ -902,7 +875,7 @@ "type": "address" } ], - "name": "getCompoundedLUSDDeposit", + "name": "getCompoundedZUSDDeposit", "outputs": [ { "internalType": "uint256", @@ -940,7 +913,7 @@ "type": "address" } ], - "name": "getDepositorLQTYGain", + "name": "getDepositorZEROGain", "outputs": [ { "internalType": "uint256", @@ -998,7 +971,7 @@ "type": "address" } ], - "name": "getFrontEndLQTYGain", + "name": "getFrontEndZEROGain", "outputs": [ { "internalType": "uint256", @@ -1011,12 +984,12 @@ }, { "inputs": [], - "name": "getTotalLUSDDeposits", + "name": "getOwner", "outputs": [ { - "internalType": "uint256", - "name": "", - "type": "uint256" + "internalType": "address", + "name": "_owner", + "type": "address" } ], "stateMutability": "view", @@ -1024,12 +997,12 @@ }, { "inputs": [], - "name": "isOwner", + "name": "getTotalZUSDDeposits", "outputs": [ { - "internalType": "bool", + "internalType": "uint256", "name": "", - "type": "bool" + "type": "uint256" } ], "stateMutability": "view", @@ -1050,7 +1023,7 @@ }, { "inputs": [], - "name": "lastLQTYError", + "name": "lastZEROError", "outputs": [ { "internalType": "uint256", @@ -1063,7 +1036,7 @@ }, { "inputs": [], - "name": "lastLUSDLossError_Offset", + "name": "lastZUSDLossError_Offset", "outputs": [ { "internalType": "uint256", @@ -1076,10 +1049,10 @@ }, { "inputs": [], - "name": "zusdToken", + "name": "liquityBaseParams", "outputs": [ { - "internalType": "contract ILUSDToken", + "internalType": "contract ILiquityBaseParams", "name": "", "type": "address" } @@ -1105,19 +1078,6 @@ "stateMutability": "nonpayable", "type": "function" }, - { - "inputs": [], - "name": "owner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, { "inputs": [], "name": "priceFeed", @@ -1149,6 +1109,46 @@ "stateMutability": "nonpayable", "type": "function" }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_dllrAmount", + "type": "uint256" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "deadline", + "type": "uint256" + }, + { + "internalType": "uint8", + "name": "v", + "type": "uint8" + }, + { + "internalType": "bytes32", + "name": "r", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "s", + "type": "bytes32" + } + ], + "internalType": "struct IMassetManager.PermitParams", + "name": "_permitParams", + "type": "tuple" + } + ], + "name": "provideToSpFromDLLR", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, { "inputs": [ { @@ -1164,6 +1164,11 @@ }, { "inputs": [ + { + "internalType": "address", + "name": "_liquityBaseParamsAddress", + "type": "address" + }, { "internalType": "address", "name": "_borrowerOperationsAddress", @@ -1205,6 +1210,19 @@ "stateMutability": "nonpayable", "type": "function" }, + { + "inputs": [ + { + "internalType": "address", + "name": "_owner", + "type": "address" + } + ], + "name": "setOwner", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, { "inputs": [], "name": "sortedTroves", @@ -1269,13 +1287,39 @@ "stateMutability": "nonpayable", "type": "function" }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_zusdAmountRequested", + "type": "uint256" + } + ], + "name": "withdrawFromSpAndConvertToDLLR", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "zusdToken", + "outputs": [ + { + "internalType": "contract IZUSDToken", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, { "stateMutability": "payable", "type": "receive" } ], - "bytecode": "0x6080604052670de0b6b3a764000060105534801561001c57600080fd5b50600380546001600160a01b031916339081179091556040516000907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a361394f8061006c6000396000f3fe6080604052600436106102a25760003560e01c806382e0a57411610165578063ae918754116100cc578063df9cd84f11610085578063df9cd84f146108f7578063eaa8ba7f1461092a578063f3af7c3b1461098f578063f5f1595d14610997578063f92d3433146109ca578063fc7e286d146109df578063fda0101a14610a33576102e9565b8063ae9187541461085b578063b83f91a214610870578063ce4b5bbe14610885578063cef941e81461089a578063d4ca0575146108af578063d7fb0443146108e2576102e9565b806395fb16bb1161011e57806395fb16bb146107465780639bf2f1ac1461075b578063a20baee6146105c1578063a3f4df7e14610770578063a4e59ac8146107fa578063a7bfff971461080f576102e9565b806382e0a5741461067057806386da0824146106ab578063887105d3146106de5780638b8fbd92146106f35780638da5cb5b146107085780638f32d59b1461071d576102e9565b8063538153ca11610209578063741bef1a116101c2578063741bef1a146105d657806376671808146105eb57806377553ad41461061c578063794e572414610631578063795d26c3146106465780637f7dde4a1461065b576102e9565b8063538153ca14610501578063556be101146105165780635733d58f146105405780635d2de642146105555780635f788d651461058857806372fe25aa146105c1576102e9565b80632e86bbd81161025b5780632e86bbd81461042e578063335525ad14610443578063389e92a5146104735780633cc74225146104a65780633d83908a146104d75780634870dd9a146104ec576102e9565b806314f6c3be146102ee57806316b9d3c5146103155780631bf435551461037f5780631cdc47001461039457806328a0a04d146103c75780632e54bf9514610402576102e9565b366102e9576102af610a6e565b6009546102c2903463ffffffff610ab916565b600981905560408051918252516000805160206136838339815191529181900360200190a1005b600080fd5b3480156102fa57600080fd5b50610303610b1c565b60408051918252519081900360200190f35b34801561032157600080fd5b506103486004803603602081101561033857600080fd5b50356001600160a01b0316610b22565b604080519586526020860194909452848401929092526001600160801b039081166060850152166080830152519081900360a00190f35b34801561038b57600080fd5b50610303610b5d565b3480156103a057600080fd5b50610303600480360360208110156103b757600080fd5b50356001600160a01b0316610b6a565b3480156103d357600080fd5b50610303600480360360408110156103ea57600080fd5b506001600160801b0381358116916020013516610c12565b34801561040e57600080fd5b5061042c6004803603602081101561042557600080fd5b5035610c2f565b005b34801561043a57600080fd5b50610303610db8565b34801561044f57600080fd5b5061042c6004803603604081101561046657600080fd5b5080359060200135610dc5565b34801561047f57600080fd5b506103036004803603602081101561049657600080fd5b50356001600160a01b0316610e29565b3480156104b257600080fd5b506104bb610ec6565b604080516001600160a01b039092168252519081900360200190f35b3480156104e357600080fd5b506104bb610ed5565b3480156104f857600080fd5b50610303610ee4565b34801561050d57600080fd5b50610303610ee9565b34801561052257600080fd5b5061042c6004803603602081101561053957600080fd5b5035610eef565b34801561054c57600080fd5b50610303610f64565b34801561056157600080fd5b506103036004803603602081101561057857600080fd5b50356001600160a01b0316610f70565b34801561059457600080fd5b5061042c600480360360408110156105ab57600080fd5b50803590602001356001600160a01b0316610f82565b3480156105cd57600080fd5b50610303611103565b3480156105e257600080fd5b506104bb61110f565b3480156105f757600080fd5b5061060061111e565b604080516001600160801b039092168252519081900360200190f35b34801561062857600080fd5b506104bb611134565b34801561063d57600080fd5b50610303611143565b34801561065257600080fd5b5061030361114f565b34801561066757600080fd5b506104bb611250565b34801561067c57600080fd5b506103036004803603604081101561069357600080fd5b506001600160801b038135811691602001351661125f565b3480156106b757600080fd5b50610348600480360360208110156106ce57600080fd5b50356001600160a01b031661127c565b3480156106ea57600080fd5b506103036112b7565b3480156106ff57600080fd5b50610303611373565b34801561071457600080fd5b506104bb611379565b34801561072957600080fd5b50610732611388565b604080519115158252519081900360200190f35b34801561075257600080fd5b506104bb611399565b34801561076757600080fd5b506103036113a8565b34801561077c57600080fd5b506107856113ae565b6040805160208082528351818301528351919283929083019185019080838360005b838110156107bf5781810151838201526020016107a7565b50505050905090810190601f1680156107ec5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561080657600080fd5b506106006113d7565b34801561081b57600080fd5b506108426004803603602081101561083257600080fd5b50356001600160a01b03166113e6565b6040805192835290151560208301528051918290030190f35b34801561086757600080fd5b506104bb611402565b34801561087c57600080fd5b506104bb611411565b34801561089157600080fd5b50610303611420565b3480156108a657600080fd5b50610303611428565b3480156108bb57600080fd5b50610303600480360360208110156108d257600080fd5b50356001600160a01b031661142e565b3480156108ee57600080fd5b50610303611532565b34801561090357600080fd5b506103036004803603602081101561091a57600080fd5b50356001600160a01b0316611538565b34801561093657600080fd5b5061042c600480360360e081101561094d57600080fd5b506001600160a01b038135811691602081013582169160408201358116916060810135821691608082013581169160a081013582169160c090910135166115d5565b61042c611886565b3480156109a357600080fd5b50610303600480360360208110156109ba57600080fd5b50356001600160a01b031661189e565b3480156109d657600080fd5b5061030361199b565b3480156109eb57600080fd5b50610a1260048036036020811015610a0257600080fd5b50356001600160a01b03166119a6565b604080519283526001600160a01b0390911660208301528051918290030190f35b348015610a3f57600080fd5b5061042c60048036036040811015610a5657600080fd5b506001600160a01b03813581169160200135166119c8565b6000546001600160a01b03163314610ab75760405162461bcd60e51b815260040180806020018281038252602781526020018061365c6027913960400191505060405180910390fd5b565b600082820183811015610b13576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b90505b92915050565b60095490565b600f602052600090815260409020805460018201546002830154600390930154919290916001600160801b0380821691600160801b90041685565b686194049f30f720000081565b6001600160a01b0381166000908152600b602052604081205480610b92576000915050610c0d565b610b9a61358e565b506001600160a01b0383166000908152600c60209081526040808320815160a08101835281548152600182015493810193909352600281015491830191909152600301546001600160801b038082166060840152600160801b90910416608082015290610c078383611bf8565b93505050505b919050565b601260209081526000928352604080842090915290825290205481565b8015610c3d57610c3d611cf4565b336000908152600b6020526040902054610c5681611eb1565b6008546001600160a01b0316610c6b81611ef3565b6000610c7633610e29565b90506000610c8333610b6a565b90506000610c918683611f67565b90506000610ca5868463ffffffff611f7d16565b336000818152600b60205260409020600101549192506001600160a01b0390911690610cd390879083611fbf565b6000610cde82611538565b90506000610cf2828663ffffffff611f7d16565b9050610cfe838261215e565b6040805182815233602082015281516001600160a01b03861692600080516020613869833981519152928290030190a2610d3833866122aa565b6000610d4a878763ffffffff611f7d16565b9050610d563382612330565b60408051828152905133916000805160206136d4833981519152919081900360200190a26040805189815260208101879052815133926000805160206137b8833981519152928290030190a2610dab886124b6565b5050505050505050505050565b680ad78ebc5ac620000081565b610dcd6125c2565b600a54801580610ddb575082155b15610de65750610e25565b600854610dfb906001600160a01b0316611ef3565b600080610e0984868561260b565b91509150610e178282612704565b610e2184866129fe565b5050505b5050565b6001600160a01b0381166000908152600b602052604081205480610e51576000915050610c0d565b610e5961358e565b506001600160a01b0383166000908152600c60209081526040808320815160a08101835281548152600182015493810193909352600281015491830191909152600301546001600160801b038082166060840152600160801b90910416608082015290610c078383612b38565b6001546001600160a01b031681565b6005546001600160a01b031681565b60c881565b60165481565b610ef833612c29565b610f0133612c84565b610f0a81612cda565b336000818152600d60209081526040918290208481556001908101805460ff19169091179055815184815291517f19bc932fb9e16a8b5a1e41be9f4c2de59d5ddd7567b8b81405f532ca00a9880e9281900390910190a250565b6714d1120d7b16000081565b600e6020526000908152604090205481565b610f8b81612d21565b610f9433612c29565b610f9d82612d8d565b336000908152600b60205260409020546008546001600160a01b0316610fc281611ef3565b81610fd157610fd13384612dcc565b6000610fdc33610e29565b90506000610fe933610b6a565b90506000610ffd858363ffffffff611f7d16565b336000818152600b60205260409020600101549192506001600160a01b039091169061102b90869083611fbf565b600061103682611538565b9050600061104a828b63ffffffff610ab916565b9050611056838261215e565b6040805182815233602082015281516001600160a01b03861692600080516020613869833981519152928290030190a2611090338b612e26565b60006110a2868c63ffffffff610ab916565b90506110ae3382612330565b60408051828152905133916000805160206136d4833981519152919081900360200190a26040805188815260208101879052815133926000805160206137b8833981519152928290030190a2610dab876124b6565b670de0b6b3a764000081565b6002546001600160a01b031681565b601154600160801b90046001600160801b031681565b6004546001600160a01b031681565b670f43fc2c04ee000081565b6000805460408051632f5a97e560e11b8152905183926001600160a01b031691635eb52fca916004808301926020929190829003018186803b15801561119457600080fd5b505afa1580156111a8573d6000803e3d6000fd5b505050506040513d60208110156111be57600080fd5b505160015460408051632f5a97e560e11b815290519293506000926001600160a01b0390921691635eb52fca91600480820192602092909190829003018186803b15801561120b57600080fd5b505afa15801561121f573d6000803e3d6000fd5b505050506040513d602081101561123557600080fd5b50519050611249828263ffffffff610ab916565b9250505090565b6000546001600160a01b031681565b601360209081526000928352604080842090915290825290205481565b600c602052600090815260409020805460018201546002830154600390930154919290916001600160801b0380821691600160801b90041685565b6000805460408051630a7b61df60e11b8152905183926001600160a01b0316916314f6c3be916004808301926020929190829003018186803b1580156112fc57600080fd5b505afa158015611310573d6000803e3d6000fd5b505050506040513d602081101561132657600080fd5b505160015460408051630a7b61df60e11b815290519293506000926001600160a01b03909216916314f6c3be91600480820192602092909190829003018186803b15801561120b57600080fd5b60105481565b6003546001600160a01b031690565b6003546001600160a01b0316331490565b6008546001600160a01b031681565b600a5490565b6040518060400160405280600d81526020016c14dd18589a5b1a5d1e541bdbdb609a1b81525081565b6011546001600160801b031681565b600d602052600090815260409020805460019091015460ff1682565b6007546001600160a01b031681565b6006546001600160a01b031681565b633b9aca0081565b60145481565b6001600160a01b0381166000908152600e602052604081205480611456576000915050610c0d565b6001600160a01b0383166000908152600d602052604081205490611488670de0b6b3a76400008363ffffffff611f7d16565b905061149261358e565b506001600160a01b0385166000908152600f60209081526040808320815160a08101835281548152600182015493810193909352600281015491830191909152600301546001600160801b038082166060840152600160801b90910416608082015290611527670de0b6b3a764000061151b61150e8886612ef0565b869063ffffffff612f7c16565b9063ffffffff612fd516565b979650505050505050565b60155481565b6001600160a01b0381166000908152600e602052604081205480611560576000915050610c0d565b61156861358e565b506001600160a01b0383166000908152600f60209081526040808320815160a08101835281548152600182015493810193909352600281015491830191909152600301546001600160801b038082166060840152600160801b90910416608082015290610c078383611bf8565b6115dd611388565b61162e576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b61163787613017565b61164086613017565b61164985613017565b61165284613017565b61165b83613017565b61166482613017565b61166d81613017565b600480546001600160a01b03199081166001600160a01b038a81169182179093556005805483168a85161790556000805483168985161790556006805483168885161790556007805483168785161790556002805483168685161790556008805490921692841692909217905560408051918252517f3ca631ffcd2a9b5d9ae18543fc82f58eb4ca33af9e6ab01b7a8e95331e6ed985916020908290030190a1604080516001600160a01b038816815290517f143219c9e69b09e07e095fcc889b43d8f46ca892bba65f08dc3a0050869a56789181900360200190a1604080516001600160a01b038716815290517f78f058b189175430c48dc02699e3a0031ea4ff781536dc2fab847de4babdd8829181900360200190a1604080516001600160a01b038616815290517f227eec0ec317af6ab1a9587ffa1c84332522eb4c583a908f89babc05f8f339bd9181900360200190a1604080516001600160a01b038516815290517f65f4cf077bc01e4742eb5ad98326f6e95b63548ea24b17f8d5e823111fe788009181900360200190a1604080516001600160a01b038416815290517f8c537274438aa850a330284665d81a85dd38267d09e4050d416bfc94142db2649181900360200190a1604080516001600160a01b038316815290517f3055265812fb8447b9ada4a5d804ec43bd528ec40e89c952bbc7b85dc5ac68119181900360200190a161187d6130c6565b50505050505050565b600954611899903463ffffffff610ab916565b600955565b6001600160a01b0381166000908152600b6020526040812054806118c6576000915050610c0d565b6001600160a01b038084166000908152600b602052604081206001015490911690811561190b576001600160a01b0382166000908152600d6020526040902054611915565b670de0b6b3a76400005b905061191f61358e565b506001600160a01b0385166000908152600c60209081526040808320815160a08101835281548152600182015493810193909352600281015491830191909152600301546001600160801b038082166060840152600160801b90910416608082015290611527670de0b6b3a764000061151b61150e8886612ef0565b6611c37937e0800081565b600b60205260009081526040902080546001909101546001600160a01b031682565b336000908152600b60205260409020546119e181611eb1565b6119ea33613110565b6119f3336131c7565b6008546001600160a01b0316611a0881611ef3565b6000611a1333610e29565b90506000611a2033610b6a565b90506000611a34858363ffffffff611f7d16565b336000818152600b60205260409020600101549192506001600160a01b0390911690611a6290869083611fbf565b6000611a6d82611538565b905080611a7a838261215e565b6040805182815233602082015281516001600160a01b03861692600080516020613869833981519152928290030190a2611ab43386612330565b6040805187815260208101869052815133926000805160206137b8833981519152928290030190a260408051868152905133916000805160206136d4833981519152919081900360200190a2600954611b13908763ffffffff611f7d16565b600981905560408051918252516000805160206136838339815191529181900360200190a1604080513381526020810188905281517f6109e2559dfa766aaec7118351d48a523f0a4157f49c8d68749c8ac41318ad12929181900390910190a1600480546040805163ea9638bf60e01b815233938101939093526001600160a01b038d811660248501528c81166044850152905191169163ea9638bf91899160648082019260009290919082900301818588803b158015611bd357600080fd5b505af1158015611be7573d6000803e3d6000fd5b505050505050505050505050505050565b6020810151606082015160808301516011546000939291906001600160801b03600160801b90910481169082161015611c375760009350505050610b16565b6011546000908190611c58906001600160801b03168563ffffffff61321316565b90506001600160801b038116611c8857611c818561151b6010548b612f7c90919063ffffffff16565b9150611cc0565b806001600160801b031660011415611cbb57611c81633b9aca0061151b8761151b6010548d612f7c90919063ffffffff16565b600091505b611cd488633b9aca0063ffffffff612fd516565b821015611ce957600095505050505050610b16565b509695505050505050565b60025460408051630fdb11cf60e01b815290516000926001600160a01b031691630fdb11cf91600480830192602092919082900301818787803b158015611d3a57600080fd5b505af1158015611d4e573d6000803e3d6000fd5b505050506040513d6020811015611d6457600080fd5b505160075460408051634d62283160e01b815290519293506000926001600160a01b0390921691634d62283191600480820192602092909190829003018186803b158015611db157600080fd5b505afa158015611dc5573d6000803e3d6000fd5b505050506040513d6020811015611ddb57600080fd5b505160055460408051630d293c7160e41b81526001600160a01b038085166004830152602482018790529151939450600093919092169163d293c710916044808301926020929190829003018186803b158015611e3757600080fd5b505afa158015611e4b573d6000803e3d6000fd5b505050506040513d6020811015611e6157600080fd5b50519050670f43fc2c04ee0000811015611eac5760405162461bcd60e51b81526004018080602001828103825260448152602001806138d66044913960600191505060405180910390fd5b505050565b60008111611ef05760405162461bcd60e51b81526004018080602001828103825260308152602001806138396030913960400191505060405180910390fd5b50565b6000816001600160a01b03166346ad34d96040518163ffffffff1660e01b8152600401602060405180830381600087803b158015611f3057600080fd5b505af1158015611f44573d6000803e3d6000fd5b505050506040513d6020811015611f5a57600080fd5b50519050610e258161326c565b6000818310611f765781610b13565b5090919050565b6000610b1383836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250613387565b6001600160a01b03811615612094576000611fd98261142e565b9050836001600160a01b031663614d2ab683836040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b15801561203b57600080fd5b505af115801561204f573d6000803e3d6000fd5b50506040805184815290516001600160a01b03861693507fcd2cdc1a4af71051394e9c6facd9a266b2ac5bd65d219a701eeda009f47682bf92509081900360200190a2505b600061209f8361189e565b9050836001600160a01b031663614d2ab684836040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b15801561210157600080fd5b505af1158015612115573d6000803e3d6000fd5b50506040805184815290516001600160a01b03871693507f2608b986a6ac0f6c629ca37018e80af5561e366252ae93602a96d3ab2e73e42d92509081900360200190a250505050565b6001600160a01b0382166000908152600e60205260409020819055806121ee576001600160a01b0382166000818152600f60209081526040808320838155600181018490556002810184905560030183905580518381529182019290925281517fbb1322f85cc7cc8bac4e172a5bc5dcc0c1959007f9a030032abf9258205f0e45929181900390910190a2610e25565b6011546010546001600160801b03600160801b80840482166000818152601360209081526040808320978616808452978252808320546001600160a01b038b16808552600f845293829020600181018990556002810182905560030180546001600160801b0319168a17909716958502959095179095558451868152908101849052845192959491927fbb1322f85cc7cc8bac4e172a5bc5dcc0c1959007f9a030032abf9258205f0e45929181900390910190a2505050505050565b806122b457610e25565b60065460408051631062c15f60e11b81523060048201526001600160a01b03858116602483015260448201859052915191909216916320c582be91606480830192600092919082900301818387803b15801561230f57600080fd5b505af1158015612323573d6000803e3d6000fd5b50505050610e258161341e565b6001600160a01b0382166000908152600b60205260409020819055806123de576001600160a01b0382166000818152600b60209081526040808320600190810180546001600160a01b0319169055600c83528184208481559081018490556002810184905560030183905580518381529182018390528181019290925290517f2d6cc0bcdf72c9486f6451bde6b80f44066f4558f77f44dbfedbe7d8b295225a9181900360600190a2610e25565b6011546010546001600160801b03600160801b8084048216600081815260126020908152604080832097861680845297825280832054848452601383528184208985528352818420546001600160a01b038c16808652600c855294839020600181018a90558281556002810182905560030180546001600160801b0319168b179098169686029690961790965580518781529182018690528181018590525192959493927f2d6cc0bcdf72c9486f6451bde6b80f44066f4558f77f44dbfedbe7d8b295225a916060908290030190a250505050505050565b806124c057611ef0565b6009546000906124d6908363ffffffff611f7d16565b6009819055604080518281529051919250600080516020613683833981519152919081900360200190a1604080513381526020810184905281517f6109e2559dfa766aaec7118351d48a523f0a4157f49c8d68749c8ac41318ad12929181900390910190a1604051600090339084908381818185875af1925050503d806000811461257d576040519150601f19603f3d011682016040523d82523d6000602084013e612582565b606091505b5050905080611eac5760405162461bcd60e51b815260040180806020018281038252602181526020018061371d6021913960400191505060405180910390fd5b6005546001600160a01b03163314610ab75760405162461bcd60e51b81526004018080602001828103825260298152602001806136f46029913960400191505060405180910390fd5b600080600061263d601554612631670de0b6b3a764000089612f7c90919063ffffffff16565b9063ffffffff610ab916565b90508385111561264957fe5b83851415612666576000601655670de0b6b3a764000091506126c6565b6016546000906126949061268888670de0b6b3a764000063ffffffff612f7c16565b9063ffffffff611f7d16565b90506126ab6001612631838863ffffffff612fd516565b92506126c181612688858863ffffffff612f7c16565b601655505b6126d6818563ffffffff612fd516565b92506126f86126eb848663ffffffff612f7c16565b829063ffffffff611f7d16565b60155550935093915050565b6010546000670de0b6b3a764000083111561271b57fe5b6000612735670de0b6b3a76400008563ffffffff611f7d16565b6011546001600160801b03600160801b8204811660008181526012602090815260408083209490951680835293905292832054939450909290916127798988612f7c565b9050600061278d838363ffffffff610ab916565b6001600160801b038086166000818152601260209081526040808320948b16808452948252918290208590558151858152908101929092528181019290925290519192507fe12e2cd2c9afa8069203ca07e7eff1edce4a075686d0736a8e7e0d593597b207919081900360600190a1856128c45761281b6001600160801b038516600163ffffffff61347416565b601180546001600160801b03908116600160801b938216840217918290556040805193909204168252517fb50f0f59e7cb5b421dc77581c3a9919e3806e076e5fa78a874c3f120cb7d874d916020908290030190a1601180546001600160801b0319169055604080516000815290517f1f9dfc70cd666adb18a39d60a797518f7b4febf4b6e24ef37d44f6e1e7219fbe9181900360200190a1670de0b6b3a764000096506129b0565b633b9aca006128e5670de0b6b3a764000061151b8b8a63ffffffff612f7c16565b10156129915761291b670de0b6b3a764000061151b633b9aca0061290f8c8b63ffffffff612f7c16565b9063ffffffff612f7c16565b96506129376001600160801b038616600163ffffffff61347416565b601180546001600160801b0319166001600160801b0392831617908190556040805191909216815290517f1f9dfc70cd666adb18a39d60a797518f7b4febf4b6e24ef37d44f6e1e7219fbe916020908290030190a16129b0565b6129ad670de0b6b3a764000061151b8a8963ffffffff612f7c16565b96505b600087116129ba57fe5b60108790556040805188815290517fc1a9618cb59ebca77cbdbc2949f126823c407ff13edb285fd0262519a9c18e8c9181900360200190a150505050505050505050565b600080546040805163071b32b560e31b81526004810185905290516001600160a01b039092169283926338d995a892602480820193929182900301818387803b158015612a4a57600080fd5b505af1158015612a5e573d6000803e3d6000fd5b50505050612a6b8261341e565b60065460408051632770a7eb60e21b81523060048201526024810185905290516001600160a01b0390921691639dc29fac9160448082019260009290919082900301818387803b158015612abe57600080fd5b505af1158015612ad2573d6000803e3d6000fd5b5050604080516364a197f360e01b81523060048201526024810187905290516001600160a01b03851693506364a197f39250604480830192600092919082900301818387803b158015612b2457600080fd5b505af115801561187d573d6000803e3d6000fd5b6080810151606082015182516020808501516001600160801b03808616600090815260128452604080822092871682529190935282205491949392918590612b86908463ffffffff611f7d16565b6001600160801b03808716600090815260126020526040812092935091612be991633b9aca0091908490612bc3908a16600163ffffffff61347416565b6001600160801b031681526020810191909152604001600020549063ffffffff612fd516565b90506000612c1b670de0b6b3a764000061151b8681612c0e888863ffffffff610ab916565b8f9063ffffffff612f7c16565b9a9950505050505050505050565b6001600160a01b0381166000908152600d602052604090206001015460ff1615611ef05760405162461bcd60e51b81526004018080602001828103825260398152602001806137d86039913960400191505060405180910390fd5b6001600160a01b0381166000908152600b60205260409020548015610e255760405162461bcd60e51b81526004018080602001828103825260288152602001806138116028913960400191505060405180910390fd5b670de0b6b3a7640000811115611ef05760405162461bcd60e51b815260040180806020018281038252603381526020018061375f6033913960400191505060405180910390fd5b6001600160a01b0381166000908152600d602052604090206001015460ff1680612d5257506001600160a01b038116155b611ef05760405162461bcd60e51b81526004018080602001828103825260468152602001806136166046913960600191505060405180910390fd5b60008111611ef05760405162461bcd60e51b81526004018080602001828103825260268152602001806137926026913960400191505060405180910390fd5b6001600160a01b038281166000818152600b602052604080822060010180546001600160a01b0319169486169485179055517f094c08e96a8890877a8390b4f967180a7507ad8622244d05fcd0f9f8e086564e9190a35050565b60065460408051632ee65eeb60e21b81526001600160a01b038581166004830152306024830152604482018590529151919092169163bb997bac91606480830192600092919082900301818387803b158015612e8157600080fd5b505af1158015612e95573d6000803e3d6000fd5b5050600a5460009250612eaf91508363ffffffff610ab916565b600a8190556040805182815290519192507fa8e886449d8f7e765877b4a4f54632da3943ae454d5a272bdccb1781f086ff29919081900360200190a1505050565b608081015160608201516040808401516020808601516001600160801b03808716600090815260138452858120918716815292529281205490949392908590612f3f908463ffffffff611f7d16565b6001600160801b03808716600090815260136020526040812092935091612be991633b9aca0091908490612bc3908a16600163ffffffff61347416565b600082612f8b57506000610b16565b82820282848281612f9857fe5b0414610b135760405162461bcd60e51b815260040180806020018281038252602181526020018061373e6021913960400191505060405180910390fd5b6000610b1383836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506134c4565b6001600160a01b038116613072576040805162461bcd60e51b815260206004820152601e60248201527f4163636f756e742063616e6e6f74206265207a65726f20616464726573730000604482015290519081900360640190fd5b803b80610e25576040805162461bcd60e51b815260206004820181905260248201527f4163636f756e7420636f64652073697a652063616e6e6f74206265207a65726f604482015290519081900360640190fd5b6003546040516000916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600380546001600160a01b0319169055565b600554604080516321e3780160e01b81526001600160a01b038481166004830152915191909216916321e37801916024808301926020929190829003018186803b15801561315d57600080fd5b505afa158015613171573d6000803e3d6000fd5b505050506040513d602081101561318757600080fd5b5051600114611ef05760405162461bcd60e51b81526004018080602001828103825260468152602001806135d06046913960600191505060405180910390fd5b60006131d282610e29565b905060008111610e255760405162461bcd60e51b81526004018080602001828103825260318152602001806136a36031913960400191505060405180910390fd5b6000826001600160801b0316826001600160801b031611156132665760405162461bcd60e51b81526004018080602001828103825260288152602001806138896028913960400191505060405180910390fd5b50900390565b600a5480158061327a575081155b156132855750611ef0565b60006132918383613529565b905060006132aa60105483612f7c90919063ffffffff16565b6011546001600160801b03600160801b8204811660009081526013602090815260408083209390941682529190915220549091506132ee908263ffffffff610ab916565b601180546001600160801b03600160801b808304821660009081526013602081815260408084209686168452958152858320979097559454918204831680825294865283812091909216808352908552908290205482519081529384019290925282810191909152517f2d6127771b164a9cc8827d24b5955db2a77e7a81dac389107ebb8bce9fb649689181900360600190a150505050565b600081848411156134165760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156133db5781810151838201526020016133c3565b50505050905090810190601f1680156134085780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b600a54600090613434908363ffffffff611f7d16565b600a8190556040805182815290519192507fa8e886449d8f7e765877b4a4f54632da3943ae454d5a272bdccb1781f086ff29919081900360200190a15050565b60008282016001600160801b038085169082161015610b135760405162461bcd60e51b81526004018080602001828103825260258152602001806138b16025913960400191505060405180910390fd5b600081836135135760405162461bcd60e51b81526020600482018181528351602484015283519092839260449091019190850190808383600083156133db5781810151838201526020016133c3565b50600083858161351f57fe5b0495945050505050565b60008061354d601454612631670de0b6b3a764000087612f7c90919063ffffffff16565b90506000613561828563ffffffff612fd516565b9050613583613576828663ffffffff612f7c16565b839063ffffffff611f7d16565b601455949350505050565b6040518060a0016040528060008152602001600081526020016000815260200160006001600160801b0316815260200160006001600160801b03168152509056fe53746162696c697479506f6f6c3a2063616c6c6572206d757374206861766520616e206163746976652074726f766520746f207769746864726177204554484761696e20746f53746162696c697479506f6f6c3a20546167206d757374206265206120726567697374657265642066726f6e7420656e642c206f7220746865207a65726f206164647265737353746162696c697479506f6f6c3a2043616c6c6572206973206e6f7420416374697665506f6f6cceb6d671277d4354fd29977ada70695fbd93a16612abf765d6b0e25c28dc6db353746162696c697479506f6f6c3a2063616c6c6572206d7573742068617665206e6f6e2d7a65726f20455448204761696ebce78369dccab09eec1986f4d409ab09ffbb47d65423e5148fcf98411c5111c953746162696c697479506f6f6c3a2043616c6c6572206973206e6f742054726f76654d616e6167657253746162696c697479506f6f6c3a2073656e64696e6720455448206661696c6564536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7753746162696c697479506f6f6c3a204b69636b6261636b2072617465206d75737420626520696e2072616e6765205b302c315d53746162696c697479506f6f6c3a20416d6f756e74206d757374206265206e6f6e2d7a65726f51457222ebca92c335c9c86e2baa1cc0e40ffaa9084a51452980d5ba8dec2f6353746162696c697479506f6f6c3a206d757374206e6f7420616c7265616479206265206120726567697374657265642066726f6e7420656e6453746162696c697479506f6f6c3a2055736572206d7573742068617665206e6f206465706f73697453746162696c697479506f6f6c3a2055736572206d75737420686176652061206e6f6e2d7a65726f206465706f73697499920012339b5a3368d3a04b8606ce412c46ed92b7dcd8602d41fc8862cb8f254c697175697479536166654d6174683132383a207375627472616374696f6e206f766572666c6f774c697175697479536166654d6174683132383a206164646974696f6e206f766572666c6f7753746162696c697479506f6f6c3a2043616e6e6f74207769746864726177207768696c65207468657265206172652074726f766573207769746820494352203c204d4352a26469706673582212209e32d74e76fb327282c889236c5cee76bddb4f75875ef390de0a5143548fc4d264736f6c634300060b0033", - "deployedBytecode": "0x6080604052600436106102a25760003560e01c806382e0a57411610165578063ae918754116100cc578063df9cd84f11610085578063df9cd84f146108f7578063eaa8ba7f1461092a578063f3af7c3b1461098f578063f5f1595d14610997578063f92d3433146109ca578063fc7e286d146109df578063fda0101a14610a33576102e9565b8063ae9187541461085b578063b83f91a214610870578063ce4b5bbe14610885578063cef941e81461089a578063d4ca0575146108af578063d7fb0443146108e2576102e9565b806395fb16bb1161011e57806395fb16bb146107465780639bf2f1ac1461075b578063a20baee6146105c1578063a3f4df7e14610770578063a4e59ac8146107fa578063a7bfff971461080f576102e9565b806382e0a5741461067057806386da0824146106ab578063887105d3146106de5780638b8fbd92146106f35780638da5cb5b146107085780638f32d59b1461071d576102e9565b8063538153ca11610209578063741bef1a116101c2578063741bef1a146105d657806376671808146105eb57806377553ad41461061c578063794e572414610631578063795d26c3146106465780637f7dde4a1461065b576102e9565b8063538153ca14610501578063556be101146105165780635733d58f146105405780635d2de642146105555780635f788d651461058857806372fe25aa146105c1576102e9565b80632e86bbd81161025b5780632e86bbd81461042e578063335525ad14610443578063389e92a5146104735780633cc74225146104a65780633d83908a146104d75780634870dd9a146104ec576102e9565b806314f6c3be146102ee57806316b9d3c5146103155780631bf435551461037f5780631cdc47001461039457806328a0a04d146103c75780632e54bf9514610402576102e9565b366102e9576102af610a6e565b6009546102c2903463ffffffff610ab916565b600981905560408051918252516000805160206136838339815191529181900360200190a1005b600080fd5b3480156102fa57600080fd5b50610303610b1c565b60408051918252519081900360200190f35b34801561032157600080fd5b506103486004803603602081101561033857600080fd5b50356001600160a01b0316610b22565b604080519586526020860194909452848401929092526001600160801b039081166060850152166080830152519081900360a00190f35b34801561038b57600080fd5b50610303610b5d565b3480156103a057600080fd5b50610303600480360360208110156103b757600080fd5b50356001600160a01b0316610b6a565b3480156103d357600080fd5b50610303600480360360408110156103ea57600080fd5b506001600160801b0381358116916020013516610c12565b34801561040e57600080fd5b5061042c6004803603602081101561042557600080fd5b5035610c2f565b005b34801561043a57600080fd5b50610303610db8565b34801561044f57600080fd5b5061042c6004803603604081101561046657600080fd5b5080359060200135610dc5565b34801561047f57600080fd5b506103036004803603602081101561049657600080fd5b50356001600160a01b0316610e29565b3480156104b257600080fd5b506104bb610ec6565b604080516001600160a01b039092168252519081900360200190f35b3480156104e357600080fd5b506104bb610ed5565b3480156104f857600080fd5b50610303610ee4565b34801561050d57600080fd5b50610303610ee9565b34801561052257600080fd5b5061042c6004803603602081101561053957600080fd5b5035610eef565b34801561054c57600080fd5b50610303610f64565b34801561056157600080fd5b506103036004803603602081101561057857600080fd5b50356001600160a01b0316610f70565b34801561059457600080fd5b5061042c600480360360408110156105ab57600080fd5b50803590602001356001600160a01b0316610f82565b3480156105cd57600080fd5b50610303611103565b3480156105e257600080fd5b506104bb61110f565b3480156105f757600080fd5b5061060061111e565b604080516001600160801b039092168252519081900360200190f35b34801561062857600080fd5b506104bb611134565b34801561063d57600080fd5b50610303611143565b34801561065257600080fd5b5061030361114f565b34801561066757600080fd5b506104bb611250565b34801561067c57600080fd5b506103036004803603604081101561069357600080fd5b506001600160801b038135811691602001351661125f565b3480156106b757600080fd5b50610348600480360360208110156106ce57600080fd5b50356001600160a01b031661127c565b3480156106ea57600080fd5b506103036112b7565b3480156106ff57600080fd5b50610303611373565b34801561071457600080fd5b506104bb611379565b34801561072957600080fd5b50610732611388565b604080519115158252519081900360200190f35b34801561075257600080fd5b506104bb611399565b34801561076757600080fd5b506103036113a8565b34801561077c57600080fd5b506107856113ae565b6040805160208082528351818301528351919283929083019185019080838360005b838110156107bf5781810151838201526020016107a7565b50505050905090810190601f1680156107ec5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561080657600080fd5b506106006113d7565b34801561081b57600080fd5b506108426004803603602081101561083257600080fd5b50356001600160a01b03166113e6565b6040805192835290151560208301528051918290030190f35b34801561086757600080fd5b506104bb611402565b34801561087c57600080fd5b506104bb611411565b34801561089157600080fd5b50610303611420565b3480156108a657600080fd5b50610303611428565b3480156108bb57600080fd5b50610303600480360360208110156108d257600080fd5b50356001600160a01b031661142e565b3480156108ee57600080fd5b50610303611532565b34801561090357600080fd5b506103036004803603602081101561091a57600080fd5b50356001600160a01b0316611538565b34801561093657600080fd5b5061042c600480360360e081101561094d57600080fd5b506001600160a01b038135811691602081013582169160408201358116916060810135821691608082013581169160a081013582169160c090910135166115d5565b61042c611886565b3480156109a357600080fd5b50610303600480360360208110156109ba57600080fd5b50356001600160a01b031661189e565b3480156109d657600080fd5b5061030361199b565b3480156109eb57600080fd5b50610a1260048036036020811015610a0257600080fd5b50356001600160a01b03166119a6565b604080519283526001600160a01b0390911660208301528051918290030190f35b348015610a3f57600080fd5b5061042c60048036036040811015610a5657600080fd5b506001600160a01b03813581169160200135166119c8565b6000546001600160a01b03163314610ab75760405162461bcd60e51b815260040180806020018281038252602781526020018061365c6027913960400191505060405180910390fd5b565b600082820183811015610b13576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b90505b92915050565b60095490565b600f602052600090815260409020805460018201546002830154600390930154919290916001600160801b0380821691600160801b90041685565b686194049f30f720000081565b6001600160a01b0381166000908152600b602052604081205480610b92576000915050610c0d565b610b9a61358e565b506001600160a01b0383166000908152600c60209081526040808320815160a08101835281548152600182015493810193909352600281015491830191909152600301546001600160801b038082166060840152600160801b90910416608082015290610c078383611bf8565b93505050505b919050565b601260209081526000928352604080842090915290825290205481565b8015610c3d57610c3d611cf4565b336000908152600b6020526040902054610c5681611eb1565b6008546001600160a01b0316610c6b81611ef3565b6000610c7633610e29565b90506000610c8333610b6a565b90506000610c918683611f67565b90506000610ca5868463ffffffff611f7d16565b336000818152600b60205260409020600101549192506001600160a01b0390911690610cd390879083611fbf565b6000610cde82611538565b90506000610cf2828663ffffffff611f7d16565b9050610cfe838261215e565b6040805182815233602082015281516001600160a01b03861692600080516020613869833981519152928290030190a2610d3833866122aa565b6000610d4a878763ffffffff611f7d16565b9050610d563382612330565b60408051828152905133916000805160206136d4833981519152919081900360200190a26040805189815260208101879052815133926000805160206137b8833981519152928290030190a2610dab886124b6565b5050505050505050505050565b680ad78ebc5ac620000081565b610dcd6125c2565b600a54801580610ddb575082155b15610de65750610e25565b600854610dfb906001600160a01b0316611ef3565b600080610e0984868561260b565b91509150610e178282612704565b610e2184866129fe565b5050505b5050565b6001600160a01b0381166000908152600b602052604081205480610e51576000915050610c0d565b610e5961358e565b506001600160a01b0383166000908152600c60209081526040808320815160a08101835281548152600182015493810193909352600281015491830191909152600301546001600160801b038082166060840152600160801b90910416608082015290610c078383612b38565b6001546001600160a01b031681565b6005546001600160a01b031681565b60c881565b60165481565b610ef833612c29565b610f0133612c84565b610f0a81612cda565b336000818152600d60209081526040918290208481556001908101805460ff19169091179055815184815291517f19bc932fb9e16a8b5a1e41be9f4c2de59d5ddd7567b8b81405f532ca00a9880e9281900390910190a250565b6714d1120d7b16000081565b600e6020526000908152604090205481565b610f8b81612d21565b610f9433612c29565b610f9d82612d8d565b336000908152600b60205260409020546008546001600160a01b0316610fc281611ef3565b81610fd157610fd13384612dcc565b6000610fdc33610e29565b90506000610fe933610b6a565b90506000610ffd858363ffffffff611f7d16565b336000818152600b60205260409020600101549192506001600160a01b039091169061102b90869083611fbf565b600061103682611538565b9050600061104a828b63ffffffff610ab916565b9050611056838261215e565b6040805182815233602082015281516001600160a01b03861692600080516020613869833981519152928290030190a2611090338b612e26565b60006110a2868c63ffffffff610ab916565b90506110ae3382612330565b60408051828152905133916000805160206136d4833981519152919081900360200190a26040805188815260208101879052815133926000805160206137b8833981519152928290030190a2610dab876124b6565b670de0b6b3a764000081565b6002546001600160a01b031681565b601154600160801b90046001600160801b031681565b6004546001600160a01b031681565b670f43fc2c04ee000081565b6000805460408051632f5a97e560e11b8152905183926001600160a01b031691635eb52fca916004808301926020929190829003018186803b15801561119457600080fd5b505afa1580156111a8573d6000803e3d6000fd5b505050506040513d60208110156111be57600080fd5b505160015460408051632f5a97e560e11b815290519293506000926001600160a01b0390921691635eb52fca91600480820192602092909190829003018186803b15801561120b57600080fd5b505afa15801561121f573d6000803e3d6000fd5b505050506040513d602081101561123557600080fd5b50519050611249828263ffffffff610ab916565b9250505090565b6000546001600160a01b031681565b601360209081526000928352604080842090915290825290205481565b600c602052600090815260409020805460018201546002830154600390930154919290916001600160801b0380821691600160801b90041685565b6000805460408051630a7b61df60e11b8152905183926001600160a01b0316916314f6c3be916004808301926020929190829003018186803b1580156112fc57600080fd5b505afa158015611310573d6000803e3d6000fd5b505050506040513d602081101561132657600080fd5b505160015460408051630a7b61df60e11b815290519293506000926001600160a01b03909216916314f6c3be91600480820192602092909190829003018186803b15801561120b57600080fd5b60105481565b6003546001600160a01b031690565b6003546001600160a01b0316331490565b6008546001600160a01b031681565b600a5490565b6040518060400160405280600d81526020016c14dd18589a5b1a5d1e541bdbdb609a1b81525081565b6011546001600160801b031681565b600d602052600090815260409020805460019091015460ff1682565b6007546001600160a01b031681565b6006546001600160a01b031681565b633b9aca0081565b60145481565b6001600160a01b0381166000908152600e602052604081205480611456576000915050610c0d565b6001600160a01b0383166000908152600d602052604081205490611488670de0b6b3a76400008363ffffffff611f7d16565b905061149261358e565b506001600160a01b0385166000908152600f60209081526040808320815160a08101835281548152600182015493810193909352600281015491830191909152600301546001600160801b038082166060840152600160801b90910416608082015290611527670de0b6b3a764000061151b61150e8886612ef0565b869063ffffffff612f7c16565b9063ffffffff612fd516565b979650505050505050565b60155481565b6001600160a01b0381166000908152600e602052604081205480611560576000915050610c0d565b61156861358e565b506001600160a01b0383166000908152600f60209081526040808320815160a08101835281548152600182015493810193909352600281015491830191909152600301546001600160801b038082166060840152600160801b90910416608082015290610c078383611bf8565b6115dd611388565b61162e576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b61163787613017565b61164086613017565b61164985613017565b61165284613017565b61165b83613017565b61166482613017565b61166d81613017565b600480546001600160a01b03199081166001600160a01b038a81169182179093556005805483168a85161790556000805483168985161790556006805483168885161790556007805483168785161790556002805483168685161790556008805490921692841692909217905560408051918252517f3ca631ffcd2a9b5d9ae18543fc82f58eb4ca33af9e6ab01b7a8e95331e6ed985916020908290030190a1604080516001600160a01b038816815290517f143219c9e69b09e07e095fcc889b43d8f46ca892bba65f08dc3a0050869a56789181900360200190a1604080516001600160a01b038716815290517f78f058b189175430c48dc02699e3a0031ea4ff781536dc2fab847de4babdd8829181900360200190a1604080516001600160a01b038616815290517f227eec0ec317af6ab1a9587ffa1c84332522eb4c583a908f89babc05f8f339bd9181900360200190a1604080516001600160a01b038516815290517f65f4cf077bc01e4742eb5ad98326f6e95b63548ea24b17f8d5e823111fe788009181900360200190a1604080516001600160a01b038416815290517f8c537274438aa850a330284665d81a85dd38267d09e4050d416bfc94142db2649181900360200190a1604080516001600160a01b038316815290517f3055265812fb8447b9ada4a5d804ec43bd528ec40e89c952bbc7b85dc5ac68119181900360200190a161187d6130c6565b50505050505050565b600954611899903463ffffffff610ab916565b600955565b6001600160a01b0381166000908152600b6020526040812054806118c6576000915050610c0d565b6001600160a01b038084166000908152600b602052604081206001015490911690811561190b576001600160a01b0382166000908152600d6020526040902054611915565b670de0b6b3a76400005b905061191f61358e565b506001600160a01b0385166000908152600c60209081526040808320815160a08101835281548152600182015493810193909352600281015491830191909152600301546001600160801b038082166060840152600160801b90910416608082015290611527670de0b6b3a764000061151b61150e8886612ef0565b6611c37937e0800081565b600b60205260009081526040902080546001909101546001600160a01b031682565b336000908152600b60205260409020546119e181611eb1565b6119ea33613110565b6119f3336131c7565b6008546001600160a01b0316611a0881611ef3565b6000611a1333610e29565b90506000611a2033610b6a565b90506000611a34858363ffffffff611f7d16565b336000818152600b60205260409020600101549192506001600160a01b0390911690611a6290869083611fbf565b6000611a6d82611538565b905080611a7a838261215e565b6040805182815233602082015281516001600160a01b03861692600080516020613869833981519152928290030190a2611ab43386612330565b6040805187815260208101869052815133926000805160206137b8833981519152928290030190a260408051868152905133916000805160206136d4833981519152919081900360200190a2600954611b13908763ffffffff611f7d16565b600981905560408051918252516000805160206136838339815191529181900360200190a1604080513381526020810188905281517f6109e2559dfa766aaec7118351d48a523f0a4157f49c8d68749c8ac41318ad12929181900390910190a1600480546040805163ea9638bf60e01b815233938101939093526001600160a01b038d811660248501528c81166044850152905191169163ea9638bf91899160648082019260009290919082900301818588803b158015611bd357600080fd5b505af1158015611be7573d6000803e3d6000fd5b505050505050505050505050505050565b6020810151606082015160808301516011546000939291906001600160801b03600160801b90910481169082161015611c375760009350505050610b16565b6011546000908190611c58906001600160801b03168563ffffffff61321316565b90506001600160801b038116611c8857611c818561151b6010548b612f7c90919063ffffffff16565b9150611cc0565b806001600160801b031660011415611cbb57611c81633b9aca0061151b8761151b6010548d612f7c90919063ffffffff16565b600091505b611cd488633b9aca0063ffffffff612fd516565b821015611ce957600095505050505050610b16565b509695505050505050565b60025460408051630fdb11cf60e01b815290516000926001600160a01b031691630fdb11cf91600480830192602092919082900301818787803b158015611d3a57600080fd5b505af1158015611d4e573d6000803e3d6000fd5b505050506040513d6020811015611d6457600080fd5b505160075460408051634d62283160e01b815290519293506000926001600160a01b0390921691634d62283191600480820192602092909190829003018186803b158015611db157600080fd5b505afa158015611dc5573d6000803e3d6000fd5b505050506040513d6020811015611ddb57600080fd5b505160055460408051630d293c7160e41b81526001600160a01b038085166004830152602482018790529151939450600093919092169163d293c710916044808301926020929190829003018186803b158015611e3757600080fd5b505afa158015611e4b573d6000803e3d6000fd5b505050506040513d6020811015611e6157600080fd5b50519050670f43fc2c04ee0000811015611eac5760405162461bcd60e51b81526004018080602001828103825260448152602001806138d66044913960600191505060405180910390fd5b505050565b60008111611ef05760405162461bcd60e51b81526004018080602001828103825260308152602001806138396030913960400191505060405180910390fd5b50565b6000816001600160a01b03166346ad34d96040518163ffffffff1660e01b8152600401602060405180830381600087803b158015611f3057600080fd5b505af1158015611f44573d6000803e3d6000fd5b505050506040513d6020811015611f5a57600080fd5b50519050610e258161326c565b6000818310611f765781610b13565b5090919050565b6000610b1383836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250613387565b6001600160a01b03811615612094576000611fd98261142e565b9050836001600160a01b031663614d2ab683836040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b15801561203b57600080fd5b505af115801561204f573d6000803e3d6000fd5b50506040805184815290516001600160a01b03861693507fcd2cdc1a4af71051394e9c6facd9a266b2ac5bd65d219a701eeda009f47682bf92509081900360200190a2505b600061209f8361189e565b9050836001600160a01b031663614d2ab684836040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b15801561210157600080fd5b505af1158015612115573d6000803e3d6000fd5b50506040805184815290516001600160a01b03871693507f2608b986a6ac0f6c629ca37018e80af5561e366252ae93602a96d3ab2e73e42d92509081900360200190a250505050565b6001600160a01b0382166000908152600e60205260409020819055806121ee576001600160a01b0382166000818152600f60209081526040808320838155600181018490556002810184905560030183905580518381529182019290925281517fbb1322f85cc7cc8bac4e172a5bc5dcc0c1959007f9a030032abf9258205f0e45929181900390910190a2610e25565b6011546010546001600160801b03600160801b80840482166000818152601360209081526040808320978616808452978252808320546001600160a01b038b16808552600f845293829020600181018990556002810182905560030180546001600160801b0319168a17909716958502959095179095558451868152908101849052845192959491927fbb1322f85cc7cc8bac4e172a5bc5dcc0c1959007f9a030032abf9258205f0e45929181900390910190a2505050505050565b806122b457610e25565b60065460408051631062c15f60e11b81523060048201526001600160a01b03858116602483015260448201859052915191909216916320c582be91606480830192600092919082900301818387803b15801561230f57600080fd5b505af1158015612323573d6000803e3d6000fd5b50505050610e258161341e565b6001600160a01b0382166000908152600b60205260409020819055806123de576001600160a01b0382166000818152600b60209081526040808320600190810180546001600160a01b0319169055600c83528184208481559081018490556002810184905560030183905580518381529182018390528181019290925290517f2d6cc0bcdf72c9486f6451bde6b80f44066f4558f77f44dbfedbe7d8b295225a9181900360600190a2610e25565b6011546010546001600160801b03600160801b8084048216600081815260126020908152604080832097861680845297825280832054848452601383528184208985528352818420546001600160a01b038c16808652600c855294839020600181018a90558281556002810182905560030180546001600160801b0319168b179098169686029690961790965580518781529182018690528181018590525192959493927f2d6cc0bcdf72c9486f6451bde6b80f44066f4558f77f44dbfedbe7d8b295225a916060908290030190a250505050505050565b806124c057611ef0565b6009546000906124d6908363ffffffff611f7d16565b6009819055604080518281529051919250600080516020613683833981519152919081900360200190a1604080513381526020810184905281517f6109e2559dfa766aaec7118351d48a523f0a4157f49c8d68749c8ac41318ad12929181900390910190a1604051600090339084908381818185875af1925050503d806000811461257d576040519150601f19603f3d011682016040523d82523d6000602084013e612582565b606091505b5050905080611eac5760405162461bcd60e51b815260040180806020018281038252602181526020018061371d6021913960400191505060405180910390fd5b6005546001600160a01b03163314610ab75760405162461bcd60e51b81526004018080602001828103825260298152602001806136f46029913960400191505060405180910390fd5b600080600061263d601554612631670de0b6b3a764000089612f7c90919063ffffffff16565b9063ffffffff610ab916565b90508385111561264957fe5b83851415612666576000601655670de0b6b3a764000091506126c6565b6016546000906126949061268888670de0b6b3a764000063ffffffff612f7c16565b9063ffffffff611f7d16565b90506126ab6001612631838863ffffffff612fd516565b92506126c181612688858863ffffffff612f7c16565b601655505b6126d6818563ffffffff612fd516565b92506126f86126eb848663ffffffff612f7c16565b829063ffffffff611f7d16565b60155550935093915050565b6010546000670de0b6b3a764000083111561271b57fe5b6000612735670de0b6b3a76400008563ffffffff611f7d16565b6011546001600160801b03600160801b8204811660008181526012602090815260408083209490951680835293905292832054939450909290916127798988612f7c565b9050600061278d838363ffffffff610ab916565b6001600160801b038086166000818152601260209081526040808320948b16808452948252918290208590558151858152908101929092528181019290925290519192507fe12e2cd2c9afa8069203ca07e7eff1edce4a075686d0736a8e7e0d593597b207919081900360600190a1856128c45761281b6001600160801b038516600163ffffffff61347416565b601180546001600160801b03908116600160801b938216840217918290556040805193909204168252517fb50f0f59e7cb5b421dc77581c3a9919e3806e076e5fa78a874c3f120cb7d874d916020908290030190a1601180546001600160801b0319169055604080516000815290517f1f9dfc70cd666adb18a39d60a797518f7b4febf4b6e24ef37d44f6e1e7219fbe9181900360200190a1670de0b6b3a764000096506129b0565b633b9aca006128e5670de0b6b3a764000061151b8b8a63ffffffff612f7c16565b10156129915761291b670de0b6b3a764000061151b633b9aca0061290f8c8b63ffffffff612f7c16565b9063ffffffff612f7c16565b96506129376001600160801b038616600163ffffffff61347416565b601180546001600160801b0319166001600160801b0392831617908190556040805191909216815290517f1f9dfc70cd666adb18a39d60a797518f7b4febf4b6e24ef37d44f6e1e7219fbe916020908290030190a16129b0565b6129ad670de0b6b3a764000061151b8a8963ffffffff612f7c16565b96505b600087116129ba57fe5b60108790556040805188815290517fc1a9618cb59ebca77cbdbc2949f126823c407ff13edb285fd0262519a9c18e8c9181900360200190a150505050505050505050565b600080546040805163071b32b560e31b81526004810185905290516001600160a01b039092169283926338d995a892602480820193929182900301818387803b158015612a4a57600080fd5b505af1158015612a5e573d6000803e3d6000fd5b50505050612a6b8261341e565b60065460408051632770a7eb60e21b81523060048201526024810185905290516001600160a01b0390921691639dc29fac9160448082019260009290919082900301818387803b158015612abe57600080fd5b505af1158015612ad2573d6000803e3d6000fd5b5050604080516364a197f360e01b81523060048201526024810187905290516001600160a01b03851693506364a197f39250604480830192600092919082900301818387803b158015612b2457600080fd5b505af115801561187d573d6000803e3d6000fd5b6080810151606082015182516020808501516001600160801b03808616600090815260128452604080822092871682529190935282205491949392918590612b86908463ffffffff611f7d16565b6001600160801b03808716600090815260126020526040812092935091612be991633b9aca0091908490612bc3908a16600163ffffffff61347416565b6001600160801b031681526020810191909152604001600020549063ffffffff612fd516565b90506000612c1b670de0b6b3a764000061151b8681612c0e888863ffffffff610ab916565b8f9063ffffffff612f7c16565b9a9950505050505050505050565b6001600160a01b0381166000908152600d602052604090206001015460ff1615611ef05760405162461bcd60e51b81526004018080602001828103825260398152602001806137d86039913960400191505060405180910390fd5b6001600160a01b0381166000908152600b60205260409020548015610e255760405162461bcd60e51b81526004018080602001828103825260288152602001806138116028913960400191505060405180910390fd5b670de0b6b3a7640000811115611ef05760405162461bcd60e51b815260040180806020018281038252603381526020018061375f6033913960400191505060405180910390fd5b6001600160a01b0381166000908152600d602052604090206001015460ff1680612d5257506001600160a01b038116155b611ef05760405162461bcd60e51b81526004018080602001828103825260468152602001806136166046913960600191505060405180910390fd5b60008111611ef05760405162461bcd60e51b81526004018080602001828103825260268152602001806137926026913960400191505060405180910390fd5b6001600160a01b038281166000818152600b602052604080822060010180546001600160a01b0319169486169485179055517f094c08e96a8890877a8390b4f967180a7507ad8622244d05fcd0f9f8e086564e9190a35050565b60065460408051632ee65eeb60e21b81526001600160a01b038581166004830152306024830152604482018590529151919092169163bb997bac91606480830192600092919082900301818387803b158015612e8157600080fd5b505af1158015612e95573d6000803e3d6000fd5b5050600a5460009250612eaf91508363ffffffff610ab916565b600a8190556040805182815290519192507fa8e886449d8f7e765877b4a4f54632da3943ae454d5a272bdccb1781f086ff29919081900360200190a1505050565b608081015160608201516040808401516020808601516001600160801b03808716600090815260138452858120918716815292529281205490949392908590612f3f908463ffffffff611f7d16565b6001600160801b03808716600090815260136020526040812092935091612be991633b9aca0091908490612bc3908a16600163ffffffff61347416565b600082612f8b57506000610b16565b82820282848281612f9857fe5b0414610b135760405162461bcd60e51b815260040180806020018281038252602181526020018061373e6021913960400191505060405180910390fd5b6000610b1383836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506134c4565b6001600160a01b038116613072576040805162461bcd60e51b815260206004820152601e60248201527f4163636f756e742063616e6e6f74206265207a65726f20616464726573730000604482015290519081900360640190fd5b803b80610e25576040805162461bcd60e51b815260206004820181905260248201527f4163636f756e7420636f64652073697a652063616e6e6f74206265207a65726f604482015290519081900360640190fd5b6003546040516000916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600380546001600160a01b0319169055565b600554604080516321e3780160e01b81526001600160a01b038481166004830152915191909216916321e37801916024808301926020929190829003018186803b15801561315d57600080fd5b505afa158015613171573d6000803e3d6000fd5b505050506040513d602081101561318757600080fd5b5051600114611ef05760405162461bcd60e51b81526004018080602001828103825260468152602001806135d06046913960600191505060405180910390fd5b60006131d282610e29565b905060008111610e255760405162461bcd60e51b81526004018080602001828103825260318152602001806136a36031913960400191505060405180910390fd5b6000826001600160801b0316826001600160801b031611156132665760405162461bcd60e51b81526004018080602001828103825260288152602001806138896028913960400191505060405180910390fd5b50900390565b600a5480158061327a575081155b156132855750611ef0565b60006132918383613529565b905060006132aa60105483612f7c90919063ffffffff16565b6011546001600160801b03600160801b8204811660009081526013602090815260408083209390941682529190915220549091506132ee908263ffffffff610ab916565b601180546001600160801b03600160801b808304821660009081526013602081815260408084209686168452958152858320979097559454918204831680825294865283812091909216808352908552908290205482519081529384019290925282810191909152517f2d6127771b164a9cc8827d24b5955db2a77e7a81dac389107ebb8bce9fb649689181900360600190a150505050565b600081848411156134165760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156133db5781810151838201526020016133c3565b50505050905090810190601f1680156134085780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b600a54600090613434908363ffffffff611f7d16565b600a8190556040805182815290519192507fa8e886449d8f7e765877b4a4f54632da3943ae454d5a272bdccb1781f086ff29919081900360200190a15050565b60008282016001600160801b038085169082161015610b135760405162461bcd60e51b81526004018080602001828103825260258152602001806138b16025913960400191505060405180910390fd5b600081836135135760405162461bcd60e51b81526020600482018181528351602484015283519092839260449091019190850190808383600083156133db5781810151838201526020016133c3565b50600083858161351f57fe5b0495945050505050565b60008061354d601454612631670de0b6b3a764000087612f7c90919063ffffffff16565b90506000613561828563ffffffff612fd516565b9050613583613576828663ffffffff612f7c16565b839063ffffffff611f7d16565b601455949350505050565b6040518060a0016040528060008152602001600081526020016000815260200160006001600160801b0316815260200160006001600160801b03168152509056fe53746162696c697479506f6f6c3a2063616c6c6572206d757374206861766520616e206163746976652074726f766520746f207769746864726177204554484761696e20746f53746162696c697479506f6f6c3a20546167206d757374206265206120726567697374657265642066726f6e7420656e642c206f7220746865207a65726f206164647265737353746162696c697479506f6f6c3a2043616c6c6572206973206e6f7420416374697665506f6f6cceb6d671277d4354fd29977ada70695fbd93a16612abf765d6b0e25c28dc6db353746162696c697479506f6f6c3a2063616c6c6572206d7573742068617665206e6f6e2d7a65726f20455448204761696ebce78369dccab09eec1986f4d409ab09ffbb47d65423e5148fcf98411c5111c953746162696c697479506f6f6c3a2043616c6c6572206973206e6f742054726f76654d616e6167657253746162696c697479506f6f6c3a2073656e64696e6720455448206661696c6564536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7753746162696c697479506f6f6c3a204b69636b6261636b2072617465206d75737420626520696e2072616e6765205b302c315d53746162696c697479506f6f6c3a20416d6f756e74206d757374206265206e6f6e2d7a65726f51457222ebca92c335c9c86e2baa1cc0e40ffaa9084a51452980d5ba8dec2f6353746162696c697479506f6f6c3a206d757374206e6f7420616c7265616479206265206120726567697374657265642066726f6e7420656e6453746162696c697479506f6f6c3a2055736572206d7573742068617665206e6f206465706f73697453746162696c697479506f6f6c3a2055736572206d75737420686176652061206e6f6e2d7a65726f206465706f73697499920012339b5a3368d3a04b8606ce412c46ed92b7dcd8602d41fc8862cb8f254c697175697479536166654d6174683132383a207375627472616374696f6e206f766572666c6f774c697175697479536166654d6174683132383a206164646974696f6e206f766572666c6f7753746162696c697479506f6f6c3a2043616e6e6f74207769746864726177207768696c65207468657265206172652074726f766573207769746820494352203c204d4352a26469706673582212209e32d74e76fb327282c889236c5cee76bddb4f75875ef390de0a5143548fc4d264736f6c634300060b0033", + "bytecode": "0x60806040523480156200001157600080fd5b5062000026336001600160e01b036200002c16565b62000150565b6001600160a01b0381166200005e5760405162461bcd60e51b815260040162000055906200010e565b60405180910390fd5b6001600160a01b0381166200007b6001600160e01b03620000d016565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000604051620000c090620000f1565b6040519081900390209190915550565b600080604051620000e190620000f1565b6040519081900390205492915050565b7035b2bc9737bbb730b136329737bbb732b960791b815260110190565b60208082526022908201527f4f776e61626c653a3a7365744f776e65723a20696e76616c6964206164647265604082015261737360f01b606082015260800190565b61439e80620001606000396000f3fe6080604052600436106102975760003560e01c806386da08241161015a578063b71d3bf3116100c1578063d7fb04431161007a578063d7fb044314610768578063df9cd84f1461077d578063ec9f7d461461079d578063f3af7c3b146107b2578063fc7e286d146107ba578063fda0101a146107e8576102e2565b8063b71d3bf3146106c9578063bdaf37ea146106de578063c0a90828146106f3578063c3a34a0e14610713578063ce4b5bbe14610733578063d733cfd014610748576102e2565b8063a20baee611610113578063a20baee6146104d1578063a3f4df7e1461063a578063a4e59ac81461065c578063a7bfff9714610671578063ae9187541461069f578063b31ee965146106b4576102e2565b806386da0824146105b1578063887105d3146105d1578063893d20e8146105e65780638b8fbd92146105fb57806395fb16bb146106105780639f07067014610625576102e2565b8063556be101116101fe57806376671808116101b7578063766718081461051057806377553ad414610532578063795d26c3146105475780637f7dde4a1461055c57806382e0a574146105715780638692a8a214610591576102e2565b8063556be101146104715780635d2de642146104915780635f788d65146104b157806372fe25aa146104d1578063741bef1a146104e6578063759b3034146104fb576102e2565b80632e54bf95116102505780632e54bf95146103ba578063335525ad146103da578063389e92a5146103fa5780633cc742251461041a5780633d83908a1461043c57806340ed1afd14610451576102e2565b80630fbfe38b146102e757806313af40351461030957806314f6c3be1461032957806316b9d3c5146103545780631bf435551461038557806328a0a04d1461039a576102e2565b366102e2576102a4610808565b6009546102b7903463ffffffff61083d16565b60098190556040516000805160206142e9833981519152916102d891614255565b60405180910390a1005b600080fd5b3480156102f357600080fd5b506103076103023660046138d6565b61086b565b005b34801561031557600080fd5b5061030761032436600461376a565b610a6b565b34801561033557600080fd5b5061033e610aaf565b60405161034b9190614255565b60405180910390f35b34801561036057600080fd5b5061037461036f36600461376a565b610ab5565b60405161034b9594939291906142a4565b34801561039157600080fd5b5061033e610af0565b3480156103a657600080fd5b5061033e6103b53660046138a2565b610afd565b3480156103c657600080fd5b506103076103d53660046138d6565b610b1a565b3480156103e657600080fd5b506103076103f5366004613960565b610b28565b34801561040657600080fd5b5061033e61041536600461376a565b610b8b565b34801561042657600080fd5b5061042f610c33565b60405161034b91906139c2565b34801561044857600080fd5b5061042f610c42565b34801561045d57600080fd5b5061033e61046c36600461376a565b610c51565b34801561047d57600080fd5b5061030761048c3660046138d6565b610cee565b34801561049d57600080fd5b5061033e6104ac36600461376a565b610d66565b3480156104bd57600080fd5b506103076104cc366004613906565b610d78565b3480156104dd57600080fd5b5061033e610d82565b3480156104f257600080fd5b5061042f610d8e565b34801561050757600080fd5b5061033e610d9d565b34801561051c57600080fd5b50610525610daa565b60405161034b9190614241565b34801561053e57600080fd5b5061042f610dc0565b34801561055357600080fd5b5061033e610dcf565b34801561056857600080fd5b5061042f610eee565b34801561057d57600080fd5b5061033e61058c3660046138a2565b610efd565b34801561059d57600080fd5b5061033e6105ac36600461376a565b610f1a565b3480156105bd57600080fd5b506103746105cc36600461376a565b61101e565b3480156105dd57600080fd5b5061033e611059565b3480156105f257600080fd5b5061042f611128565b34801561060757600080fd5b5061033e611147565b34801561061c57600080fd5b5061042f61114d565b34801561063157600080fd5b5061042f61115c565b34801561064657600080fd5b5061064f61116b565b60405161034b9190613adf565b34801561066857600080fd5b50610525611194565b34801561067d57600080fd5b5061069161068c36600461376a565b6111a3565b60405161034b929190614275565b3480156106ab57600080fd5b5061042f6111bf565b3480156106c057600080fd5b5061033e6111ce565b3480156106d557600080fd5b5061033e6111d4565b3480156106ea57600080fd5b5061033e6111da565b3480156106ff57600080fd5b5061033e61070e36600461376a565b6111e0565b34801561071f57600080fd5b5061030761072e36600461392a565b6112dd565b34801561073f57600080fd5b5061033e611381565b34801561075457600080fd5b506103076107633660046137da565b611389565b34801561077457600080fd5b5061033e61161b565b34801561078957600080fd5b5061033e61079836600461376a565b611621565b3480156107a957600080fd5b5061042f6116be565b6103076116cd565b3480156107c657600080fd5b506107da6107d536600461376a565b6116e5565b60405161034b92919061425e565b3480156107f457600080fd5b506103076108033660046137a2565b611707565b6000546001600160a01b0316331461083b5760405162461bcd60e51b815260040161083290613cd7565b60405180910390fd5b565b6000828201838110156108625760405162461bcd60e51b815260040161083290613be7565b90505b92915050565b6000600460009054906101000a90046001600160a01b03166001600160a01b031663e9fc34616040518163ffffffff1660e01b815260040160206040518083038186803b1580156108bb57600080fd5b505afa1580156108cf573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108f39190613786565b90506000610901833061194d565b60065460405163095ea7b360e01b81529192506001600160a01b03169063095ea7b3906109349085908590600401613a5e565b602060405180830381600087803b15801561094e57600080fd5b505af1158015610962573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109869190613882565b6109a25760405162461bcd60e51b81526004016108329061406e565b60065460405163438b1b4b60e01b81526001600160a01b038481169263438b1b4b926109d8929091169085903390600401613a98565b602060405180830381600087803b1580156109f257600080fd5b505af1158015610a06573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a2a91906138ee565b507f2b0fbec1c4e7e30517f196a714775ffe72770d2348f5d586854bb3c0fdf41df8338483604051610a5e93929190613a77565b60405180910390a1505050565b610a73611128565b6001600160a01b0316336001600160a01b031614610aa35760405162461bcd60e51b815260040161083290613f9c565b610aac81611b18565b50565b60095490565b600f602052600090815260409020805460018201546002830154600390930154919290916001600160801b0380821691600160801b90041685565b6809c2007651b250000081565b601260209081526000928352604080842090915290825290205481565b610b24813361194d565b5050565b610b30611ba3565b600a54801580610b3e575082155b15610b495750610b24565b600854610b5e906001600160a01b0316611bcd565b600080610b6c848685611c4d565b91509150610b7a8282611d46565b610b848486612047565b5050505050565b6001600160a01b0381166000908152600b602052604081205480610bb3576000915050610c2e565b610bbb613712565b506001600160a01b0383166000908152600c60209081526040808320815160a08101835281548152600182015493810193909352600281015491830191909152600301546001600160801b038082166060840152600160801b90910416608082015290610c28838361217d565b93505050505b919050565b6001546001600160a01b031681565b6005546001600160a01b031681565b6001600160a01b0381166000908152600b602052604081205480610c79576000915050610c2e565b610c81613712565b506001600160a01b0383166000908152600c60209081526040808320815160a08101835281548152600182015493810193909352600281015491830191909152600301546001600160801b038082166060840152600160801b90910416608082015290610c28838361226e565b610cf73361236a565b610d00336123a6565b610d09816123dd565b336000818152600d6020526040908190208381556001908101805460ff19169091179055517f19bc932fb9e16a8b5a1e41be9f4c2de59d5ddd7567b8b81405f532ca00a9880e90610d5b908490614255565b60405180910390a250565b600e6020526000908152604090205481565b610b248282612405565b670de0b6b3a764000081565b6002546001600160a01b031681565b6801158e460913d0000081565b601154600160801b90046001600160801b031681565b6004546001600160a01b031681565b60008054604080516272c7d360e71b8152905183926001600160a01b031691633963e980916004808301926020929190829003018186803b158015610e1357600080fd5b505afa158015610e27573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e4b91906138ee565b90506000600160009054906101000a90046001600160a01b03166001600160a01b0316633963e9806040518163ffffffff1660e01b815260040160206040518083038186803b158015610e9d57600080fd5b505afa158015610eb1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ed591906138ee565b9050610ee7828263ffffffff61083d16565b9250505090565b6000546001600160a01b031681565b601360209081526000928352604080842090915290825290205481565b6001600160a01b0381166000908152600e602052604081205480610f42576000915050610c2e565b6001600160a01b0383166000908152600d602052604081205490610f74670de0b6b3a76400008363ffffffff6125a816565b9050610f7e613712565b506001600160a01b0385166000908152600f60209081526040808320815160a08101835281548152600182015493810193909352600281015491830191909152600301546001600160801b038082166060840152600160801b90910416608082015290611013670de0b6b3a7640000611007610ffa88866125ea565b869063ffffffff61267616565b9063ffffffff6126b016565b979650505050505050565b600c602052600090815260409020805460018201546002830154600390930154919290916001600160801b0380821691600160801b90041685565b6000805460408051630a7b61df60e11b8152905183926001600160a01b0316916314f6c3be916004808301926020929190829003018186803b15801561109e57600080fd5b505afa1580156110b2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110d691906138ee565b90506000600160009054906101000a90046001600160a01b03166001600160a01b03166314f6c3be6040518163ffffffff1660e01b815260040160206040518083038186803b158015610e9d57600080fd5b600080604051611137906139a5565b6040519081900390205492915050565b60105481565b6008546001600160a01b031681565b6003546001600160a01b031681565b6040518060400160405280600d81526020016c14dd18589a5b1a5d1e541bdbdb609a1b81525081565b6011546001600160801b031681565b600d602052600090815260409020805460019091015460ff1682565b6007546001600160a01b031681565b60165481565b60145481565b600a5490565b6001600160a01b0381166000908152600b602052604081205480611208576000915050610c2e565b6001600160a01b038084166000908152600b602052604081206001015490911690811561124d576001600160a01b0382166000908152600d6020526040902054611257565b670de0b6b3a76400005b9050611261613712565b506001600160a01b0385166000908152600c60209081526040808320815160a08101835281548152600182015493810193909352600281015491830191909152600301546001600160801b038082166060840152600160801b90910416608082015290611013670de0b6b3a7640000611007610ffa88866125ea565b600480546040805163e9fc346160e01b8152905160009361136f936001600160a01b03169263e9fc34619281830192602092829003018186803b15801561132357600080fd5b505afa158015611337573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061135b9190613786565b60065485906001600160a01b0316856126f2565b905061137c816000612405565b505050565b633b9aca0081565b611391611128565b6001600160a01b0316336001600160a01b0316146113c15760405162461bcd60e51b815260040161083290613f9c565b6113ca88612997565b6113d387612997565b6113dc86612997565b6113e585612997565b6113ee84612997565b6113f783612997565b61140082612997565b61140981612997565b670de0b6b3a7640000601055600380546001600160a01b03199081166001600160a01b038b8116919091179092556004805482168a8416179055600580548216898416179055600080548216888416179055600680548216878416179055600780548216868416179055600280548216858416179055600880549091169183169190911790556040517f3ca631ffcd2a9b5d9ae18543fc82f58eb4ca33af9e6ab01b7a8e95331e6ed985906114bf9089906139c2565b60405180910390a17f143219c9e69b09e07e095fcc889b43d8f46ca892bba65f08dc3a0050869a5678866040516114f691906139c2565b60405180910390a17f78f058b189175430c48dc02699e3a0031ea4ff781536dc2fab847de4babdd8828560405161152d91906139c2565b60405180910390a17fcdf33850c44a1a874b5fefb51dae615ac6afebd581ef90d571f81b06541d8e9d8460405161156491906139c2565b60405180910390a17f65f4cf077bc01e4742eb5ad98326f6e95b63548ea24b17f8d5e823111fe788008360405161159b91906139c2565b60405180910390a17f8c537274438aa850a330284665d81a85dd38267d09e4050d416bfc94142db264826040516115d291906139c2565b60405180910390a17f3055265812fb8447b9ada4a5d804ec43bd528ec40e89c952bbc7b85dc5ac68118160405161160991906139c2565b60405180910390a15050505050505050565b60155481565b6001600160a01b0381166000908152600e602052604081205480611649576000915050610c2e565b611651613712565b506001600160a01b0383166000908152600f60209081526040808320815160a08101835281548152600182015493810193909352600281015491830191909152600301546001600160801b038082166060840152600160801b90910416608082015290610c28838361226e565b6006546001600160a01b031681565b6009546116e0903463ffffffff61083d16565b600955565b600b60205260009081526040902080546001909101546001600160a01b031682565b336000908152600b6020526040902054611720816129dc565b611729336129fc565b61173233612a9b565b6008546001600160a01b031661174781611bcd565b600061175233610b8b565b9050600061175f33610c51565b90506000611773858363ffffffff6125a816565b336000818152600b60205260409020600101549192506001600160a01b03909116906117a190869083612ac8565b60006117ac82611621565b9050806117b98382612c3d565b826001600160a01b031660008051602061434983398151915282336040516117e292919061425e565b60405180910390a26117f43386612d85565b336001600160a01b0316600080516020614329833981519152878660405161181d929190613abb565b60405180910390a2336001600160a01b03166000805160206143098339815191528660405161184c9190614255565b60405180910390a2600954611867908763ffffffff6125a816565b60098190556040516000805160206142e98339815191529161188891614255565b60405180910390a17f6109e2559dfa766aaec7118351d48a523f0a4157f49c8d68749c8ac41318ad1233876040516118c1929190613a5e565b60405180910390a1600460009054906101000a90046001600160a01b03166001600160a01b031663ea9638bf87338d8d6040518563ffffffff1660e01b815260040161190f939291906139d6565b6000604051808303818588803b15801561192857600080fd5b505af115801561193c573d6000803e3d6000fd5b505050505050505050505050505050565b60006001600160a01b0382166119755760405162461bcd60e51b815260040161083290613eb3565b821561198357611983612efa565b336000908152600b602052604090205461199c816129dc565b6008546001600160a01b03166119b181611bcd565b60006119bc33610b8b565b905060006119c933610c51565b905060006119d78883613131565b905060006119eb868463ffffffff6125a816565b336000818152600b60205260409020600101549192506001600160a01b0390911690611a1990879083612ac8565b6000611a2482611621565b90506000611a38828663ffffffff6125a816565b9050611a448382612c3d565b826001600160a01b03166000805160206143498339815191528233604051611a6d92919061425e565b60405180910390a2611a7f8b86613147565b6000611a91878763ffffffff6125a816565b9050611a9d3382612d85565b336001600160a01b031660008051602061430983398151915282604051611ac49190614255565b60405180910390a2336001600160a01b03166000805160206143298339815191528987604051611af5929190613abb565b60405180910390a2611b0788336131c0565b50939b9a5050505050505050505050565b6001600160a01b038116611b3e5760405162461bcd60e51b815260040161083290613d1e565b806001600160a01b0316611b50611128565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000604051611b93906139a5565b6040519081900390209190915550565b6005546001600160a01b0316331461083b5760405162461bcd60e51b815260040161083290613de8565b6000816001600160a01b031663e59be5866040518163ffffffff1660e01b8152600401602060405180830381600087803b158015611c0a57600080fd5b505af1158015611c1e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c4291906138ee565b9050610b24816132ef565b6000806000611c7f601554611c73670de0b6b3a76400008961267690919063ffffffff16565b9063ffffffff61083d16565b905083851115611c8b57fe5b83851415611ca8576000601655670de0b6b3a76400009150611d08565b601654600090611cd690611cca88670de0b6b3a764000063ffffffff61267616565b9063ffffffff6125a816565b9050611ced6001611c73838863ffffffff6126b016565b9250611d0381611cca858863ffffffff61267616565b601655505b611d18818563ffffffff6126b016565b9250611d3a611d2d848663ffffffff61267616565b829063ffffffff6125a816565b60155550935093915050565b6010546000670de0b6b3a7640000831115611d5d57fe5b6000611d77670de0b6b3a76400008563ffffffff6125a816565b6011546001600160801b03600160801b820481166000818152601260209081526040808320949095168083529390529283205493945090929091611dbb8988612676565b90506000611dcf838363ffffffff61083d16565b6001600160801b038086166000908152601260209081526040808320938a168352929052819020829055519091507fe12e2cd2c9afa8069203ca07e7eff1edce4a075686d0736a8e7e0d593597b20790611e2e90839087908990614285565b60405180910390a185611f0757611e556001600160801b038516600163ffffffff61340016565b601180546001600160801b03908116600160801b938216840217918290556040517fb50f0f59e7cb5b421dc77581c3a9919e3806e076e5fa78a874c3f120cb7d874d93611ea6930490911690614241565b60405180910390a1601180546001600160801b03191690556040517f1f9dfc70cd666adb18a39d60a797518f7b4febf4b6e24ef37d44f6e1e7219fbe90611eef90600090614241565b60405180910390a1670de0b6b3a76400009650611ff4565b633b9aca00611f28670de0b6b3a76400006110078b8a63ffffffff61267616565b1015611fd557611f5e670de0b6b3a7640000611007633b9aca00611f528c8b63ffffffff61267616565b9063ffffffff61267616565b9650611f7a6001600160801b038616600163ffffffff61340016565b601180546001600160801b0319166001600160801b0392831617908190556040517f1f9dfc70cd666adb18a39d60a797518f7b4febf4b6e24ef37d44f6e1e7219fbe92611fc8921690614241565b60405180910390a1611ff4565b611ff1670de0b6b3a76400006110078a8963ffffffff61267616565b96505b60008711611ffe57fe5b60108790556040517fc1a9618cb59ebca77cbdbc2949f126823c407ff13edb285fd0262519a9c18e8c90612033908990614255565b60405180910390a150505050505050505050565b60005460405163121cbc4d60e11b81526001600160a01b03909116908190632439789a90612079908590600401614255565b600060405180830381600087803b15801561209357600080fd5b505af11580156120a7573d6000803e3d6000fd5b505050506120b482613431565b600654604051632770a7eb60e21b81526001600160a01b0390911690639dc29fac906120e69030908690600401613a5e565b600060405180830381600087803b15801561210057600080fd5b505af1158015612114573d6000803e3d6000fd5b50506040516364a197f360e01b81526001600160a01b03841692506364a197f391506121469030908790600401613a5e565b600060405180830381600087803b15801561216057600080fd5b505af1158015612174573d6000803e3d6000fd5b50505050505050565b6080810151606082015182516020808501516001600160801b038086166000908152601284526040808220928716825291909352822054919493929185906121cb908463ffffffff6125a816565b6001600160801b0380871660009081526012602052604081209293509161222e91633b9aca0091908490612208908a16600163ffffffff61340016565b6001600160801b031681526020810191909152604001600020549063ffffffff6126b016565b90506000612260670de0b6b3a76400006110078681612253888863ffffffff61083d16565b8f9063ffffffff61267616565b9a9950505050505050505050565b6020810151606082015160808301516011546000939291906001600160801b03600160801b909104811690821610156122ad5760009350505050610865565b60115460009081906122ce906001600160801b03168563ffffffff61348b16565b90506001600160801b0381166122fe576122f7856110076010548b61267690919063ffffffff16565b9150612336565b806001600160801b031660011415612331576122f7633b9aca00611007876110076010548d61267690919063ffffffff16565b600091505b61234a88633b9aca0063ffffffff6126b016565b82101561235f57600095505050505050610865565b509695505050505050565b6001600160a01b0381166000908152600d602052604090206001015460ff1615610aac5760405162461bcd60e51b815260040161083290613fcd565b6001600160a01b0381166000908152600b60205260409020548015610b245760405162461bcd60e51b815260040161083290614026565b670de0b6b3a7640000811115610aac5760405162461bcd60e51b815260040161083290613f03565b61240e816134c5565b6124173361236a565b61242082613512565b336000908152600b60205260409020546008546001600160a01b031661244581611bcd565b81612454576124543384613532565b600061245f33610b8b565b9050600061246c33610c51565b90506000612480858363ffffffff6125a816565b336000818152600b60205260409020600101549192506001600160a01b03909116906124ae90869083612ac8565b60006124b982611621565b905060006124cd828b63ffffffff61083d16565b90506124d98382612c3d565b826001600160a01b0316600080516020614349833981519152823360405161250292919061425e565b60405180910390a2612514338b61358c565b6000612526868c63ffffffff61083d16565b90506125323382612d85565b336001600160a01b0316600080516020614309833981519152826040516125599190614255565b60405180910390a2336001600160a01b0316600080516020614329833981519152888760405161258a929190613abb565b60405180910390a261259b87613640565b5050505050505050505050565b600061086283836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061364a565b608081015160608201516040808401516020808601516001600160801b03808716600090815260138452858120918716815292529281205490949392908590612639908463ffffffff6125a816565b6001600160801b0380871660009081526013602052604081209293509161222e91633b9aca0091908490612208908a16600163ffffffff61340016565b60008261268557506000610865565b8282028284828161269257fe5b04146108625760405162461bcd60e51b815260040161083290613e72565b600061086283836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250613676565b600080856001600160a01b03166321df0da76040518163ffffffff1660e01b815260040160206040518083038186803b15801561272e57600080fd5b505afa158015612742573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127669190613786565b90506000816001600160a01b03166370a08231306040518263ffffffff1660e01b815260040161279691906139c2565b60206040518083038186803b1580156127ae57600080fd5b505afa1580156127c2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127e691906138ee565b9050306001600160a01b03831663605629d633838a893561280d60408c0160208d01613981565b8b604001358c606001356040518863ffffffff1660e01b81526004016128399796959493929190613a1d565b600060405180830381600087803b15801561285357600080fd5b505af1158015612867573d6000803e3d6000fd5b50505050866128ec83856001600160a01b03166370a08231856040518263ffffffff1660e01b815260040161289c91906139c2565b60206040518083038186803b1580156128b457600080fd5b505afa1580156128c8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611cca91906138ee565b146129095760405162461bcd60e51b815260040161083290613b9e565b60405163fb2c922360e01b81526001600160a01b0389169063fb2c9223906129399089908b903390600401613a98565b602060405180830381600087803b15801561295357600080fd5b505af1158015612967573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061298b91906138ee565b98975050505050505050565b6001600160a01b0381166129bd5760405162461bcd60e51b815260040161083290613d60565b803b80610b245760405162461bcd60e51b8152600401610832906140c5565b60008111610aac5760405162461bcd60e51b8152600401610832906140fa565b6005546040516321e3780160e01b81526001600160a01b03909116906321e3780190612a2c9084906004016139c2565b60206040518083038186803b158015612a4457600080fd5b505afa158015612a58573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612a7c91906138ee565b600114610aac5760405162461bcd60e51b815260040161083290613b32565b6000612aa682610b8b565b905060008111610b245760405162461bcd60e51b815260040161083290613d97565b6001600160a01b03811615612b88576000612ae282610f1a565b6040516306e6c58360e31b81529091506001600160a01b038516906337362c1890612b139085908590600401613a5e565b600060405180830381600087803b158015612b2d57600080fd5b505af1158015612b41573d6000803e3d6000fd5b50505050816001600160a01b03167fea80c5084fc812c1d3ccd3e420d32e85001442759aa2261773ffa052cbd660b682604051612b7e9190614255565b60405180910390a2505b6000612b93836111e0565b6040516306e6c58360e31b81529091506001600160a01b038516906337362c1890612bc49086908590600401613a5e565b600060405180830381600087803b158015612bde57600080fd5b505af1158015612bf2573d6000803e3d6000fd5b50505050826001600160a01b03167fc250d4f5c804eafb4ed97612e247bbc934de6fede0e59e4d263e190fb335193f82604051612c2f9190614255565b60405180910390a250505050565b6001600160a01b0382166000908152600e6020526040902081905580612cc8576001600160a01b0382166000818152600f60205260408082208281556001810183905560028101839055600301829055517fbb1322f85cc7cc8bac4e172a5bc5dcc0c1959007f9a030032abf9258205f0e4591612cbb918190613abb565b60405180910390a2610b24565b6011546010546001600160801b03600160801b80840482166000818152601360209081526040808320978616808452978252808320546001600160a01b038b16808552600f90935292819020600181018890556002810184905560030180546001600160801b0319168917909616948402949094179094559151909392907fbb1322f85cc7cc8bac4e172a5bc5dcc0c1959007f9a030032abf9258205f0e4590612d759085908590613abb565b60405180910390a2505050505050565b6001600160a01b0382166000908152600b6020526040902081905580612e23576001600160a01b0382166000818152600b60209081526040808320600190810180546001600160a01b0319169055600c909252808320838155918201839055600282018390556003909101829055517f2d6cc0bcdf72c9486f6451bde6b80f44066f4558f77f44dbfedbe7d8b295225a91612cbb9181908190613ac9565b6011546010546001600160801b03600160801b8084048216600081815260126020908152604080832097861680845297825280832054848452601383528184208985528352818420546001600160a01b038c16808652600c90945293829020600181018990558181556002810185905560030180546001600160801b0319168a1790971695850295909517909555935191949390917f2d6cc0bcdf72c9486f6451bde6b80f44066f4558f77f44dbfedbe7d8b295225a90612ee990869086908690613ac9565b60405180910390a250505050505050565b60025460408051630fdb11cf60e01b815290516000926001600160a01b031691630fdb11cf91600480830192602092919082900301818787803b158015612f4057600080fd5b505af1158015612f54573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612f7891906138ee565b90506000600760009054906101000a90046001600160a01b03166001600160a01b0316634d6228316040518163ffffffff1660e01b815260040160206040518083038186803b158015612fca57600080fd5b505afa158015612fde573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906130029190613786565b600554604051630d293c7160e41b81529192506000916001600160a01b039091169063d293c7109061303a9085908790600401613a5e565b60206040518083038186803b15801561305257600080fd5b505afa158015613066573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061308a91906138ee565b9050600360009054906101000a90046001600160a01b03166001600160a01b031663794e57246040518163ffffffff1660e01b815260040160206040518083038186803b1580156130da57600080fd5b505afa1580156130ee573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061311291906138ee565b81101561137c5760405162461bcd60e51b8152600401610832906141d7565b60008183106131405781610862565b5090919050565b8061315157610b24565b600654604051631062c15f60e11b81526001600160a01b03909116906320c582be90613185903090869086906004016139f9565b600060405180830381600087803b15801561319f57600080fd5b505af11580156131b3573d6000803e3d6000fd5b50505050610b2481613431565b6001600160a01b0381166131e65760405162461bcd60e51b815260040161083290613c1e565b816131f057610b24565b600954600090613206908463ffffffff6125a816565b9050806009819055506000805160206142e98339815191528160405161322c9190614255565b60405180910390a17f6109e2559dfa766aaec7118351d48a523f0a4157f49c8d68749c8ac41318ad123384604051613265929190613a5e565b60405180910390a16000336001600160a01b031684604051613286906139a2565b60006040518083038185875af1925050503d80600081146132c3576040519150601f19603f3d011682016040523d82523d6000602084013e6132c8565b606091505b50509050806132e95760405162461bcd60e51b815260040161083290613e31565b50505050565b600a548015806132fd575081155b156133085750610aac565b600061331483836136ad565b9050600061332d6010548361267690919063ffffffff16565b6011546001600160801b03600160801b820481166000908152601360209081526040808320939094168252919091522054909150613371908263ffffffff61083d16565b601180546001600160801b03600160801b80830482166000908152601360208181526040808420968616845295815285832097909755945491820483168082529486528381209190921680835294528190205490517f2d6127771b164a9cc8827d24b5955db2a77e7a81dac389107ebb8bce9fb64968936133f29391614285565b60405180910390a150505050565b60008282016001600160801b0380851690821610156108625760405162461bcd60e51b815260040161083290614192565b600a54600090613447908363ffffffff6125a816565b905080600a819055507ff3c69a10dcea5d744225cbe910fb39d6f8208bb8e21fff523d6756a7966093c78160405161347f9190614255565b60405180910390a15050565b6000826001600160801b0316826001600160801b031611156134bf5760405162461bcd60e51b81526004016108329061414a565b50900390565b6001600160a01b0381166000908152600d602052604090206001015460ff16806134f657506001600160a01b038116155b610aac5760405162461bcd60e51b815260040161083290613c6b565b60008111610aac5760405162461bcd60e51b815260040161083290613f56565b6001600160a01b038281166000818152600b602052604080822060010180546001600160a01b0319169486169485179055517f094c08e96a8890877a8390b4f967180a7507ad8622244d05fcd0f9f8e086564e9190a35050565b600654604051632ee65eeb60e21b81526001600160a01b039091169063bb997bac906135c0908590309086906004016139f9565b600060405180830381600087803b1580156135da57600080fd5b505af11580156135ee573d6000803e3d6000fd5b5050600a546000925061360891508363ffffffff61083d16565b905080600a819055507ff3c69a10dcea5d744225cbe910fb39d6f8208bb8e21fff523d6756a7966093c781604051610a5e9190614255565b610aac81336131c0565b6000818484111561366e5760405162461bcd60e51b81526004016108329190613adf565b505050900390565b600081836136975760405162461bcd60e51b81526004016108329190613adf565b5060008385816136a357fe5b0495945050505050565b6000806136d1601454611c73670de0b6b3a76400008761267690919063ffffffff16565b905060006136e5828563ffffffff6126b016565b90506137076136fa828663ffffffff61267616565b839063ffffffff6125a816565b601455949350505050565b6040518060a0016040528060008152602001600081526020016000815260200160006001600160801b0316815260200160006001600160801b031681525090565b80356001600160801b038116811461086557600080fd5b60006020828403121561377b578081fd5b8135610862816142d3565b600060208284031215613797578081fd5b8151610862816142d3565b600080604083850312156137b4578081fd5b82356137bf816142d3565b915060208301356137cf816142d3565b809150509250929050565b600080600080600080600080610100898b0312156137f6578384fd5b8835613801816142d3565b97506020890135613811816142d3565b96506040890135613821816142d3565b95506060890135613831816142d3565b94506080890135613841816142d3565b935060a0890135613851816142d3565b925060c0890135613861816142d3565b915060e0890135613871816142d3565b809150509295985092959890939650565b600060208284031215613893578081fd5b81518015158114610862578182fd5b600080604083850312156138b4578182fd5b6138be8484613753565b91506138cd8460208501613753565b90509250929050565b6000602082840312156138e7578081fd5b5035919050565b6000602082840312156138ff578081fd5b5051919050565b60008060408385031215613918578182fd5b8235915060208301356137cf816142d3565b60008082840360a081121561393d578283fd5b833592506080601f1982011215613952578182fd5b506020830190509250929050565b60008060408385031215613972578182fd5b50508035926020909101359150565b600060208284031215613992578081fd5b813560ff81168114610862578182fd5b90565b7035b2bc9737bbb730b136329737bbb732b960791b815260110190565b6001600160a01b0391909116815260200190565b6001600160a01b0393841681529183166020830152909116604082015260600190565b6001600160a01b039384168152919092166020820152604081019190915260600190565b6001600160a01b0397881681529590961660208601526040850193909352606084019190915260ff16608083015260a082015260c081019190915260e00190565b6001600160a01b03929092168252602082015260400190565b6001600160a01b039390931683526020830191909152604082015260600190565b6001600160a01b0393841681526020810192909252909116604082015260600190565b918252602082015260400190565b9283526020830191909152604082015260600190565b6000602080835283518082850152825b81811015613b0b57858101830151858201604001528201613aef565b81811115613b1c5783604083870101525b50601f01601f1916929092016040019392505050565b60208082526046908201527f53746162696c697479506f6f6c3a2063616c6c6572206d75737420686176652060408201527f616e206163746976652074726f766520746f207769746864726177204554484760608201526561696e20746f60d01b608082015260a00190565b60208082526029908201527f444c4c52207472616e7366657272656420616d6f756e742076616c69646174696040820152681bdb8819985a5b195960ba1b606082015260800190565b6020808252601b908201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604082015260600190565b6020808252602d908201527f53503a3a5f73656e644554484761696e546f3a205f726563656976657220697360408201526c207a65726f206164647265737360981b606082015260800190565b60208082526046908201527f53746162696c697479506f6f6c3a20546167206d75737420626520612072656760408201527f697374657265642066726f6e7420656e642c206f7220746865207a65726f206160608201526564647265737360d01b608082015260a00190565b60208082526027908201527f53746162696c697479506f6f6c3a2043616c6c6572206973206e6f74204163746040820152661a5d99541bdbdb60ca1b606082015260800190565b60208082526022908201527f4f776e61626c653a3a7365744f776e65723a20696e76616c6964206164647265604082015261737360f01b606082015260800190565b6020808252601e908201527f4163636f756e742063616e6e6f74206265207a65726f20616464726573730000604082015260600190565b60208082526031908201527f53746162696c697479506f6f6c3a2063616c6c6572206d7573742068617665206040820152703737b716bd32b9379022aa241023b0b4b760791b606082015260800190565b60208082526029908201527f53746162696c697479506f6f6c3a2043616c6c6572206973206e6f742054726f6040820152683b32a6b0b730b3b2b960b91b606082015260800190565b60208082526021908201527f53746162696c697479506f6f6c3a2073656e64696e6720455448206661696c656040820152601960fa1b606082015260800190565b60208082526021908201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6040820152607760f81b606082015260800190565b60208082526030908201527f53503a3a5f776974686472617746726f6d5370546f3a205f726563656976657260408201526f206973207a65726f206164647265737360801b606082015260800190565b60208082526033908201527f53746162696c697479506f6f6c3a204b69636b6261636b2072617465206d75736040820152727420626520696e2072616e6765205b302c315d60681b606082015260800190565b60208082526026908201527f53746162696c697479506f6f6c3a20416d6f756e74206d757374206265206e6f6040820152656e2d7a65726f60d01b606082015260800190565b60208082526017908201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604082015260600190565b60208082526039908201527f53746162696c697479506f6f6c3a206d757374206e6f7420616c72656164792060408201527818994818481c9959da5cdd195c995908199c9bdb9d08195b99603a1b606082015260800190565b60208082526028908201527f53746162696c697479506f6f6c3a2055736572206d7573742068617665206e6f6040820152670819195c1bdcda5d60c21b606082015260800190565b60208082526037908201527f4661696c656420746f20617070726f7665205a55534420616d6f756e7420666f60408201527672204d796e74206d417373657420746f2072656465656d60481b606082015260800190565b6020808252818101527f4163636f756e7420636f64652073697a652063616e6e6f74206265207a65726f604082015260600190565b60208082526030908201527f53746162696c697479506f6f6c3a2055736572206d757374206861766520612060408201526f1b9bdb8b5e995c9bc819195c1bdcda5d60821b606082015260800190565b60208082526028908201527f4c697175697479536166654d6174683132383a207375627472616374696f6e206040820152676f766572666c6f7760c01b606082015260800190565b60208082526025908201527f4c697175697479536166654d6174683132383a206164646974696f6e206f766560408201526472666c6f7760d81b606082015260800190565b60208082526044908201527f53746162696c697479506f6f6c3a2043616e6e6f74207769746864726177207760408201527f68696c65207468657265206172652074726f766573207769746820494352203c6060820152631026a1a960e11b608082015260a00190565b6001600160801b0391909116815260200190565b90815260200190565b9182526001600160a01b0316602082015260400190565b9182521515602082015260400190565b9283526001600160801b03918216602084015216604082015260600190565b948552602085019390935260408401919091526001600160801b03908116606084015216608082015260a00190565b6001600160a01b0381168114610aac57600080fdfeceb6d671277d4354fd29977ada70695fbd93a16612abf765d6b0e25c28dc6db3bce78369dccab09eec1986f4d409ab09ffbb47d65423e5148fcf98411c5111c951457222ebca92c335c9c86e2baa1cc0e40ffaa9084a51452980d5ba8dec2f6399920012339b5a3368d3a04b8606ce412c46ed92b7dcd8602d41fc8862cb8f25a2646970667358221220f8912683a91b4c42a5bc38109aad030673c9f16e7353cc2d048fcf04f2e7bb2c64736f6c634300060b0033", + "deployedBytecode": "0x6080604052600436106102975760003560e01c806386da08241161015a578063b71d3bf3116100c1578063d7fb04431161007a578063d7fb044314610768578063df9cd84f1461077d578063ec9f7d461461079d578063f3af7c3b146107b2578063fc7e286d146107ba578063fda0101a146107e8576102e2565b8063b71d3bf3146106c9578063bdaf37ea146106de578063c0a90828146106f3578063c3a34a0e14610713578063ce4b5bbe14610733578063d733cfd014610748576102e2565b8063a20baee611610113578063a20baee6146104d1578063a3f4df7e1461063a578063a4e59ac81461065c578063a7bfff9714610671578063ae9187541461069f578063b31ee965146106b4576102e2565b806386da0824146105b1578063887105d3146105d1578063893d20e8146105e65780638b8fbd92146105fb57806395fb16bb146106105780639f07067014610625576102e2565b8063556be101116101fe57806376671808116101b7578063766718081461051057806377553ad414610532578063795d26c3146105475780637f7dde4a1461055c57806382e0a574146105715780638692a8a214610591576102e2565b8063556be101146104715780635d2de642146104915780635f788d65146104b157806372fe25aa146104d1578063741bef1a146104e6578063759b3034146104fb576102e2565b80632e54bf95116102505780632e54bf95146103ba578063335525ad146103da578063389e92a5146103fa5780633cc742251461041a5780633d83908a1461043c57806340ed1afd14610451576102e2565b80630fbfe38b146102e757806313af40351461030957806314f6c3be1461032957806316b9d3c5146103545780631bf435551461038557806328a0a04d1461039a576102e2565b366102e2576102a4610808565b6009546102b7903463ffffffff61083d16565b60098190556040516000805160206142e9833981519152916102d891614255565b60405180910390a1005b600080fd5b3480156102f357600080fd5b506103076103023660046138d6565b61086b565b005b34801561031557600080fd5b5061030761032436600461376a565b610a6b565b34801561033557600080fd5b5061033e610aaf565b60405161034b9190614255565b60405180910390f35b34801561036057600080fd5b5061037461036f36600461376a565b610ab5565b60405161034b9594939291906142a4565b34801561039157600080fd5b5061033e610af0565b3480156103a657600080fd5b5061033e6103b53660046138a2565b610afd565b3480156103c657600080fd5b506103076103d53660046138d6565b610b1a565b3480156103e657600080fd5b506103076103f5366004613960565b610b28565b34801561040657600080fd5b5061033e61041536600461376a565b610b8b565b34801561042657600080fd5b5061042f610c33565b60405161034b91906139c2565b34801561044857600080fd5b5061042f610c42565b34801561045d57600080fd5b5061033e61046c36600461376a565b610c51565b34801561047d57600080fd5b5061030761048c3660046138d6565b610cee565b34801561049d57600080fd5b5061033e6104ac36600461376a565b610d66565b3480156104bd57600080fd5b506103076104cc366004613906565b610d78565b3480156104dd57600080fd5b5061033e610d82565b3480156104f257600080fd5b5061042f610d8e565b34801561050757600080fd5b5061033e610d9d565b34801561051c57600080fd5b50610525610daa565b60405161034b9190614241565b34801561053e57600080fd5b5061042f610dc0565b34801561055357600080fd5b5061033e610dcf565b34801561056857600080fd5b5061042f610eee565b34801561057d57600080fd5b5061033e61058c3660046138a2565b610efd565b34801561059d57600080fd5b5061033e6105ac36600461376a565b610f1a565b3480156105bd57600080fd5b506103746105cc36600461376a565b61101e565b3480156105dd57600080fd5b5061033e611059565b3480156105f257600080fd5b5061042f611128565b34801561060757600080fd5b5061033e611147565b34801561061c57600080fd5b5061042f61114d565b34801561063157600080fd5b5061042f61115c565b34801561064657600080fd5b5061064f61116b565b60405161034b9190613adf565b34801561066857600080fd5b50610525611194565b34801561067d57600080fd5b5061069161068c36600461376a565b6111a3565b60405161034b929190614275565b3480156106ab57600080fd5b5061042f6111bf565b3480156106c057600080fd5b5061033e6111ce565b3480156106d557600080fd5b5061033e6111d4565b3480156106ea57600080fd5b5061033e6111da565b3480156106ff57600080fd5b5061033e61070e36600461376a565b6111e0565b34801561071f57600080fd5b5061030761072e36600461392a565b6112dd565b34801561073f57600080fd5b5061033e611381565b34801561075457600080fd5b506103076107633660046137da565b611389565b34801561077457600080fd5b5061033e61161b565b34801561078957600080fd5b5061033e61079836600461376a565b611621565b3480156107a957600080fd5b5061042f6116be565b6103076116cd565b3480156107c657600080fd5b506107da6107d536600461376a565b6116e5565b60405161034b92919061425e565b3480156107f457600080fd5b506103076108033660046137a2565b611707565b6000546001600160a01b0316331461083b5760405162461bcd60e51b815260040161083290613cd7565b60405180910390fd5b565b6000828201838110156108625760405162461bcd60e51b815260040161083290613be7565b90505b92915050565b6000600460009054906101000a90046001600160a01b03166001600160a01b031663e9fc34616040518163ffffffff1660e01b815260040160206040518083038186803b1580156108bb57600080fd5b505afa1580156108cf573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108f39190613786565b90506000610901833061194d565b60065460405163095ea7b360e01b81529192506001600160a01b03169063095ea7b3906109349085908590600401613a5e565b602060405180830381600087803b15801561094e57600080fd5b505af1158015610962573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109869190613882565b6109a25760405162461bcd60e51b81526004016108329061406e565b60065460405163438b1b4b60e01b81526001600160a01b038481169263438b1b4b926109d8929091169085903390600401613a98565b602060405180830381600087803b1580156109f257600080fd5b505af1158015610a06573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a2a91906138ee565b507f2b0fbec1c4e7e30517f196a714775ffe72770d2348f5d586854bb3c0fdf41df8338483604051610a5e93929190613a77565b60405180910390a1505050565b610a73611128565b6001600160a01b0316336001600160a01b031614610aa35760405162461bcd60e51b815260040161083290613f9c565b610aac81611b18565b50565b60095490565b600f602052600090815260409020805460018201546002830154600390930154919290916001600160801b0380821691600160801b90041685565b6809c2007651b250000081565b601260209081526000928352604080842090915290825290205481565b610b24813361194d565b5050565b610b30611ba3565b600a54801580610b3e575082155b15610b495750610b24565b600854610b5e906001600160a01b0316611bcd565b600080610b6c848685611c4d565b91509150610b7a8282611d46565b610b848486612047565b5050505050565b6001600160a01b0381166000908152600b602052604081205480610bb3576000915050610c2e565b610bbb613712565b506001600160a01b0383166000908152600c60209081526040808320815160a08101835281548152600182015493810193909352600281015491830191909152600301546001600160801b038082166060840152600160801b90910416608082015290610c28838361217d565b93505050505b919050565b6001546001600160a01b031681565b6005546001600160a01b031681565b6001600160a01b0381166000908152600b602052604081205480610c79576000915050610c2e565b610c81613712565b506001600160a01b0383166000908152600c60209081526040808320815160a08101835281548152600182015493810193909352600281015491830191909152600301546001600160801b038082166060840152600160801b90910416608082015290610c28838361226e565b610cf73361236a565b610d00336123a6565b610d09816123dd565b336000818152600d6020526040908190208381556001908101805460ff19169091179055517f19bc932fb9e16a8b5a1e41be9f4c2de59d5ddd7567b8b81405f532ca00a9880e90610d5b908490614255565b60405180910390a250565b600e6020526000908152604090205481565b610b248282612405565b670de0b6b3a764000081565b6002546001600160a01b031681565b6801158e460913d0000081565b601154600160801b90046001600160801b031681565b6004546001600160a01b031681565b60008054604080516272c7d360e71b8152905183926001600160a01b031691633963e980916004808301926020929190829003018186803b158015610e1357600080fd5b505afa158015610e27573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e4b91906138ee565b90506000600160009054906101000a90046001600160a01b03166001600160a01b0316633963e9806040518163ffffffff1660e01b815260040160206040518083038186803b158015610e9d57600080fd5b505afa158015610eb1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ed591906138ee565b9050610ee7828263ffffffff61083d16565b9250505090565b6000546001600160a01b031681565b601360209081526000928352604080842090915290825290205481565b6001600160a01b0381166000908152600e602052604081205480610f42576000915050610c2e565b6001600160a01b0383166000908152600d602052604081205490610f74670de0b6b3a76400008363ffffffff6125a816565b9050610f7e613712565b506001600160a01b0385166000908152600f60209081526040808320815160a08101835281548152600182015493810193909352600281015491830191909152600301546001600160801b038082166060840152600160801b90910416608082015290611013670de0b6b3a7640000611007610ffa88866125ea565b869063ffffffff61267616565b9063ffffffff6126b016565b979650505050505050565b600c602052600090815260409020805460018201546002830154600390930154919290916001600160801b0380821691600160801b90041685565b6000805460408051630a7b61df60e11b8152905183926001600160a01b0316916314f6c3be916004808301926020929190829003018186803b15801561109e57600080fd5b505afa1580156110b2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110d691906138ee565b90506000600160009054906101000a90046001600160a01b03166001600160a01b03166314f6c3be6040518163ffffffff1660e01b815260040160206040518083038186803b158015610e9d57600080fd5b600080604051611137906139a5565b6040519081900390205492915050565b60105481565b6008546001600160a01b031681565b6003546001600160a01b031681565b6040518060400160405280600d81526020016c14dd18589a5b1a5d1e541bdbdb609a1b81525081565b6011546001600160801b031681565b600d602052600090815260409020805460019091015460ff1682565b6007546001600160a01b031681565b60165481565b60145481565b600a5490565b6001600160a01b0381166000908152600b602052604081205480611208576000915050610c2e565b6001600160a01b038084166000908152600b602052604081206001015490911690811561124d576001600160a01b0382166000908152600d6020526040902054611257565b670de0b6b3a76400005b9050611261613712565b506001600160a01b0385166000908152600c60209081526040808320815160a08101835281548152600182015493810193909352600281015491830191909152600301546001600160801b038082166060840152600160801b90910416608082015290611013670de0b6b3a7640000611007610ffa88866125ea565b600480546040805163e9fc346160e01b8152905160009361136f936001600160a01b03169263e9fc34619281830192602092829003018186803b15801561132357600080fd5b505afa158015611337573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061135b9190613786565b60065485906001600160a01b0316856126f2565b905061137c816000612405565b505050565b633b9aca0081565b611391611128565b6001600160a01b0316336001600160a01b0316146113c15760405162461bcd60e51b815260040161083290613f9c565b6113ca88612997565b6113d387612997565b6113dc86612997565b6113e585612997565b6113ee84612997565b6113f783612997565b61140082612997565b61140981612997565b670de0b6b3a7640000601055600380546001600160a01b03199081166001600160a01b038b8116919091179092556004805482168a8416179055600580548216898416179055600080548216888416179055600680548216878416179055600780548216868416179055600280548216858416179055600880549091169183169190911790556040517f3ca631ffcd2a9b5d9ae18543fc82f58eb4ca33af9e6ab01b7a8e95331e6ed985906114bf9089906139c2565b60405180910390a17f143219c9e69b09e07e095fcc889b43d8f46ca892bba65f08dc3a0050869a5678866040516114f691906139c2565b60405180910390a17f78f058b189175430c48dc02699e3a0031ea4ff781536dc2fab847de4babdd8828560405161152d91906139c2565b60405180910390a17fcdf33850c44a1a874b5fefb51dae615ac6afebd581ef90d571f81b06541d8e9d8460405161156491906139c2565b60405180910390a17f65f4cf077bc01e4742eb5ad98326f6e95b63548ea24b17f8d5e823111fe788008360405161159b91906139c2565b60405180910390a17f8c537274438aa850a330284665d81a85dd38267d09e4050d416bfc94142db264826040516115d291906139c2565b60405180910390a17f3055265812fb8447b9ada4a5d804ec43bd528ec40e89c952bbc7b85dc5ac68118160405161160991906139c2565b60405180910390a15050505050505050565b60155481565b6001600160a01b0381166000908152600e602052604081205480611649576000915050610c2e565b611651613712565b506001600160a01b0383166000908152600f60209081526040808320815160a08101835281548152600182015493810193909352600281015491830191909152600301546001600160801b038082166060840152600160801b90910416608082015290610c28838361226e565b6006546001600160a01b031681565b6009546116e0903463ffffffff61083d16565b600955565b600b60205260009081526040902080546001909101546001600160a01b031682565b336000908152600b6020526040902054611720816129dc565b611729336129fc565b61173233612a9b565b6008546001600160a01b031661174781611bcd565b600061175233610b8b565b9050600061175f33610c51565b90506000611773858363ffffffff6125a816565b336000818152600b60205260409020600101549192506001600160a01b03909116906117a190869083612ac8565b60006117ac82611621565b9050806117b98382612c3d565b826001600160a01b031660008051602061434983398151915282336040516117e292919061425e565b60405180910390a26117f43386612d85565b336001600160a01b0316600080516020614329833981519152878660405161181d929190613abb565b60405180910390a2336001600160a01b03166000805160206143098339815191528660405161184c9190614255565b60405180910390a2600954611867908763ffffffff6125a816565b60098190556040516000805160206142e98339815191529161188891614255565b60405180910390a17f6109e2559dfa766aaec7118351d48a523f0a4157f49c8d68749c8ac41318ad1233876040516118c1929190613a5e565b60405180910390a1600460009054906101000a90046001600160a01b03166001600160a01b031663ea9638bf87338d8d6040518563ffffffff1660e01b815260040161190f939291906139d6565b6000604051808303818588803b15801561192857600080fd5b505af115801561193c573d6000803e3d6000fd5b505050505050505050505050505050565b60006001600160a01b0382166119755760405162461bcd60e51b815260040161083290613eb3565b821561198357611983612efa565b336000908152600b602052604090205461199c816129dc565b6008546001600160a01b03166119b181611bcd565b60006119bc33610b8b565b905060006119c933610c51565b905060006119d78883613131565b905060006119eb868463ffffffff6125a816565b336000818152600b60205260409020600101549192506001600160a01b0390911690611a1990879083612ac8565b6000611a2482611621565b90506000611a38828663ffffffff6125a816565b9050611a448382612c3d565b826001600160a01b03166000805160206143498339815191528233604051611a6d92919061425e565b60405180910390a2611a7f8b86613147565b6000611a91878763ffffffff6125a816565b9050611a9d3382612d85565b336001600160a01b031660008051602061430983398151915282604051611ac49190614255565b60405180910390a2336001600160a01b03166000805160206143298339815191528987604051611af5929190613abb565b60405180910390a2611b0788336131c0565b50939b9a5050505050505050505050565b6001600160a01b038116611b3e5760405162461bcd60e51b815260040161083290613d1e565b806001600160a01b0316611b50611128565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000604051611b93906139a5565b6040519081900390209190915550565b6005546001600160a01b0316331461083b5760405162461bcd60e51b815260040161083290613de8565b6000816001600160a01b031663e59be5866040518163ffffffff1660e01b8152600401602060405180830381600087803b158015611c0a57600080fd5b505af1158015611c1e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c4291906138ee565b9050610b24816132ef565b6000806000611c7f601554611c73670de0b6b3a76400008961267690919063ffffffff16565b9063ffffffff61083d16565b905083851115611c8b57fe5b83851415611ca8576000601655670de0b6b3a76400009150611d08565b601654600090611cd690611cca88670de0b6b3a764000063ffffffff61267616565b9063ffffffff6125a816565b9050611ced6001611c73838863ffffffff6126b016565b9250611d0381611cca858863ffffffff61267616565b601655505b611d18818563ffffffff6126b016565b9250611d3a611d2d848663ffffffff61267616565b829063ffffffff6125a816565b60155550935093915050565b6010546000670de0b6b3a7640000831115611d5d57fe5b6000611d77670de0b6b3a76400008563ffffffff6125a816565b6011546001600160801b03600160801b820481166000818152601260209081526040808320949095168083529390529283205493945090929091611dbb8988612676565b90506000611dcf838363ffffffff61083d16565b6001600160801b038086166000908152601260209081526040808320938a168352929052819020829055519091507fe12e2cd2c9afa8069203ca07e7eff1edce4a075686d0736a8e7e0d593597b20790611e2e90839087908990614285565b60405180910390a185611f0757611e556001600160801b038516600163ffffffff61340016565b601180546001600160801b03908116600160801b938216840217918290556040517fb50f0f59e7cb5b421dc77581c3a9919e3806e076e5fa78a874c3f120cb7d874d93611ea6930490911690614241565b60405180910390a1601180546001600160801b03191690556040517f1f9dfc70cd666adb18a39d60a797518f7b4febf4b6e24ef37d44f6e1e7219fbe90611eef90600090614241565b60405180910390a1670de0b6b3a76400009650611ff4565b633b9aca00611f28670de0b6b3a76400006110078b8a63ffffffff61267616565b1015611fd557611f5e670de0b6b3a7640000611007633b9aca00611f528c8b63ffffffff61267616565b9063ffffffff61267616565b9650611f7a6001600160801b038616600163ffffffff61340016565b601180546001600160801b0319166001600160801b0392831617908190556040517f1f9dfc70cd666adb18a39d60a797518f7b4febf4b6e24ef37d44f6e1e7219fbe92611fc8921690614241565b60405180910390a1611ff4565b611ff1670de0b6b3a76400006110078a8963ffffffff61267616565b96505b60008711611ffe57fe5b60108790556040517fc1a9618cb59ebca77cbdbc2949f126823c407ff13edb285fd0262519a9c18e8c90612033908990614255565b60405180910390a150505050505050505050565b60005460405163121cbc4d60e11b81526001600160a01b03909116908190632439789a90612079908590600401614255565b600060405180830381600087803b15801561209357600080fd5b505af11580156120a7573d6000803e3d6000fd5b505050506120b482613431565b600654604051632770a7eb60e21b81526001600160a01b0390911690639dc29fac906120e69030908690600401613a5e565b600060405180830381600087803b15801561210057600080fd5b505af1158015612114573d6000803e3d6000fd5b50506040516364a197f360e01b81526001600160a01b03841692506364a197f391506121469030908790600401613a5e565b600060405180830381600087803b15801561216057600080fd5b505af1158015612174573d6000803e3d6000fd5b50505050505050565b6080810151606082015182516020808501516001600160801b038086166000908152601284526040808220928716825291909352822054919493929185906121cb908463ffffffff6125a816565b6001600160801b0380871660009081526012602052604081209293509161222e91633b9aca0091908490612208908a16600163ffffffff61340016565b6001600160801b031681526020810191909152604001600020549063ffffffff6126b016565b90506000612260670de0b6b3a76400006110078681612253888863ffffffff61083d16565b8f9063ffffffff61267616565b9a9950505050505050505050565b6020810151606082015160808301516011546000939291906001600160801b03600160801b909104811690821610156122ad5760009350505050610865565b60115460009081906122ce906001600160801b03168563ffffffff61348b16565b90506001600160801b0381166122fe576122f7856110076010548b61267690919063ffffffff16565b9150612336565b806001600160801b031660011415612331576122f7633b9aca00611007876110076010548d61267690919063ffffffff16565b600091505b61234a88633b9aca0063ffffffff6126b016565b82101561235f57600095505050505050610865565b509695505050505050565b6001600160a01b0381166000908152600d602052604090206001015460ff1615610aac5760405162461bcd60e51b815260040161083290613fcd565b6001600160a01b0381166000908152600b60205260409020548015610b245760405162461bcd60e51b815260040161083290614026565b670de0b6b3a7640000811115610aac5760405162461bcd60e51b815260040161083290613f03565b61240e816134c5565b6124173361236a565b61242082613512565b336000908152600b60205260409020546008546001600160a01b031661244581611bcd565b81612454576124543384613532565b600061245f33610b8b565b9050600061246c33610c51565b90506000612480858363ffffffff6125a816565b336000818152600b60205260409020600101549192506001600160a01b03909116906124ae90869083612ac8565b60006124b982611621565b905060006124cd828b63ffffffff61083d16565b90506124d98382612c3d565b826001600160a01b0316600080516020614349833981519152823360405161250292919061425e565b60405180910390a2612514338b61358c565b6000612526868c63ffffffff61083d16565b90506125323382612d85565b336001600160a01b0316600080516020614309833981519152826040516125599190614255565b60405180910390a2336001600160a01b0316600080516020614329833981519152888760405161258a929190613abb565b60405180910390a261259b87613640565b5050505050505050505050565b600061086283836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061364a565b608081015160608201516040808401516020808601516001600160801b03808716600090815260138452858120918716815292529281205490949392908590612639908463ffffffff6125a816565b6001600160801b0380871660009081526013602052604081209293509161222e91633b9aca0091908490612208908a16600163ffffffff61340016565b60008261268557506000610865565b8282028284828161269257fe5b04146108625760405162461bcd60e51b815260040161083290613e72565b600061086283836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250613676565b600080856001600160a01b03166321df0da76040518163ffffffff1660e01b815260040160206040518083038186803b15801561272e57600080fd5b505afa158015612742573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127669190613786565b90506000816001600160a01b03166370a08231306040518263ffffffff1660e01b815260040161279691906139c2565b60206040518083038186803b1580156127ae57600080fd5b505afa1580156127c2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127e691906138ee565b9050306001600160a01b03831663605629d633838a893561280d60408c0160208d01613981565b8b604001358c606001356040518863ffffffff1660e01b81526004016128399796959493929190613a1d565b600060405180830381600087803b15801561285357600080fd5b505af1158015612867573d6000803e3d6000fd5b50505050866128ec83856001600160a01b03166370a08231856040518263ffffffff1660e01b815260040161289c91906139c2565b60206040518083038186803b1580156128b457600080fd5b505afa1580156128c8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611cca91906138ee565b146129095760405162461bcd60e51b815260040161083290613b9e565b60405163fb2c922360e01b81526001600160a01b0389169063fb2c9223906129399089908b903390600401613a98565b602060405180830381600087803b15801561295357600080fd5b505af1158015612967573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061298b91906138ee565b98975050505050505050565b6001600160a01b0381166129bd5760405162461bcd60e51b815260040161083290613d60565b803b80610b245760405162461bcd60e51b8152600401610832906140c5565b60008111610aac5760405162461bcd60e51b8152600401610832906140fa565b6005546040516321e3780160e01b81526001600160a01b03909116906321e3780190612a2c9084906004016139c2565b60206040518083038186803b158015612a4457600080fd5b505afa158015612a58573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612a7c91906138ee565b600114610aac5760405162461bcd60e51b815260040161083290613b32565b6000612aa682610b8b565b905060008111610b245760405162461bcd60e51b815260040161083290613d97565b6001600160a01b03811615612b88576000612ae282610f1a565b6040516306e6c58360e31b81529091506001600160a01b038516906337362c1890612b139085908590600401613a5e565b600060405180830381600087803b158015612b2d57600080fd5b505af1158015612b41573d6000803e3d6000fd5b50505050816001600160a01b03167fea80c5084fc812c1d3ccd3e420d32e85001442759aa2261773ffa052cbd660b682604051612b7e9190614255565b60405180910390a2505b6000612b93836111e0565b6040516306e6c58360e31b81529091506001600160a01b038516906337362c1890612bc49086908590600401613a5e565b600060405180830381600087803b158015612bde57600080fd5b505af1158015612bf2573d6000803e3d6000fd5b50505050826001600160a01b03167fc250d4f5c804eafb4ed97612e247bbc934de6fede0e59e4d263e190fb335193f82604051612c2f9190614255565b60405180910390a250505050565b6001600160a01b0382166000908152600e6020526040902081905580612cc8576001600160a01b0382166000818152600f60205260408082208281556001810183905560028101839055600301829055517fbb1322f85cc7cc8bac4e172a5bc5dcc0c1959007f9a030032abf9258205f0e4591612cbb918190613abb565b60405180910390a2610b24565b6011546010546001600160801b03600160801b80840482166000818152601360209081526040808320978616808452978252808320546001600160a01b038b16808552600f90935292819020600181018890556002810184905560030180546001600160801b0319168917909616948402949094179094559151909392907fbb1322f85cc7cc8bac4e172a5bc5dcc0c1959007f9a030032abf9258205f0e4590612d759085908590613abb565b60405180910390a2505050505050565b6001600160a01b0382166000908152600b6020526040902081905580612e23576001600160a01b0382166000818152600b60209081526040808320600190810180546001600160a01b0319169055600c909252808320838155918201839055600282018390556003909101829055517f2d6cc0bcdf72c9486f6451bde6b80f44066f4558f77f44dbfedbe7d8b295225a91612cbb9181908190613ac9565b6011546010546001600160801b03600160801b8084048216600081815260126020908152604080832097861680845297825280832054848452601383528184208985528352818420546001600160a01b038c16808652600c90945293829020600181018990558181556002810185905560030180546001600160801b0319168a1790971695850295909517909555935191949390917f2d6cc0bcdf72c9486f6451bde6b80f44066f4558f77f44dbfedbe7d8b295225a90612ee990869086908690613ac9565b60405180910390a250505050505050565b60025460408051630fdb11cf60e01b815290516000926001600160a01b031691630fdb11cf91600480830192602092919082900301818787803b158015612f4057600080fd5b505af1158015612f54573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612f7891906138ee565b90506000600760009054906101000a90046001600160a01b03166001600160a01b0316634d6228316040518163ffffffff1660e01b815260040160206040518083038186803b158015612fca57600080fd5b505afa158015612fde573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906130029190613786565b600554604051630d293c7160e41b81529192506000916001600160a01b039091169063d293c7109061303a9085908790600401613a5e565b60206040518083038186803b15801561305257600080fd5b505afa158015613066573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061308a91906138ee565b9050600360009054906101000a90046001600160a01b03166001600160a01b031663794e57246040518163ffffffff1660e01b815260040160206040518083038186803b1580156130da57600080fd5b505afa1580156130ee573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061311291906138ee565b81101561137c5760405162461bcd60e51b8152600401610832906141d7565b60008183106131405781610862565b5090919050565b8061315157610b24565b600654604051631062c15f60e11b81526001600160a01b03909116906320c582be90613185903090869086906004016139f9565b600060405180830381600087803b15801561319f57600080fd5b505af11580156131b3573d6000803e3d6000fd5b50505050610b2481613431565b6001600160a01b0381166131e65760405162461bcd60e51b815260040161083290613c1e565b816131f057610b24565b600954600090613206908463ffffffff6125a816565b9050806009819055506000805160206142e98339815191528160405161322c9190614255565b60405180910390a17f6109e2559dfa766aaec7118351d48a523f0a4157f49c8d68749c8ac41318ad123384604051613265929190613a5e565b60405180910390a16000336001600160a01b031684604051613286906139a2565b60006040518083038185875af1925050503d80600081146132c3576040519150601f19603f3d011682016040523d82523d6000602084013e6132c8565b606091505b50509050806132e95760405162461bcd60e51b815260040161083290613e31565b50505050565b600a548015806132fd575081155b156133085750610aac565b600061331483836136ad565b9050600061332d6010548361267690919063ffffffff16565b6011546001600160801b03600160801b820481166000908152601360209081526040808320939094168252919091522054909150613371908263ffffffff61083d16565b601180546001600160801b03600160801b80830482166000908152601360208181526040808420968616845295815285832097909755945491820483168082529486528381209190921680835294528190205490517f2d6127771b164a9cc8827d24b5955db2a77e7a81dac389107ebb8bce9fb64968936133f29391614285565b60405180910390a150505050565b60008282016001600160801b0380851690821610156108625760405162461bcd60e51b815260040161083290614192565b600a54600090613447908363ffffffff6125a816565b905080600a819055507ff3c69a10dcea5d744225cbe910fb39d6f8208bb8e21fff523d6756a7966093c78160405161347f9190614255565b60405180910390a15050565b6000826001600160801b0316826001600160801b031611156134bf5760405162461bcd60e51b81526004016108329061414a565b50900390565b6001600160a01b0381166000908152600d602052604090206001015460ff16806134f657506001600160a01b038116155b610aac5760405162461bcd60e51b815260040161083290613c6b565b60008111610aac5760405162461bcd60e51b815260040161083290613f56565b6001600160a01b038281166000818152600b602052604080822060010180546001600160a01b0319169486169485179055517f094c08e96a8890877a8390b4f967180a7507ad8622244d05fcd0f9f8e086564e9190a35050565b600654604051632ee65eeb60e21b81526001600160a01b039091169063bb997bac906135c0908590309086906004016139f9565b600060405180830381600087803b1580156135da57600080fd5b505af11580156135ee573d6000803e3d6000fd5b5050600a546000925061360891508363ffffffff61083d16565b905080600a819055507ff3c69a10dcea5d744225cbe910fb39d6f8208bb8e21fff523d6756a7966093c781604051610a5e9190614255565b610aac81336131c0565b6000818484111561366e5760405162461bcd60e51b81526004016108329190613adf565b505050900390565b600081836136975760405162461bcd60e51b81526004016108329190613adf565b5060008385816136a357fe5b0495945050505050565b6000806136d1601454611c73670de0b6b3a76400008761267690919063ffffffff16565b905060006136e5828563ffffffff6126b016565b90506137076136fa828663ffffffff61267616565b839063ffffffff6125a816565b601455949350505050565b6040518060a0016040528060008152602001600081526020016000815260200160006001600160801b0316815260200160006001600160801b031681525090565b80356001600160801b038116811461086557600080fd5b60006020828403121561377b578081fd5b8135610862816142d3565b600060208284031215613797578081fd5b8151610862816142d3565b600080604083850312156137b4578081fd5b82356137bf816142d3565b915060208301356137cf816142d3565b809150509250929050565b600080600080600080600080610100898b0312156137f6578384fd5b8835613801816142d3565b97506020890135613811816142d3565b96506040890135613821816142d3565b95506060890135613831816142d3565b94506080890135613841816142d3565b935060a0890135613851816142d3565b925060c0890135613861816142d3565b915060e0890135613871816142d3565b809150509295985092959890939650565b600060208284031215613893578081fd5b81518015158114610862578182fd5b600080604083850312156138b4578182fd5b6138be8484613753565b91506138cd8460208501613753565b90509250929050565b6000602082840312156138e7578081fd5b5035919050565b6000602082840312156138ff578081fd5b5051919050565b60008060408385031215613918578182fd5b8235915060208301356137cf816142d3565b60008082840360a081121561393d578283fd5b833592506080601f1982011215613952578182fd5b506020830190509250929050565b60008060408385031215613972578182fd5b50508035926020909101359150565b600060208284031215613992578081fd5b813560ff81168114610862578182fd5b90565b7035b2bc9737bbb730b136329737bbb732b960791b815260110190565b6001600160a01b0391909116815260200190565b6001600160a01b0393841681529183166020830152909116604082015260600190565b6001600160a01b039384168152919092166020820152604081019190915260600190565b6001600160a01b0397881681529590961660208601526040850193909352606084019190915260ff16608083015260a082015260c081019190915260e00190565b6001600160a01b03929092168252602082015260400190565b6001600160a01b039390931683526020830191909152604082015260600190565b6001600160a01b0393841681526020810192909252909116604082015260600190565b918252602082015260400190565b9283526020830191909152604082015260600190565b6000602080835283518082850152825b81811015613b0b57858101830151858201604001528201613aef565b81811115613b1c5783604083870101525b50601f01601f1916929092016040019392505050565b60208082526046908201527f53746162696c697479506f6f6c3a2063616c6c6572206d75737420686176652060408201527f616e206163746976652074726f766520746f207769746864726177204554484760608201526561696e20746f60d01b608082015260a00190565b60208082526029908201527f444c4c52207472616e7366657272656420616d6f756e742076616c69646174696040820152681bdb8819985a5b195960ba1b606082015260800190565b6020808252601b908201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604082015260600190565b6020808252602d908201527f53503a3a5f73656e644554484761696e546f3a205f726563656976657220697360408201526c207a65726f206164647265737360981b606082015260800190565b60208082526046908201527f53746162696c697479506f6f6c3a20546167206d75737420626520612072656760408201527f697374657265642066726f6e7420656e642c206f7220746865207a65726f206160608201526564647265737360d01b608082015260a00190565b60208082526027908201527f53746162696c697479506f6f6c3a2043616c6c6572206973206e6f74204163746040820152661a5d99541bdbdb60ca1b606082015260800190565b60208082526022908201527f4f776e61626c653a3a7365744f776e65723a20696e76616c6964206164647265604082015261737360f01b606082015260800190565b6020808252601e908201527f4163636f756e742063616e6e6f74206265207a65726f20616464726573730000604082015260600190565b60208082526031908201527f53746162696c697479506f6f6c3a2063616c6c6572206d7573742068617665206040820152703737b716bd32b9379022aa241023b0b4b760791b606082015260800190565b60208082526029908201527f53746162696c697479506f6f6c3a2043616c6c6572206973206e6f742054726f6040820152683b32a6b0b730b3b2b960b91b606082015260800190565b60208082526021908201527f53746162696c697479506f6f6c3a2073656e64696e6720455448206661696c656040820152601960fa1b606082015260800190565b60208082526021908201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6040820152607760f81b606082015260800190565b60208082526030908201527f53503a3a5f776974686472617746726f6d5370546f3a205f726563656976657260408201526f206973207a65726f206164647265737360801b606082015260800190565b60208082526033908201527f53746162696c697479506f6f6c3a204b69636b6261636b2072617465206d75736040820152727420626520696e2072616e6765205b302c315d60681b606082015260800190565b60208082526026908201527f53746162696c697479506f6f6c3a20416d6f756e74206d757374206265206e6f6040820152656e2d7a65726f60d01b606082015260800190565b60208082526017908201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604082015260600190565b60208082526039908201527f53746162696c697479506f6f6c3a206d757374206e6f7420616c72656164792060408201527818994818481c9959da5cdd195c995908199c9bdb9d08195b99603a1b606082015260800190565b60208082526028908201527f53746162696c697479506f6f6c3a2055736572206d7573742068617665206e6f6040820152670819195c1bdcda5d60c21b606082015260800190565b60208082526037908201527f4661696c656420746f20617070726f7665205a55534420616d6f756e7420666f60408201527672204d796e74206d417373657420746f2072656465656d60481b606082015260800190565b6020808252818101527f4163636f756e7420636f64652073697a652063616e6e6f74206265207a65726f604082015260600190565b60208082526030908201527f53746162696c697479506f6f6c3a2055736572206d757374206861766520612060408201526f1b9bdb8b5e995c9bc819195c1bdcda5d60821b606082015260800190565b60208082526028908201527f4c697175697479536166654d6174683132383a207375627472616374696f6e206040820152676f766572666c6f7760c01b606082015260800190565b60208082526025908201527f4c697175697479536166654d6174683132383a206164646974696f6e206f766560408201526472666c6f7760d81b606082015260800190565b60208082526044908201527f53746162696c697479506f6f6c3a2043616e6e6f74207769746864726177207760408201527f68696c65207468657265206172652074726f766573207769746820494352203c6060820152631026a1a960e11b608082015260a00190565b6001600160801b0391909116815260200190565b90815260200190565b9182526001600160a01b0316602082015260400190565b9182521515602082015260400190565b9283526001600160801b03918216602084015216604082015260600190565b948552602085019390935260408401919091526001600160801b03908116606084015216608082015260a00190565b6001600160a01b0381168114610aac57600080fdfeceb6d671277d4354fd29977ada70695fbd93a16612abf765d6b0e25c28dc6db3bce78369dccab09eec1986f4d409ab09ffbb47d65423e5148fcf98411c5111c951457222ebca92c335c9c86e2baa1cc0e40ffaa9084a51452980d5ba8dec2f6399920012339b5a3368d3a04b8606ce412c46ed92b7dcd8602d41fc8862cb8f25a2646970667358221220f8912683a91b4c42a5bc38109aad030673c9f16e7353cc2d048fcf04f2e7bb2c64736f6c634300060b0033", "linkReferences": {}, "deployedLinkReferences": {} } diff --git a/packages/lib-ethers/live/Storage.json b/packages/lib-ethers/live/Storage.json new file mode 100644 index 000000000..6794eed64 --- /dev/null +++ b/packages/lib-ethers/live/Storage.json @@ -0,0 +1,10 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "Storage", + "sourceName": "contracts/TestContracts/UpgradableProxyTester.sol", + "abi": [], + "bytecode": "0x6080604052348015600f57600080fd5b50603f80601d6000396000f3fe6080604052600080fdfea2646970667358221220dd3499f9bf6ecbaf6a50de79bce1b0b81bbe116a947c26b0f5d4ec874baedc2964736f6c634300060b0033", + "deployedBytecode": "0x6080604052600080fdfea2646970667358221220dd3499f9bf6ecbaf6a50de79bce1b0b81bbe116a947c26b0f5d4ec874baedc2964736f6c634300060b0033", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/packages/lib-ethers/live/Storage2.json b/packages/lib-ethers/live/Storage2.json new file mode 100644 index 000000000..0471f6be7 --- /dev/null +++ b/packages/lib-ethers/live/Storage2.json @@ -0,0 +1,10 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "Storage2", + "sourceName": "contracts/TestContracts/UpgradableProxyTester.sol", + "abi": [], + "bytecode": "0x6080604052348015600f57600080fd5b50603f80601d6000396000f3fe6080604052600080fdfea2646970667358221220fb15a744a88224f3ac662f025bd23d637aefbb45ea95eeec3488ae2127f9598a64736f6c634300060b0033", + "deployedBytecode": "0x6080604052600080fdfea2646970667358221220fb15a744a88224f3ac662f025bd23d637aefbb45ea95eeec3488ae2127f9598a64736f6c634300060b0033", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/packages/lib-ethers/live/TellorCaller.json b/packages/lib-ethers/live/TellorCaller.json deleted file mode 100644 index ec0064ef5..000000000 --- a/packages/lib-ethers/live/TellorCaller.json +++ /dev/null @@ -1,64 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "TellorCaller", - "sourceName": "contracts/Dependencies/TellorCaller.sol", - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_tellorMasterAddress", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_requestId", - "type": "uint256" - } - ], - "name": "getTellorCurrentValue", - "outputs": [ - { - "internalType": "bool", - "name": "ifRetrieve", - "type": "bool" - }, - { - "internalType": "uint256", - "name": "value", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_timestampRetrieved", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "tellor", - "outputs": [ - { - "internalType": "contract ITellor", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": "0x608060405234801561001057600080fd5b506040516103e23803806103e28339818101604052602081101561003357600080fd5b5051600080546001600160a01b039092166001600160a01b031990921691909117905561037d806100656000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c80631959ad5b1461003b57806332e6aadb1461005f575b600080fd5b61004361009c565b604080516001600160a01b039092168252519081900360200190f35b61007c6004803603602081101561007557600080fd5b50356100ab565b604080519315158452602084019290925282820152519081900360600190f35b6000546001600160a01b031681565b60008054604080516311bbb87160e21b81526004810185905290518392839283926001600160a01b03909216916346eee1c491602480820192602092909190829003018186803b1580156100fe57600080fd5b505afa158015610112573d6000803e3d6000fd5b505050506040513d602081101561012857600080fd5b505160008054919250906001600160a01b03166377fbb6638761015285600163ffffffff61026716565b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b15801561018d57600080fd5b505afa1580156101a1573d6000803e3d6000fd5b505050506040513d60208110156101b757600080fd5b505160008054604080516393fa491560e01b8152600481018b905260248101859052905193945091926001600160a01b03909116916393fa4915916044808301926020929190829003018186803b15801561021157600080fd5b505afa158015610225573d6000803e3d6000fd5b505050506040513d602081101561023b57600080fd5b5051905080156102545760019550935091506102609050565b50600094508493509150505b9193909250565b60006102a983836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506102b0565b9392505050565b6000818484111561033f5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156103045781810151838201526020016102ec565b50505050905090810190601f1680156103315780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50505090039056fea2646970667358221220879aa73e09e5c62ff7d037637f6e57fe40db960d4d45297080ca4c12462ca76164736f6c634300060b0033", - "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100365760003560e01c80631959ad5b1461003b57806332e6aadb1461005f575b600080fd5b61004361009c565b604080516001600160a01b039092168252519081900360200190f35b61007c6004803603602081101561007557600080fd5b50356100ab565b604080519315158452602084019290925282820152519081900360600190f35b6000546001600160a01b031681565b60008054604080516311bbb87160e21b81526004810185905290518392839283926001600160a01b03909216916346eee1c491602480820192602092909190829003018186803b1580156100fe57600080fd5b505afa158015610112573d6000803e3d6000fd5b505050506040513d602081101561012857600080fd5b505160008054919250906001600160a01b03166377fbb6638761015285600163ffffffff61026716565b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b15801561018d57600080fd5b505afa1580156101a1573d6000803e3d6000fd5b505050506040513d60208110156101b757600080fd5b505160008054604080516393fa491560e01b8152600481018b905260248101859052905193945091926001600160a01b03909116916393fa4915916044808301926020929190829003018186803b15801561021157600080fd5b505afa158015610225573d6000803e3d6000fd5b505050506040513d602081101561023b57600080fd5b5051905080156102545760019550935091506102609050565b50600094508493509150505b9193909250565b60006102a983836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506102b0565b9392505050565b6000818484111561033f5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156103045781810151838201526020016102ec565b50505050905090810190601f1680156103315780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50505090039056fea2646970667358221220879aa73e09e5c62ff7d037637f6e57fe40db960d4d45297080ca4c12462ca76164736f6c634300060b0033", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/packages/lib-ethers/live/TokenScript.json b/packages/lib-ethers/live/TokenScript.json index bf5c089c9..8beddb7c2 100644 --- a/packages/lib-ethers/live/TokenScript.json +++ b/packages/lib-ethers/live/TokenScript.json @@ -177,8 +177,8 @@ "type": "function" } ], - "bytecode": "0x60a060405234801561001057600080fd5b506040516107003803806107008339818101604052602081101561003357600080fd5b5051610047816001600160e01b0361005c16565b60601b6001600160601b03191660805261010f565b6001600160a01b0381166100b7576040805162461bcd60e51b815260206004820152601e60248201527f4163636f756e742063616e6e6f74206265207a65726f20616464726573730000604482015290519081900360640190fd5b803b8061010b576040805162461bcd60e51b815260206004820181905260248201527f4163636f756e7420636f64652073697a652063616e6e6f74206265207a65726f604482015290519081900360640190fd5b5050565b60805160601c6105bb61014560003980610255528061030352806103aa528061044452806104b7528061052b52506105bb6000f3fe608060405234801561001057600080fd5b506004361061006d5760003560e01c8063095ea7b31461007257806323b872dd146100b257806339509351146100e8578063a3f4df7e14610114578063a457c2d714610191578063a9059cbb146101bd578063dd62ed3e146101e9575b600080fd5b61009e6004803603604081101561008857600080fd5b506001600160a01b038135169060200135610229565b604080519115158252519081900360200190f35b61009e600480360360608110156100c857600080fd5b506001600160a01b038135811691602081013590911690604001356102cf565b61009e600480360360408110156100fe57600080fd5b506001600160a01b03813516906020013561037e565b61011c6103f1565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561015657818101518382015260200161013e565b50505050905090810190601f1680156101835780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61009e600480360360408110156101a757600080fd5b506001600160a01b038135169060200135610418565b61009e600480360360408110156101d357600080fd5b506001600160a01b03813516906020013561048b565b610217600480360360408110156101ff57600080fd5b506001600160a01b03813581169160200135166104fe565b60408051918252519081900360200190f35b6040805163095ea7b360e01b81526001600160a01b0384811660048301526024820184905291516000927f0000000000000000000000000000000000000000000000000000000000000000169163095ea7b391604480830192602092919082900301818787803b15801561029c57600080fd5b505af11580156102b0573d6000803e3d6000fd5b505050506040513d60208110156102c657600080fd5b50909392505050565b604080516323b872dd60e01b81526001600160a01b03858116600483015284811660248301526044820184905291516000927f000000000000000000000000000000000000000000000000000000000000000016916323b872dd91606480830192602092919082900301818787803b15801561034a57600080fd5b505af115801561035e573d6000803e3d6000fd5b505050506040513d602081101561037457600080fd5b5090949350505050565b60408051633950935160e01b81526001600160a01b0384811660048301526024820184905291516000927f00000000000000000000000000000000000000000000000000000000000000001691633950935191604480830192602092919082900301818787803b15801561029c57600080fd5b6040518060400160405280600b81526020016a151bdad95b94d8dc9a5c1d60aa1b81525081565b6040805163a457c2d760e01b81526001600160a01b0384811660048301526024820184905291516000927f0000000000000000000000000000000000000000000000000000000000000000169163a457c2d791604480830192602092919082900301818787803b15801561029c57600080fd5b6040805163a9059cbb60e01b81526001600160a01b0384811660048301526024820184905291516000927f0000000000000000000000000000000000000000000000000000000000000000169163a9059cbb91604480830192602092919082900301818787803b15801561029c57600080fd5b60408051636eb1769f60e11b81526001600160a01b038481166004830152838116602483015291516000927f0000000000000000000000000000000000000000000000000000000000000000169163dd62ed3e916044808301926020929190829003018186803b15801561057157600080fd5b505afa1580156102b0573d6000803e3d6000fdfea264697066735822122048f3463b6882c0cdfa39ab39ccc7c37a378849efb6ba1d5de8bbc9057edea34064736f6c634300060b0033", - "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061006d5760003560e01c8063095ea7b31461007257806323b872dd146100b257806339509351146100e8578063a3f4df7e14610114578063a457c2d714610191578063a9059cbb146101bd578063dd62ed3e146101e9575b600080fd5b61009e6004803603604081101561008857600080fd5b506001600160a01b038135169060200135610229565b604080519115158252519081900360200190f35b61009e600480360360608110156100c857600080fd5b506001600160a01b038135811691602081013590911690604001356102cf565b61009e600480360360408110156100fe57600080fd5b506001600160a01b03813516906020013561037e565b61011c6103f1565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561015657818101518382015260200161013e565b50505050905090810190601f1680156101835780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61009e600480360360408110156101a757600080fd5b506001600160a01b038135169060200135610418565b61009e600480360360408110156101d357600080fd5b506001600160a01b03813516906020013561048b565b610217600480360360408110156101ff57600080fd5b506001600160a01b03813581169160200135166104fe565b60408051918252519081900360200190f35b6040805163095ea7b360e01b81526001600160a01b0384811660048301526024820184905291516000927f0000000000000000000000000000000000000000000000000000000000000000169163095ea7b391604480830192602092919082900301818787803b15801561029c57600080fd5b505af11580156102b0573d6000803e3d6000fd5b505050506040513d60208110156102c657600080fd5b50909392505050565b604080516323b872dd60e01b81526001600160a01b03858116600483015284811660248301526044820184905291516000927f000000000000000000000000000000000000000000000000000000000000000016916323b872dd91606480830192602092919082900301818787803b15801561034a57600080fd5b505af115801561035e573d6000803e3d6000fd5b505050506040513d602081101561037457600080fd5b5090949350505050565b60408051633950935160e01b81526001600160a01b0384811660048301526024820184905291516000927f00000000000000000000000000000000000000000000000000000000000000001691633950935191604480830192602092919082900301818787803b15801561029c57600080fd5b6040518060400160405280600b81526020016a151bdad95b94d8dc9a5c1d60aa1b81525081565b6040805163a457c2d760e01b81526001600160a01b0384811660048301526024820184905291516000927f0000000000000000000000000000000000000000000000000000000000000000169163a457c2d791604480830192602092919082900301818787803b15801561029c57600080fd5b6040805163a9059cbb60e01b81526001600160a01b0384811660048301526024820184905291516000927f0000000000000000000000000000000000000000000000000000000000000000169163a9059cbb91604480830192602092919082900301818787803b15801561029c57600080fd5b60408051636eb1769f60e11b81526001600160a01b038481166004830152838116602483015291516000927f0000000000000000000000000000000000000000000000000000000000000000169163dd62ed3e916044808301926020929190829003018186803b15801561057157600080fd5b505afa1580156102b0573d6000803e3d6000fdfea264697066735822122048f3463b6882c0cdfa39ab39ccc7c37a378849efb6ba1d5de8bbc9057edea34064736f6c634300060b0033", + "bytecode": "0x60a060405234801561001057600080fd5b506040516107003803806107008339818101604052602081101561003357600080fd5b5051610047816001600160e01b0361005c16565b60601b6001600160601b03191660805261010f565b6001600160a01b0381166100b7576040805162461bcd60e51b815260206004820152601e60248201527f4163636f756e742063616e6e6f74206265207a65726f20616464726573730000604482015290519081900360640190fd5b803b8061010b576040805162461bcd60e51b815260206004820181905260248201527f4163636f756e7420636f64652073697a652063616e6e6f74206265207a65726f604482015290519081900360640190fd5b5050565b60805160601c6105bb61014560003980610255528061030352806103aa528061044452806104b7528061052b52506105bb6000f3fe608060405234801561001057600080fd5b506004361061006d5760003560e01c8063095ea7b31461007257806323b872dd146100b257806339509351146100e8578063a3f4df7e14610114578063a457c2d714610191578063a9059cbb146101bd578063dd62ed3e146101e9575b600080fd5b61009e6004803603604081101561008857600080fd5b506001600160a01b038135169060200135610229565b604080519115158252519081900360200190f35b61009e600480360360608110156100c857600080fd5b506001600160a01b038135811691602081013590911690604001356102cf565b61009e600480360360408110156100fe57600080fd5b506001600160a01b03813516906020013561037e565b61011c6103f1565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561015657818101518382015260200161013e565b50505050905090810190601f1680156101835780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61009e600480360360408110156101a757600080fd5b506001600160a01b038135169060200135610418565b61009e600480360360408110156101d357600080fd5b506001600160a01b03813516906020013561048b565b610217600480360360408110156101ff57600080fd5b506001600160a01b03813581169160200135166104fe565b60408051918252519081900360200190f35b6040805163095ea7b360e01b81526001600160a01b0384811660048301526024820184905291516000927f0000000000000000000000000000000000000000000000000000000000000000169163095ea7b391604480830192602092919082900301818787803b15801561029c57600080fd5b505af11580156102b0573d6000803e3d6000fd5b505050506040513d60208110156102c657600080fd5b50909392505050565b604080516323b872dd60e01b81526001600160a01b03858116600483015284811660248301526044820184905291516000927f000000000000000000000000000000000000000000000000000000000000000016916323b872dd91606480830192602092919082900301818787803b15801561034a57600080fd5b505af115801561035e573d6000803e3d6000fd5b505050506040513d602081101561037457600080fd5b5090949350505050565b60408051633950935160e01b81526001600160a01b0384811660048301526024820184905291516000927f00000000000000000000000000000000000000000000000000000000000000001691633950935191604480830192602092919082900301818787803b15801561029c57600080fd5b6040518060400160405280600b81526020016a151bdad95b94d8dc9a5c1d60aa1b81525081565b6040805163a457c2d760e01b81526001600160a01b0384811660048301526024820184905291516000927f0000000000000000000000000000000000000000000000000000000000000000169163a457c2d791604480830192602092919082900301818787803b15801561029c57600080fd5b6040805163a9059cbb60e01b81526001600160a01b0384811660048301526024820184905291516000927f0000000000000000000000000000000000000000000000000000000000000000169163a9059cbb91604480830192602092919082900301818787803b15801561029c57600080fd5b60408051636eb1769f60e11b81526001600160a01b038481166004830152838116602483015291516000927f0000000000000000000000000000000000000000000000000000000000000000169163dd62ed3e916044808301926020929190829003018186803b15801561057157600080fd5b505afa1580156102b0573d6000803e3d6000fdfea26469706673582212200d435c487f5725c383c777f753c9a3453350b5619067606bfe950c0ae06f49fc64736f6c634300060b0033", + "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061006d5760003560e01c8063095ea7b31461007257806323b872dd146100b257806339509351146100e8578063a3f4df7e14610114578063a457c2d714610191578063a9059cbb146101bd578063dd62ed3e146101e9575b600080fd5b61009e6004803603604081101561008857600080fd5b506001600160a01b038135169060200135610229565b604080519115158252519081900360200190f35b61009e600480360360608110156100c857600080fd5b506001600160a01b038135811691602081013590911690604001356102cf565b61009e600480360360408110156100fe57600080fd5b506001600160a01b03813516906020013561037e565b61011c6103f1565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561015657818101518382015260200161013e565b50505050905090810190601f1680156101835780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61009e600480360360408110156101a757600080fd5b506001600160a01b038135169060200135610418565b61009e600480360360408110156101d357600080fd5b506001600160a01b03813516906020013561048b565b610217600480360360408110156101ff57600080fd5b506001600160a01b03813581169160200135166104fe565b60408051918252519081900360200190f35b6040805163095ea7b360e01b81526001600160a01b0384811660048301526024820184905291516000927f0000000000000000000000000000000000000000000000000000000000000000169163095ea7b391604480830192602092919082900301818787803b15801561029c57600080fd5b505af11580156102b0573d6000803e3d6000fd5b505050506040513d60208110156102c657600080fd5b50909392505050565b604080516323b872dd60e01b81526001600160a01b03858116600483015284811660248301526044820184905291516000927f000000000000000000000000000000000000000000000000000000000000000016916323b872dd91606480830192602092919082900301818787803b15801561034a57600080fd5b505af115801561035e573d6000803e3d6000fd5b505050506040513d602081101561037457600080fd5b5090949350505050565b60408051633950935160e01b81526001600160a01b0384811660048301526024820184905291516000927f00000000000000000000000000000000000000000000000000000000000000001691633950935191604480830192602092919082900301818787803b15801561029c57600080fd5b6040518060400160405280600b81526020016a151bdad95b94d8dc9a5c1d60aa1b81525081565b6040805163a457c2d760e01b81526001600160a01b0384811660048301526024820184905291516000927f0000000000000000000000000000000000000000000000000000000000000000169163a457c2d791604480830192602092919082900301818787803b15801561029c57600080fd5b6040805163a9059cbb60e01b81526001600160a01b0384811660048301526024820184905291516000927f0000000000000000000000000000000000000000000000000000000000000000169163a9059cbb91604480830192602092919082900301818787803b15801561029c57600080fd5b60408051636eb1769f60e11b81526001600160a01b038481166004830152838116602483015291516000927f0000000000000000000000000000000000000000000000000000000000000000169163dd62ed3e916044808301926020929190829003018186803b15801561057157600080fd5b505afa1580156102b0573d6000803e3d6000fdfea26469706673582212200d435c487f5725c383c777f753c9a3453350b5619067606bfe950c0ae06f49fc64736f6c634300060b0033", "linkReferences": {}, "deployedLinkReferences": {} } diff --git a/packages/lib-ethers/live/TroveManager.json b/packages/lib-ethers/live/TroveManager.json index 632707c78..408a8351c 100644 --- a/packages/lib-ethers/live/TroveManager.json +++ b/packages/lib-ethers/live/TroveManager.json @@ -3,6 +3,17 @@ "contractName": "TroveManager", "sourceName": "contracts/TroveManager.sol", "abi": [ + { + "inputs": [ + { + "internalType": "uint256", + "name": "_bootstrapPeriod", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "constructor" + }, { "anonymous": false, "inputs": [ @@ -74,24 +85,11 @@ { "indexed": false, "internalType": "address", - "name": "_gasPoolAddress", - "type": "address" - } - ], - "name": "GasPoolAddressChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_zeroStakingAddress", + "name": "_feeDistributorAddress", "type": "address" } ], - "name": "LQTYStakingAddressChanged", + "name": "FeeDistributorAddressChanged", "type": "event" }, { @@ -100,11 +98,11 @@ { "indexed": false, "internalType": "address", - "name": "_zeroTokenAddress", + "name": "_gasPoolAddress", "type": "address" } ], - "name": "LQTYTokenAddressChanged", + "name": "GasPoolAddressChanged", "type": "event" }, { @@ -119,26 +117,13 @@ { "indexed": false, "internalType": "uint256", - "name": "_L_LUSDDebt", + "name": "_L_ZUSDDebt", "type": "uint256" } ], "name": "LTermsUpdated", "type": "event" }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_newLUSDTokenAddress", - "type": "address" - } - ], - "name": "LUSDTokenAddressChanged", - "type": "event" - }, { "anonymous": false, "inputs": [ @@ -176,13 +161,26 @@ { "indexed": false, "internalType": "uint256", - "name": "_LUSDGasCompensation", + "name": "_ZUSDGasCompensation", "type": "uint256" } ], "name": "Liquidation", "type": "event" }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "_borrowerOperationsAddress", + "type": "address" + } + ], + "name": "LiquityBaseParamsAddressChanges", + "type": "event" + }, { "anonymous": false, "inputs": [ @@ -221,13 +219,13 @@ { "indexed": false, "internalType": "uint256", - "name": "_attemptedLUSDAmount", + "name": "_attemptedZUSDAmount", "type": "uint256" }, { "indexed": false, "internalType": "uint256", - "name": "_actualLUSDAmount", + "name": "_actualZUSDAmount", "type": "uint256" }, { @@ -346,14 +344,27 @@ }, { "indexed": false, - "internalType": "enum TroveManager.TroveManagerOperation", - "name": "_operation", + "internalType": "uint8", + "name": "operation", "type": "uint8" } ], "name": "TroveLiquidated", "type": "event" }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "_troveManagerRedeemOps", + "type": "address" + } + ], + "name": "TroveManagerRedeemOpsAddressChanged", + "type": "event" + }, { "anonymous": false, "inputs": [ @@ -366,7 +377,7 @@ { "indexed": false, "internalType": "uint256", - "name": "_L_LUSDDebt", + "name": "_L_ZUSDDebt", "type": "uint256" } ], @@ -397,19 +408,58 @@ { "indexed": false, "internalType": "uint256", - "name": "_stake", + "name": "stake", "type": "uint256" }, { "indexed": false, - "internalType": "enum TroveManager.TroveManagerOperation", - "name": "_operation", + "internalType": "uint8", + "name": "operation", "type": "uint8" } ], "name": "TroveUpdated", "type": "event" }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "_zeroStakingAddress", + "type": "address" + } + ], + "name": "ZEROStakingAddressChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "_zeroTokenAddress", + "type": "address" + } + ], + "name": "ZEROTokenAddressChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "_newZUSDTokenAddress", + "type": "address" + } + ], + "name": "ZUSDTokenAddressChanged", + "type": "event" + }, { "inputs": [], "name": "BETA", @@ -438,7 +488,7 @@ }, { "inputs": [], - "name": "BORROWING_FEE_FLOOR", + "name": "CCR", "outputs": [ { "internalType": "uint256", @@ -451,7 +501,7 @@ }, { "inputs": [], - "name": "CCR", + "name": "DECIMAL_PRECISION", "outputs": [ { "internalType": "uint256", @@ -464,7 +514,7 @@ }, { "inputs": [], - "name": "DECIMAL_PRECISION", + "name": "L_ETH", "outputs": [ { "internalType": "uint256", @@ -477,7 +527,7 @@ }, { "inputs": [], - "name": "LUSD_GAS_COMPENSATION", + "name": "L_ZUSDDebt", "outputs": [ { "internalType": "uint256", @@ -490,7 +540,7 @@ }, { "inputs": [], - "name": "L_ETH", + "name": "MCR", "outputs": [ { "internalType": "uint256", @@ -503,7 +553,7 @@ }, { "inputs": [], - "name": "L_LUSDDebt", + "name": "MINUTE_DECAY_FACTOR", "outputs": [ { "internalType": "uint256", @@ -516,7 +566,7 @@ }, { "inputs": [], - "name": "MAX_BORROWING_FEE", + "name": "MIN_NET_DEBT", "outputs": [ { "internalType": "uint256", @@ -529,12 +579,12 @@ }, { "inputs": [], - "name": "MCR", + "name": "NAME", "outputs": [ { - "internalType": "uint256", + "internalType": "string", "name": "", - "type": "uint256" + "type": "string" } ], "stateMutability": "view", @@ -542,7 +592,7 @@ }, { "inputs": [], - "name": "MINUTE_DECAY_FACTOR", + "name": "SECONDS_IN_ONE_MINUTE", "outputs": [ { "internalType": "uint256", @@ -554,39 +604,58 @@ "type": "function" }, { - "inputs": [], - "name": "MIN_NET_DEBT", - "outputs": [ + "inputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "NAME", + "name": "TroveOwners", "outputs": [ { - "internalType": "string", + "internalType": "address", "name": "", - "type": "string" + "type": "address" } ], "stateMutability": "view", "type": "function" }, { - "inputs": [], - "name": "PERCENT_DIVISOR", + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "Troves", "outputs": [ { "internalType": "uint256", - "name": "", + "name": "debt", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "coll", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "stake", "type": "uint256" + }, + { + "internalType": "enum TroveManagerStorage.Status", + "name": "status", + "type": "uint8" + }, + { + "internalType": "uint128", + "name": "arrayIndex", + "type": "uint128" } ], "stateMutability": "view", @@ -594,7 +663,7 @@ }, { "inputs": [], - "name": "REDEMPTION_FEE_FLOOR", + "name": "ZUSD_GAS_COMPENSATION", "outputs": [ { "internalType": "uint256", @@ -607,7 +676,7 @@ }, { "inputs": [], - "name": "SECONDS_IN_ONE_MINUTE", + "name": "_100pct", "outputs": [ { "internalType": "uint256", @@ -620,18 +689,23 @@ }, { "inputs": [ + { + "internalType": "address", + "name": "_borrower", + "type": "address" + }, { "internalType": "uint256", - "name": "", + "name": "_price", "type": "uint256" } ], - "name": "TroveOwners", + "name": "_getCurrentICR", "outputs": [ { - "internalType": "address", + "internalType": "uint256", "name": "", - "type": "address" + "type": "uint256" } ], "stateMutability": "view", @@ -641,36 +715,67 @@ "inputs": [ { "internalType": "address", - "name": "", + "name": "_borrower", "type": "address" } ], - "name": "Troves", + "name": "_getPendingETHReward", "outputs": [ { "internalType": "uint256", - "name": "debt", + "name": "", "type": "uint256" - }, + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_borrower", + "type": "address" + } + ], + "name": "_getPendingZUSDDebtReward", + "outputs": [ { "internalType": "uint256", - "name": "coll", + "name": "", "type": "uint256" - }, + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "_getRedemptionRate", + "outputs": [ { "internalType": "uint256", - "name": "stake", + "name": "", "type": "uint256" - }, + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ { - "internalType": "enum TroveManager.Status", - "name": "status", - "type": "uint8" - }, + "internalType": "address", + "name": "_borrower", + "type": "address" + } + ], + "name": "_hasPendingRewards", + "outputs": [ { - "internalType": "uint128", - "name": "arrayIndex", - "type": "uint128" + "internalType": "bool", + "name": "", + "type": "bool" } ], "stateMutability": "view", @@ -678,12 +783,51 @@ }, { "inputs": [], - "name": "_100pct", + "name": "_stabilityPool", "outputs": [ { - "internalType": "uint256", + "internalType": "contract IStabilityPool", "name": "", - "type": "uint256" + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "_zeroStaking", + "outputs": [ + { + "internalType": "contract IZEROStaking", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "_zeroToken", + "outputs": [ + { + "internalType": "contract IZEROToken", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "_zusdToken", + "outputs": [ + { + "internalType": "contract IZUSDToken", + "name": "", + "type": "address" } ], "stateMutability": "view", @@ -873,11 +1017,24 @@ "stateMutability": "view", "type": "function" }, + { + "inputs": [], + "name": "feeDistributor", + "outputs": [ + { + "internalType": "contract IFeeDistributor", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, { "inputs": [ { "internalType": "uint256", - "name": "_LUSDDebt", + "name": "_ZUSDDebt", "type": "uint256" } ], @@ -896,7 +1053,7 @@ "inputs": [ { "internalType": "uint256", - "name": "_LUSDDebt", + "name": "_ZUSDDebt", "type": "uint256" } ], @@ -983,7 +1140,7 @@ }, { "internalType": "uint256", - "name": "pendingLUSDDebtReward", + "name": "pendingZUSDDebtReward", "type": "uint256" }, { @@ -1040,6 +1197,19 @@ "stateMutability": "view", "type": "function" }, + { + "inputs": [], + "name": "getOwner", + "outputs": [ + { + "internalType": "address", + "name": "_owner", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, { "inputs": [ { @@ -1067,7 +1237,7 @@ "type": "address" } ], - "name": "getPendingLUSDDebtReward", + "name": "getPendingZUSDDebtReward", "outputs": [ { "internalType": "uint256", @@ -1317,19 +1487,6 @@ "stateMutability": "nonpayable", "type": "function" }, - { - "inputs": [], - "name": "isOwner", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, { "inputs": [], "name": "lastETHError_Redistribution", @@ -1358,7 +1515,7 @@ }, { "inputs": [], - "name": "lastLUSDDebtError_Redistribution", + "name": "lastZUSDDebtError_Redistribution", "outputs": [ { "internalType": "uint256", @@ -1397,10 +1554,10 @@ }, { "inputs": [], - "name": "zeroStaking", + "name": "liquityBaseParams", "outputs": [ { - "internalType": "contract ILQTYStaking", + "internalType": "contract ILiquityBaseParams", "name": "", "type": "address" } @@ -1410,10 +1567,10 @@ }, { "inputs": [], - "name": "zeroToken", + "name": "priceFeed", "outputs": [ { - "internalType": "contract ILQTYToken", + "internalType": "contract IPriceFeed", "name": "", "type": "address" } @@ -1422,49 +1579,53 @@ "type": "function" }, { - "inputs": [], - "name": "zusdToken", - "outputs": [ + "inputs": [ { - "internalType": "contract ILUSDToken", - "name": "", + "internalType": "uint256", + "name": "_ZUSDamount", + "type": "uint256" + }, + { + "internalType": "address", + "name": "_firstRedemptionHint", "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "owner", - "outputs": [ + }, { "internalType": "address", - "name": "", + "name": "_upperPartialRedemptionHint", "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "priceFeed", - "outputs": [ + }, { - "internalType": "contract IPriceFeed", - "name": "", + "internalType": "address", + "name": "_lowerPartialRedemptionHint", "type": "address" + }, + { + "internalType": "uint256", + "name": "_partialRedemptionHintNICR", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_maxIterations", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_maxFeePercentage", + "type": "uint256" } ], - "stateMutability": "view", + "name": "redeemCollateral", + "outputs": [], + "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", - "name": "_LUSDamount", + "name": "_dllrAmount", "type": "uint256" }, { @@ -1496,9 +1657,36 @@ "internalType": "uint256", "name": "_maxFeePercentage", "type": "uint256" - } - ], - "name": "redeemCollateral", + }, + { + "components": [ + { + "internalType": "uint256", + "name": "deadline", + "type": "uint256" + }, + { + "internalType": "uint8", + "name": "v", + "type": "uint8" + }, + { + "internalType": "bytes32", + "name": "r", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "s", + "type": "bytes32" + } + ], + "internalType": "struct IMassetManager.PermitParams", + "name": "_permitParams", + "type": "tuple" + } + ], + "name": "redeemCollateralViaDLLR", "outputs": [], "stateMutability": "nonpayable", "type": "function" @@ -1533,7 +1721,7 @@ }, { "internalType": "uint256", - "name": "LUSDDebt", + "name": "ZUSDDebt", "type": "uint256" } ], @@ -1543,62 +1731,110 @@ { "inputs": [ { - "internalType": "address", - "name": "_borrowerOperationsAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_activePoolAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_defaultPoolAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_stabilityPoolAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_gasPoolAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_collSurplusPoolAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_priceFeedAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_zusdTokenAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_sortedTrovesAddress", - "type": "address" - }, + "components": [ + { + "internalType": "address", + "name": "_feeDistributorAddress", + "type": "address" + }, + { + "internalType": "address", + "name": "_troveManagerRedeemOps", + "type": "address" + }, + { + "internalType": "address", + "name": "_liquityBaseParamsAddress", + "type": "address" + }, + { + "internalType": "address", + "name": "_borrowerOperationsAddress", + "type": "address" + }, + { + "internalType": "address", + "name": "_activePoolAddress", + "type": "address" + }, + { + "internalType": "address", + "name": "_defaultPoolAddress", + "type": "address" + }, + { + "internalType": "address", + "name": "_stabilityPoolAddress", + "type": "address" + }, + { + "internalType": "address", + "name": "_gasPoolAddress", + "type": "address" + }, + { + "internalType": "address", + "name": "_collSurplusPoolAddress", + "type": "address" + }, + { + "internalType": "address", + "name": "_priceFeedAddress", + "type": "address" + }, + { + "internalType": "address", + "name": "_zusdTokenAddress", + "type": "address" + }, + { + "internalType": "address", + "name": "_sortedTrovesAddress", + "type": "address" + }, + { + "internalType": "address", + "name": "_zeroTokenAddress", + "type": "address" + }, + { + "internalType": "address", + "name": "_zeroStakingAddress", + "type": "address" + } + ], + "internalType": "struct ITroveManager.TroveManagerInitAddressesParams", + "name": "_troveManagerInitAddressesParams", + "type": "tuple" + } + ], + "name": "setAddresses", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ { "internalType": "address", - "name": "_zeroTokenAddress", + "name": "_owner", "type": "address" - }, + } + ], + "name": "setOwner", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ { "internalType": "address", - "name": "_zeroStakingAddress", + "name": "_troveManagerRedeemOps", "type": "address" } ], - "name": "setAddresses", + "name": "setTroveManagerRedeemOps", "outputs": [], "stateMutability": "nonpayable", "type": "function" @@ -1636,12 +1872,12 @@ }, { "inputs": [], - "name": "stabilityPool", + "name": "totalCollateralSnapshot", "outputs": [ { - "internalType": "contract IStabilityPool", + "internalType": "uint256", "name": "", - "type": "address" + "type": "uint256" } ], "stateMutability": "view", @@ -1649,7 +1885,7 @@ }, { "inputs": [], - "name": "totalCollateralSnapshot", + "name": "totalStakes", "outputs": [ { "internalType": "uint256", @@ -1662,7 +1898,7 @@ }, { "inputs": [], - "name": "totalStakes", + "name": "totalStakesSnapshot", "outputs": [ { "internalType": "uint256", @@ -1675,12 +1911,12 @@ }, { "inputs": [], - "name": "totalStakesSnapshot", + "name": "troveManagerRedeemOps", "outputs": [ { - "internalType": "uint256", + "internalType": "address", "name": "", - "type": "uint256" + "type": "address" } ], "stateMutability": "view", @@ -1719,8 +1955,8 @@ "type": "function" } ], - "bytecode": "0x608060405234801561001057600080fd5b50600380546001600160a01b031916339081179091556040516000907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3615a7b80620000616000396000f3fe608060405234801561001057600080fd5b506004361061044a5760003560e01c8063795d26c31161023c578063b83f91a211610146578063d3d6f843116100c3578063e2ac77b011610087578063e2ac77b014610c67578063f34862de14610c8d578063f36b242514610cb3578063f92d34331461065d578063fe2ba84814610cbb5761044a565b8063d3d6f84314610bd3578063d5b3563514610bff578063d66a255314610c1c578063d9a7244414610c42578063dba1c5f214610c5f5761044a565b8063c52861f21161010a578063c52861f214610b69578063c7b5548114610b71578063cbd138ae14610b79578063d293c71014610b9f578063d380a37c14610bcb5761044a565b8063b83f91a214610ab7578063b91af97c14610abf578063bcd3752614610b0b578063bf9befb114610b59578063c35bc55014610b615761044a565b806396d711ff116101d4578063a3f4df7e11610198578063a3f4df7e146109e7578063ae91875414610a64578063b0d8e18114610a6c578063b7f8cf9b14610a92578063b82f263d14610a9a5761044a565b806396d711ff146109a35780639976cf45146109ab5780639dd233d2146109d7578063a20baee614610894578063a3a64017146109df5761044a565b8063795d26c3146108c9578063797250e3146108d15780637985c5e4146108d95780637f7dde4a14610955578063807d138d1461095d57806382fe3eb914610965578063887105d31461098b5780638da5cb5b146109935780638f32d59b1461099b5761044a565b8063477d66cf11610358578063631203b0116102d557806372423c171161029957806372423c171461086857806372fe25aa14610894578063741bef1a1461089c578063756b253e146108a4578063794e5724146108c15761044a565b8063631203b01461079157806364cee260146107ae578063653d46e7146107d457806366ca4a21146107f15780636ef64338146107f95761044a565b80635733d58f1161031c5780635733d58f146107275780635d6b480f1461072f5780635d8c96091461075b5780635dba4c4a1461078157806361ec893d146107895761044a565b8063477d66cf146106a3578063480cd578146106c05780634870dd9a146106e657806349eefeee146106ee5780634e443d9e146106f65761044a565b80631e8b1c2b116103e657806328d28b5b116103aa57806328d28b5b1461065d5780632b11551a146106655780632e86bbd81461066d5780632f865568146106755780633cc742251461069b5761044a565b80631e8b1c2b1461057c5780631f68f20a1461061f5780631f7af3c31461062757806321e378011461062f57806324092669146106555761044a565b8063048c661d1461044f578063060d49a314610473578063071a75411461048d5780630b0765571461049557806312610e92146104bd57806315d549f1146104e95780631673c79a1461050f57806318f2817a1461054e5780631bf4355514610574575b600080fd5b610457610ce1565b604080516001600160a01b039092168252519081900360200190f35b61047b610cf0565b60408051918252519081900360200190f35b61047b610cf6565b6104bb600480360360208110156104ab57600080fd5b50356001600160a01b0316610cfb565b005b61047b600480360360408110156104d357600080fd5b506001600160a01b038135169060200135610d23565b61047b600480360360208110156104ff57600080fd5b50356001600160a01b0316610d7b565b6105356004803603602081101561052557600080fd5b50356001600160a01b0316610d9f565b6040805192835260208301919091528051918290030190f35b61047b6004803603602081101561056457600080fd5b50356001600160a01b0316610db8565b61047b610dcb565b6104bb6004803603602081101561059257600080fd5b8101906020810181356401000000008111156105ad57600080fd5b8201836020820111156105bf57600080fd5b803590602001918460208302840111640100000000831117156105e157600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929550610dd8945050505050565b61047b61117a565b610457611180565b61047b6004803603602081101561064557600080fd5b50356001600160a01b031661118f565b61047b6111b9565b61047b6111cc565b61047b6111dd565b61047b6111ef565b6104bb6004803603602081101561068b57600080fd5b50356001600160a01b03166111fc565b610457611262565b61047b600480360360208110156106b957600080fd5b5035611271565b61047b600480360360208110156106d657600080fd5b50356001600160a01b0316611284565b61047b6112a2565b61047b6112a7565b6107136004803603602081101561070c57600080fd5b50356112ad565b604080519115158252519081900360200190f35b61047b6112b8565b6104bb6004803603604081101561074557600080fd5b506001600160a01b0381351690602001356112c4565b61047b6004803603602081101561077157600080fd5b50356001600160a01b0316611310565b6104bb6113d6565b61047b61143c565b61047b600480360360208110156107a757600080fd5b5035611441565b61047b600480360360208110156107c457600080fd5b50356001600160a01b031661144e565b6104bb600480360360208110156107ea57600080fd5b503561146c565b61047b61181a565b61081f6004803603602081101561080f57600080fd5b50356001600160a01b031661182c565b6040518086815260200185815260200184815260200183600481111561084157fe5b60ff1681526001600160801b03909216602083015250604080519182900301945092505050f35b61047b6004803603604081101561087e57600080fd5b506001600160a01b038135169060200135611866565b61047b6118c3565b6104576118cf565b610457600480360360208110156108ba57600080fd5b50356118de565b61047b611905565b61047b611911565b61047b611a12565b6104bb60048036036101608110156108f057600080fd5b506001600160a01b038135811691602081013582169160408201358116916060810135821691608082013581169160a081013582169160c082013581169160e08101358216916101008201358116916101208101358216916101409091013516611a18565b610457611e11565b61047b611e20565b6104bb6004803603602081101561097b57600080fd5b50356001600160a01b0316611e26565b61047b611e37565b610457611ef3565b610713611f02565b61047b611f13565b61047b600480360360408110156109c157600080fd5b506001600160a01b038135169060200135611f19565b61047b611f4c565b610457611f52565b6109ef611f61565b6040805160208082528351818301528351919283929083019185019080838360005b83811015610a29578181015183820152602001610a11565b50505050905090810190601f168015610a565780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b610457611f89565b61047b60048036036020811015610a8257600080fd5b50356001600160a01b0316611f98565b610457611fbf565b61047b60048036036020811015610ab057600080fd5b5035611fce565b610457611fd9565b610ae560048036036020811015610ad557600080fd5b50356001600160a01b0316611fe8565b604080519485526020850193909352838301919091526060830152519081900360800190f35b6104bb600480360360e0811015610b2157600080fd5b508035906001600160a01b03602082013581169160408101358216916060820135169060808101359060a08101359060c0013561204c565b61047b6127ee565b61047b6127f4565b61047b6127fb565b61047b61280d565b6104bb60048036036020811015610b8f57600080fd5b50356001600160a01b0316612819565b61047b60048036036040811015610bb557600080fd5b506001600160a01b03813516906020013561282c565b61047b61284b565b61047b60048036036040811015610be957600080fd5b506001600160a01b038135169060200135612851565b61047b60048036036020811015610c1557600080fd5b5035612887565b61047b60048036036020811015610c3257600080fd5b50356001600160a01b031661289a565b61045760048036036020811015610c5857600080fd5b50356128b5565b61047b6128df565b61071360048036036020811015610c7d57600080fd5b50356001600160a01b03166128e5565b61047b60048036036020811015610ca357600080fd5b50356001600160a01b0316612943565b61047b612974565b6104bb60048036036020811015610cd157600080fd5b50356001600160a01b0316612981565b6005546001600160a01b031681565b60175481565b600281565b610d03612992565b600054600154610d20916001600160a01b039081169116836129dd565b50565b6000610d2d612992565b6001600160a01b0383166000908152600e6020526040812054610d56908463ffffffff612aff16565b6001600160a01b0385166000908152600e602052604090208190559150505b92915050565b6000610d85612992565b610d8e82612b48565b6001600160801b031690505b919050565b6014602052600090815260409020805460019091015482565b6000610dc2612992565b610d7582612be2565b686194049f30f720000081565b8051610e155760405162461bcd60e51b81526004018080602001828103825260368152602001806159016036913960400191505060405180910390fd5b6000546001546005546001600160a01b03928316929182169116610e376155f9565b610e3f61562a565b600260009054906101000a90046001600160a01b03166001600160a01b0316630fdb11cf6040518163ffffffff1660e01b8152600401602060405180830381600087803b158015610e8f57600080fd5b505af1158015610ea3573d6000803e3d6000fd5b505050506040513d6020811015610eb957600080fd5b50518252604080516326fcbc6b60e21b815290516001600160a01b03851691639bf2f1ac916004808301926020929190829003018186803b158015610efd57600080fd5b505afa158015610f11573d6000803e3d6000fd5b505050506040513d6020811015610f2757600080fd5b505160208301528151610f3990612c91565b1580156040840152610f6157610f5a8585846000015185602001518a612cae565b9050610f79565b610f768585846000015185602001518a612ec9565b90505b6000816020015111610fbc5760405162461bcd60e51b81526004018080602001828103825260228152602001806159f56022913960400191505060405180910390fd5b826001600160a01b031663335525ad82608001518360a001516040518363ffffffff1660e01b81526004018083815260200182815260200192505050600060405180830381600087803b15801561101257600080fd5b505af1158015611026573d6000803e3d6000fd5b5050505061103e85858360c001518460e00151612f91565b610100810151156110bd57600754610100820151604080516364a197f360e01b81526001600160a01b039384166004820152602481019290925251918716916364a197f39160448082019260009290919082900301818387803b1580156110a457600080fd5b505af11580156110b8573d6000803e3d6000fd5b505050505b6110cb858260400151613212565b602081015160608301526101008101516040820151825161110392916110f7919063ffffffff612aff16565b9063ffffffff612aff16565b608080840182905260608085015160408086015186840151825193845260208401969096528282015291810193909352517f4152c73dd2614c4f9fc35e8c9cf16013cd588c75b49a4c1673ecffdcbcda94039281900390910190a1611172853383606001518460400151613359565b505050505050565b600c5481565b6009546001600160a01b031681565b6001600160a01b0381166000908152600e602052604081206003015460ff166004811115610d7557fe5b6064670de0b6b3a76400005b0460050281565b6103e8670de0b6b3a76400006111c5565b60006111ea600c5461345c565b905090565b680ad78ebc5ac620000081565b61120581613492565b60408051600180825281830190925260609160208083019080368337019050509050818160008151811061123557fe5b60200260200101906001600160a01b031690816001600160a01b03168152505061125e81610dd8565b5050565b6001546001600160a01b031681565b6000610d7561127e61181a565b836134fa565b6001600160a01b03166000908152600e602052604090206001015490565b60c881565b60155490565b6000610d7582612c91565b6714d1120d7b16000081565b6112cc612992565b8060048111156112d857fe5b6001600160a01b0383166000908152600e60205260409020600301805460ff1916600183600481111561130757fe5b02179055505050565b6001600160a01b038116600090815260146020526040812054601254829061133e908363ffffffff612aff16565b9050801580611377575060016001600160a01b0385166000908152600e602052604090206003015460ff16600481111561137457fe5b14155b1561138757600092505050610d9a565b6001600160a01b0384166000908152600e6020526040812060020154906113cc670de0b6b3a76400006113c0848663ffffffff61351816565b9063ffffffff61357116565b9695505050505050565b6113de612992565b60006113e86135b3565b9050670de0b6b3a76400008111156113fc57fe5b600c8190556040805182815290517fc454ee9b76c52f782a256af821b857ca6e125d1e3333bcede402fec2bed9600c9181900360200190a1610d206135f7565b603c81565b6000610d7561127e612974565b6001600160a01b03166000908152600e602052604090206002015490565b611474615676565b506040805160e081018252600080546001600160a01b0390811683526001548116602084015292820181905260608201819052600b548316608083015260a0820181905260c08201526005549091166114cb6155f9565b6114d361562a565b600260009054906101000a90046001600160a01b03166001600160a01b0316630fdb11cf6040518163ffffffff1660e01b8152600401602060405180830381600087803b15801561152357600080fd5b505af1158015611537573d6000803e3d6000fd5b505050506040513d602081101561154d57600080fd5b50518252604080516326fcbc6b60e21b815290516001600160a01b03851691639bf2f1ac916004808301926020929190829003018186803b15801561159157600080fd5b505afa1580156115a5573d6000803e3d6000fd5b505050506040513d60208110156115bb57600080fd5b5051602083015281516115cd90612c91565b15801560408401526115f4576115ed848360000151846020015188613653565b9050611614565b6116118460000151856020015184600001518560200151896139e6565b90505b60008160200151116116575760405162461bcd60e51b81526004018080602001828103825260228152602001806159f56022913960400191505060405180910390fd5b826001600160a01b031663335525ad82608001518360a001516040518363ffffffff1660e01b81526004018083815260200182815260200192505050600060405180830381600087803b1580156116ad57600080fd5b505af11580156116c1573d6000803e3d6000fd5b505050506116e1846000015185602001518360c001518460e00151612f91565b61010081015115611762578351600754610100830151604080516364a197f360e01b81526001600160a01b03938416600482015260248101929092525191909216916364a197f391604480830192600092919082900301818387803b15801561174957600080fd5b505af115801561175d573d6000803e3d6000fd5b505050505b61177484600001518260400151613212565b60208101516060830152610100810151604082015182516117a092916110f7919063ffffffff612aff16565b608080840182905260608085015160408086015186840151825193845260208401969096528282015291810193909352517f4152c73dd2614c4f9fc35e8c9cf16013cd588c75b49a4c1673ecffdcbcda94039281900390910190a161181384600001513383606001518460400151613359565b5050505050565b60006111ea6118276135b3565b613b18565b600e6020526000908152604090208054600182015460028301546003909301549192909160ff81169061010090046001600160801b031685565b6000611870612992565b6001600160a01b0383166000908152600e602052604081206001015461189c908463ffffffff613b3f16565b6001600160a01b0385166000908152600e6020526040902060010181905591505092915050565b670de0b6b3a764000081565b6002546001600160a01b031681565b601581815481106118eb57fe5b6000918252602090912001546001600160a01b0316905081565b670f43fc2c04ee000081565b6000805460408051632f5a97e560e11b8152905183926001600160a01b031691635eb52fca916004808301926020929190829003018186803b15801561195657600080fd5b505afa15801561196a573d6000803e3d6000fd5b505050506040513d602081101561198057600080fd5b505160015460408051632f5a97e560e11b815290519293506000926001600160a01b0390921691635eb52fca91600480820192602092909190829003018186803b1580156119cd57600080fd5b505afa1580156119e1573d6000803e3d6000fd5b505050506040513d60208110156119f757600080fd5b50519050611a0b828263ffffffff613b3f16565b9250505090565b60165481565b611a20611f02565b611a71576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b611a7a8b613b99565b611a838a613b99565b611a8c89613b99565b611a9588613b99565b611a9e87613b99565b611aa786613b99565b611ab085613b99565b611ab984613b99565b611ac283613b99565b611acb82613b99565b611ad481613b99565b600480546001600160a01b03199081166001600160a01b038e81169182179093556000805483168e85161790556001805483168d85161790556005805483168c85161790556006805483168b85161790556007805483168a8516179055600280548316898516179055600880548316888516179055600b80548316878516179055600980548316868516179055600a805490921692841692909217905560408051918252517f3ca631ffcd2a9b5d9ae18543fc82f58eb4ca33af9e6ab01b7a8e95331e6ed985916020908290030190a1604080516001600160a01b038c16815290517f78f058b189175430c48dc02699e3a0031ea4ff781536dc2fab847de4babdd8829181900360200190a1604080516001600160a01b038b16815290517f5ee0cae2f063ed938bb55046f6a932fb6ae792bf43624806bb90abe68a50be9b9181900360200190a1604080516001600160a01b038a16815290517f82966d27eea39b038ee0fa30cd16532bb24f6e65d31cb58fb227aa5766cdcc7f9181900360200190a1604080516001600160a01b038916815290517fcfb07d791fcafc032b35837b50eb84b74df518cf4cc287e8084f47630fa70fa09181900360200190a1604080516001600160a01b038816815290517fe67f36a6e961157d6eff83b91f3af5a62131ceb6f04954ef74f51c1c05e7f88d9181900360200190a1604080516001600160a01b038716815290517f8c537274438aa850a330284665d81a85dd38267d09e4050d416bfc94142db2649181900360200190a1604080516001600160a01b038616815290517f227eec0ec317af6ab1a9587ffa1c84332522eb4c583a908f89babc05f8f339bd9181900360200190a1604080516001600160a01b038516815290517f65f4cf077bc01e4742eb5ad98326f6e95b63548ea24b17f8d5e823111fe788009181900360200190a1604080516001600160a01b038416815290517f2ac6e99201ddc1b6eac6f8f28662d1ecafee131f6eb98c29de54528a9888a7d19181900360200190a1604080516001600160a01b038316815290517f756ebc192164c295bba134b5aacd72cc7aff8098a670d1f0a5f6b3a0b4ce67079181900360200190a1611e04613c48565b5050505050505050505050565b6000546001600160a01b031681565b60105481565b611e2e612992565b610d2081613c92565b6000805460408051630a7b61df60e11b8152905183926001600160a01b0316916314f6c3be916004808301926020929190829003018186803b158015611e7c57600080fd5b505afa158015611e90573d6000803e3d6000fd5b505050506040513d6020811015611ea657600080fd5b505160015460408051630a7b61df60e11b815290519293506000926001600160a01b03909216916314f6c3be91600480820192602092909190829003018186803b1580156119cd57600080fd5b6003546001600160a01b031690565b6003546001600160a01b0316331490565b60115481565b6000611f23612992565b6001600160a01b0383166000908152600e6020526040812054610d56908463ffffffff613b3f16565b60125481565b600a546001600160a01b031681565b6040518060400160405280600c81526020016b2a3937bb32a6b0b730b3b2b960a11b81525081565b600b546001600160a01b031681565b6000806000611fa684613cfd565b915091506000611fb68383613d83565b95945050505050565b6004546001600160a01b031681565b6000610d7582613db8565b6008546001600160a01b031681565b6001600160a01b0381166000908152600e60205260408120805460019091015490918061201485612943565b915061201f85611310565b9050612031848363ffffffff613b3f16565b9350612043838263ffffffff613b3f16565b92509193509193565b612054615676565b506040805160e0810182526000546001600160a01b03908116825260015481166020830152600854811692820192909252600a5482166060820152600b5482166080820152600754821660a082015260065490911660c08201526120b66156b2565b6120bf83613de4565b6120c7613e3e565b600260009054906101000a90046001600160a01b03166001600160a01b0316630fdb11cf6040518163ffffffff1660e01b8152600401602060405180830381600087803b15801561211757600080fd5b505af115801561212b573d6000803e3d6000fd5b505050506040513d602081101561214157600080fd5b505160c0820181905261215390613f02565b61215c89613f51565b61216b8260400151338b613f90565b612173611911565b60e0820181905260408084015181516370a0823160e01b815233600482015291516001600160a01b03909116916370a08231916024808301926020929190829003018186803b1580156121c557600080fd5b505afa1580156121d9573d6000803e3d6000fd5b505050506040513d60208110156121ef57600080fd5b505111156121f957fe5b888152608082015160c0820151600091612214918b90614050565b1561222057508761234a565b82608001516001600160a01b0316634d6228316040518163ffffffff1660e01b815260040160206040518083038186803b15801561225d57600080fd5b505afa158015612271573d6000803e3d6000fd5b505050506040513d602081101561228757600080fd5b505190505b6001600160a01b038116158015906122b85750670f43fc2c04ee00006122b6828460c0015161282c565b105b1561234a5782608001516001600160a01b031663b72703ac826040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b15801561231757600080fd5b505afa15801561232b573d6000803e3d6000fd5b505050506040513d602081101561234157600080fd5b5051905061228c565b846123555760001994505b6001600160a01b0381161580159061236d5750815115155b80156123795750600085115b156124ad57848060019003955050600083608001516001600160a01b031663b72703ac836040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b1580156123e357600080fd5b505afa1580156123f7573d6000803e3d6000fd5b505050506040513d602081101561240d57600080fd5b50518451602086015191925061242391846129dd565b61242b6156f7565b612442858486600001518760c001518e8e8e6141c3565b90508060400151156124555750506124ad565b8051602085015161246b9163ffffffff613b3f16565b602080860191909152810151604085015161248b9163ffffffff613b3f16565b6040850152805184516124a39163ffffffff612aff16565b8452509050612355565b60008260400151116124f05760405162461bcd60e51b81526004018080602001828103825260298152602001806157a46029913960400191505060405180910390fd5b61250782604001518360c001518460e00151614476565b50612515826040015161451e565b60608301819052604083015161252c91908661452b565b82600001516001600160a01b03166364a197f3846060015184606001516040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b15801561259857600080fd5b505af11580156125ac573d6000803e3d6000fd5b5050505082606001516001600160a01b0316631e3e2a1a83606001516040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b1580156125fe57600080fd5b505af1158015612612573d6000803e3d6000fd5b505050506060820151604083015161262991612aff565b8260800181815250507f43a3f4082a4dbc33d78e317d2497d3a730bc7fc3574159dcea1056e62e5d9ad88a8360200151846040015185606001516040518085815260200184815260200183815260200182815260200194505050505060405180910390a182604001516001600160a01b0316639dc29fac3384602001516040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b1580156126f557600080fd5b505af1158015612709573d6000803e3d6000fd5b5050505082600001516001600160a01b03166338d995a883602001516040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b15801561275b57600080fd5b505af115801561276f573d6000803e3d6000fd5b505084516080850151604080516364a197f360e01b81523360048201526024810192909252516001600160a01b0390921693506364a197f3925060448082019260009290919082900301818387803b1580156127ca57600080fd5b505af11580156127de573d6000803e3d6000fd5b5050505050505050505050505050565b600f5481565b6212750081565b60006111ea6128086135b3565b61345c565b670ddd4b8c6c7d70d881565b612821612992565b610d208160026145a0565b600080600061283a85613cfd565b9150915060006113cc8383876146b9565b600d5481565b600061285b612992565b6001600160a01b0383166000908152600e602052604081206001015461189c908463ffffffff612aff16565b6000610d756128946127fb565b836146e9565b6001600160a01b03166000908152600e602052604090205490565b6000601582815481106128c457fe5b6000918252602090912001546001600160a01b031692915050565b60135481565b600060016001600160a01b0383166000908152600e602052604090206003015460ff16600481111561291357fe5b1461292057506000610d9a565b506012546001600160a01b03821660009081526014602052604090205410919050565b6001600160a01b038116600090815260146020526040812060010154601354829061133e908363ffffffff612aff16565b60006111ea600c54613b18565b612989612992565b610d2081614748565b6004546001600160a01b031633146129db5760405162461bcd60e51b815260040180806020018281038252603b8152602001806158c6603b913960400191505060405180910390fd5b565b6129e6816128e5565b15612afa576129f481613492565b60006129ff82611310565b90506000612a0c83612943565b6001600160a01b0384166000908152600e6020526040902060010154909150612a3b908363ffffffff613b3f16565b6001600160a01b0384166000908152600e60205260409020600181019190915554612a6c908263ffffffff613b3f16565b6001600160a01b0384166000908152600e6020526040902055612a8e83613c92565b612a9a85858385614798565b6001600160a01b0383166000818152600e602090815260408083208054600182015460029092015483519182529381019190915280820192909252606082019290925290516000805160206158a68339815191529181900360800190a250505b505050565b6000612b4183836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061489a565b9392505050565b601580546001808201835560008381527f55f448fdea98c4d29eb340757ef0a66cd03dbb9538908a6a81d96026b71ec47590920180546001600160a01b0319166001600160a01b03861617905591549091612ba39190612aff565b6001600160a01b03929092166000908152600e602052604090206003018054610100600160881b0319166101006001600160801b038516021790555090565b6001600160a01b0381166000908152600e60205260408120600101548190612c0990614931565b6001600160a01b0384166000908152600e60205260409020600201805490829055600f5491925090612c53908390612c47908463ffffffff612aff16565b9063ffffffff613b3f16565b600f81905560408051918252517f6bac5e0eb3c44eb03a60ab11ec3a2c051771616aecadbcfff2630aabae5203829181900360200190a15092915050565b600080612c9d83613db8565b6714d1120d7b160000119392505050565b612cb661562a565b612cbe61571a565b612cc661562a565b84825260006080830152612cd8611911565b60a0830152612ce5611e37565b60c0830152600060208301525b835182602001511015612ebe5783826020015181518110612d0f57fe5b6020908102919091018101516001600160a01b0316606084018190526000908152600e909152604090206003015460019060ff166004811115612d4e57fe5b14612d5857612eae565b612d6682606001518761282c565b60408301526080820151612e5057670f43fc2c04ee0000826040015110158015612d8f57508151155b15612d9957612eae565b6000612dae8360c001518460a00151896146b9565b9050612dcb8989856060015186604001518760000151868d61496d565b60808101518451919350612de5919063ffffffff612aff16565b8352608082015160a0840151612e009163ffffffff612aff16565b60a08085019190915282015160c0840151612e209163ffffffff612aff16565b60c0840152612e2f8483614ca0565b9350612e448360c001518460a0015189614db7565b15608084015250612eae565b81608001518015612e6c5750670f43fc2c04ee00008260400151105b15612eae57612e85888884606001518560000151614dd8565b60808101518351919250612e9f919063ffffffff612aff16565b8252612eab8382614ca0565b92505b6020820180516001019052612cf2565b505095945050505050565b612ed161562a565b612ed961571a565b612ee161562a565b848252600060208301525b835182602001511015612ebe5783826020015181518110612f0957fe5b60209081029190910101516001600160a01b031660608301819052612f2e908761282c565b60408301819052670f43fc2c04ee00001115612f8157612f58888884606001518560000151614dd8565b60808101518351919250612f72919063ffffffff612aff16565b8252612f7e8382614ca0565b92505b6020820180516001019052612eec565b81612f9b5761320c565b601654600090612fbd90612c4784670de0b6b3a764000063ffffffff61351816565b90506000612fe2601754612c47670de0b6b3a76400008761351890919063ffffffff16565b90506000612ffb600f548461357190919063ffffffff16565b90506000613014600f548461357190919063ffffffff16565b905061303b61302e600f548461351890919063ffffffff16565b859063ffffffff612aff16565b601655600f546130639061305690839063ffffffff61351816565b849063ffffffff612aff16565b601755601254613079908363ffffffff613b3f16565b60125560135461308f908263ffffffff613b3f16565b601381905560125460408051918252602082019290925281517f9f8bc8ab0daf5bceef75ecfd2085d1fcc6548c657ea970d9a23a60610d0737e3929181900390910190a1876001600160a01b03166338d995a8876040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b15801561311957600080fd5b505af115801561312d573d6000803e3d6000fd5b50505050866001600160a01b031663cfb9329a876040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b15801561317757600080fd5b505af115801561318b573d6000803e3d6000fd5b50505050876001600160a01b03166364a197f388876040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b1580156131ef57600080fd5b505af1158015613203573d6000803e3d6000fd5b50505050505050505b50505050565b600f546010819055506000826001600160a01b03166314f6c3be6040518163ffffffff1660e01b815260040160206040518083038186803b15801561325657600080fd5b505afa15801561326a573d6000803e3d6000fd5b505050506040513d602081101561328057600080fd5b505160015460408051630a7b61df60e11b815290519293506000926001600160a01b03909216916314f6c3be91600480820192602092909190829003018186803b1580156132cd57600080fd5b505afa1580156132e1573d6000803e3d6000fd5b505050506040513d60208110156132f757600080fd5b5051905061330f81612c47848663ffffffff612aff16565b601181905560105460408051918252602082019290925281517f51bf4c63ec3cba9d03d43238abbdd979dd91bd16d9895c74ceea9118c7baaf60929181900390910190a150505050565b81156133d85760085460065460408051631062c15f60e11b81526001600160a01b039283166004820152868316602482015260448101869052905191909216916320c582be91606480830192600092919082900301818387803b1580156133bf57600080fd5b505af11580156133d3573d6000803e3d6000fd5b505050505b801561320c57836001600160a01b03166364a197f384836040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b15801561343e57600080fd5b505af1158015613452573d6000803e3d6000fd5b5050505050505050565b6000610d75613484836103e8670de0b6b3a76400005b04600502613b3f90919063ffffffff16565b670de0b6b3a7640000614f47565b60016001600160a01b0382166000908152600e602052604090206003015460ff1660048111156134be57fe5b14610d205760405162461bcd60e51b815260040180806020018281038252602f815260200180615a17602f913960400191505060405180910390fd5b6000612b41670de0b6b3a76400006113c0858563ffffffff61351816565b60008261352757506000610d75565b8282028284828161353457fe5b0414612b415760405162461bcd60e51b81526004018080602001828103825260218152602001806158376021913960400191505060405180910390fd5b6000612b4183836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250614f5d565b6000806135be614fc2565b905060006135d4670ddd4b8c6c7d70d883614fde565b9050611a0b670de0b6b3a76400006113c083600c5461351890919063ffffffff16565b600061360e600d5442612aff90919063ffffffff16565b9050603c8110610d205742600d81905560408051918252517f860f8d2f0c74dd487e89e2883e3b25b8159ce1e1b3433a291cba7b82c508f3bc9181900360200190a150565b61365b61562a565b61366361571a565b61366b61562a565b8482526000608083015261367d611911565b60a083015261368a611e37565b8260c001818152505086608001516001600160a01b0316634d6228316040518163ffffffff1660e01b815260040160206040518083038186803b1580156136d057600080fd5b505afa1580156136e4573d6000803e3d6000fd5b505050506040513d60208110156136fa57600080fd5b50516001600160a01b039081166060840152608088015160408051631e22314360e01b815290516000939290921691631e22314391600480820192602092909190829003018186803b15801561374f57600080fd5b505afa158015613763573d6000803e3d6000fd5b505050506040513d602081101561377957600080fd5b50516000602085015290505b8483602001511080156137ae5750806001600160a01b031683606001516001600160a01b031614155b156139db57600088608001516001600160a01b031663b72703ac85606001516040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b15801561381357600080fd5b505afa158015613827573d6000803e3d6000fd5b505050506040513d602081101561383d57600080fd5b50516060850151909150613851908961282c565b6040850152608084015161394d57670f43fc2c04ee000084604001511015801561387a57508351155b1561388557506139db565b600061389a8560c001518660a001518b6146b9565b8a5160208c01516060880151604089015189519495506138bb94868f61496d565b608081015186519195506138d5919063ffffffff612aff16565b8552608084015160a08601516138f09163ffffffff612aff16565b8560a001818152505061391d8461010001516110f78660a001518860c00151612aff90919063ffffffff16565b60c086015261392c8685614ca0565b95506139418560c001518660a001518b614db7565b156080860152506139bd565b836080015180156139695750670f43fc2c04ee00008460400151105b156139b75761398a89600001518a6020015186606001518760000151614dd8565b608081015185519194506139a4919063ffffffff612aff16565b84526139b08584614ca0565b94506139bd565b506139db565b6001600160a01b031660608401526020830180516001019052613785565b505050949350505050565b6139ee61562a565b6139f661571a565b6139fe61562a565b600b54858352600060208401526001600160a01b03165b8483602001511015613b0c57806001600160a01b0316634d6228316040518163ffffffff1660e01b815260040160206040518083038186803b158015613a5a57600080fd5b505afa158015613a6e573d6000803e3d6000fd5b505050506040513d6020811015613a8457600080fd5b50516001600160a01b031660608401819052613aa0908861282c565b60408401819052670f43fc2c04ee00001115613af757613aca898985606001518660000151614dd8565b60808101518451919350613ae4919063ffffffff612aff16565b8352613af08483614ca0565b9350613afc565b613b0c565b6020830180516001019052613a15565b50505095945050505050565b6000610d75613b32836103e8670de0b6b3a7640000613472565b66b1a2bc2ec50000614f47565b600082820183811015612b41576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b6001600160a01b038116613bf4576040805162461bcd60e51b815260206004820152601e60248201527f4163636f756e742063616e6e6f74206265207a65726f20616464726573730000604482015290519081900360640190fd5b803b8061125e576040805162461bcd60e51b815260206004820181905260248201527f4163636f756e7420636f64652073697a652063616e6e6f74206265207a65726f604482015290519081900360640190fd5b6003546040516000916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600380546001600160a01b0319169055565b601280546001600160a01b0383166000908152601460209081526040918290209283556013546001909301839055925481519081529283019190915280517fc437f324d85e369394148dd9d62f98f534b382e01ed3dd2eb98138fb6d3ab49a9281900390910190a150565b6000806000613d0b84611310565b90506000613d1885612943565b6001600160a01b0386166000908152600e602052604081206001015491925090613d48908463ffffffff613b3f16565b6001600160a01b0387166000908152600e602052604081205491925090613d75908463ffffffff613b3f16565b919550909350505050915091565b60008115613daf57613da8826113c08568056bc75e2d6310000063ffffffff61351816565b9050610d75565b50600019610d75565b600080613dc3611e37565b90506000613dcf611911565b9050613ddc8282866146b9565b949350505050565b6611c37937e080008110801590613e035750670de0b6b3a76400008111155b610d205760405162461bcd60e51b815260040180806020018281038252603081526020018061599b6030913960400191505060405180910390fd5b60095460408051631e425be160e11b815290516000926001600160a01b031691633c84b7c2916004808301926020929190829003018186803b158015613e8357600080fd5b505afa158015613e97573d6000803e3d6000fd5b505050506040513d6020811015613ead57600080fd5b50519050613ec4816212750063ffffffff613b3f16565b421015610d205760405162461bcd60e51b81526004018080602001828103825260408152602001806157f76040913960400191505060405180910390fd5b670f43fc2c04ee0000613f1482613db8565b1015610d205760405162461bcd60e51b815260040180806020018281038252602a8152602001806159cb602a913960400191505060405180910390fd5b60008111610d205760405162461bcd60e51b815260040180806020018281038252602e815260200180615937602e913960400191505060405180910390fd5b80836001600160a01b03166370a08231846040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b158015613fe757600080fd5b505afa158015613ffb573d6000803e3d6000fd5b505050506040513d602081101561401157600080fd5b50511015612afa5760405162461bcd60e51b815260040180806020018281038252604e815260200180615858604e913960600191505060405180910390fd5b60006001600160a01b03831615806140e75750836001600160a01b0316635dbe47e8846040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b1580156140b957600080fd5b505afa1580156140cd573d6000803e3d6000fd5b505050506040513d60208110156140e357600080fd5b5051155b806141025750670f43fc2c04ee0000614100848461282c565b105b1561410f57506000612b41565b6000846001600160a01b031663765e0159856040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b15801561416757600080fd5b505afa15801561417b573d6000803e3d6000fd5b505050506040513d602081101561419157600080fd5b505190506001600160a01b0381161580611fb65750670f43fc2c04ee00006141b9828561282c565b1095945050505050565b6141cb6156f7565b6001600160a01b0387166000908152600e602052604090205461420890879061420390680ad78ebc5ac620000063ffffffff612aff16565b614f47565b8082526142299086906113c090670de0b6b3a764000063ffffffff61351816565b60208083019190915281516001600160a01b0389166000908152600e909252604082205461425c9163ffffffff612aff16565b6020808401516001600160a01b038b166000908152600e909252604082206001015492935090916142929163ffffffff612aff16565b9050680ad78ebc5ac620000082141561432b576142ae89614748565b6142b98960046145a0565b6142ce8a8a680ad78ebc5ac620000084615089565b886001600160a01b03166000805160206158a6833981519152600080600060036040518085815260200184815260200183815260200182600381111561431057fe5b60ff16815260200194505050505060405180910390a2614468565b60006143378284613d83565b905084811415806143585750686194049f30f72000006143568461523e565b105b1561436c575050600160408301525061446b565b60808b01516040805163015f109360e51b81526001600160a01b038d81166004830152602482018590528a81166044830152898116606483015291519190921691632be2126091608480830192600092919082900301818387803b1580156143d357600080fd5b505af11580156143e7573d6000803e3d6000fd5b5050506001600160a01b038b166000908152600e60205260409020848155600101839055506144158a612be2565b506001600160a01b038a166000818152600e6020908152604091829020600201548251878152918201869052818301526003606082015290516000805160206158a68339815191529181900360800190a2505b50505b979650505050505050565b6000806144816135b3565b90506000614499846113c0888863ffffffff61351816565b905060006144be6144b183600263ffffffff61357116565b849063ffffffff613b3f16565b90506144d281670de0b6b3a7640000614f47565b9050600081116144de57fe5b600c8190556040805182815290517fc454ee9b76c52f782a256af821b857ca6e125d1e3333bcede402fec2bed9600c9181900360200190a16113cc6135f7565b6000610d756128946111dd565b6000614549836113c086670de0b6b3a764000063ffffffff61351816565b90508181111561320c576040805162461bcd60e51b815260206004820152601d60248201527f4665652065786365656465642070726f7669646564206d6178696d756d000000604482015290519081900360640190fd5b60008160048111156145ae57fe5b141580156145c8575060018160048111156145c557fe5b14155b6145ce57fe5b6015546145da81615259565b6001600160a01b0383166000908152600e60205260409020600301805483919060ff1916600183600481111561460c57fe5b02179055506001600160a01b0383166000908152600e6020908152604080832060018082018590559084905560149092528220828155015561464e8382615312565b600b5460408051631484968760e11b81526001600160a01b038681166004830152915191909216916329092d0e91602480830192600092919082900301818387803b15801561469c57600080fd5b505af11580156146b0573d6000803e3d6000fd5b50505050505050565b600082156146e05760006146d7846113c0878663ffffffff61351816565b9150612b419050565b50600019612b41565b600080614708670de0b6b3a76400006113c0868663ffffffff61351816565b9050828110612b415760405162461bcd60e51b81526004018080602001828103825260368152602001806159656036913960400191505060405180910390fd5b6001600160a01b0381166000908152600e6020526040902060020154600f54614777908263ffffffff612aff16565b600f55506001600160a01b03166000908152600e6020526040812060020155565b826001600160a01b03166338d995a8836040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b1580156147de57600080fd5b505af11580156147f2573d6000803e3d6000fd5b50505050836001600160a01b031663cfb9329a836040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b15801561483c57600080fd5b505af1158015614850573d6000803e3d6000fd5b50505050826001600160a01b031663be41205f826040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b15801561343e57600080fd5b600081848411156149295760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156148ee5781810151838201526020016148d6565b50505050905090810190601f16801561491b5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b60008060115460001415614946575081610d75565b60006010541161495257fe5b612b416011546113c06010548661351890919063ffffffff16565b61497561562a565b61497d615762565b60155460011061498d575061446b565b61499687611fe8565b604085015260208481019190915284018190529083526149b5906154b9565b60408301819052680ad78ebc5ac6200000606084015260208301516149df9163ffffffff612aff16565b8152670de0b6b3a76400008611614ae757614a04898983602001518460400151614798565b614a0d87614748565b60006080830181905260a0830152815160c0830152805160e0830152614a348760036145a0565b866001600160a01b031660008051602061578483398151915283600001518460200151600260405180848152602001838152602001826003811115614a7557fe5b60ff168152602001935050505060405180910390a2866001600160a01b03166000805160206158a68339815191526000806000600260405180858152602001848152602001838152602001826003811115614acc57fe5b60ff16815260200194505050505060405180910390a2614c94565b670de0b6b3a764000086118015614b055750670f43fc2c04ee000086105b15614b5557614b1e898983602001518460400151614798565b614b2787614748565b81518151614b369190876154c0565b60e086015260c085015260a08401526080830152614a348760036145a0565b670f43fc2c04ee00008610158015614b6c57508386105b8015614b79575081518510155b15614c8357614b92898983602001518460400151614798565b84614b9957fe5b614ba287614748565b614bb5826000015183602001518561552c565b9150614bc28760036145a0565b61010082015115614c425760075461010083015160408051633f10abab60e01b81526001600160a01b038b81166004830152602482019390935290519190921691633f10abab91604480830192600092919082900301818387803b158015614c2957600080fd5b505af1158015614c3d573d6000803e3d6000fd5b505050505b866001600160a01b031660008051602061578483398151915283600001518460a00151600260405180848152602001838152602001826003811115614a7557fe5b614c8b61562a565b915061446b9050565b50979650505050505050565b614ca861562a565b60408083015190840151614cc19163ffffffff613b3f16565b604082015260608083015190840151614cdf9163ffffffff613b3f16565b606082015281516020840151614cfa9163ffffffff613b3f16565b6020808301919091528201518351614d179163ffffffff613b3f16565b815260808083015190840151614d329163ffffffff613b3f16565b608082015260a08083015190840151614d509163ffffffff613b3f16565b60a082015260c08083015190840151614d6e9163ffffffff613b3f16565b60c082015260e08083015190840151614d8c9163ffffffff613b3f16565b60e08201526101008083015190840151614dab9163ffffffff613b3f16565b61010082015292915050565b600080614dc58585856146b9565b6714d1120d7b1600001195945050505050565b614de061562a565b614de8615762565b614df184611fe8565b60408501908152602085810192835286019290925291845290519051614e1b918891889190614798565b614e2484614748565b614e3182602001516154b9565b60408301819052680ad78ebc5ac620000060608401526020830151600091614e5f919063ffffffff612aff16565b9050614e70836000015182866154c0565b60e087015260c086015260a08501526080840152614e8f8560036145a0565b846001600160a01b031660008051602061578483398151915284600001518560200151600160405180848152602001838152602001826003811115614ed057fe5b60ff168152602001935050505060405180910390a2846001600160a01b03166000805160206158a68339815191526000806000600160405180858152602001848152602001838152602001826003811115614f2757fe5b60ff16815260200194505050505060405180910390a25050949350505050565b6000818310614f565781612b41565b5090919050565b60008183614fac5760405162461bcd60e51b81526020600482018181528351602484015283519092839260449091019190850190808383600083156148ee5781810151838201526020016148d6565b506000838581614fb857fe5b0495945050505050565b60006111ea603c6113c0600d5442612aff90919063ffffffff16565b6000631f540500821115614ff457631f54050091505b816150085750670de0b6b3a7640000610d75565b670de0b6b3a764000083835b600181111561507f57600281066150495761502f82836155c6565b915061504281600263ffffffff61357116565b905061507a565b61505382846155c6565b925061505f82836155c6565b915061507760026113c083600163ffffffff612aff16565b90505b615014565b6113cc82846155c6565b6040808501516006548251632770a7eb60e21b81526001600160a01b039182166004820152602481018690529251911691639dc29fac91604480830192600092919082900301818387803b1580156150e057600080fd5b505af11580156150f4573d6000803e3d6000fd5b5050505083600001516001600160a01b03166338d995a8836040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b15801561514257600080fd5b505af1158015615156573d6000803e3d6000fd5b505050508360a001516001600160a01b0316633f10abab84836040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b1580156151be57600080fd5b505af11580156151d2573d6000803e3d6000fd5b5050505083600001516001600160a01b03166364a197f38560a00151836040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b15801561343e57600080fd5b6000610d7582680ad78ebc5ac620000063ffffffff612aff16565b6001811180156152d75750600b546040805163de8fa43160e01b815290516001926001600160a01b03169163de8fa431916004808301926020929190829003018186803b1580156152a957600080fd5b505afa1580156152bd573d6000803e3d6000fd5b505050506040513d60208110156152d357600080fd5b5051115b610d205760405162461bcd60e51b815260040180806020018281038252602a8152602001806157cd602a913960400191505060405180910390fd5b6001600160a01b0382166000908152600e602052604081206003015460ff169081600481111561533e57fe5b141580156153585750600181600481111561535557fe5b14155b61535e57fe5b6001600160a01b0383166000908152600e602052604081206003015461010090046001600160801b0316908390615396826001612aff565b905080836001600160801b031611156153ab57fe5b6000601582815481106153ba57fe5b600091825260209091200154601580546001600160a01b03909216925082916001600160801b0387169081106153ec57fe5b600091825260208083209190910180546001600160a01b0319166001600160a01b03948516179055918316808252600e83526040918290206003018054610100600160881b0319166101006001600160801b038a169081029190911790915582519182529281019290925280517f02b04ae5f7be9ca7c103293a2aa15f3c339d15d6eda53b721fef7b0e609c831a9281900390910190a1601580548061548e57fe5b600082815260209020810160001990810180546001600160a01b031916905501905550505050505050565b60c8900490565b60008080808415615516576154d58786614f47565b93506154eb876113c0888763ffffffff61351816565b92506154fd878563ffffffff612aff16565b915061550f868463ffffffff612aff16565b9050615523565b5060009250829150859050845b93509350935093565b61553461562a565b83815260208101839052600061555c836113c087670f43fc2c04ee000063ffffffff61351816565b9050615567816154b9565b60408301819052680ad78ebc5ac620000060608401526080830186905261559590829063ffffffff612aff16565b60a08301526155aa848263ffffffff612aff16565b61010083015250600060c0820181905260e08201529392505050565b6000806155d9848463ffffffff61351816565b9050613ddc670de0b6b3a76400006113c0836706f05b59d3b20000613b3f565b6040518060a00160405280600081526020016000815260200160001515815260200160008152602001600081525090565b6040518061012001604052806000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081525090565b6040805160e081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c081019190915290565b60405180610100016040528060008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081525090565b604051806060016040528060008152602001600081526020016000151581525090565b6040518060e0016040528060008152602001600081526020016000815260200160006001600160a01b0316815260200160001515815260200160008152602001600081525090565b6040518060600160405280600081526020016000815260200160008152509056feea67486ed7ebe3eea8ab3390efd4a3c8aae48be5bea27df104a8af786c40843454726f76654d616e616765723a20556e61626c6520746f2072656465656d20616e7920616d6f756e7454726f76654d616e616765723a204f6e6c79206f6e652074726f766520696e207468652073797374656d54726f76654d616e616765723a20526564656d7074696f6e7320617265206e6f7420616c6c6f77656420647572696e6720626f6f747374726170207068617365536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7754726f76654d616e616765723a2052657175657374656420726564656d7074696f6e20616d6f756e74206d757374206265203c3d20757365722773204c55534420746f6b656e2062616c616e6365c3770d654ed33aeea6bf11ac8ef05d02a6a04ed4686dd2f624d853bbec43cc8b54726f76654d616e616765723a2043616c6c6572206973206e6f742074686520426f72726f7765724f7065726174696f6e7320636f6e747261637454726f76654d616e616765723a2043616c6c646174612061646472657373206172726179206d757374206e6f7420626520656d70747954726f76654d616e616765723a20416d6f756e74206d7573742062652067726561746572207468616e207a65726f54726f76654d616e616765723a2046656520776f756c642065617420757020616c6c2072657475726e656420636f6c6c61746572616c4d6178206665652070657263656e74616765206d757374206265206265747765656e20302e352520616e64203130302554726f76654d616e616765723a2043616e6e6f742072656465656d207768656e20544352203c204d435254726f76654d616e616765723a206e6f7468696e6720746f206c697175696461746554726f76654d616e616765723a2054726f766520646f6573206e6f74206578697374206f7220697320636c6f736564a264697066735822122058923a9d6c4f36ad9b75dd502c5a29ad6a2ac2fc57cafd7ae36a3c66af64ff7f64736f6c634300060b0033", - "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061044a5760003560e01c8063795d26c31161023c578063b83f91a211610146578063d3d6f843116100c3578063e2ac77b011610087578063e2ac77b014610c67578063f34862de14610c8d578063f36b242514610cb3578063f92d34331461065d578063fe2ba84814610cbb5761044a565b8063d3d6f84314610bd3578063d5b3563514610bff578063d66a255314610c1c578063d9a7244414610c42578063dba1c5f214610c5f5761044a565b8063c52861f21161010a578063c52861f214610b69578063c7b5548114610b71578063cbd138ae14610b79578063d293c71014610b9f578063d380a37c14610bcb5761044a565b8063b83f91a214610ab7578063b91af97c14610abf578063bcd3752614610b0b578063bf9befb114610b59578063c35bc55014610b615761044a565b806396d711ff116101d4578063a3f4df7e11610198578063a3f4df7e146109e7578063ae91875414610a64578063b0d8e18114610a6c578063b7f8cf9b14610a92578063b82f263d14610a9a5761044a565b806396d711ff146109a35780639976cf45146109ab5780639dd233d2146109d7578063a20baee614610894578063a3a64017146109df5761044a565b8063795d26c3146108c9578063797250e3146108d15780637985c5e4146108d95780637f7dde4a14610955578063807d138d1461095d57806382fe3eb914610965578063887105d31461098b5780638da5cb5b146109935780638f32d59b1461099b5761044a565b8063477d66cf11610358578063631203b0116102d557806372423c171161029957806372423c171461086857806372fe25aa14610894578063741bef1a1461089c578063756b253e146108a4578063794e5724146108c15761044a565b8063631203b01461079157806364cee260146107ae578063653d46e7146107d457806366ca4a21146107f15780636ef64338146107f95761044a565b80635733d58f1161031c5780635733d58f146107275780635d6b480f1461072f5780635d8c96091461075b5780635dba4c4a1461078157806361ec893d146107895761044a565b8063477d66cf146106a3578063480cd578146106c05780634870dd9a146106e657806349eefeee146106ee5780634e443d9e146106f65761044a565b80631e8b1c2b116103e657806328d28b5b116103aa57806328d28b5b1461065d5780632b11551a146106655780632e86bbd81461066d5780632f865568146106755780633cc742251461069b5761044a565b80631e8b1c2b1461057c5780631f68f20a1461061f5780631f7af3c31461062757806321e378011461062f57806324092669146106555761044a565b8063048c661d1461044f578063060d49a314610473578063071a75411461048d5780630b0765571461049557806312610e92146104bd57806315d549f1146104e95780631673c79a1461050f57806318f2817a1461054e5780631bf4355514610574575b600080fd5b610457610ce1565b604080516001600160a01b039092168252519081900360200190f35b61047b610cf0565b60408051918252519081900360200190f35b61047b610cf6565b6104bb600480360360208110156104ab57600080fd5b50356001600160a01b0316610cfb565b005b61047b600480360360408110156104d357600080fd5b506001600160a01b038135169060200135610d23565b61047b600480360360208110156104ff57600080fd5b50356001600160a01b0316610d7b565b6105356004803603602081101561052557600080fd5b50356001600160a01b0316610d9f565b6040805192835260208301919091528051918290030190f35b61047b6004803603602081101561056457600080fd5b50356001600160a01b0316610db8565b61047b610dcb565b6104bb6004803603602081101561059257600080fd5b8101906020810181356401000000008111156105ad57600080fd5b8201836020820111156105bf57600080fd5b803590602001918460208302840111640100000000831117156105e157600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929550610dd8945050505050565b61047b61117a565b610457611180565b61047b6004803603602081101561064557600080fd5b50356001600160a01b031661118f565b61047b6111b9565b61047b6111cc565b61047b6111dd565b61047b6111ef565b6104bb6004803603602081101561068b57600080fd5b50356001600160a01b03166111fc565b610457611262565b61047b600480360360208110156106b957600080fd5b5035611271565b61047b600480360360208110156106d657600080fd5b50356001600160a01b0316611284565b61047b6112a2565b61047b6112a7565b6107136004803603602081101561070c57600080fd5b50356112ad565b604080519115158252519081900360200190f35b61047b6112b8565b6104bb6004803603604081101561074557600080fd5b506001600160a01b0381351690602001356112c4565b61047b6004803603602081101561077157600080fd5b50356001600160a01b0316611310565b6104bb6113d6565b61047b61143c565b61047b600480360360208110156107a757600080fd5b5035611441565b61047b600480360360208110156107c457600080fd5b50356001600160a01b031661144e565b6104bb600480360360208110156107ea57600080fd5b503561146c565b61047b61181a565b61081f6004803603602081101561080f57600080fd5b50356001600160a01b031661182c565b6040518086815260200185815260200184815260200183600481111561084157fe5b60ff1681526001600160801b03909216602083015250604080519182900301945092505050f35b61047b6004803603604081101561087e57600080fd5b506001600160a01b038135169060200135611866565b61047b6118c3565b6104576118cf565b610457600480360360208110156108ba57600080fd5b50356118de565b61047b611905565b61047b611911565b61047b611a12565b6104bb60048036036101608110156108f057600080fd5b506001600160a01b038135811691602081013582169160408201358116916060810135821691608082013581169160a081013582169160c082013581169160e08101358216916101008201358116916101208101358216916101409091013516611a18565b610457611e11565b61047b611e20565b6104bb6004803603602081101561097b57600080fd5b50356001600160a01b0316611e26565b61047b611e37565b610457611ef3565b610713611f02565b61047b611f13565b61047b600480360360408110156109c157600080fd5b506001600160a01b038135169060200135611f19565b61047b611f4c565b610457611f52565b6109ef611f61565b6040805160208082528351818301528351919283929083019185019080838360005b83811015610a29578181015183820152602001610a11565b50505050905090810190601f168015610a565780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b610457611f89565b61047b60048036036020811015610a8257600080fd5b50356001600160a01b0316611f98565b610457611fbf565b61047b60048036036020811015610ab057600080fd5b5035611fce565b610457611fd9565b610ae560048036036020811015610ad557600080fd5b50356001600160a01b0316611fe8565b604080519485526020850193909352838301919091526060830152519081900360800190f35b6104bb600480360360e0811015610b2157600080fd5b508035906001600160a01b03602082013581169160408101358216916060820135169060808101359060a08101359060c0013561204c565b61047b6127ee565b61047b6127f4565b61047b6127fb565b61047b61280d565b6104bb60048036036020811015610b8f57600080fd5b50356001600160a01b0316612819565b61047b60048036036040811015610bb557600080fd5b506001600160a01b03813516906020013561282c565b61047b61284b565b61047b60048036036040811015610be957600080fd5b506001600160a01b038135169060200135612851565b61047b60048036036020811015610c1557600080fd5b5035612887565b61047b60048036036020811015610c3257600080fd5b50356001600160a01b031661289a565b61045760048036036020811015610c5857600080fd5b50356128b5565b61047b6128df565b61071360048036036020811015610c7d57600080fd5b50356001600160a01b03166128e5565b61047b60048036036020811015610ca357600080fd5b50356001600160a01b0316612943565b61047b612974565b6104bb60048036036020811015610cd157600080fd5b50356001600160a01b0316612981565b6005546001600160a01b031681565b60175481565b600281565b610d03612992565b600054600154610d20916001600160a01b039081169116836129dd565b50565b6000610d2d612992565b6001600160a01b0383166000908152600e6020526040812054610d56908463ffffffff612aff16565b6001600160a01b0385166000908152600e602052604090208190559150505b92915050565b6000610d85612992565b610d8e82612b48565b6001600160801b031690505b919050565b6014602052600090815260409020805460019091015482565b6000610dc2612992565b610d7582612be2565b686194049f30f720000081565b8051610e155760405162461bcd60e51b81526004018080602001828103825260368152602001806159016036913960400191505060405180910390fd5b6000546001546005546001600160a01b03928316929182169116610e376155f9565b610e3f61562a565b600260009054906101000a90046001600160a01b03166001600160a01b0316630fdb11cf6040518163ffffffff1660e01b8152600401602060405180830381600087803b158015610e8f57600080fd5b505af1158015610ea3573d6000803e3d6000fd5b505050506040513d6020811015610eb957600080fd5b50518252604080516326fcbc6b60e21b815290516001600160a01b03851691639bf2f1ac916004808301926020929190829003018186803b158015610efd57600080fd5b505afa158015610f11573d6000803e3d6000fd5b505050506040513d6020811015610f2757600080fd5b505160208301528151610f3990612c91565b1580156040840152610f6157610f5a8585846000015185602001518a612cae565b9050610f79565b610f768585846000015185602001518a612ec9565b90505b6000816020015111610fbc5760405162461bcd60e51b81526004018080602001828103825260228152602001806159f56022913960400191505060405180910390fd5b826001600160a01b031663335525ad82608001518360a001516040518363ffffffff1660e01b81526004018083815260200182815260200192505050600060405180830381600087803b15801561101257600080fd5b505af1158015611026573d6000803e3d6000fd5b5050505061103e85858360c001518460e00151612f91565b610100810151156110bd57600754610100820151604080516364a197f360e01b81526001600160a01b039384166004820152602481019290925251918716916364a197f39160448082019260009290919082900301818387803b1580156110a457600080fd5b505af11580156110b8573d6000803e3d6000fd5b505050505b6110cb858260400151613212565b602081015160608301526101008101516040820151825161110392916110f7919063ffffffff612aff16565b9063ffffffff612aff16565b608080840182905260608085015160408086015186840151825193845260208401969096528282015291810193909352517f4152c73dd2614c4f9fc35e8c9cf16013cd588c75b49a4c1673ecffdcbcda94039281900390910190a1611172853383606001518460400151613359565b505050505050565b600c5481565b6009546001600160a01b031681565b6001600160a01b0381166000908152600e602052604081206003015460ff166004811115610d7557fe5b6064670de0b6b3a76400005b0460050281565b6103e8670de0b6b3a76400006111c5565b60006111ea600c5461345c565b905090565b680ad78ebc5ac620000081565b61120581613492565b60408051600180825281830190925260609160208083019080368337019050509050818160008151811061123557fe5b60200260200101906001600160a01b031690816001600160a01b03168152505061125e81610dd8565b5050565b6001546001600160a01b031681565b6000610d7561127e61181a565b836134fa565b6001600160a01b03166000908152600e602052604090206001015490565b60c881565b60155490565b6000610d7582612c91565b6714d1120d7b16000081565b6112cc612992565b8060048111156112d857fe5b6001600160a01b0383166000908152600e60205260409020600301805460ff1916600183600481111561130757fe5b02179055505050565b6001600160a01b038116600090815260146020526040812054601254829061133e908363ffffffff612aff16565b9050801580611377575060016001600160a01b0385166000908152600e602052604090206003015460ff16600481111561137457fe5b14155b1561138757600092505050610d9a565b6001600160a01b0384166000908152600e6020526040812060020154906113cc670de0b6b3a76400006113c0848663ffffffff61351816565b9063ffffffff61357116565b9695505050505050565b6113de612992565b60006113e86135b3565b9050670de0b6b3a76400008111156113fc57fe5b600c8190556040805182815290517fc454ee9b76c52f782a256af821b857ca6e125d1e3333bcede402fec2bed9600c9181900360200190a1610d206135f7565b603c81565b6000610d7561127e612974565b6001600160a01b03166000908152600e602052604090206002015490565b611474615676565b506040805160e081018252600080546001600160a01b0390811683526001548116602084015292820181905260608201819052600b548316608083015260a0820181905260c08201526005549091166114cb6155f9565b6114d361562a565b600260009054906101000a90046001600160a01b03166001600160a01b0316630fdb11cf6040518163ffffffff1660e01b8152600401602060405180830381600087803b15801561152357600080fd5b505af1158015611537573d6000803e3d6000fd5b505050506040513d602081101561154d57600080fd5b50518252604080516326fcbc6b60e21b815290516001600160a01b03851691639bf2f1ac916004808301926020929190829003018186803b15801561159157600080fd5b505afa1580156115a5573d6000803e3d6000fd5b505050506040513d60208110156115bb57600080fd5b5051602083015281516115cd90612c91565b15801560408401526115f4576115ed848360000151846020015188613653565b9050611614565b6116118460000151856020015184600001518560200151896139e6565b90505b60008160200151116116575760405162461bcd60e51b81526004018080602001828103825260228152602001806159f56022913960400191505060405180910390fd5b826001600160a01b031663335525ad82608001518360a001516040518363ffffffff1660e01b81526004018083815260200182815260200192505050600060405180830381600087803b1580156116ad57600080fd5b505af11580156116c1573d6000803e3d6000fd5b505050506116e1846000015185602001518360c001518460e00151612f91565b61010081015115611762578351600754610100830151604080516364a197f360e01b81526001600160a01b03938416600482015260248101929092525191909216916364a197f391604480830192600092919082900301818387803b15801561174957600080fd5b505af115801561175d573d6000803e3d6000fd5b505050505b61177484600001518260400151613212565b60208101516060830152610100810151604082015182516117a092916110f7919063ffffffff612aff16565b608080840182905260608085015160408086015186840151825193845260208401969096528282015291810193909352517f4152c73dd2614c4f9fc35e8c9cf16013cd588c75b49a4c1673ecffdcbcda94039281900390910190a161181384600001513383606001518460400151613359565b5050505050565b60006111ea6118276135b3565b613b18565b600e6020526000908152604090208054600182015460028301546003909301549192909160ff81169061010090046001600160801b031685565b6000611870612992565b6001600160a01b0383166000908152600e602052604081206001015461189c908463ffffffff613b3f16565b6001600160a01b0385166000908152600e6020526040902060010181905591505092915050565b670de0b6b3a764000081565b6002546001600160a01b031681565b601581815481106118eb57fe5b6000918252602090912001546001600160a01b0316905081565b670f43fc2c04ee000081565b6000805460408051632f5a97e560e11b8152905183926001600160a01b031691635eb52fca916004808301926020929190829003018186803b15801561195657600080fd5b505afa15801561196a573d6000803e3d6000fd5b505050506040513d602081101561198057600080fd5b505160015460408051632f5a97e560e11b815290519293506000926001600160a01b0390921691635eb52fca91600480820192602092909190829003018186803b1580156119cd57600080fd5b505afa1580156119e1573d6000803e3d6000fd5b505050506040513d60208110156119f757600080fd5b50519050611a0b828263ffffffff613b3f16565b9250505090565b60165481565b611a20611f02565b611a71576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b611a7a8b613b99565b611a838a613b99565b611a8c89613b99565b611a9588613b99565b611a9e87613b99565b611aa786613b99565b611ab085613b99565b611ab984613b99565b611ac283613b99565b611acb82613b99565b611ad481613b99565b600480546001600160a01b03199081166001600160a01b038e81169182179093556000805483168e85161790556001805483168d85161790556005805483168c85161790556006805483168b85161790556007805483168a8516179055600280548316898516179055600880548316888516179055600b80548316878516179055600980548316868516179055600a805490921692841692909217905560408051918252517f3ca631ffcd2a9b5d9ae18543fc82f58eb4ca33af9e6ab01b7a8e95331e6ed985916020908290030190a1604080516001600160a01b038c16815290517f78f058b189175430c48dc02699e3a0031ea4ff781536dc2fab847de4babdd8829181900360200190a1604080516001600160a01b038b16815290517f5ee0cae2f063ed938bb55046f6a932fb6ae792bf43624806bb90abe68a50be9b9181900360200190a1604080516001600160a01b038a16815290517f82966d27eea39b038ee0fa30cd16532bb24f6e65d31cb58fb227aa5766cdcc7f9181900360200190a1604080516001600160a01b038916815290517fcfb07d791fcafc032b35837b50eb84b74df518cf4cc287e8084f47630fa70fa09181900360200190a1604080516001600160a01b038816815290517fe67f36a6e961157d6eff83b91f3af5a62131ceb6f04954ef74f51c1c05e7f88d9181900360200190a1604080516001600160a01b038716815290517f8c537274438aa850a330284665d81a85dd38267d09e4050d416bfc94142db2649181900360200190a1604080516001600160a01b038616815290517f227eec0ec317af6ab1a9587ffa1c84332522eb4c583a908f89babc05f8f339bd9181900360200190a1604080516001600160a01b038516815290517f65f4cf077bc01e4742eb5ad98326f6e95b63548ea24b17f8d5e823111fe788009181900360200190a1604080516001600160a01b038416815290517f2ac6e99201ddc1b6eac6f8f28662d1ecafee131f6eb98c29de54528a9888a7d19181900360200190a1604080516001600160a01b038316815290517f756ebc192164c295bba134b5aacd72cc7aff8098a670d1f0a5f6b3a0b4ce67079181900360200190a1611e04613c48565b5050505050505050505050565b6000546001600160a01b031681565b60105481565b611e2e612992565b610d2081613c92565b6000805460408051630a7b61df60e11b8152905183926001600160a01b0316916314f6c3be916004808301926020929190829003018186803b158015611e7c57600080fd5b505afa158015611e90573d6000803e3d6000fd5b505050506040513d6020811015611ea657600080fd5b505160015460408051630a7b61df60e11b815290519293506000926001600160a01b03909216916314f6c3be91600480820192602092909190829003018186803b1580156119cd57600080fd5b6003546001600160a01b031690565b6003546001600160a01b0316331490565b60115481565b6000611f23612992565b6001600160a01b0383166000908152600e6020526040812054610d56908463ffffffff613b3f16565b60125481565b600a546001600160a01b031681565b6040518060400160405280600c81526020016b2a3937bb32a6b0b730b3b2b960a11b81525081565b600b546001600160a01b031681565b6000806000611fa684613cfd565b915091506000611fb68383613d83565b95945050505050565b6004546001600160a01b031681565b6000610d7582613db8565b6008546001600160a01b031681565b6001600160a01b0381166000908152600e60205260408120805460019091015490918061201485612943565b915061201f85611310565b9050612031848363ffffffff613b3f16565b9350612043838263ffffffff613b3f16565b92509193509193565b612054615676565b506040805160e0810182526000546001600160a01b03908116825260015481166020830152600854811692820192909252600a5482166060820152600b5482166080820152600754821660a082015260065490911660c08201526120b66156b2565b6120bf83613de4565b6120c7613e3e565b600260009054906101000a90046001600160a01b03166001600160a01b0316630fdb11cf6040518163ffffffff1660e01b8152600401602060405180830381600087803b15801561211757600080fd5b505af115801561212b573d6000803e3d6000fd5b505050506040513d602081101561214157600080fd5b505160c0820181905261215390613f02565b61215c89613f51565b61216b8260400151338b613f90565b612173611911565b60e0820181905260408084015181516370a0823160e01b815233600482015291516001600160a01b03909116916370a08231916024808301926020929190829003018186803b1580156121c557600080fd5b505afa1580156121d9573d6000803e3d6000fd5b505050506040513d60208110156121ef57600080fd5b505111156121f957fe5b888152608082015160c0820151600091612214918b90614050565b1561222057508761234a565b82608001516001600160a01b0316634d6228316040518163ffffffff1660e01b815260040160206040518083038186803b15801561225d57600080fd5b505afa158015612271573d6000803e3d6000fd5b505050506040513d602081101561228757600080fd5b505190505b6001600160a01b038116158015906122b85750670f43fc2c04ee00006122b6828460c0015161282c565b105b1561234a5782608001516001600160a01b031663b72703ac826040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b15801561231757600080fd5b505afa15801561232b573d6000803e3d6000fd5b505050506040513d602081101561234157600080fd5b5051905061228c565b846123555760001994505b6001600160a01b0381161580159061236d5750815115155b80156123795750600085115b156124ad57848060019003955050600083608001516001600160a01b031663b72703ac836040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b1580156123e357600080fd5b505afa1580156123f7573d6000803e3d6000fd5b505050506040513d602081101561240d57600080fd5b50518451602086015191925061242391846129dd565b61242b6156f7565b612442858486600001518760c001518e8e8e6141c3565b90508060400151156124555750506124ad565b8051602085015161246b9163ffffffff613b3f16565b602080860191909152810151604085015161248b9163ffffffff613b3f16565b6040850152805184516124a39163ffffffff612aff16565b8452509050612355565b60008260400151116124f05760405162461bcd60e51b81526004018080602001828103825260298152602001806157a46029913960400191505060405180910390fd5b61250782604001518360c001518460e00151614476565b50612515826040015161451e565b60608301819052604083015161252c91908661452b565b82600001516001600160a01b03166364a197f3846060015184606001516040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b15801561259857600080fd5b505af11580156125ac573d6000803e3d6000fd5b5050505082606001516001600160a01b0316631e3e2a1a83606001516040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b1580156125fe57600080fd5b505af1158015612612573d6000803e3d6000fd5b505050506060820151604083015161262991612aff565b8260800181815250507f43a3f4082a4dbc33d78e317d2497d3a730bc7fc3574159dcea1056e62e5d9ad88a8360200151846040015185606001516040518085815260200184815260200183815260200182815260200194505050505060405180910390a182604001516001600160a01b0316639dc29fac3384602001516040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b1580156126f557600080fd5b505af1158015612709573d6000803e3d6000fd5b5050505082600001516001600160a01b03166338d995a883602001516040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b15801561275b57600080fd5b505af115801561276f573d6000803e3d6000fd5b505084516080850151604080516364a197f360e01b81523360048201526024810192909252516001600160a01b0390921693506364a197f3925060448082019260009290919082900301818387803b1580156127ca57600080fd5b505af11580156127de573d6000803e3d6000fd5b5050505050505050505050505050565b600f5481565b6212750081565b60006111ea6128086135b3565b61345c565b670ddd4b8c6c7d70d881565b612821612992565b610d208160026145a0565b600080600061283a85613cfd565b9150915060006113cc8383876146b9565b600d5481565b600061285b612992565b6001600160a01b0383166000908152600e602052604081206001015461189c908463ffffffff612aff16565b6000610d756128946127fb565b836146e9565b6001600160a01b03166000908152600e602052604090205490565b6000601582815481106128c457fe5b6000918252602090912001546001600160a01b031692915050565b60135481565b600060016001600160a01b0383166000908152600e602052604090206003015460ff16600481111561291357fe5b1461292057506000610d9a565b506012546001600160a01b03821660009081526014602052604090205410919050565b6001600160a01b038116600090815260146020526040812060010154601354829061133e908363ffffffff612aff16565b60006111ea600c54613b18565b612989612992565b610d2081614748565b6004546001600160a01b031633146129db5760405162461bcd60e51b815260040180806020018281038252603b8152602001806158c6603b913960400191505060405180910390fd5b565b6129e6816128e5565b15612afa576129f481613492565b60006129ff82611310565b90506000612a0c83612943565b6001600160a01b0384166000908152600e6020526040902060010154909150612a3b908363ffffffff613b3f16565b6001600160a01b0384166000908152600e60205260409020600181019190915554612a6c908263ffffffff613b3f16565b6001600160a01b0384166000908152600e6020526040902055612a8e83613c92565b612a9a85858385614798565b6001600160a01b0383166000818152600e602090815260408083208054600182015460029092015483519182529381019190915280820192909252606082019290925290516000805160206158a68339815191529181900360800190a250505b505050565b6000612b4183836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061489a565b9392505050565b601580546001808201835560008381527f55f448fdea98c4d29eb340757ef0a66cd03dbb9538908a6a81d96026b71ec47590920180546001600160a01b0319166001600160a01b03861617905591549091612ba39190612aff565b6001600160a01b03929092166000908152600e602052604090206003018054610100600160881b0319166101006001600160801b038516021790555090565b6001600160a01b0381166000908152600e60205260408120600101548190612c0990614931565b6001600160a01b0384166000908152600e60205260409020600201805490829055600f5491925090612c53908390612c47908463ffffffff612aff16565b9063ffffffff613b3f16565b600f81905560408051918252517f6bac5e0eb3c44eb03a60ab11ec3a2c051771616aecadbcfff2630aabae5203829181900360200190a15092915050565b600080612c9d83613db8565b6714d1120d7b160000119392505050565b612cb661562a565b612cbe61571a565b612cc661562a565b84825260006080830152612cd8611911565b60a0830152612ce5611e37565b60c0830152600060208301525b835182602001511015612ebe5783826020015181518110612d0f57fe5b6020908102919091018101516001600160a01b0316606084018190526000908152600e909152604090206003015460019060ff166004811115612d4e57fe5b14612d5857612eae565b612d6682606001518761282c565b60408301526080820151612e5057670f43fc2c04ee0000826040015110158015612d8f57508151155b15612d9957612eae565b6000612dae8360c001518460a00151896146b9565b9050612dcb8989856060015186604001518760000151868d61496d565b60808101518451919350612de5919063ffffffff612aff16565b8352608082015160a0840151612e009163ffffffff612aff16565b60a08085019190915282015160c0840151612e209163ffffffff612aff16565b60c0840152612e2f8483614ca0565b9350612e448360c001518460a0015189614db7565b15608084015250612eae565b81608001518015612e6c5750670f43fc2c04ee00008260400151105b15612eae57612e85888884606001518560000151614dd8565b60808101518351919250612e9f919063ffffffff612aff16565b8252612eab8382614ca0565b92505b6020820180516001019052612cf2565b505095945050505050565b612ed161562a565b612ed961571a565b612ee161562a565b848252600060208301525b835182602001511015612ebe5783826020015181518110612f0957fe5b60209081029190910101516001600160a01b031660608301819052612f2e908761282c565b60408301819052670f43fc2c04ee00001115612f8157612f58888884606001518560000151614dd8565b60808101518351919250612f72919063ffffffff612aff16565b8252612f7e8382614ca0565b92505b6020820180516001019052612eec565b81612f9b5761320c565b601654600090612fbd90612c4784670de0b6b3a764000063ffffffff61351816565b90506000612fe2601754612c47670de0b6b3a76400008761351890919063ffffffff16565b90506000612ffb600f548461357190919063ffffffff16565b90506000613014600f548461357190919063ffffffff16565b905061303b61302e600f548461351890919063ffffffff16565b859063ffffffff612aff16565b601655600f546130639061305690839063ffffffff61351816565b849063ffffffff612aff16565b601755601254613079908363ffffffff613b3f16565b60125560135461308f908263ffffffff613b3f16565b601381905560125460408051918252602082019290925281517f9f8bc8ab0daf5bceef75ecfd2085d1fcc6548c657ea970d9a23a60610d0737e3929181900390910190a1876001600160a01b03166338d995a8876040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b15801561311957600080fd5b505af115801561312d573d6000803e3d6000fd5b50505050866001600160a01b031663cfb9329a876040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b15801561317757600080fd5b505af115801561318b573d6000803e3d6000fd5b50505050876001600160a01b03166364a197f388876040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b1580156131ef57600080fd5b505af1158015613203573d6000803e3d6000fd5b50505050505050505b50505050565b600f546010819055506000826001600160a01b03166314f6c3be6040518163ffffffff1660e01b815260040160206040518083038186803b15801561325657600080fd5b505afa15801561326a573d6000803e3d6000fd5b505050506040513d602081101561328057600080fd5b505160015460408051630a7b61df60e11b815290519293506000926001600160a01b03909216916314f6c3be91600480820192602092909190829003018186803b1580156132cd57600080fd5b505afa1580156132e1573d6000803e3d6000fd5b505050506040513d60208110156132f757600080fd5b5051905061330f81612c47848663ffffffff612aff16565b601181905560105460408051918252602082019290925281517f51bf4c63ec3cba9d03d43238abbdd979dd91bd16d9895c74ceea9118c7baaf60929181900390910190a150505050565b81156133d85760085460065460408051631062c15f60e11b81526001600160a01b039283166004820152868316602482015260448101869052905191909216916320c582be91606480830192600092919082900301818387803b1580156133bf57600080fd5b505af11580156133d3573d6000803e3d6000fd5b505050505b801561320c57836001600160a01b03166364a197f384836040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b15801561343e57600080fd5b505af1158015613452573d6000803e3d6000fd5b5050505050505050565b6000610d75613484836103e8670de0b6b3a76400005b04600502613b3f90919063ffffffff16565b670de0b6b3a7640000614f47565b60016001600160a01b0382166000908152600e602052604090206003015460ff1660048111156134be57fe5b14610d205760405162461bcd60e51b815260040180806020018281038252602f815260200180615a17602f913960400191505060405180910390fd5b6000612b41670de0b6b3a76400006113c0858563ffffffff61351816565b60008261352757506000610d75565b8282028284828161353457fe5b0414612b415760405162461bcd60e51b81526004018080602001828103825260218152602001806158376021913960400191505060405180910390fd5b6000612b4183836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250614f5d565b6000806135be614fc2565b905060006135d4670ddd4b8c6c7d70d883614fde565b9050611a0b670de0b6b3a76400006113c083600c5461351890919063ffffffff16565b600061360e600d5442612aff90919063ffffffff16565b9050603c8110610d205742600d81905560408051918252517f860f8d2f0c74dd487e89e2883e3b25b8159ce1e1b3433a291cba7b82c508f3bc9181900360200190a150565b61365b61562a565b61366361571a565b61366b61562a565b8482526000608083015261367d611911565b60a083015261368a611e37565b8260c001818152505086608001516001600160a01b0316634d6228316040518163ffffffff1660e01b815260040160206040518083038186803b1580156136d057600080fd5b505afa1580156136e4573d6000803e3d6000fd5b505050506040513d60208110156136fa57600080fd5b50516001600160a01b039081166060840152608088015160408051631e22314360e01b815290516000939290921691631e22314391600480820192602092909190829003018186803b15801561374f57600080fd5b505afa158015613763573d6000803e3d6000fd5b505050506040513d602081101561377957600080fd5b50516000602085015290505b8483602001511080156137ae5750806001600160a01b031683606001516001600160a01b031614155b156139db57600088608001516001600160a01b031663b72703ac85606001516040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b15801561381357600080fd5b505afa158015613827573d6000803e3d6000fd5b505050506040513d602081101561383d57600080fd5b50516060850151909150613851908961282c565b6040850152608084015161394d57670f43fc2c04ee000084604001511015801561387a57508351155b1561388557506139db565b600061389a8560c001518660a001518b6146b9565b8a5160208c01516060880151604089015189519495506138bb94868f61496d565b608081015186519195506138d5919063ffffffff612aff16565b8552608084015160a08601516138f09163ffffffff612aff16565b8560a001818152505061391d8461010001516110f78660a001518860c00151612aff90919063ffffffff16565b60c086015261392c8685614ca0565b95506139418560c001518660a001518b614db7565b156080860152506139bd565b836080015180156139695750670f43fc2c04ee00008460400151105b156139b75761398a89600001518a6020015186606001518760000151614dd8565b608081015185519194506139a4919063ffffffff612aff16565b84526139b08584614ca0565b94506139bd565b506139db565b6001600160a01b031660608401526020830180516001019052613785565b505050949350505050565b6139ee61562a565b6139f661571a565b6139fe61562a565b600b54858352600060208401526001600160a01b03165b8483602001511015613b0c57806001600160a01b0316634d6228316040518163ffffffff1660e01b815260040160206040518083038186803b158015613a5a57600080fd5b505afa158015613a6e573d6000803e3d6000fd5b505050506040513d6020811015613a8457600080fd5b50516001600160a01b031660608401819052613aa0908861282c565b60408401819052670f43fc2c04ee00001115613af757613aca898985606001518660000151614dd8565b60808101518451919350613ae4919063ffffffff612aff16565b8352613af08483614ca0565b9350613afc565b613b0c565b6020830180516001019052613a15565b50505095945050505050565b6000610d75613b32836103e8670de0b6b3a7640000613472565b66b1a2bc2ec50000614f47565b600082820183811015612b41576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b6001600160a01b038116613bf4576040805162461bcd60e51b815260206004820152601e60248201527f4163636f756e742063616e6e6f74206265207a65726f20616464726573730000604482015290519081900360640190fd5b803b8061125e576040805162461bcd60e51b815260206004820181905260248201527f4163636f756e7420636f64652073697a652063616e6e6f74206265207a65726f604482015290519081900360640190fd5b6003546040516000916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600380546001600160a01b0319169055565b601280546001600160a01b0383166000908152601460209081526040918290209283556013546001909301839055925481519081529283019190915280517fc437f324d85e369394148dd9d62f98f534b382e01ed3dd2eb98138fb6d3ab49a9281900390910190a150565b6000806000613d0b84611310565b90506000613d1885612943565b6001600160a01b0386166000908152600e602052604081206001015491925090613d48908463ffffffff613b3f16565b6001600160a01b0387166000908152600e602052604081205491925090613d75908463ffffffff613b3f16565b919550909350505050915091565b60008115613daf57613da8826113c08568056bc75e2d6310000063ffffffff61351816565b9050610d75565b50600019610d75565b600080613dc3611e37565b90506000613dcf611911565b9050613ddc8282866146b9565b949350505050565b6611c37937e080008110801590613e035750670de0b6b3a76400008111155b610d205760405162461bcd60e51b815260040180806020018281038252603081526020018061599b6030913960400191505060405180910390fd5b60095460408051631e425be160e11b815290516000926001600160a01b031691633c84b7c2916004808301926020929190829003018186803b158015613e8357600080fd5b505afa158015613e97573d6000803e3d6000fd5b505050506040513d6020811015613ead57600080fd5b50519050613ec4816212750063ffffffff613b3f16565b421015610d205760405162461bcd60e51b81526004018080602001828103825260408152602001806157f76040913960400191505060405180910390fd5b670f43fc2c04ee0000613f1482613db8565b1015610d205760405162461bcd60e51b815260040180806020018281038252602a8152602001806159cb602a913960400191505060405180910390fd5b60008111610d205760405162461bcd60e51b815260040180806020018281038252602e815260200180615937602e913960400191505060405180910390fd5b80836001600160a01b03166370a08231846040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b158015613fe757600080fd5b505afa158015613ffb573d6000803e3d6000fd5b505050506040513d602081101561401157600080fd5b50511015612afa5760405162461bcd60e51b815260040180806020018281038252604e815260200180615858604e913960600191505060405180910390fd5b60006001600160a01b03831615806140e75750836001600160a01b0316635dbe47e8846040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b1580156140b957600080fd5b505afa1580156140cd573d6000803e3d6000fd5b505050506040513d60208110156140e357600080fd5b5051155b806141025750670f43fc2c04ee0000614100848461282c565b105b1561410f57506000612b41565b6000846001600160a01b031663765e0159856040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b15801561416757600080fd5b505afa15801561417b573d6000803e3d6000fd5b505050506040513d602081101561419157600080fd5b505190506001600160a01b0381161580611fb65750670f43fc2c04ee00006141b9828561282c565b1095945050505050565b6141cb6156f7565b6001600160a01b0387166000908152600e602052604090205461420890879061420390680ad78ebc5ac620000063ffffffff612aff16565b614f47565b8082526142299086906113c090670de0b6b3a764000063ffffffff61351816565b60208083019190915281516001600160a01b0389166000908152600e909252604082205461425c9163ffffffff612aff16565b6020808401516001600160a01b038b166000908152600e909252604082206001015492935090916142929163ffffffff612aff16565b9050680ad78ebc5ac620000082141561432b576142ae89614748565b6142b98960046145a0565b6142ce8a8a680ad78ebc5ac620000084615089565b886001600160a01b03166000805160206158a6833981519152600080600060036040518085815260200184815260200183815260200182600381111561431057fe5b60ff16815260200194505050505060405180910390a2614468565b60006143378284613d83565b905084811415806143585750686194049f30f72000006143568461523e565b105b1561436c575050600160408301525061446b565b60808b01516040805163015f109360e51b81526001600160a01b038d81166004830152602482018590528a81166044830152898116606483015291519190921691632be2126091608480830192600092919082900301818387803b1580156143d357600080fd5b505af11580156143e7573d6000803e3d6000fd5b5050506001600160a01b038b166000908152600e60205260409020848155600101839055506144158a612be2565b506001600160a01b038a166000818152600e6020908152604091829020600201548251878152918201869052818301526003606082015290516000805160206158a68339815191529181900360800190a2505b50505b979650505050505050565b6000806144816135b3565b90506000614499846113c0888863ffffffff61351816565b905060006144be6144b183600263ffffffff61357116565b849063ffffffff613b3f16565b90506144d281670de0b6b3a7640000614f47565b9050600081116144de57fe5b600c8190556040805182815290517fc454ee9b76c52f782a256af821b857ca6e125d1e3333bcede402fec2bed9600c9181900360200190a16113cc6135f7565b6000610d756128946111dd565b6000614549836113c086670de0b6b3a764000063ffffffff61351816565b90508181111561320c576040805162461bcd60e51b815260206004820152601d60248201527f4665652065786365656465642070726f7669646564206d6178696d756d000000604482015290519081900360640190fd5b60008160048111156145ae57fe5b141580156145c8575060018160048111156145c557fe5b14155b6145ce57fe5b6015546145da81615259565b6001600160a01b0383166000908152600e60205260409020600301805483919060ff1916600183600481111561460c57fe5b02179055506001600160a01b0383166000908152600e6020908152604080832060018082018590559084905560149092528220828155015561464e8382615312565b600b5460408051631484968760e11b81526001600160a01b038681166004830152915191909216916329092d0e91602480830192600092919082900301818387803b15801561469c57600080fd5b505af11580156146b0573d6000803e3d6000fd5b50505050505050565b600082156146e05760006146d7846113c0878663ffffffff61351816565b9150612b419050565b50600019612b41565b600080614708670de0b6b3a76400006113c0868663ffffffff61351816565b9050828110612b415760405162461bcd60e51b81526004018080602001828103825260368152602001806159656036913960400191505060405180910390fd5b6001600160a01b0381166000908152600e6020526040902060020154600f54614777908263ffffffff612aff16565b600f55506001600160a01b03166000908152600e6020526040812060020155565b826001600160a01b03166338d995a8836040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b1580156147de57600080fd5b505af11580156147f2573d6000803e3d6000fd5b50505050836001600160a01b031663cfb9329a836040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b15801561483c57600080fd5b505af1158015614850573d6000803e3d6000fd5b50505050826001600160a01b031663be41205f826040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b15801561343e57600080fd5b600081848411156149295760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156148ee5781810151838201526020016148d6565b50505050905090810190601f16801561491b5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b60008060115460001415614946575081610d75565b60006010541161495257fe5b612b416011546113c06010548661351890919063ffffffff16565b61497561562a565b61497d615762565b60155460011061498d575061446b565b61499687611fe8565b604085015260208481019190915284018190529083526149b5906154b9565b60408301819052680ad78ebc5ac6200000606084015260208301516149df9163ffffffff612aff16565b8152670de0b6b3a76400008611614ae757614a04898983602001518460400151614798565b614a0d87614748565b60006080830181905260a0830152815160c0830152805160e0830152614a348760036145a0565b866001600160a01b031660008051602061578483398151915283600001518460200151600260405180848152602001838152602001826003811115614a7557fe5b60ff168152602001935050505060405180910390a2866001600160a01b03166000805160206158a68339815191526000806000600260405180858152602001848152602001838152602001826003811115614acc57fe5b60ff16815260200194505050505060405180910390a2614c94565b670de0b6b3a764000086118015614b055750670f43fc2c04ee000086105b15614b5557614b1e898983602001518460400151614798565b614b2787614748565b81518151614b369190876154c0565b60e086015260c085015260a08401526080830152614a348760036145a0565b670f43fc2c04ee00008610158015614b6c57508386105b8015614b79575081518510155b15614c8357614b92898983602001518460400151614798565b84614b9957fe5b614ba287614748565b614bb5826000015183602001518561552c565b9150614bc28760036145a0565b61010082015115614c425760075461010083015160408051633f10abab60e01b81526001600160a01b038b81166004830152602482019390935290519190921691633f10abab91604480830192600092919082900301818387803b158015614c2957600080fd5b505af1158015614c3d573d6000803e3d6000fd5b505050505b866001600160a01b031660008051602061578483398151915283600001518460a00151600260405180848152602001838152602001826003811115614a7557fe5b614c8b61562a565b915061446b9050565b50979650505050505050565b614ca861562a565b60408083015190840151614cc19163ffffffff613b3f16565b604082015260608083015190840151614cdf9163ffffffff613b3f16565b606082015281516020840151614cfa9163ffffffff613b3f16565b6020808301919091528201518351614d179163ffffffff613b3f16565b815260808083015190840151614d329163ffffffff613b3f16565b608082015260a08083015190840151614d509163ffffffff613b3f16565b60a082015260c08083015190840151614d6e9163ffffffff613b3f16565b60c082015260e08083015190840151614d8c9163ffffffff613b3f16565b60e08201526101008083015190840151614dab9163ffffffff613b3f16565b61010082015292915050565b600080614dc58585856146b9565b6714d1120d7b1600001195945050505050565b614de061562a565b614de8615762565b614df184611fe8565b60408501908152602085810192835286019290925291845290519051614e1b918891889190614798565b614e2484614748565b614e3182602001516154b9565b60408301819052680ad78ebc5ac620000060608401526020830151600091614e5f919063ffffffff612aff16565b9050614e70836000015182866154c0565b60e087015260c086015260a08501526080840152614e8f8560036145a0565b846001600160a01b031660008051602061578483398151915284600001518560200151600160405180848152602001838152602001826003811115614ed057fe5b60ff168152602001935050505060405180910390a2846001600160a01b03166000805160206158a68339815191526000806000600160405180858152602001848152602001838152602001826003811115614f2757fe5b60ff16815260200194505050505060405180910390a25050949350505050565b6000818310614f565781612b41565b5090919050565b60008183614fac5760405162461bcd60e51b81526020600482018181528351602484015283519092839260449091019190850190808383600083156148ee5781810151838201526020016148d6565b506000838581614fb857fe5b0495945050505050565b60006111ea603c6113c0600d5442612aff90919063ffffffff16565b6000631f540500821115614ff457631f54050091505b816150085750670de0b6b3a7640000610d75565b670de0b6b3a764000083835b600181111561507f57600281066150495761502f82836155c6565b915061504281600263ffffffff61357116565b905061507a565b61505382846155c6565b925061505f82836155c6565b915061507760026113c083600163ffffffff612aff16565b90505b615014565b6113cc82846155c6565b6040808501516006548251632770a7eb60e21b81526001600160a01b039182166004820152602481018690529251911691639dc29fac91604480830192600092919082900301818387803b1580156150e057600080fd5b505af11580156150f4573d6000803e3d6000fd5b5050505083600001516001600160a01b03166338d995a8836040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b15801561514257600080fd5b505af1158015615156573d6000803e3d6000fd5b505050508360a001516001600160a01b0316633f10abab84836040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b1580156151be57600080fd5b505af11580156151d2573d6000803e3d6000fd5b5050505083600001516001600160a01b03166364a197f38560a00151836040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b15801561343e57600080fd5b6000610d7582680ad78ebc5ac620000063ffffffff612aff16565b6001811180156152d75750600b546040805163de8fa43160e01b815290516001926001600160a01b03169163de8fa431916004808301926020929190829003018186803b1580156152a957600080fd5b505afa1580156152bd573d6000803e3d6000fd5b505050506040513d60208110156152d357600080fd5b5051115b610d205760405162461bcd60e51b815260040180806020018281038252602a8152602001806157cd602a913960400191505060405180910390fd5b6001600160a01b0382166000908152600e602052604081206003015460ff169081600481111561533e57fe5b141580156153585750600181600481111561535557fe5b14155b61535e57fe5b6001600160a01b0383166000908152600e602052604081206003015461010090046001600160801b0316908390615396826001612aff565b905080836001600160801b031611156153ab57fe5b6000601582815481106153ba57fe5b600091825260209091200154601580546001600160a01b03909216925082916001600160801b0387169081106153ec57fe5b600091825260208083209190910180546001600160a01b0319166001600160a01b03948516179055918316808252600e83526040918290206003018054610100600160881b0319166101006001600160801b038a169081029190911790915582519182529281019290925280517f02b04ae5f7be9ca7c103293a2aa15f3c339d15d6eda53b721fef7b0e609c831a9281900390910190a1601580548061548e57fe5b600082815260209020810160001990810180546001600160a01b031916905501905550505050505050565b60c8900490565b60008080808415615516576154d58786614f47565b93506154eb876113c0888763ffffffff61351816565b92506154fd878563ffffffff612aff16565b915061550f868463ffffffff612aff16565b9050615523565b5060009250829150859050845b93509350935093565b61553461562a565b83815260208101839052600061555c836113c087670f43fc2c04ee000063ffffffff61351816565b9050615567816154b9565b60408301819052680ad78ebc5ac620000060608401526080830186905261559590829063ffffffff612aff16565b60a08301526155aa848263ffffffff612aff16565b61010083015250600060c0820181905260e08201529392505050565b6000806155d9848463ffffffff61351816565b9050613ddc670de0b6b3a76400006113c0836706f05b59d3b20000613b3f565b6040518060a00160405280600081526020016000815260200160001515815260200160008152602001600081525090565b6040518061012001604052806000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081525090565b6040805160e081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c081019190915290565b60405180610100016040528060008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081525090565b604051806060016040528060008152602001600081526020016000151581525090565b6040518060e0016040528060008152602001600081526020016000815260200160006001600160a01b0316815260200160001515815260200160008152602001600081525090565b6040518060600160405280600081526020016000815260200160008152509056feea67486ed7ebe3eea8ab3390efd4a3c8aae48be5bea27df104a8af786c40843454726f76654d616e616765723a20556e61626c6520746f2072656465656d20616e7920616d6f756e7454726f76654d616e616765723a204f6e6c79206f6e652074726f766520696e207468652073797374656d54726f76654d616e616765723a20526564656d7074696f6e7320617265206e6f7420616c6c6f77656420647572696e6720626f6f747374726170207068617365536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7754726f76654d616e616765723a2052657175657374656420726564656d7074696f6e20616d6f756e74206d757374206265203c3d20757365722773204c55534420746f6b656e2062616c616e6365c3770d654ed33aeea6bf11ac8ef05d02a6a04ed4686dd2f624d853bbec43cc8b54726f76654d616e616765723a2043616c6c6572206973206e6f742074686520426f72726f7765724f7065726174696f6e7320636f6e747261637454726f76654d616e616765723a2043616c6c646174612061646472657373206172726179206d757374206e6f7420626520656d70747954726f76654d616e616765723a20416d6f756e74206d7573742062652067726561746572207468616e207a65726f54726f76654d616e616765723a2046656520776f756c642065617420757020616c6c2072657475726e656420636f6c6c61746572616c4d6178206665652070657263656e74616765206d757374206265206265747765656e20302e352520616e64203130302554726f76654d616e616765723a2043616e6e6f742072656465656d207768656e20544352203c204d435254726f76654d616e616765723a206e6f7468696e6720746f206c697175696461746554726f76654d616e616765723a2054726f766520646f6573206e6f74206578697374206f7220697320636c6f736564a264697066735822122058923a9d6c4f36ad9b75dd502c5a29ad6a2ac2fc57cafd7ae36a3c66af64ff7f64736f6c634300060b0033", + "bytecode": "0x60a06040523480156200001157600080fd5b506040516200563b3803806200563b833981016040819052620000349162000118565b8062000049336001600160e01b036200005316565b6080525062000190565b6001600160a01b038116620000855760405162461bcd60e51b81526004016200007c906200014e565b60405180910390fd5b6001600160a01b038116620000a26001600160e01b03620000f716565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000604051620000e79062000131565b6040519081900390209190915550565b600080604051620001089062000131565b6040519081900390205492915050565b6000602082840312156200012a578081fd5b5051919050565b7035b2bc9737bbb730b136329737bbb732b960791b815260110190565b60208082526022908201527f4f776e61626c653a3a7365744f776e65723a20696e76616c6964206164647265604082015261737360f01b606082015260800190565b608051615490620001ab6000398061214452506154906000f3fe608060405234801561001057600080fd5b50600436106104ac5760003560e01c8063756b253e1161026d578063b7f8cf9b11610151578063d293c710116100ce578063d815e8e911610092578063d815e8e914610929578063d9a7244414610931578063e056e91814610944578063e2ac77b014610957578063f36b24251461096a578063fe2ba84814610972576104ac565b8063d293c710146108d5578063d380a37c146108e8578063d3d6f843146108f0578063d5b3563514610903578063d66a255314610916576104ac565b8063bf9befb111610115578063bf9befb1146108a2578063c35bc550146108aa578063c52861f2146108b2578063c7b55481146108ba578063cbd138ae146108c2576104ac565b8063b7f8cf9b14610849578063b82f263d14610851578063b91af97c14610864578063bcd3752614610887578063be4b03341461089a576104ac565b8063887105d3116101ea5780639f070670116101ae5780639f07067014610809578063a20baee614610755578063a3f4df7e14610811578063ae7bec1914610826578063ae9187541461082e578063b0d8e18114610836576104ac565b8063887105d3146107d6578063893d20e8146107de57806396d711ff146107e65780639976cf45146107ee5780639dd233d214610801576104ac565b80637cf54e40116102315780637cf54e40146107985780637f7dde4a146107a0578063807d138d146107a857806382fe3eb9146107b057806387436936146107c3576104ac565b8063756b253e14610765578063759b303414610778578063794e572414610780578063795d26c314610788578063797250e314610790576104ac565b806342ccf1e41161039457806361ec893d116103115780636b444952116102d55780636b4449521461070e5780636ef6433814610716578063716c47e61461073a57806372423c171461074257806372fe25aa14610755578063741bef1a1461075d576104ac565b806361ec893d146106c5578063631203b0146106cd57806364cee260146106e0578063653d46e7146106f357806366ca4a2114610706576104ac565b80634e443d9e116103585780634e443d9e1461066f5780635733d58f1461068f5780635d6b480f146106975780635d8c9609146106aa5780635dba4c4a146106bd576104ac565b806342ccf1e41461061b578063477d66cf1461062e578063480cd5781461064157806349eefeee146106545780634a767d681461065c576104ac565b806318f2817a1161042d57806321e37801116103f157806321e37801146105d55780632b11551a146105e85780632f865568146105f057806331c903b0146106035780633a1285951461060b5780633cc7422514610613576104ac565b806318f2817a1461058c5780631a59a50e1461059f5780631bf43555146105b25780631e8b1c2b146105ba5780631f68f20a146105cd576104ac565b806312610e921161047457806312610e921461051f57806313af40351461053257806315d549f1146105455780631673c79a1461055857806317c62b1714610579576104ac565b806301f16e18146104b157806305b6f5ca146104c6578063071a7541146104d95780630b076557146104f75780630d43e8ad1461050a575b600080fd5b6104c46104bf366004614c61565b610985565b005b6104c46104d4366004614e2c565b610eeb565b6104e1610f82565b6040516104ee919061531b565b60405180910390f35b6104c4610505366004614b6a565b610f87565b610512610faf565b6040516104ee9190614ee3565b6104e161052d366004614ba2565b610fbe565b6104c4610540366004614b6a565b611016565b6104e1610553366004614b6a565b611057565b61056b610566366004614b6a565b61107b565b6040516104ee929190615324565b6104e1610587366004614b6a565b611094565b6104e161059a366004614b6a565b61109f565b6104e16105ad366004614b6a565b6110b2565b6104e1611178565b6104c46105c8366004614bcd565b611185565b6104e16114e6565b6104e16105e3366004614b6a565b6114ec565b6104e1611516565b6104c46105fe366004614b6a565b611525565b6104e161158b565b610512611598565b6105126115a7565b6104e1610629366004614b6a565b6115b6565b6104e161063c366004614d8f565b6115e7565b6104e161064f366004614b6a565b6115fa565b6104e1611618565b6104e161066a366004614ba2565b61161e565b61068261067d366004614d8f565b61163d565b6040516104ee9190614f56565b6104e1611648565b6104c46106a5366004614ba2565b6116c5565b6104e16106b8366004614b6a565b611711565b6104c461171c565b6104e1611787565b6104e16106db366004614d8f565b61178c565b6104e16106ee366004614b6a565b611799565b6104c4610701366004614d8f565b6117b7565b6104e1611b41565b6104e1611b53565b610729610724366004614b6a565b611b59565b6040516104ee959493929190615358565b610512611b93565b6104e1610750366004614ba2565b611ba2565b6104e1611bff565b610512611c0b565b610512610773366004614d8f565b611c1a565b6104e1611c41565b6104e1611c4e565b6104e1611c93565b6104e1611db2565b610512611db8565b610512611dc7565b6104e1611dd6565b6104c46107be366004614b6a565b611ddc565b6104c46107d1366004614b6a565b611ded565b6104e1611e79565b610512611f48565b6104e1611f67565b6104e16107fc366004614ba2565b611f6d565b6104e1611fa0565b610512611fa6565b610819611fb5565b6040516104ee9190614f8d565b610512611fdd565b610512611fec565b6104e1610844366004614b6a565b611ffb565b610512612022565b6104e161085f366004614d8f565b612031565b610877610872366004614b6a565b61203c565b6040516104ee9493929190615398565b6104c4610895366004614dbf565b6120a0565b6104e1612136565b6104e161213c565b6104e1612142565b6104e1612166565b6104e1612178565b6104c46108d0366004614b6a565b612184565b6104e16108e3366004614ba2565b612197565b6104e16121aa565b6104e16108fe366004614ba2565b6121b0565b6104e1610911366004614d8f565b6121e6565b6104e1610924366004614b6a565b6121f9565b610512612214565b61051261093f366004614d8f565b612223565b610682610952366004614b6a565b61224d565b610682610965366004614b6a565b6122ab565b6104e16122b6565b6104c4610980366004614b6a565b6122c3565b61098d611f48565b6001600160a01b0316336001600160a01b0316146109c65760405162461bcd60e51b81526004016109bd90615178565b60405180910390fd5b80516109d1906122d4565b6109de81602001516122d4565b6109eb81604001516122d4565b6109f881606001516122d4565b610a0581608001516122d4565b610a128160a001516122d4565b610a1f8160c001516122d4565b610a2c8160e001516122d4565b610a3a8161010001516122d4565b610a488161012001516122d4565b610a568161014001516122d4565b610a648161016001516122d4565b610a728161018001516122d4565b610a80816101a001516122d4565b8051600c80546001600160a01b03199081166001600160a01b038085169190911790925560208401516004805483169184169190911790556040808501516003805484169185169190911790556060850151600580548416918516919091179055608085015160008054841691851691909117905560a085015160018054841691851691909117905560c085015160068054841691851691909117905560e0850151600780548416918516919091179055610100850151600880548416918516919091179055610120850151600280548416918516919091179055610140850151600980548416918516919091179055610160850151600d80548416918516919091179055610180850151600a805484169185169190911790556101a0850151600b80549093169316929092179055517f84861842e6a98dd759145eb5e7b48279d0f02ebeabc8a69e5196b2f4c5023db991610bdb91614ee3565b60405180910390a17f6493041f605f233753d9b16dd158c9f297b8eaca22b2d0dc402a454f5683a5b18160200151604051610c169190614ee3565b60405180910390a17fbf65195e6d5213f6fcbce65b1454c925197a45e616dabd2e243542b039b050928160600151604051610c519190614ee3565b60405180910390a17f3ca631ffcd2a9b5d9ae18543fc82f58eb4ca33af9e6ab01b7a8e95331e6ed9858160600151604051610c8c9190614ee3565b60405180910390a17f78f058b189175430c48dc02699e3a0031ea4ff781536dc2fab847de4babdd8828160800151604051610cc79190614ee3565b60405180910390a17f5ee0cae2f063ed938bb55046f6a932fb6ae792bf43624806bb90abe68a50be9b8160a00151604051610d029190614ee3565b60405180910390a17f82966d27eea39b038ee0fa30cd16532bb24f6e65d31cb58fb227aa5766cdcc7f8160c00151604051610d3d9190614ee3565b60405180910390a17fcfb07d791fcafc032b35837b50eb84b74df518cf4cc287e8084f47630fa70fa08160e00151604051610d789190614ee3565b60405180910390a17fe67f36a6e961157d6eff83b91f3af5a62131ceb6f04954ef74f51c1c05e7f88d816101000151604051610db49190614ee3565b60405180910390a17f8c537274438aa850a330284665d81a85dd38267d09e4050d416bfc94142db264816101200151604051610df09190614ee3565b60405180910390a17fcdf33850c44a1a874b5fefb51dae615ac6afebd581ef90d571f81b06541d8e9d816101400151604051610e2c9190614ee3565b60405180910390a17f65f4cf077bc01e4742eb5ad98326f6e95b63548ea24b17f8d5e823111fe78800816101600151604051610e689190614ee3565b60405180910390a17f61e0c29d5028a9e4facaa476a46e78912e99f1ba945c9560b86b82ebe36ee52d816101800151604051610ea49190614ee3565b60405180910390a17f7624075ed781e3aa34b0f492d70d1bb5a6fcde04534165e20f990d2e546be4dd816101a00151604051610ee09190614ee3565b60405180910390a150565b6004546040516000916060916001600160a01b0390911690610f109084903690614eb6565b600060405180830381855af49150503d8060008114610f4b576040519150601f19603f3d011682016040523d82523d6000602084013e610f50565b606091505b5091509150818190610f755760405162461bcd60e51b81526004016109bd9190614f8d565b5050505050505050505050565b600281565b610f8f612319565b600054600154610fac916001600160a01b03908116911683612345565b50565b600c546001600160a01b031681565b6000610fc8612319565b6001600160a01b038316600090815260106020526040812054610ff1908463ffffffff61245716565b6001600160a01b03851660009081526010602052604090208190559150505b92915050565b61101e611f48565b6001600160a01b0316336001600160a01b03161461104e5760405162461bcd60e51b81526004016109bd90615178565b610fac81612499565b6000611061612319565b61106a82612524565b6001600160801b031690505b919050565b6016602052600090815260409020805460019091015482565b6000611010826115b6565b60006110a9612319565b611010826125be565b6001600160a01b03811660009081526016602052604081205460145482906110e0908363ffffffff61245716565b9050801580611119575060016001600160a01b03851660009081526010602052604090206003015460ff16600481111561111657fe5b14155b1561112957600092505050611076565b6001600160a01b0384166000908152601060205260408120600201549061116e670de0b6b3a7640000611162848663ffffffff61267116565b9063ffffffff6126ab16565b9695505050505050565b6809c2007651b250000081565b80516111a35760405162461bcd60e51b81526004016109bd906151a9565b6000546001546006546001600160a01b039283169291821691166111c5614a3d565b6111cd614a6e565b600260009054906101000a90046001600160a01b03166001600160a01b0316630fdb11cf6040518163ffffffff1660e01b8152600401602060405180830381600087803b15801561121d57600080fd5b505af1158015611231573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112559190614da7565b826000018181525050826001600160a01b031663bdaf37ea6040518163ffffffff1660e01b815260040160206040518083038186803b15801561129757600080fd5b505afa1580156112ab573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112cf9190614da7565b602083015281516112df906126ed565b1580156040840152611307576113008585846000015185602001518a612788565b905061131f565b61131c8585846000015185602001518a612a9d565b90505b60008160200151116113435760405162461bcd60e51b81526004016109bd9061528a565b608081015160a082015160405163335525ad60e01b81526001600160a01b0386169263335525ad9261137792600401615324565b600060405180830381600087803b15801561139157600080fd5b505af11580156113a5573d6000803e3d6000fd5b505050506113bd85858360c001518460e00151612bdd565b61010081015115611434576008546101008201516040516364a197f360e01b81526001600160a01b03888116936364a197f393611401939290911691600401614f3d565b600060405180830381600087803b15801561141b57600080fd5b505af115801561142f573d6000803e3d6000fd5b505050505b611442858260400151612e41565b602081015160608301526101008101516040820151825161147a929161146e919063ffffffff61245716565b9063ffffffff61245716565b608083018190526060808401516040808501519285015190517f4152c73dd2614c4f9fc35e8c9cf16013cd588c75b49a4c1673ecffdcbcda9403946114c29490929091615398565b60405180910390a16114de853383606001518460400151612fa2565b505050505050565b600e5481565b6001600160a01b03811660009081526010602052604081206003015460ff16600481111561101057fe5b600061152061158b565b905090565b61152e8161307f565b60408051600180825281830190925260609160208083019080368337019050509050818160008151811061155e57fe5b60200260200101906001600160a01b031690816001600160a01b03168152505061158781611185565b5050565b6000611520600e546130c8565b600b546001600160a01b031681565b6001546001600160a01b031681565b6001600160a01b03811660009081526016602052604081206001015460155482906110e0908363ffffffff61245716565b60006110106115f4611b41565b83613165565b6001600160a01b031660009081526010602052604090206001015490565b60175490565b600080600061162c85613183565b91509150600061116e838387613209565b6000611010826126ed565b60035460408051635733d58f60e01b815290516000926001600160a01b031691635733d58f916004808301926020929190829003018186803b15801561168d57600080fd5b505afa1580156116a1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115209190614da7565b6116cd612319565b8060048111156116d957fe5b6001600160a01b0383166000908152601060205260409020600301805460ff1916600183600481111561170857fe5b02179055505050565b6000611010826110b2565b611724612319565b600061172e61323b565b9050670de0b6b3a764000081111561174257fe5b600e8190556040517fc454ee9b76c52f782a256af821b857ca6e125d1e3333bcede402fec2bed9600c9061177790839061531b565b60405180910390a1610fac61327f565b603c81565b60006110106115f46122b6565b6001600160a01b031660009081526010602052604090206002015490565b6117bf614aba565b506040805160e081018252600080546001600160a01b0390811683526001548116602084015292820181905260608201819052600d548316608083015260a0820181905260c0820152600654909116611816614a3d565b61181e614a6e565b600260009054906101000a90046001600160a01b03166001600160a01b0316630fdb11cf6040518163ffffffff1660e01b8152600401602060405180830381600087803b15801561186e57600080fd5b505af1158015611882573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118a69190614da7565b826000018181525050826001600160a01b031663bdaf37ea6040518163ffffffff1660e01b815260040160206040518083038186803b1580156118e857600080fd5b505afa1580156118fc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119209190614da7565b60208301528151611930906126ed565b1580156040840152611957576119508483600001518460200151886132d4565b9050611977565b61197484600001518560200151846000015185602001518961377b565b90505b600081602001511161199b5760405162461bcd60e51b81526004016109bd9061528a565b608081015160a082015160405163335525ad60e01b81526001600160a01b0386169263335525ad926119cf92600401615324565b600060405180830381600087803b1580156119e957600080fd5b505af11580156119fd573d6000803e3d6000fd5b50505050611a1d846000015185602001518360c001518460e00151612bdd565b61010081015115611a945783516008546101008301516040516364a197f360e01b81526001600160a01b03938416936364a197f393611a6193911691600401614f3d565b600060405180830381600087803b158015611a7b57600080fd5b505af1158015611a8f573d6000803e3d6000fd5b505050505b611aa684600001518260400151612e41565b6020810151606083015261010081015160408201518251611ad2929161146e919063ffffffff61245716565b608083018190526060808401516040808501519285015190517f4152c73dd2614c4f9fc35e8c9cf16013cd588c75b49a4c1673ecffdcbcda940394611b1a9490929091615398565b60405180910390a1611b3a84600001513383606001518460400151612fa2565b5050505050565b6000611520611b4e61323b565b613931565b60195481565b60106020526000908152604090208054600182015460028301546003909301549192909160ff81169061010090046001600160801b031685565b6004546001600160a01b031681565b6000611bac612319565b6001600160a01b038316600090815260106020526040812060010154611bd8908463ffffffff613a1316565b6001600160a01b038516600090815260106020526040902060010181905591505092915050565b670de0b6b3a764000081565b6002546001600160a01b031681565b60178181548110611c2757fe5b6000918252602090912001546001600160a01b0316905081565b6801158e460913d0000081565b60035460408051631e5395c960e21b815290516000926001600160a01b03169163794e5724916004808301926020929190829003018186803b15801561168d57600080fd5b60008054604080516272c7d360e71b8152905183926001600160a01b031691633963e980916004808301926020929190829003018186803b158015611cd757600080fd5b505afa158015611ceb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d0f9190614da7565b90506000600160009054906101000a90046001600160a01b03166001600160a01b0316633963e9806040518163ffffffff1660e01b815260040160206040518083038186803b158015611d6157600080fd5b505afa158015611d75573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d999190614da7565b9050611dab828263ffffffff613a1316565b9250505090565b60185481565b600a546001600160a01b031681565b6000546001600160a01b031681565b60125481565b611de4612319565b610fac81613a38565b611df5611f48565b6001600160a01b0316336001600160a01b031614611e255760405162461bcd60e51b81526004016109bd90615178565b611e2e816122d4565b600480546001600160a01b0319166001600160a01b0383161790556040517f6493041f605f233753d9b16dd158c9f297b8eaca22b2d0dc402a454f5683a5b190610ee0908390614ee3565b6000805460408051630a7b61df60e11b8152905183926001600160a01b0316916314f6c3be916004808301926020929190829003018186803b158015611ebe57600080fd5b505afa158015611ed2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ef69190614da7565b90506000600160009054906101000a90046001600160a01b03166001600160a01b03166314f6c3be6040518163ffffffff1660e01b815260040160206040518083038186803b158015611d6157600080fd5b600080604051611f5790614ec6565b6040519081900390205492915050565b60135481565b6000611f77612319565b6001600160a01b038316600090815260106020526040812054610ff1908463ffffffff613a1316565b60145481565b6003546001600160a01b031681565b6040518060400160405280600c81526020016b2a3937bb32a6b0b730b3b2b960a11b81525081565b6006546001600160a01b031681565b600d546001600160a01b031681565b600080600061200984613183565b9150915060006120198383613a95565b95945050505050565b6005546001600160a01b031681565b600061101082613aca565b6001600160a01b0381166000908152601060205260408120805460019091015490918061206885611094565b915061207385611711565b9050612085848363ffffffff613a1316565b9350612097838263ffffffff613a1316565b92509193509193565b6004546040516000916060916001600160a01b03909116906120c59084903690614eb6565b600060405180830381855af49150503d8060008114612100576040519150601f19603f3d011682016040523d82523d6000602084013e612105565b606091505b509150915081819061212a5760405162461bcd60e51b81526004016109bd9190614f8d565b50505050505050505050565b60155481565b60115481565b7f000000000000000000000000000000000000000000000000000000000000000081565b600061152061217361323b565b6130c8565b670ddd4b8c6c7d70d881565b61218c612319565b610fac816002613af6565b60006121a3838361161e565b9392505050565b600f5481565b60006121ba612319565b6001600160a01b038316600090815260106020526040812060010154611bd8908463ffffffff61245716565b60006110106121f3612166565b83613c0b565b6001600160a01b031660009081526010602052604090205490565b6009546001600160a01b031681565b60006017828154811061223257fe5b6000918252602090912001546001600160a01b031692915050565b600060016001600160a01b03831660009081526010602052604090206003015460ff16600481111561227b57fe5b1461228857506000611076565b506014546001600160a01b03821660009081526016602052604090205410919050565b60006110108261224d565b6000611520600e54613931565b6122cb612319565b610fac81613c4b565b6001600160a01b0381166122fa5760405162461bcd60e51b81526004016109bd90615059565b803b806115875760405162461bcd60e51b81526004016109bd906151ff565b6005546001600160a01b031633146123435760405162461bcd60e51b81526004016109bd9061511b565b565b61234e8161224d565b156124525761235c8161307f565b6000612367826110b2565b90506000612374836115b6565b6001600160a01b0384166000908152601060205260409020600101549091506123a3908363ffffffff613a1316565b6001600160a01b03841660009081526010602052604090206001810191909155546123d4908263ffffffff613a1316565b6001600160a01b0384166000908152601060205260409020556123f683613a38565b61240285858385613c9b565b6001600160a01b03831660008181526010602052604080822080546001820154600290920154925160008051602061543b833981519152946124479492939291614f61565b60405180910390a250505b505050565b60006121a383836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250613d83565b6001600160a01b0381166124bf5760405162461bcd60e51b81526004016109bd90615017565b806001600160a01b03166124d1611f48565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3600060405161251490614ec6565b6040519081900390209190915550565b601780546001808201835560008381527fc624b66cc0138b8fabc209247f72d758e1cf3343756d543badbf24212bed8c1590920180546001600160a01b0319166001600160a01b0386161790559154909161257f9190612457565b6001600160a01b039290921660009081526010602052604090206003018054610100600160881b0319166101006001600160801b038516021790555090565b6001600160a01b03811660009081526010602052604081206001015481906125e590613daf565b6001600160a01b03841660009081526010602052604090206002018054908290556011549192509061262f908390612623908463ffffffff61245716565b9063ffffffff613a1316565b60118190556040517f6bac5e0eb3c44eb03a60ab11ec3a2c051771616aecadbcfff2630aabae520382916126629161531b565b60405180910390a15092915050565b60008261268057506000611010565b8282028284828161268d57fe5b04146121a35760405162461bcd60e51b81526004016109bd906150da565b60006121a383836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250613deb565b6000806126f983613aca565b9050600360009054906101000a90046001600160a01b03166001600160a01b0316635733d58f6040518163ffffffff1660e01b815260040160206040518083038186803b15801561274957600080fd5b505afa15801561275d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127819190614da7565b1192915050565b612790614a6e565b612798614af6565b6127a0614a6e565b848252600060808301526127b2611c93565b60a08301526127bf611e79565b60c0830152600060208301525b835182602001511015612a9257838260200151815181106127e957fe5b6020908102919091018101516001600160a01b03166060840181905260009081526010909152604090206003015460019060ff16600481111561282857fe5b1461283257612a82565b61284082606001518761161e565b604083015260808201516129a757600360009054906101000a90046001600160a01b03166001600160a01b031663794e57246040518163ffffffff1660e01b815260040160206040518083038186803b15801561289c57600080fd5b505afa1580156128b0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906128d49190614da7565b8260400151101580156128e657508151155b156128f057612a82565b60006129058360c001518460a0015189613209565b90506129228989856060015186604001518760000151868d613e22565b6080810151845191935061293c919063ffffffff61245716565b8352608082015160a08401516129579163ffffffff61245716565b60a08085019190915282015160c08401516129779163ffffffff61245716565b60c084015261298684836141f8565b935061299b8360c001518460a001518961430f565b15608084015250612a82565b81608001518015612a405750600360009054906101000a90046001600160a01b03166001600160a01b031663794e57246040518163ffffffff1660e01b815260040160206040518083038186803b158015612a0157600080fd5b505afa158015612a15573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612a399190614da7565b8260400151105b15612a8257612a598888846060015185600001516143ae565b60808101518351919250612a73919063ffffffff61245716565b8252612a7f83826141f8565b92505b60208201805160010190526127cc565b505095945050505050565b612aa5614a6e565b612aad614af6565b612ab5614a6e565b848252600060208301525b835182602001511015612a925783826020015181518110612add57fe5b60209081029190910101516001600160a01b031660608301819052612b02908761161e565b6040808401919091526003548151631e5395c960e21b815291516001600160a01b039091169163794e5724916004808301926020929190829003018186803b158015612b4d57600080fd5b505afa158015612b61573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612b859190614da7565b82604001511015612bcd57612ba48888846060015185600001516143ae565b60808101518351919250612bbe919063ffffffff61245716565b8252612bca83826141f8565b92505b6020820180516001019052612ac0565b81612be757612e3b565b601854600090612c099061262384670de0b6b3a764000063ffffffff61267116565b90506000612c2e601954612623670de0b6b3a76400008761267190919063ffffffff16565b90506000612c47601154846126ab90919063ffffffff16565b90506000612c60601154846126ab90919063ffffffff16565b9050612c87612c7a6011548461267190919063ffffffff16565b859063ffffffff61245716565b601855601154612caf90612ca290839063ffffffff61267116565b849063ffffffff61245716565b601955601454612cc5908363ffffffff613a1316565b601455601554612cdb908263ffffffff613a1316565b60158190556014546040517f9f8bc8ab0daf5bceef75ecfd2085d1fcc6548c657ea970d9a23a60610d0737e392612d129291615324565b60405180910390a160405163121cbc4d60e11b81526001600160a01b03891690632439789a90612d4690899060040161531b565b600060405180830381600087803b158015612d6057600080fd5b505af1158015612d74573d6000803e3d6000fd5b505060405163f2e91d7160e01b81526001600160a01b038a16925063f2e91d719150612da490899060040161531b565b600060405180830381600087803b158015612dbe57600080fd5b505af1158015612dd2573d6000803e3d6000fd5b50506040516364a197f360e01b81526001600160a01b038b1692506364a197f39150612e04908a908990600401614f3d565b600060405180830381600087803b158015612e1e57600080fd5b505af1158015612e32573d6000803e3d6000fd5b50505050505050505b50505050565b6011546012819055506000826001600160a01b03166314f6c3be6040518163ffffffff1660e01b815260040160206040518083038186803b158015612e8557600080fd5b505afa158015612e99573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612ebd9190614da7565b90506000600160009054906101000a90046001600160a01b03166001600160a01b03166314f6c3be6040518163ffffffff1660e01b815260040160206040518083038186803b158015612f0f57600080fd5b505afa158015612f23573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612f479190614da7565b9050612f5d81612623848663ffffffff61245716565b60138190556012546040517f51bf4c63ec3cba9d03d43238abbdd979dd91bd16d9895c74ceea9118c7baaf6092612f949291615324565b60405180910390a150505050565b811561301357600954600754604051631062c15f60e11b81526001600160a01b03928316926320c582be92612fe09291169087908790600401614ef7565b600060405180830381600087803b158015612ffa57600080fd5b505af115801561300e573d6000803e3d6000fd5b505050505b8015612e3b576040516364a197f360e01b81526001600160a01b038516906364a197f3906130479086908590600401614f3d565b600060405180830381600087803b15801561306157600080fd5b505af1158015613075573d6000803e3d6000fd5b5050505050505050565b60016001600160a01b03821660009081526010602052604090206003015460ff1660048111156130ab57fe5b14610fac5760405162461bcd60e51b81526004016109bd906152cc565b600061101061315783600360009054906101000a90046001600160a01b03166001600160a01b03166328d28b5b6040518163ffffffff1660e01b815260040160206040518083038186803b15801561311f57600080fd5b505afa158015613133573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906126239190614da7565b670de0b6b3a76400006144e0565b60006121a3670de0b6b3a7640000611162858563ffffffff61267116565b6000806000613191846110b2565b9050600061319e856115b6565b6001600160a01b038616600090815260106020526040812060010154919250906131ce908463ffffffff613a1316565b6001600160a01b038716600090815260106020526040812054919250906131fb908463ffffffff613a1316565b919550909350505050915091565b6000821561323057600061322784611162878663ffffffff61267116565b91506121a39050565b506000199392505050565b6000806132466144f6565b9050600061325c670ddd4b8c6c7d70d883614512565b9050611dab670de0b6b3a764000061116283600e5461267190919063ffffffff16565b6000613296600f544261245790919063ffffffff16565b9050603c8110610fac5742600f8190556040517f860f8d2f0c74dd487e89e2883e3b25b8159ce1e1b3433a291cba7b82c508f3bc91610ee09161531b565b6132dc614a6e565b6132e4614af6565b6132ec614a6e565b848252600060808301526132fe611c93565b60a083015261330b611e79565b8260c001818152505086608001516001600160a01b0316634d6228316040518163ffffffff1660e01b815260040160206040518083038186803b15801561335157600080fd5b505afa158015613365573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906133899190614b86565b82606001906001600160a01b031690816001600160a01b031681525050600087608001516001600160a01b0316631e2231436040518163ffffffff1660e01b815260040160206040518083038186803b1580156133e557600080fd5b505afa1580156133f9573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061341d9190614b86565b6000602085015290505b8483602001511080156134505750806001600160a01b031683606001516001600160a01b031614155b156137705760808801516060840151604051632dc9c0eb60e21b81526000926001600160a01b03169163b72703ac9161348c9190600401614ee3565b60206040518083038186803b1580156134a457600080fd5b505afa1580156134b8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906134dc9190614b86565b90506134ec84606001518961161e565b6040850152608084015161366557600360009054906101000a90046001600160a01b03166001600160a01b031663794e57246040518163ffffffff1660e01b815260040160206040518083038186803b15801561354857600080fd5b505afa15801561355c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906135809190614da7565b84604001511015801561359257508351155b1561359d5750613770565b60006135b28560c001518660a001518b613209565b8a5160208c01516060880151604089015189519495506135d394868f613e22565b608081015186519195506135ed919063ffffffff61245716565b8552608084015160a08601516136089163ffffffff61245716565b8560a001818152505061363584610100015161146e8660a001518860c0015161245790919063ffffffff16565b60c086015261364486856141f8565b95506136598560c001518660a001518b61430f565b15608086015250613752565b836080015180156136fe5750600360009054906101000a90046001600160a01b03166001600160a01b031663794e57246040518163ffffffff1660e01b815260040160206040518083038186803b1580156136bf57600080fd5b505afa1580156136d3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906136f79190614da7565b8460400151105b1561374c5761371f89600001518a60200151866060015187600001516143ae565b60808101518551919450613739919063ffffffff61245716565b845261374585846141f8565b9450613752565b50613770565b6001600160a01b031660608401526020830180516001019052613427565b505050949350505050565b613783614a6e565b61378b614af6565b613793614a6e565b600d54858352600060208401526001600160a01b03165b848360200151101561392557806001600160a01b0316634d6228316040518163ffffffff1660e01b815260040160206040518083038186803b1580156137ef57600080fd5b505afa158015613803573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906138279190614b86565b6001600160a01b031660608401819052613841908861161e565b6040808501919091526003548151631e5395c960e21b815291516001600160a01b039091169163794e5724916004808301926020929190829003018186803b15801561388c57600080fd5b505afa1580156138a0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906138c49190614da7565b83604001511015613910576138e38989856060015186600001516143ae565b608081015184519193506138fd919063ffffffff61245716565b835261390984836141f8565b9350613915565b613925565b60208301805160010190526137aa565b50505095945050505050565b600061101061398883600360009054906101000a90046001600160a01b03166001600160a01b031663f92d34336040518163ffffffff1660e01b815260040160206040518083038186803b15801561311f57600080fd5b600360009054906101000a90046001600160a01b03166001600160a01b031663240926696040518163ffffffff1660e01b815260040160206040518083038186803b1580156139d657600080fd5b505afa1580156139ea573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613a0e9190614da7565b6144e0565b6000828201838110156121a35760405162461bcd60e51b81526004016109bd90614fe0565b601480546001600160a01b038316600090815260166020526040908190209182556015546001909201829055915491517fc437f324d85e369394148dd9d62f98f534b382e01ed3dd2eb98138fb6d3ab49a92610ee0929091615324565b60008115613ac157613aba826111628568056bc75e2d6310000063ffffffff61267116565b9050611010565b50600019611010565b600080613ad5611e79565b90506000613ae1611c93565b9050613aee828286613209565b949350505050565b6000816004811115613b0457fe5b14158015613b1e57506001816004811115613b1b57fe5b14155b613b2457fe5b601754613b30816145bd565b6001600160a01b0383166000908152601060205260409020600301805483919060ff19166001836004811115613b6257fe5b02179055506001600160a01b0383166000908152601060209081526040808320600180820185905590849055601690925282208281550155613ba48382614663565b600d54604051631484968760e11b81526001600160a01b03909116906329092d0e90613bd4908690600401614ee3565b600060405180830381600087803b158015613bee57600080fd5b505af1158015613c02573d6000803e3d6000fd5b50505050505050565b600080613c2a670de0b6b3a7640000611162868663ffffffff61267116565b90508281106121a35760405162461bcd60e51b81526004016109bd90615234565b6001600160a01b038116600090815260106020526040902060020154601154613c7a908263ffffffff61245716565b601155506001600160a01b0316600090815260106020526040812060020155565b60405163121cbc4d60e11b81526001600160a01b03841690632439789a90613cc790859060040161531b565b600060405180830381600087803b158015613ce157600080fd5b505af1158015613cf5573d6000803e3d6000fd5b505060405163f2e91d7160e01b81526001600160a01b038716925063f2e91d719150613d2590859060040161531b565b600060405180830381600087803b158015613d3f57600080fd5b505af1158015613d53573d6000803e3d6000fd5b505060405163be41205f60e01b81526001600160a01b038616925063be41205f915061304790849060040161531b565b60008184841115613da75760405162461bcd60e51b81526004016109bd9190614f8d565b505050900390565b60008060135460001415613dc4575081611010565b600060125411613dd057fe5b6121a36013546111626012548661267190919063ffffffff16565b60008183613e0c5760405162461bcd60e51b81526004016109bd9190614f8d565b506000838581613e1857fe5b0495945050505050565b613e2a614a6e565b613e32614b3e565b601754600110613e4257506141ed565b613e4b8761203c565b60408501526020848101919091528401819052908352613e6a90614804565b604083018190526801158e460913d0000060608401526020830151613e949163ffffffff61245716565b8152670de0b6b3a76400008611613f5f57613eb9898983602001518460400151613c9b565b613ec287613c4b565b60006080830181905260a0830152815160c0830152805160e0830152613ee9876003613af6565b815160208301516040516001600160a01b038a169260008051602061541b83398151915292613f1a92600290615332565b60405180910390a2866001600160a01b031660008051602061543b83398151915260008060006002604051613f529493929190614f61565b60405180910390a26141eb565b670de0b6b3a764000086118015613ffa5750600360009054906101000a90046001600160a01b03166001600160a01b031663794e57246040518163ffffffff1660e01b815260040160206040518083038186803b158015613fbf57600080fd5b505afa158015613fd3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613ff79190614da7565b86105b1561404a57614013898983602001518460400151613c9b565b61401c87613c4b565b8151815161402b919087614890565b60e086015260c085015260a08401526080830152613ee9876003613af6565b600360009054906101000a90046001600160a01b03166001600160a01b031663794e57246040518163ffffffff1660e01b815260040160206040518083038186803b15801561409857600080fd5b505afa1580156140ac573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906140d09190614da7565b86101580156140de57508386105b80156140eb575081518510155b156141da57614104898983602001518460400151613c9b565b8461410b57fe5b61411487613c4b565b61412782600001518360200151856148fc565b9150614134876003613af6565b610100820151156141a957600854610100830151604051633f10abab60e01b81526001600160a01b0390921691633f10abab91614176918b9190600401614f3d565b600060405180830381600087803b15801561419057600080fd5b505af11580156141a4573d6000803e3d6000fd5b505050505b815160a08301516040516001600160a01b038a169260008051602061541b83398151915292613f1a92600290615332565b6141e2614a6e565b91506141ed9050565b505b979650505050505050565b614200614a6e565b604080830151908401516142199163ffffffff613a1316565b6040820152606080830151908401516142379163ffffffff613a1316565b6060820152815160208401516142529163ffffffff613a1316565b602080830191909152820151835161426f9163ffffffff613a1316565b81526080808301519084015161428a9163ffffffff613a1316565b608082015260a080830151908401516142a89163ffffffff613a1316565b60a082015260c080830151908401516142c69163ffffffff613a1316565b60c082015260e080830151908401516142e49163ffffffff613a1316565b60e082015261010080830151908401516143039163ffffffff613a1316565b61010082015292915050565b60008061431d858585613209565b9050600360009054906101000a90046001600160a01b03166001600160a01b0316635733d58f6040518163ffffffff1660e01b815260040160206040518083038186803b15801561436d57600080fd5b505afa158015614381573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906143a59190614da7565b11949350505050565b6143b6614a6e565b6143be614b3e565b6143c78461203c565b604085019081526020858101928352860192909252918452905190516143f1918891889190613c9b565b6143fa84613c4b565b6144078260200151614804565b604083018190526801158e460913d0000060608401526020830151600091614435919063ffffffff61245716565b905061444683600001518286614890565b60e087015260c086015260a08501526080840152614465856003613af6565b825160208401516040516001600160a01b0388169260008051602061541b8339815191529261449692600190615332565b60405180910390a2846001600160a01b031660008051602061543b833981519152600080600060016040516144ce9493929190614f61565b60405180910390a25050949350505050565b60008183106144ef57816121a3565b5090919050565b6000611520603c611162600f544261245790919063ffffffff16565b6000631f54050082111561452857631f54050091505b8161453c5750670de0b6b3a7640000611010565b670de0b6b3a764000083835b60018111156145b3576002810661457d576145638283614a0a565b915061457681600263ffffffff6126ab16565b90506145ae565b6145878284614a0a565b92506145938283614a0a565b91506145ab600261116283600163ffffffff61245716565b90505b614548565b61116e8284614a0a565b6001811180156146475750600d546040805163de8fa43160e01b815290516001926001600160a01b03169163de8fa431916004808301926020929190829003018186803b15801561460d57600080fd5b505afa158015614621573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906146459190614da7565b115b610fac5760405162461bcd60e51b81526004016109bd90615090565b6001600160a01b03821660009081526010602052604081206003015460ff169081600481111561468f57fe5b141580156146a9575060018160048111156146a657fe5b14155b6146af57fe5b6001600160a01b03831660009081526010602052604081206003015461010090046001600160801b03169083906146e7826001612457565b905080836001600160801b031611156146fc57fe5b60006017828154811061470b57fe5b600091825260209091200154601780546001600160a01b03909216925082916001600160801b03871690811061473d57fe5b600091825260208083209190910180546001600160a01b0319166001600160a01b03948516179055918316815260109091526040908190206003018054610100600160881b0319166101006001600160801b03881602179055517f02b04ae5f7be9ca7c103293a2aa15f3c339d15d6eda53b721fef7b0e609c831a906147c69083908790614f1b565b60405180910390a160178054806147d957fe5b600082815260209020810160001990810180546001600160a01b031916905501905550505050505050565b600354604080516324386ecd60e11b815290516000926001600160a01b031691634870dd9a916004808301926020929190829003018186803b15801561484957600080fd5b505afa15801561485d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906148819190614da7565b828161488957fe5b0492915050565b600080808084156148e6576148a587866144e0565b93506148bb87611162888763ffffffff61267116565b92506148cd878563ffffffff61245716565b91506148df868463ffffffff61245716565b90506148f3565b5060009250829150859050845b93509350935093565b614904614a6e565b838152602080820184905260035460408051631e5395c960e21b815290516000936149a0938793611162936001600160a01b039092169263794e572492600480840193829003018186803b15801561495b57600080fd5b505afa15801561496f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906149939190614da7565b889063ffffffff61267116565b90506149ab81614804565b604083018190526801158e460913d000006060840152608083018690526149d990829063ffffffff61245716565b60a08301526149ee848263ffffffff61245716565b61010083015250600060c0820181905260e08201529392505050565b600080614a1d848463ffffffff61267116565b9050613aee670de0b6b3a7640000611162836706f05b59d3b20000613a13565b6040518060a00160405280600081526020016000815260200160001515815260200160008152602001600081525090565b6040518061012001604052806000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081525090565b6040805160e081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c081019190915290565b6040518060e0016040528060008152602001600081526020016000815260200160006001600160a01b0316815260200160001515815260200160008152602001600081525090565b60405180606001604052806000815260200160008152602001600081525090565b803561101081615405565b600060208284031215614b7b578081fd5b81356121a381615405565b600060208284031215614b97578081fd5b81516121a381615405565b60008060408385031215614bb4578081fd5b8235614bbf81615405565b946020939093013593505050565b60006020808385031215614bdf578182fd5b823567ffffffffffffffff811115614bf5578283fd5b80840185601f820112614c06578384fd5b80359150614c1b614c16836153da565b6153b3565b8281528381019082850185850284018601891015614c37578687fd5b8693505b848410156141eb57614c4d8982614b5f565b835260019390930192918501918501614c3b565b60006101c0808385031215614c74578182fd5b614c7d816153b3565b614c878585614b5f565b8152614c968560208601614b5f565b6020820152614ca88560408601614b5f565b6040820152614cba8560608601614b5f565b6060820152614ccc8560808601614b5f565b6080820152614cde8560a08601614b5f565b60a0820152614cf08560c08601614b5f565b60c0820152614d028560e08601614b5f565b60e08201526101009150614d1885838601614b5f565b828201526101209150614d2d85838601614b5f565b828201526101409150614d4285838601614b5f565b828201526101609150614d5785838601614b5f565b828201526101809150614d6c85838601614b5f565b828201526101a09150614d8185838601614b5f565b918101919091529392505050565b600060208284031215614da0578081fd5b5035919050565b600060208284031215614db8578081fd5b5051919050565b600080600080600080600060e0888a031215614dd9578283fd5b873596506020880135614deb81615405565b95506040880135614dfb81615405565b94506060880135614e0b81615405565b9699959850939660808101359560a0820135955060c0909101359350915050565b600080600080600080600080888a03610160811215614e49578182fd5b8935985060208a0135614e5b81615405565b975060408a0135614e6b81615405565b965060608a0135614e7b81615405565b955060808a810135955060a08b0135945060c08b0135935060df1982011215614ea2578182fd5b5060e0890190509295985092959890939650565b6000828483379101908152919050565b7035b2bc9737bbb730b136329737bbb732b960791b815260110190565b6001600160a01b0391909116815260200190565b6001600160a01b039384168152919092166020820152604081019190915260600190565b6001600160a01b039290921682526001600160801b0316602082015260400190565b6001600160a01b03929092168252602082015260400190565b901515815260200190565b848152602081018490526040810183905260808101614f7f836153fa565b606083015295945050505050565b6000602080835283518082850152825b81811015614fb957858101830151858201604001528201614f9d565b81811115614fca5783604083870101525b50601f01601f1916929092016040019392505050565b6020808252601b908201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604082015260600190565b60208082526022908201527f4f776e61626c653a3a7365744f776e65723a20696e76616c6964206164647265604082015261737360f01b606082015260800190565b6020808252601e908201527f4163636f756e742063616e6e6f74206265207a65726f20616464726573730000604082015260600190565b6020808252602a908201527f54726f76654d616e616765723a204f6e6c79206f6e652074726f766520696e206040820152697468652073797374656d60b01b606082015260800190565b60208082526021908201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6040820152607760f81b606082015260800190565b6020808252603b908201527f54726f76654d616e616765723a2043616c6c6572206973206e6f74207468652060408201527f426f72726f7765724f7065726174696f6e7320636f6e74726163740000000000606082015260800190565b60208082526017908201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604082015260600190565b60208082526036908201527f54726f76654d616e616765723a2043616c6c646174612061646472657373206160408201527572726179206d757374206e6f7420626520656d70747960501b606082015260800190565b6020808252818101527f4163636f756e7420636f64652073697a652063616e6e6f74206265207a65726f604082015260600190565b60208082526036908201527f54726f76654d616e616765723a2046656520776f756c642065617420757020616040820152751b1b081c995d1d5c9b99590818dbdb1b185d195c985b60521b606082015260800190565b60208082526022908201527f54726f76654d616e616765723a206e6f7468696e6720746f206c697175696461604082015261746560f01b606082015260800190565b6020808252602f908201527f54726f76654d616e616765723a2054726f766520646f6573206e6f742065786960408201526e1cdd081bdc881a5cc818db1bdcd959608a1b606082015260800190565b90815260200190565b918252602082015260400190565b83815260208101839052606081016004831061534a57fe5b826040830152949350505050565b858152602081018590526040810184905260a081016005841061537757fe5b60608201939093526001600160801b03919091166080909101529392505050565b93845260208401929092526040830152606082015260800190565b60405181810167ffffffffffffffff811182821017156153d257600080fd5b604052919050565b600067ffffffffffffffff8211156153f0578081fd5b5060209081020190565b806004811061107657fe5b6001600160a01b0381168114610fac57600080fdfeea67486ed7ebe3eea8ab3390efd4a3c8aae48be5bea27df104a8af786c408434c3770d654ed33aeea6bf11ac8ef05d02a6a04ed4686dd2f624d853bbec43cc8ba2646970667358221220360ab705f9ed8e8222e50d6d6310ee7c0693ad08921592870dfffe5ff62b48e964736f6c634300060b0033", + "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106104ac5760003560e01c8063756b253e1161026d578063b7f8cf9b11610151578063d293c710116100ce578063d815e8e911610092578063d815e8e914610929578063d9a7244414610931578063e056e91814610944578063e2ac77b014610957578063f36b24251461096a578063fe2ba84814610972576104ac565b8063d293c710146108d5578063d380a37c146108e8578063d3d6f843146108f0578063d5b3563514610903578063d66a255314610916576104ac565b8063bf9befb111610115578063bf9befb1146108a2578063c35bc550146108aa578063c52861f2146108b2578063c7b55481146108ba578063cbd138ae146108c2576104ac565b8063b7f8cf9b14610849578063b82f263d14610851578063b91af97c14610864578063bcd3752614610887578063be4b03341461089a576104ac565b8063887105d3116101ea5780639f070670116101ae5780639f07067014610809578063a20baee614610755578063a3f4df7e14610811578063ae7bec1914610826578063ae9187541461082e578063b0d8e18114610836576104ac565b8063887105d3146107d6578063893d20e8146107de57806396d711ff146107e65780639976cf45146107ee5780639dd233d214610801576104ac565b80637cf54e40116102315780637cf54e40146107985780637f7dde4a146107a0578063807d138d146107a857806382fe3eb9146107b057806387436936146107c3576104ac565b8063756b253e14610765578063759b303414610778578063794e572414610780578063795d26c314610788578063797250e314610790576104ac565b806342ccf1e41161039457806361ec893d116103115780636b444952116102d55780636b4449521461070e5780636ef6433814610716578063716c47e61461073a57806372423c171461074257806372fe25aa14610755578063741bef1a1461075d576104ac565b806361ec893d146106c5578063631203b0146106cd57806364cee260146106e0578063653d46e7146106f357806366ca4a2114610706576104ac565b80634e443d9e116103585780634e443d9e1461066f5780635733d58f1461068f5780635d6b480f146106975780635d8c9609146106aa5780635dba4c4a146106bd576104ac565b806342ccf1e41461061b578063477d66cf1461062e578063480cd5781461064157806349eefeee146106545780634a767d681461065c576104ac565b806318f2817a1161042d57806321e37801116103f157806321e37801146105d55780632b11551a146105e85780632f865568146105f057806331c903b0146106035780633a1285951461060b5780633cc7422514610613576104ac565b806318f2817a1461058c5780631a59a50e1461059f5780631bf43555146105b25780631e8b1c2b146105ba5780631f68f20a146105cd576104ac565b806312610e921161047457806312610e921461051f57806313af40351461053257806315d549f1146105455780631673c79a1461055857806317c62b1714610579576104ac565b806301f16e18146104b157806305b6f5ca146104c6578063071a7541146104d95780630b076557146104f75780630d43e8ad1461050a575b600080fd5b6104c46104bf366004614c61565b610985565b005b6104c46104d4366004614e2c565b610eeb565b6104e1610f82565b6040516104ee919061531b565b60405180910390f35b6104c4610505366004614b6a565b610f87565b610512610faf565b6040516104ee9190614ee3565b6104e161052d366004614ba2565b610fbe565b6104c4610540366004614b6a565b611016565b6104e1610553366004614b6a565b611057565b61056b610566366004614b6a565b61107b565b6040516104ee929190615324565b6104e1610587366004614b6a565b611094565b6104e161059a366004614b6a565b61109f565b6104e16105ad366004614b6a565b6110b2565b6104e1611178565b6104c46105c8366004614bcd565b611185565b6104e16114e6565b6104e16105e3366004614b6a565b6114ec565b6104e1611516565b6104c46105fe366004614b6a565b611525565b6104e161158b565b610512611598565b6105126115a7565b6104e1610629366004614b6a565b6115b6565b6104e161063c366004614d8f565b6115e7565b6104e161064f366004614b6a565b6115fa565b6104e1611618565b6104e161066a366004614ba2565b61161e565b61068261067d366004614d8f565b61163d565b6040516104ee9190614f56565b6104e1611648565b6104c46106a5366004614ba2565b6116c5565b6104e16106b8366004614b6a565b611711565b6104c461171c565b6104e1611787565b6104e16106db366004614d8f565b61178c565b6104e16106ee366004614b6a565b611799565b6104c4610701366004614d8f565b6117b7565b6104e1611b41565b6104e1611b53565b610729610724366004614b6a565b611b59565b6040516104ee959493929190615358565b610512611b93565b6104e1610750366004614ba2565b611ba2565b6104e1611bff565b610512611c0b565b610512610773366004614d8f565b611c1a565b6104e1611c41565b6104e1611c4e565b6104e1611c93565b6104e1611db2565b610512611db8565b610512611dc7565b6104e1611dd6565b6104c46107be366004614b6a565b611ddc565b6104c46107d1366004614b6a565b611ded565b6104e1611e79565b610512611f48565b6104e1611f67565b6104e16107fc366004614ba2565b611f6d565b6104e1611fa0565b610512611fa6565b610819611fb5565b6040516104ee9190614f8d565b610512611fdd565b610512611fec565b6104e1610844366004614b6a565b611ffb565b610512612022565b6104e161085f366004614d8f565b612031565b610877610872366004614b6a565b61203c565b6040516104ee9493929190615398565b6104c4610895366004614dbf565b6120a0565b6104e1612136565b6104e161213c565b6104e1612142565b6104e1612166565b6104e1612178565b6104c46108d0366004614b6a565b612184565b6104e16108e3366004614ba2565b612197565b6104e16121aa565b6104e16108fe366004614ba2565b6121b0565b6104e1610911366004614d8f565b6121e6565b6104e1610924366004614b6a565b6121f9565b610512612214565b61051261093f366004614d8f565b612223565b610682610952366004614b6a565b61224d565b610682610965366004614b6a565b6122ab565b6104e16122b6565b6104c4610980366004614b6a565b6122c3565b61098d611f48565b6001600160a01b0316336001600160a01b0316146109c65760405162461bcd60e51b81526004016109bd90615178565b60405180910390fd5b80516109d1906122d4565b6109de81602001516122d4565b6109eb81604001516122d4565b6109f881606001516122d4565b610a0581608001516122d4565b610a128160a001516122d4565b610a1f8160c001516122d4565b610a2c8160e001516122d4565b610a3a8161010001516122d4565b610a488161012001516122d4565b610a568161014001516122d4565b610a648161016001516122d4565b610a728161018001516122d4565b610a80816101a001516122d4565b8051600c80546001600160a01b03199081166001600160a01b038085169190911790925560208401516004805483169184169190911790556040808501516003805484169185169190911790556060850151600580548416918516919091179055608085015160008054841691851691909117905560a085015160018054841691851691909117905560c085015160068054841691851691909117905560e0850151600780548416918516919091179055610100850151600880548416918516919091179055610120850151600280548416918516919091179055610140850151600980548416918516919091179055610160850151600d80548416918516919091179055610180850151600a805484169185169190911790556101a0850151600b80549093169316929092179055517f84861842e6a98dd759145eb5e7b48279d0f02ebeabc8a69e5196b2f4c5023db991610bdb91614ee3565b60405180910390a17f6493041f605f233753d9b16dd158c9f297b8eaca22b2d0dc402a454f5683a5b18160200151604051610c169190614ee3565b60405180910390a17fbf65195e6d5213f6fcbce65b1454c925197a45e616dabd2e243542b039b050928160600151604051610c519190614ee3565b60405180910390a17f3ca631ffcd2a9b5d9ae18543fc82f58eb4ca33af9e6ab01b7a8e95331e6ed9858160600151604051610c8c9190614ee3565b60405180910390a17f78f058b189175430c48dc02699e3a0031ea4ff781536dc2fab847de4babdd8828160800151604051610cc79190614ee3565b60405180910390a17f5ee0cae2f063ed938bb55046f6a932fb6ae792bf43624806bb90abe68a50be9b8160a00151604051610d029190614ee3565b60405180910390a17f82966d27eea39b038ee0fa30cd16532bb24f6e65d31cb58fb227aa5766cdcc7f8160c00151604051610d3d9190614ee3565b60405180910390a17fcfb07d791fcafc032b35837b50eb84b74df518cf4cc287e8084f47630fa70fa08160e00151604051610d789190614ee3565b60405180910390a17fe67f36a6e961157d6eff83b91f3af5a62131ceb6f04954ef74f51c1c05e7f88d816101000151604051610db49190614ee3565b60405180910390a17f8c537274438aa850a330284665d81a85dd38267d09e4050d416bfc94142db264816101200151604051610df09190614ee3565b60405180910390a17fcdf33850c44a1a874b5fefb51dae615ac6afebd581ef90d571f81b06541d8e9d816101400151604051610e2c9190614ee3565b60405180910390a17f65f4cf077bc01e4742eb5ad98326f6e95b63548ea24b17f8d5e823111fe78800816101600151604051610e689190614ee3565b60405180910390a17f61e0c29d5028a9e4facaa476a46e78912e99f1ba945c9560b86b82ebe36ee52d816101800151604051610ea49190614ee3565b60405180910390a17f7624075ed781e3aa34b0f492d70d1bb5a6fcde04534165e20f990d2e546be4dd816101a00151604051610ee09190614ee3565b60405180910390a150565b6004546040516000916060916001600160a01b0390911690610f109084903690614eb6565b600060405180830381855af49150503d8060008114610f4b576040519150601f19603f3d011682016040523d82523d6000602084013e610f50565b606091505b5091509150818190610f755760405162461bcd60e51b81526004016109bd9190614f8d565b5050505050505050505050565b600281565b610f8f612319565b600054600154610fac916001600160a01b03908116911683612345565b50565b600c546001600160a01b031681565b6000610fc8612319565b6001600160a01b038316600090815260106020526040812054610ff1908463ffffffff61245716565b6001600160a01b03851660009081526010602052604090208190559150505b92915050565b61101e611f48565b6001600160a01b0316336001600160a01b03161461104e5760405162461bcd60e51b81526004016109bd90615178565b610fac81612499565b6000611061612319565b61106a82612524565b6001600160801b031690505b919050565b6016602052600090815260409020805460019091015482565b6000611010826115b6565b60006110a9612319565b611010826125be565b6001600160a01b03811660009081526016602052604081205460145482906110e0908363ffffffff61245716565b9050801580611119575060016001600160a01b03851660009081526010602052604090206003015460ff16600481111561111657fe5b14155b1561112957600092505050611076565b6001600160a01b0384166000908152601060205260408120600201549061116e670de0b6b3a7640000611162848663ffffffff61267116565b9063ffffffff6126ab16565b9695505050505050565b6809c2007651b250000081565b80516111a35760405162461bcd60e51b81526004016109bd906151a9565b6000546001546006546001600160a01b039283169291821691166111c5614a3d565b6111cd614a6e565b600260009054906101000a90046001600160a01b03166001600160a01b0316630fdb11cf6040518163ffffffff1660e01b8152600401602060405180830381600087803b15801561121d57600080fd5b505af1158015611231573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112559190614da7565b826000018181525050826001600160a01b031663bdaf37ea6040518163ffffffff1660e01b815260040160206040518083038186803b15801561129757600080fd5b505afa1580156112ab573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112cf9190614da7565b602083015281516112df906126ed565b1580156040840152611307576113008585846000015185602001518a612788565b905061131f565b61131c8585846000015185602001518a612a9d565b90505b60008160200151116113435760405162461bcd60e51b81526004016109bd9061528a565b608081015160a082015160405163335525ad60e01b81526001600160a01b0386169263335525ad9261137792600401615324565b600060405180830381600087803b15801561139157600080fd5b505af11580156113a5573d6000803e3d6000fd5b505050506113bd85858360c001518460e00151612bdd565b61010081015115611434576008546101008201516040516364a197f360e01b81526001600160a01b03888116936364a197f393611401939290911691600401614f3d565b600060405180830381600087803b15801561141b57600080fd5b505af115801561142f573d6000803e3d6000fd5b505050505b611442858260400151612e41565b602081015160608301526101008101516040820151825161147a929161146e919063ffffffff61245716565b9063ffffffff61245716565b608083018190526060808401516040808501519285015190517f4152c73dd2614c4f9fc35e8c9cf16013cd588c75b49a4c1673ecffdcbcda9403946114c29490929091615398565b60405180910390a16114de853383606001518460400151612fa2565b505050505050565b600e5481565b6001600160a01b03811660009081526010602052604081206003015460ff16600481111561101057fe5b600061152061158b565b905090565b61152e8161307f565b60408051600180825281830190925260609160208083019080368337019050509050818160008151811061155e57fe5b60200260200101906001600160a01b031690816001600160a01b03168152505061158781611185565b5050565b6000611520600e546130c8565b600b546001600160a01b031681565b6001546001600160a01b031681565b6001600160a01b03811660009081526016602052604081206001015460155482906110e0908363ffffffff61245716565b60006110106115f4611b41565b83613165565b6001600160a01b031660009081526010602052604090206001015490565b60175490565b600080600061162c85613183565b91509150600061116e838387613209565b6000611010826126ed565b60035460408051635733d58f60e01b815290516000926001600160a01b031691635733d58f916004808301926020929190829003018186803b15801561168d57600080fd5b505afa1580156116a1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115209190614da7565b6116cd612319565b8060048111156116d957fe5b6001600160a01b0383166000908152601060205260409020600301805460ff1916600183600481111561170857fe5b02179055505050565b6000611010826110b2565b611724612319565b600061172e61323b565b9050670de0b6b3a764000081111561174257fe5b600e8190556040517fc454ee9b76c52f782a256af821b857ca6e125d1e3333bcede402fec2bed9600c9061177790839061531b565b60405180910390a1610fac61327f565b603c81565b60006110106115f46122b6565b6001600160a01b031660009081526010602052604090206002015490565b6117bf614aba565b506040805160e081018252600080546001600160a01b0390811683526001548116602084015292820181905260608201819052600d548316608083015260a0820181905260c0820152600654909116611816614a3d565b61181e614a6e565b600260009054906101000a90046001600160a01b03166001600160a01b0316630fdb11cf6040518163ffffffff1660e01b8152600401602060405180830381600087803b15801561186e57600080fd5b505af1158015611882573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118a69190614da7565b826000018181525050826001600160a01b031663bdaf37ea6040518163ffffffff1660e01b815260040160206040518083038186803b1580156118e857600080fd5b505afa1580156118fc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119209190614da7565b60208301528151611930906126ed565b1580156040840152611957576119508483600001518460200151886132d4565b9050611977565b61197484600001518560200151846000015185602001518961377b565b90505b600081602001511161199b5760405162461bcd60e51b81526004016109bd9061528a565b608081015160a082015160405163335525ad60e01b81526001600160a01b0386169263335525ad926119cf92600401615324565b600060405180830381600087803b1580156119e957600080fd5b505af11580156119fd573d6000803e3d6000fd5b50505050611a1d846000015185602001518360c001518460e00151612bdd565b61010081015115611a945783516008546101008301516040516364a197f360e01b81526001600160a01b03938416936364a197f393611a6193911691600401614f3d565b600060405180830381600087803b158015611a7b57600080fd5b505af1158015611a8f573d6000803e3d6000fd5b505050505b611aa684600001518260400151612e41565b6020810151606083015261010081015160408201518251611ad2929161146e919063ffffffff61245716565b608083018190526060808401516040808501519285015190517f4152c73dd2614c4f9fc35e8c9cf16013cd588c75b49a4c1673ecffdcbcda940394611b1a9490929091615398565b60405180910390a1611b3a84600001513383606001518460400151612fa2565b5050505050565b6000611520611b4e61323b565b613931565b60195481565b60106020526000908152604090208054600182015460028301546003909301549192909160ff81169061010090046001600160801b031685565b6004546001600160a01b031681565b6000611bac612319565b6001600160a01b038316600090815260106020526040812060010154611bd8908463ffffffff613a1316565b6001600160a01b038516600090815260106020526040902060010181905591505092915050565b670de0b6b3a764000081565b6002546001600160a01b031681565b60178181548110611c2757fe5b6000918252602090912001546001600160a01b0316905081565b6801158e460913d0000081565b60035460408051631e5395c960e21b815290516000926001600160a01b03169163794e5724916004808301926020929190829003018186803b15801561168d57600080fd5b60008054604080516272c7d360e71b8152905183926001600160a01b031691633963e980916004808301926020929190829003018186803b158015611cd757600080fd5b505afa158015611ceb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d0f9190614da7565b90506000600160009054906101000a90046001600160a01b03166001600160a01b0316633963e9806040518163ffffffff1660e01b815260040160206040518083038186803b158015611d6157600080fd5b505afa158015611d75573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d999190614da7565b9050611dab828263ffffffff613a1316565b9250505090565b60185481565b600a546001600160a01b031681565b6000546001600160a01b031681565b60125481565b611de4612319565b610fac81613a38565b611df5611f48565b6001600160a01b0316336001600160a01b031614611e255760405162461bcd60e51b81526004016109bd90615178565b611e2e816122d4565b600480546001600160a01b0319166001600160a01b0383161790556040517f6493041f605f233753d9b16dd158c9f297b8eaca22b2d0dc402a454f5683a5b190610ee0908390614ee3565b6000805460408051630a7b61df60e11b8152905183926001600160a01b0316916314f6c3be916004808301926020929190829003018186803b158015611ebe57600080fd5b505afa158015611ed2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ef69190614da7565b90506000600160009054906101000a90046001600160a01b03166001600160a01b03166314f6c3be6040518163ffffffff1660e01b815260040160206040518083038186803b158015611d6157600080fd5b600080604051611f5790614ec6565b6040519081900390205492915050565b60135481565b6000611f77612319565b6001600160a01b038316600090815260106020526040812054610ff1908463ffffffff613a1316565b60145481565b6003546001600160a01b031681565b6040518060400160405280600c81526020016b2a3937bb32a6b0b730b3b2b960a11b81525081565b6006546001600160a01b031681565b600d546001600160a01b031681565b600080600061200984613183565b9150915060006120198383613a95565b95945050505050565b6005546001600160a01b031681565b600061101082613aca565b6001600160a01b0381166000908152601060205260408120805460019091015490918061206885611094565b915061207385611711565b9050612085848363ffffffff613a1316565b9350612097838263ffffffff613a1316565b92509193509193565b6004546040516000916060916001600160a01b03909116906120c59084903690614eb6565b600060405180830381855af49150503d8060008114612100576040519150601f19603f3d011682016040523d82523d6000602084013e612105565b606091505b509150915081819061212a5760405162461bcd60e51b81526004016109bd9190614f8d565b50505050505050505050565b60155481565b60115481565b7f000000000000000000000000000000000000000000000000000000000000000081565b600061152061217361323b565b6130c8565b670ddd4b8c6c7d70d881565b61218c612319565b610fac816002613af6565b60006121a3838361161e565b9392505050565b600f5481565b60006121ba612319565b6001600160a01b038316600090815260106020526040812060010154611bd8908463ffffffff61245716565b60006110106121f3612166565b83613c0b565b6001600160a01b031660009081526010602052604090205490565b6009546001600160a01b031681565b60006017828154811061223257fe5b6000918252602090912001546001600160a01b031692915050565b600060016001600160a01b03831660009081526010602052604090206003015460ff16600481111561227b57fe5b1461228857506000611076565b506014546001600160a01b03821660009081526016602052604090205410919050565b60006110108261224d565b6000611520600e54613931565b6122cb612319565b610fac81613c4b565b6001600160a01b0381166122fa5760405162461bcd60e51b81526004016109bd90615059565b803b806115875760405162461bcd60e51b81526004016109bd906151ff565b6005546001600160a01b031633146123435760405162461bcd60e51b81526004016109bd9061511b565b565b61234e8161224d565b156124525761235c8161307f565b6000612367826110b2565b90506000612374836115b6565b6001600160a01b0384166000908152601060205260409020600101549091506123a3908363ffffffff613a1316565b6001600160a01b03841660009081526010602052604090206001810191909155546123d4908263ffffffff613a1316565b6001600160a01b0384166000908152601060205260409020556123f683613a38565b61240285858385613c9b565b6001600160a01b03831660008181526010602052604080822080546001820154600290920154925160008051602061543b833981519152946124479492939291614f61565b60405180910390a250505b505050565b60006121a383836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250613d83565b6001600160a01b0381166124bf5760405162461bcd60e51b81526004016109bd90615017565b806001600160a01b03166124d1611f48565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3600060405161251490614ec6565b6040519081900390209190915550565b601780546001808201835560008381527fc624b66cc0138b8fabc209247f72d758e1cf3343756d543badbf24212bed8c1590920180546001600160a01b0319166001600160a01b0386161790559154909161257f9190612457565b6001600160a01b039290921660009081526010602052604090206003018054610100600160881b0319166101006001600160801b038516021790555090565b6001600160a01b03811660009081526010602052604081206001015481906125e590613daf565b6001600160a01b03841660009081526010602052604090206002018054908290556011549192509061262f908390612623908463ffffffff61245716565b9063ffffffff613a1316565b60118190556040517f6bac5e0eb3c44eb03a60ab11ec3a2c051771616aecadbcfff2630aabae520382916126629161531b565b60405180910390a15092915050565b60008261268057506000611010565b8282028284828161268d57fe5b04146121a35760405162461bcd60e51b81526004016109bd906150da565b60006121a383836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250613deb565b6000806126f983613aca565b9050600360009054906101000a90046001600160a01b03166001600160a01b0316635733d58f6040518163ffffffff1660e01b815260040160206040518083038186803b15801561274957600080fd5b505afa15801561275d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127819190614da7565b1192915050565b612790614a6e565b612798614af6565b6127a0614a6e565b848252600060808301526127b2611c93565b60a08301526127bf611e79565b60c0830152600060208301525b835182602001511015612a9257838260200151815181106127e957fe5b6020908102919091018101516001600160a01b03166060840181905260009081526010909152604090206003015460019060ff16600481111561282857fe5b1461283257612a82565b61284082606001518761161e565b604083015260808201516129a757600360009054906101000a90046001600160a01b03166001600160a01b031663794e57246040518163ffffffff1660e01b815260040160206040518083038186803b15801561289c57600080fd5b505afa1580156128b0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906128d49190614da7565b8260400151101580156128e657508151155b156128f057612a82565b60006129058360c001518460a0015189613209565b90506129228989856060015186604001518760000151868d613e22565b6080810151845191935061293c919063ffffffff61245716565b8352608082015160a08401516129579163ffffffff61245716565b60a08085019190915282015160c08401516129779163ffffffff61245716565b60c084015261298684836141f8565b935061299b8360c001518460a001518961430f565b15608084015250612a82565b81608001518015612a405750600360009054906101000a90046001600160a01b03166001600160a01b031663794e57246040518163ffffffff1660e01b815260040160206040518083038186803b158015612a0157600080fd5b505afa158015612a15573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612a399190614da7565b8260400151105b15612a8257612a598888846060015185600001516143ae565b60808101518351919250612a73919063ffffffff61245716565b8252612a7f83826141f8565b92505b60208201805160010190526127cc565b505095945050505050565b612aa5614a6e565b612aad614af6565b612ab5614a6e565b848252600060208301525b835182602001511015612a925783826020015181518110612add57fe5b60209081029190910101516001600160a01b031660608301819052612b02908761161e565b6040808401919091526003548151631e5395c960e21b815291516001600160a01b039091169163794e5724916004808301926020929190829003018186803b158015612b4d57600080fd5b505afa158015612b61573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612b859190614da7565b82604001511015612bcd57612ba48888846060015185600001516143ae565b60808101518351919250612bbe919063ffffffff61245716565b8252612bca83826141f8565b92505b6020820180516001019052612ac0565b81612be757612e3b565b601854600090612c099061262384670de0b6b3a764000063ffffffff61267116565b90506000612c2e601954612623670de0b6b3a76400008761267190919063ffffffff16565b90506000612c47601154846126ab90919063ffffffff16565b90506000612c60601154846126ab90919063ffffffff16565b9050612c87612c7a6011548461267190919063ffffffff16565b859063ffffffff61245716565b601855601154612caf90612ca290839063ffffffff61267116565b849063ffffffff61245716565b601955601454612cc5908363ffffffff613a1316565b601455601554612cdb908263ffffffff613a1316565b60158190556014546040517f9f8bc8ab0daf5bceef75ecfd2085d1fcc6548c657ea970d9a23a60610d0737e392612d129291615324565b60405180910390a160405163121cbc4d60e11b81526001600160a01b03891690632439789a90612d4690899060040161531b565b600060405180830381600087803b158015612d6057600080fd5b505af1158015612d74573d6000803e3d6000fd5b505060405163f2e91d7160e01b81526001600160a01b038a16925063f2e91d719150612da490899060040161531b565b600060405180830381600087803b158015612dbe57600080fd5b505af1158015612dd2573d6000803e3d6000fd5b50506040516364a197f360e01b81526001600160a01b038b1692506364a197f39150612e04908a908990600401614f3d565b600060405180830381600087803b158015612e1e57600080fd5b505af1158015612e32573d6000803e3d6000fd5b50505050505050505b50505050565b6011546012819055506000826001600160a01b03166314f6c3be6040518163ffffffff1660e01b815260040160206040518083038186803b158015612e8557600080fd5b505afa158015612e99573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612ebd9190614da7565b90506000600160009054906101000a90046001600160a01b03166001600160a01b03166314f6c3be6040518163ffffffff1660e01b815260040160206040518083038186803b158015612f0f57600080fd5b505afa158015612f23573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612f479190614da7565b9050612f5d81612623848663ffffffff61245716565b60138190556012546040517f51bf4c63ec3cba9d03d43238abbdd979dd91bd16d9895c74ceea9118c7baaf6092612f949291615324565b60405180910390a150505050565b811561301357600954600754604051631062c15f60e11b81526001600160a01b03928316926320c582be92612fe09291169087908790600401614ef7565b600060405180830381600087803b158015612ffa57600080fd5b505af115801561300e573d6000803e3d6000fd5b505050505b8015612e3b576040516364a197f360e01b81526001600160a01b038516906364a197f3906130479086908590600401614f3d565b600060405180830381600087803b15801561306157600080fd5b505af1158015613075573d6000803e3d6000fd5b5050505050505050565b60016001600160a01b03821660009081526010602052604090206003015460ff1660048111156130ab57fe5b14610fac5760405162461bcd60e51b81526004016109bd906152cc565b600061101061315783600360009054906101000a90046001600160a01b03166001600160a01b03166328d28b5b6040518163ffffffff1660e01b815260040160206040518083038186803b15801561311f57600080fd5b505afa158015613133573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906126239190614da7565b670de0b6b3a76400006144e0565b60006121a3670de0b6b3a7640000611162858563ffffffff61267116565b6000806000613191846110b2565b9050600061319e856115b6565b6001600160a01b038616600090815260106020526040812060010154919250906131ce908463ffffffff613a1316565b6001600160a01b038716600090815260106020526040812054919250906131fb908463ffffffff613a1316565b919550909350505050915091565b6000821561323057600061322784611162878663ffffffff61267116565b91506121a39050565b506000199392505050565b6000806132466144f6565b9050600061325c670ddd4b8c6c7d70d883614512565b9050611dab670de0b6b3a764000061116283600e5461267190919063ffffffff16565b6000613296600f544261245790919063ffffffff16565b9050603c8110610fac5742600f8190556040517f860f8d2f0c74dd487e89e2883e3b25b8159ce1e1b3433a291cba7b82c508f3bc91610ee09161531b565b6132dc614a6e565b6132e4614af6565b6132ec614a6e565b848252600060808301526132fe611c93565b60a083015261330b611e79565b8260c001818152505086608001516001600160a01b0316634d6228316040518163ffffffff1660e01b815260040160206040518083038186803b15801561335157600080fd5b505afa158015613365573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906133899190614b86565b82606001906001600160a01b031690816001600160a01b031681525050600087608001516001600160a01b0316631e2231436040518163ffffffff1660e01b815260040160206040518083038186803b1580156133e557600080fd5b505afa1580156133f9573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061341d9190614b86565b6000602085015290505b8483602001511080156134505750806001600160a01b031683606001516001600160a01b031614155b156137705760808801516060840151604051632dc9c0eb60e21b81526000926001600160a01b03169163b72703ac9161348c9190600401614ee3565b60206040518083038186803b1580156134a457600080fd5b505afa1580156134b8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906134dc9190614b86565b90506134ec84606001518961161e565b6040850152608084015161366557600360009054906101000a90046001600160a01b03166001600160a01b031663794e57246040518163ffffffff1660e01b815260040160206040518083038186803b15801561354857600080fd5b505afa15801561355c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906135809190614da7565b84604001511015801561359257508351155b1561359d5750613770565b60006135b28560c001518660a001518b613209565b8a5160208c01516060880151604089015189519495506135d394868f613e22565b608081015186519195506135ed919063ffffffff61245716565b8552608084015160a08601516136089163ffffffff61245716565b8560a001818152505061363584610100015161146e8660a001518860c0015161245790919063ffffffff16565b60c086015261364486856141f8565b95506136598560c001518660a001518b61430f565b15608086015250613752565b836080015180156136fe5750600360009054906101000a90046001600160a01b03166001600160a01b031663794e57246040518163ffffffff1660e01b815260040160206040518083038186803b1580156136bf57600080fd5b505afa1580156136d3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906136f79190614da7565b8460400151105b1561374c5761371f89600001518a60200151866060015187600001516143ae565b60808101518551919450613739919063ffffffff61245716565b845261374585846141f8565b9450613752565b50613770565b6001600160a01b031660608401526020830180516001019052613427565b505050949350505050565b613783614a6e565b61378b614af6565b613793614a6e565b600d54858352600060208401526001600160a01b03165b848360200151101561392557806001600160a01b0316634d6228316040518163ffffffff1660e01b815260040160206040518083038186803b1580156137ef57600080fd5b505afa158015613803573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906138279190614b86565b6001600160a01b031660608401819052613841908861161e565b6040808501919091526003548151631e5395c960e21b815291516001600160a01b039091169163794e5724916004808301926020929190829003018186803b15801561388c57600080fd5b505afa1580156138a0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906138c49190614da7565b83604001511015613910576138e38989856060015186600001516143ae565b608081015184519193506138fd919063ffffffff61245716565b835261390984836141f8565b9350613915565b613925565b60208301805160010190526137aa565b50505095945050505050565b600061101061398883600360009054906101000a90046001600160a01b03166001600160a01b031663f92d34336040518163ffffffff1660e01b815260040160206040518083038186803b15801561311f57600080fd5b600360009054906101000a90046001600160a01b03166001600160a01b031663240926696040518163ffffffff1660e01b815260040160206040518083038186803b1580156139d657600080fd5b505afa1580156139ea573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613a0e9190614da7565b6144e0565b6000828201838110156121a35760405162461bcd60e51b81526004016109bd90614fe0565b601480546001600160a01b038316600090815260166020526040908190209182556015546001909201829055915491517fc437f324d85e369394148dd9d62f98f534b382e01ed3dd2eb98138fb6d3ab49a92610ee0929091615324565b60008115613ac157613aba826111628568056bc75e2d6310000063ffffffff61267116565b9050611010565b50600019611010565b600080613ad5611e79565b90506000613ae1611c93565b9050613aee828286613209565b949350505050565b6000816004811115613b0457fe5b14158015613b1e57506001816004811115613b1b57fe5b14155b613b2457fe5b601754613b30816145bd565b6001600160a01b0383166000908152601060205260409020600301805483919060ff19166001836004811115613b6257fe5b02179055506001600160a01b0383166000908152601060209081526040808320600180820185905590849055601690925282208281550155613ba48382614663565b600d54604051631484968760e11b81526001600160a01b03909116906329092d0e90613bd4908690600401614ee3565b600060405180830381600087803b158015613bee57600080fd5b505af1158015613c02573d6000803e3d6000fd5b50505050505050565b600080613c2a670de0b6b3a7640000611162868663ffffffff61267116565b90508281106121a35760405162461bcd60e51b81526004016109bd90615234565b6001600160a01b038116600090815260106020526040902060020154601154613c7a908263ffffffff61245716565b601155506001600160a01b0316600090815260106020526040812060020155565b60405163121cbc4d60e11b81526001600160a01b03841690632439789a90613cc790859060040161531b565b600060405180830381600087803b158015613ce157600080fd5b505af1158015613cf5573d6000803e3d6000fd5b505060405163f2e91d7160e01b81526001600160a01b038716925063f2e91d719150613d2590859060040161531b565b600060405180830381600087803b158015613d3f57600080fd5b505af1158015613d53573d6000803e3d6000fd5b505060405163be41205f60e01b81526001600160a01b038616925063be41205f915061304790849060040161531b565b60008184841115613da75760405162461bcd60e51b81526004016109bd9190614f8d565b505050900390565b60008060135460001415613dc4575081611010565b600060125411613dd057fe5b6121a36013546111626012548661267190919063ffffffff16565b60008183613e0c5760405162461bcd60e51b81526004016109bd9190614f8d565b506000838581613e1857fe5b0495945050505050565b613e2a614a6e565b613e32614b3e565b601754600110613e4257506141ed565b613e4b8761203c565b60408501526020848101919091528401819052908352613e6a90614804565b604083018190526801158e460913d0000060608401526020830151613e949163ffffffff61245716565b8152670de0b6b3a76400008611613f5f57613eb9898983602001518460400151613c9b565b613ec287613c4b565b60006080830181905260a0830152815160c0830152805160e0830152613ee9876003613af6565b815160208301516040516001600160a01b038a169260008051602061541b83398151915292613f1a92600290615332565b60405180910390a2866001600160a01b031660008051602061543b83398151915260008060006002604051613f529493929190614f61565b60405180910390a26141eb565b670de0b6b3a764000086118015613ffa5750600360009054906101000a90046001600160a01b03166001600160a01b031663794e57246040518163ffffffff1660e01b815260040160206040518083038186803b158015613fbf57600080fd5b505afa158015613fd3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613ff79190614da7565b86105b1561404a57614013898983602001518460400151613c9b565b61401c87613c4b565b8151815161402b919087614890565b60e086015260c085015260a08401526080830152613ee9876003613af6565b600360009054906101000a90046001600160a01b03166001600160a01b031663794e57246040518163ffffffff1660e01b815260040160206040518083038186803b15801561409857600080fd5b505afa1580156140ac573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906140d09190614da7565b86101580156140de57508386105b80156140eb575081518510155b156141da57614104898983602001518460400151613c9b565b8461410b57fe5b61411487613c4b565b61412782600001518360200151856148fc565b9150614134876003613af6565b610100820151156141a957600854610100830151604051633f10abab60e01b81526001600160a01b0390921691633f10abab91614176918b9190600401614f3d565b600060405180830381600087803b15801561419057600080fd5b505af11580156141a4573d6000803e3d6000fd5b505050505b815160a08301516040516001600160a01b038a169260008051602061541b83398151915292613f1a92600290615332565b6141e2614a6e565b91506141ed9050565b505b979650505050505050565b614200614a6e565b604080830151908401516142199163ffffffff613a1316565b6040820152606080830151908401516142379163ffffffff613a1316565b6060820152815160208401516142529163ffffffff613a1316565b602080830191909152820151835161426f9163ffffffff613a1316565b81526080808301519084015161428a9163ffffffff613a1316565b608082015260a080830151908401516142a89163ffffffff613a1316565b60a082015260c080830151908401516142c69163ffffffff613a1316565b60c082015260e080830151908401516142e49163ffffffff613a1316565b60e082015261010080830151908401516143039163ffffffff613a1316565b61010082015292915050565b60008061431d858585613209565b9050600360009054906101000a90046001600160a01b03166001600160a01b0316635733d58f6040518163ffffffff1660e01b815260040160206040518083038186803b15801561436d57600080fd5b505afa158015614381573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906143a59190614da7565b11949350505050565b6143b6614a6e565b6143be614b3e565b6143c78461203c565b604085019081526020858101928352860192909252918452905190516143f1918891889190613c9b565b6143fa84613c4b565b6144078260200151614804565b604083018190526801158e460913d0000060608401526020830151600091614435919063ffffffff61245716565b905061444683600001518286614890565b60e087015260c086015260a08501526080840152614465856003613af6565b825160208401516040516001600160a01b0388169260008051602061541b8339815191529261449692600190615332565b60405180910390a2846001600160a01b031660008051602061543b833981519152600080600060016040516144ce9493929190614f61565b60405180910390a25050949350505050565b60008183106144ef57816121a3565b5090919050565b6000611520603c611162600f544261245790919063ffffffff16565b6000631f54050082111561452857631f54050091505b8161453c5750670de0b6b3a7640000611010565b670de0b6b3a764000083835b60018111156145b3576002810661457d576145638283614a0a565b915061457681600263ffffffff6126ab16565b90506145ae565b6145878284614a0a565b92506145938283614a0a565b91506145ab600261116283600163ffffffff61245716565b90505b614548565b61116e8284614a0a565b6001811180156146475750600d546040805163de8fa43160e01b815290516001926001600160a01b03169163de8fa431916004808301926020929190829003018186803b15801561460d57600080fd5b505afa158015614621573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906146459190614da7565b115b610fac5760405162461bcd60e51b81526004016109bd90615090565b6001600160a01b03821660009081526010602052604081206003015460ff169081600481111561468f57fe5b141580156146a9575060018160048111156146a657fe5b14155b6146af57fe5b6001600160a01b03831660009081526010602052604081206003015461010090046001600160801b03169083906146e7826001612457565b905080836001600160801b031611156146fc57fe5b60006017828154811061470b57fe5b600091825260209091200154601780546001600160a01b03909216925082916001600160801b03871690811061473d57fe5b600091825260208083209190910180546001600160a01b0319166001600160a01b03948516179055918316815260109091526040908190206003018054610100600160881b0319166101006001600160801b03881602179055517f02b04ae5f7be9ca7c103293a2aa15f3c339d15d6eda53b721fef7b0e609c831a906147c69083908790614f1b565b60405180910390a160178054806147d957fe5b600082815260209020810160001990810180546001600160a01b031916905501905550505050505050565b600354604080516324386ecd60e11b815290516000926001600160a01b031691634870dd9a916004808301926020929190829003018186803b15801561484957600080fd5b505afa15801561485d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906148819190614da7565b828161488957fe5b0492915050565b600080808084156148e6576148a587866144e0565b93506148bb87611162888763ffffffff61267116565b92506148cd878563ffffffff61245716565b91506148df868463ffffffff61245716565b90506148f3565b5060009250829150859050845b93509350935093565b614904614a6e565b838152602080820184905260035460408051631e5395c960e21b815290516000936149a0938793611162936001600160a01b039092169263794e572492600480840193829003018186803b15801561495b57600080fd5b505afa15801561496f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906149939190614da7565b889063ffffffff61267116565b90506149ab81614804565b604083018190526801158e460913d000006060840152608083018690526149d990829063ffffffff61245716565b60a08301526149ee848263ffffffff61245716565b61010083015250600060c0820181905260e08201529392505050565b600080614a1d848463ffffffff61267116565b9050613aee670de0b6b3a7640000611162836706f05b59d3b20000613a13565b6040518060a00160405280600081526020016000815260200160001515815260200160008152602001600081525090565b6040518061012001604052806000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081525090565b6040805160e081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c081019190915290565b6040518060e0016040528060008152602001600081526020016000815260200160006001600160a01b0316815260200160001515815260200160008152602001600081525090565b60405180606001604052806000815260200160008152602001600081525090565b803561101081615405565b600060208284031215614b7b578081fd5b81356121a381615405565b600060208284031215614b97578081fd5b81516121a381615405565b60008060408385031215614bb4578081fd5b8235614bbf81615405565b946020939093013593505050565b60006020808385031215614bdf578182fd5b823567ffffffffffffffff811115614bf5578283fd5b80840185601f820112614c06578384fd5b80359150614c1b614c16836153da565b6153b3565b8281528381019082850185850284018601891015614c37578687fd5b8693505b848410156141eb57614c4d8982614b5f565b835260019390930192918501918501614c3b565b60006101c0808385031215614c74578182fd5b614c7d816153b3565b614c878585614b5f565b8152614c968560208601614b5f565b6020820152614ca88560408601614b5f565b6040820152614cba8560608601614b5f565b6060820152614ccc8560808601614b5f565b6080820152614cde8560a08601614b5f565b60a0820152614cf08560c08601614b5f565b60c0820152614d028560e08601614b5f565b60e08201526101009150614d1885838601614b5f565b828201526101209150614d2d85838601614b5f565b828201526101409150614d4285838601614b5f565b828201526101609150614d5785838601614b5f565b828201526101809150614d6c85838601614b5f565b828201526101a09150614d8185838601614b5f565b918101919091529392505050565b600060208284031215614da0578081fd5b5035919050565b600060208284031215614db8578081fd5b5051919050565b600080600080600080600060e0888a031215614dd9578283fd5b873596506020880135614deb81615405565b95506040880135614dfb81615405565b94506060880135614e0b81615405565b9699959850939660808101359560a0820135955060c0909101359350915050565b600080600080600080600080888a03610160811215614e49578182fd5b8935985060208a0135614e5b81615405565b975060408a0135614e6b81615405565b965060608a0135614e7b81615405565b955060808a810135955060a08b0135945060c08b0135935060df1982011215614ea2578182fd5b5060e0890190509295985092959890939650565b6000828483379101908152919050565b7035b2bc9737bbb730b136329737bbb732b960791b815260110190565b6001600160a01b0391909116815260200190565b6001600160a01b039384168152919092166020820152604081019190915260600190565b6001600160a01b039290921682526001600160801b0316602082015260400190565b6001600160a01b03929092168252602082015260400190565b901515815260200190565b848152602081018490526040810183905260808101614f7f836153fa565b606083015295945050505050565b6000602080835283518082850152825b81811015614fb957858101830151858201604001528201614f9d565b81811115614fca5783604083870101525b50601f01601f1916929092016040019392505050565b6020808252601b908201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604082015260600190565b60208082526022908201527f4f776e61626c653a3a7365744f776e65723a20696e76616c6964206164647265604082015261737360f01b606082015260800190565b6020808252601e908201527f4163636f756e742063616e6e6f74206265207a65726f20616464726573730000604082015260600190565b6020808252602a908201527f54726f76654d616e616765723a204f6e6c79206f6e652074726f766520696e206040820152697468652073797374656d60b01b606082015260800190565b60208082526021908201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6040820152607760f81b606082015260800190565b6020808252603b908201527f54726f76654d616e616765723a2043616c6c6572206973206e6f74207468652060408201527f426f72726f7765724f7065726174696f6e7320636f6e74726163740000000000606082015260800190565b60208082526017908201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604082015260600190565b60208082526036908201527f54726f76654d616e616765723a2043616c6c646174612061646472657373206160408201527572726179206d757374206e6f7420626520656d70747960501b606082015260800190565b6020808252818101527f4163636f756e7420636f64652073697a652063616e6e6f74206265207a65726f604082015260600190565b60208082526036908201527f54726f76654d616e616765723a2046656520776f756c642065617420757020616040820152751b1b081c995d1d5c9b99590818dbdb1b185d195c985b60521b606082015260800190565b60208082526022908201527f54726f76654d616e616765723a206e6f7468696e6720746f206c697175696461604082015261746560f01b606082015260800190565b6020808252602f908201527f54726f76654d616e616765723a2054726f766520646f6573206e6f742065786960408201526e1cdd081bdc881a5cc818db1bdcd959608a1b606082015260800190565b90815260200190565b918252602082015260400190565b83815260208101839052606081016004831061534a57fe5b826040830152949350505050565b858152602081018590526040810184905260a081016005841061537757fe5b60608201939093526001600160801b03919091166080909101529392505050565b93845260208401929092526040830152606082015260800190565b60405181810167ffffffffffffffff811182821017156153d257600080fd5b604052919050565b600067ffffffffffffffff8211156153f0578081fd5b5060209081020190565b806004811061107657fe5b6001600160a01b0381168114610fac57600080fdfeea67486ed7ebe3eea8ab3390efd4a3c8aae48be5bea27df104a8af786c408434c3770d654ed33aeea6bf11ac8ef05d02a6a04ed4686dd2f624d853bbec43cc8ba2646970667358221220360ab705f9ed8e8222e50d6d6310ee7c0693ad08921592870dfffe5ff62b48e964736f6c634300060b0033", "linkReferences": {}, "deployedLinkReferences": {} } diff --git a/packages/lib-ethers/live/TroveManagerBase.json b/packages/lib-ethers/live/TroveManagerBase.json new file mode 100644 index 000000000..484389a0d --- /dev/null +++ b/packages/lib-ethers/live/TroveManagerBase.json @@ -0,0 +1,904 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "TroveManagerBase", + "sourceName": "contracts/Dependencies/TroveManagerBase.sol", + "abi": [ + { + "inputs": [ + { + "internalType": "uint256", + "name": "_bootstrapPeriod", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "_baseRate", + "type": "uint256" + } + ], + "name": "BaseRateUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "_L_ETH", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "_L_ZUSDDebt", + "type": "uint256" + } + ], + "name": "LTermsUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "_lastFeeOpTime", + "type": "uint256" + } + ], + "name": "LastFeeOpTimeUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "_liquidatedDebt", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "_liquidatedColl", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "_collGasCompensation", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "_ZUSDGasCompensation", + "type": "uint256" + } + ], + "name": "Liquidation", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousOwner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnershipTransferred", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "_attemptedZUSDAmount", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "_actualZUSDAmount", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "_ETHSent", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "_ETHFee", + "type": "uint256" + } + ], + "name": "Redemption", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "_totalStakesSnapshot", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "_totalCollateralSnapshot", + "type": "uint256" + } + ], + "name": "SystemSnapshotsUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "_newTotalStakes", + "type": "uint256" + } + ], + "name": "TotalStakesUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "_borrower", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "_newIndex", + "type": "uint256" + } + ], + "name": "TroveIndexUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "_borrower", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "_debt", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "_coll", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "enum TroveManagerBase.TroveManagerOperation", + "name": "_operation", + "type": "uint8" + } + ], + "name": "TroveLiquidated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "_L_ETH", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "_L_ZUSDDebt", + "type": "uint256" + } + ], + "name": "TroveSnapshotsUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "_borrower", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "_debt", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "_coll", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "_stake", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "enum TroveManagerBase.TroveManagerOperation", + "name": "_operation", + "type": "uint8" + } + ], + "name": "TroveUpdated", + "type": "event" + }, + { + "inputs": [], + "name": "BETA", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "BOOTSTRAP_PERIOD", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "DECIMAL_PRECISION", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "L_ETH", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "L_ZUSDDebt", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "MINUTE_DECAY_FACTOR", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "MIN_NET_DEBT", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "NAME", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "SECONDS_IN_ONE_MINUTE", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "name": "TroveOwners", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "Troves", + "outputs": [ + { + "internalType": "uint256", + "name": "debt", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "coll", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "stake", + "type": "uint256" + }, + { + "internalType": "enum TroveManagerStorage.Status", + "name": "status", + "type": "uint8" + }, + { + "internalType": "uint128", + "name": "arrayIndex", + "type": "uint128" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "ZUSD_GAS_COMPENSATION", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "_100pct", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_borrower", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_price", + "type": "uint256" + } + ], + "name": "_getCurrentICR", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_borrower", + "type": "address" + } + ], + "name": "_getPendingETHReward", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_borrower", + "type": "address" + } + ], + "name": "_getPendingZUSDDebtReward", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "_getRedemptionRate", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_borrower", + "type": "address" + } + ], + "name": "_hasPendingRewards", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "_stabilityPool", + "outputs": [ + { + "internalType": "contract IStabilityPool", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "_zeroStaking", + "outputs": [ + { + "internalType": "contract IZEROStaking", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "_zeroToken", + "outputs": [ + { + "internalType": "contract IZEROToken", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "_zusdToken", + "outputs": [ + { + "internalType": "contract IZUSDToken", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "activePool", + "outputs": [ + { + "internalType": "contract IActivePool", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "baseRate", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "borrowerOperationsAddress", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "defaultPool", + "outputs": [ + { + "internalType": "contract IDefaultPool", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "feeDistributor", + "outputs": [ + { + "internalType": "contract IFeeDistributor", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getEntireSystemColl", + "outputs": [ + { + "internalType": "uint256", + "name": "entireSystemColl", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getEntireSystemDebt", + "outputs": [ + { + "internalType": "uint256", + "name": "entireSystemDebt", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getOwner", + "outputs": [ + { + "internalType": "address", + "name": "_owner", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "lastETHError_Redistribution", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "lastFeeOperationTime", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "lastZUSDDebtError_Redistribution", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "liquityBaseParams", + "outputs": [ + { + "internalType": "contract ILiquityBaseParams", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "priceFeed", + "outputs": [ + { + "internalType": "contract IPriceFeed", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "rewardSnapshots", + "outputs": [ + { + "internalType": "uint256", + "name": "ETH", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "ZUSDDebt", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_owner", + "type": "address" + } + ], + "name": "setOwner", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "sortedTroves", + "outputs": [ + { + "internalType": "contract ISortedTroves", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "totalCollateralSnapshot", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "totalStakes", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "totalStakesSnapshot", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "troveManagerRedeemOps", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + } + ], + "bytecode": "0x60a060405234801561001057600080fd5b506040516111d13803806111d18339818101604052602081101561003357600080fd5b5051610047336001600160e01b0361004f16565b608052610137565b6001600160a01b0381166100945760405162461bcd60e51b81526004018080602001828103825260228152602001806111af6022913960400191505060405180910390fd5b6001600160a01b0381166100af6001600160e01b0361010d16565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3604080517035b2bc9737bbb730b136329737bbb732b960791b8152905190819003601101902055565b604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205490565b60805161105e61015160003980610aea525061105e6000f3fe608060405234801561001057600080fd5b506004361061025e5760003560e01c8063797250e311610146578063a3f4df7e116100c3578063bf9befb111610087578063bf9befb114610551578063c35bc55014610559578063c7b5548114610561578063d380a37c14610569578063d815e8e914610571578063e056e918146105795761025e565b8063a3f4df7e146104b4578063ae7bec1914610531578063ae91875414610539578063b7f8cf9b14610541578063be4b0334146105495761025e565b8063893d20e81161010a578063893d20e81461049457806396d711ff1461049c5780639dd233d2146104a45780639f070670146104ac578063a20baee61461042f5761025e565b8063797250e31461046c5780637cf54e40146104745780637f7dde4a1461047c578063807d138d14610484578063887105d31461048c5761025e565b806342ccf1e4116101df578063716c47e6116101a3578063716c47e61461042757806372fe25aa1461042f578063741bef1a14610437578063756b253e1461043f578063759b30341461045c578063795d26c3146104645761025e565b806342ccf1e4146103565780634a767d681461037c57806361ec893d146103a85780636b444952146103b05780636ef64338146103b85761025e565b80631bf43555116102265780631bf435551461032e5780631f68f20a1461033657806331c903b01461033e5780633a128595146103465780633cc742251461034e5761025e565b8063071a7541146102635780630d43e8ad1461027d57806313af4035146102a15780631673c79a146102c95780631a59a50e14610308575b600080fd5b61026b6105b3565b60408051918252519081900360200190f35b6102856105b8565b604080516001600160a01b039092168252519081900360200190f35b6102c7600480360360208110156102b757600080fd5b50356001600160a01b03166105c7565b005b6102ef600480360360208110156102df57600080fd5b50356001600160a01b031661063a565b6040805192835260208301919091528051918290030190f35b61026b6004803603602081101561031e57600080fd5b50356001600160a01b0316610653565b61026b61071b565b61026b610728565b61026b61072e565b610285610740565b61028561074f565b61026b6004803603602081101561036c57600080fd5b50356001600160a01b031661075e565b61026b6004803603604081101561039257600080fd5b506001600160a01b03813516906020013561078f565b61026b6107ba565b61026b6107bf565b6103de600480360360208110156103ce57600080fd5b50356001600160a01b03166107c5565b6040518086815260200185815260200184815260200183600481111561040057fe5b60ff1681526001600160801b03909216602083015250604080519182900301945092505050f35b6102856107ff565b61026b61080e565b61028561081a565b6102856004803603602081101561045557600080fd5b5035610829565b61026b610850565b61026b61085d565b61026b61095c565b610285610962565b610285610971565b61026b610980565b61026b610986565b610285610a42565b61026b610a6c565b61026b610a72565b610285610a78565b6104bc610a87565b6040805160208082528351818301528351919283929083019185019080838360005b838110156104f65781810151838201526020016104de565b50505050905090810190601f1680156105235780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b610285610aaf565b610285610abe565b610285610acd565b61026b610adc565b61026b610ae2565b61026b610ae8565b61026b610b0c565b61026b610b18565b610285610b1e565b61059f6004803603602081101561058f57600080fd5b50356001600160a01b0316610b2d565b604080519115158252519081900360200190f35b600281565b600c546001600160a01b031681565b6105cf610a42565b6001600160a01b0316336001600160a01b03161461062e576040805162461bcd60e51b815260206004820152601760248201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604482015290519081900360640190fd5b61063781610b8b565b50565b6016602052600090815260409020805460019091015482565b6001600160a01b0381166000908152601660205260408120546014548290610681908363ffffffff610c4016565b90508015806106ba575060016001600160a01b03851660009081526010602052604090206003015460ff1660048111156106b757fe5b14155b156106ca57600092505050610716565b6001600160a01b0384166000908152601060205260408120600201549061070f670de0b6b3a7640000610703848663ffffffff610c8916565b9063ffffffff610ce216565b9450505050505b919050565b6809c2007651b250000081565b600e5481565b600061073b600e54610d24565b905090565b600b546001600160a01b031681565b6001546001600160a01b031681565b6001600160a01b0381166000908152601660205260408120600101546015548290610681908363ffffffff610c4016565b600080600061079d85610dc1565b9150915060006107ae838387610e47565b93505050505b92915050565b603c81565b60195481565b60106020526000908152604090208054600182015460028301546003909301549192909160ff81169061010090046001600160801b031685565b6004546001600160a01b031681565b670de0b6b3a764000081565b6002546001600160a01b031681565b6017818154811061083657fe5b6000918252602090912001546001600160a01b0316905081565b6801158e460913d0000081565b60008054604080516272c7d360e71b8152905183926001600160a01b031691633963e980916004808301926020929190829003018186803b1580156108a157600080fd5b505afa1580156108b5573d6000803e3d6000fd5b505050506040513d60208110156108cb57600080fd5b5051600154604080516272c7d360e71b815290519293506000926001600160a01b0390921691633963e98091600480820192602092909190829003018186803b15801561091757600080fd5b505afa15801561092b573d6000803e3d6000fd5b505050506040513d602081101561094157600080fd5b50519050610955828263ffffffff610e7916565b9250505090565b60185481565b600a546001600160a01b031681565b6000546001600160a01b031681565b60125481565b6000805460408051630a7b61df60e11b8152905183926001600160a01b0316916314f6c3be916004808301926020929190829003018186803b1580156109cb57600080fd5b505afa1580156109df573d6000803e3d6000fd5b505050506040513d60208110156109f557600080fd5b505160015460408051630a7b61df60e11b815290519293506000926001600160a01b03909216916314f6c3be91600480820192602092909190829003018186803b15801561091757600080fd5b604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205490565b60135481565b60145481565b6003546001600160a01b031681565b6040518060400160405280600c81526020016b2a3937bb32a6b0b730b3b2b960a11b81525081565b6006546001600160a01b031681565b600d546001600160a01b031681565b6005546001600160a01b031681565b60155481565b60115481565b7f000000000000000000000000000000000000000000000000000000000000000081565b670ddd4b8c6c7d70d881565b600f5481565b6009546001600160a01b031681565b600060016001600160a01b03831660009081526010602052604090206003015460ff166004811115610b5b57fe5b14610b6857506000610716565b506014546001600160a01b03821660009081526016602052604090205410919050565b6001600160a01b038116610bd05760405162461bcd60e51b8152600401808060200182810382526022815260200180610fe66022913960400191505060405180910390fd5b806001600160a01b0316610be2610a42565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3604080517035b2bc9737bbb730b136329737bbb732b960791b8152905190819003601101902055565b6000610c8283836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610ed3565b9392505050565b600082610c98575060006107b4565b82820282848281610ca557fe5b0414610c825760405162461bcd60e51b81526004018080602001828103825260218152602001806110086021913960400191505060405180910390fd5b6000610c8283836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250610f6a565b60006107b4610db383600360009054906101000a90046001600160a01b03166001600160a01b03166328d28b5b6040518163ffffffff1660e01b815260040160206040518083038186803b158015610d7b57600080fd5b505afa158015610d8f573d6000803e3d6000fd5b505050506040513d6020811015610da557600080fd5b50519063ffffffff610e7916565b670de0b6b3a7640000610fcf565b6000806000610dcf84610653565b90506000610ddc8561075e565b6001600160a01b03861660009081526010602052604081206001015491925090610e0c908463ffffffff610e7916565b6001600160a01b03871660009081526010602052604081205491925090610e39908463ffffffff610e7916565b919550909350505050915091565b60008215610e6e576000610e6584610703878663ffffffff610c8916565b9150610c829050565b506000199392505050565b600082820183811015610c82576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b60008184841115610f625760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610f27578181015183820152602001610f0f565b50505050905090810190601f168015610f545780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b60008183610fb95760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610f27578181015183820152602001610f0f565b506000838581610fc557fe5b0495945050505050565b6000818310610fde5781610c82565b509091905056fe4f776e61626c653a3a7365744f776e65723a20696e76616c69642061646472657373536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77a26469706673582212207c22479726ced5ac608c998561442d9b4a2ac8cc8739f5bc67f5ca888cc4203964736f6c634300060b00334f776e61626c653a3a7365744f776e65723a20696e76616c69642061646472657373", + "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061025e5760003560e01c8063797250e311610146578063a3f4df7e116100c3578063bf9befb111610087578063bf9befb114610551578063c35bc55014610559578063c7b5548114610561578063d380a37c14610569578063d815e8e914610571578063e056e918146105795761025e565b8063a3f4df7e146104b4578063ae7bec1914610531578063ae91875414610539578063b7f8cf9b14610541578063be4b0334146105495761025e565b8063893d20e81161010a578063893d20e81461049457806396d711ff1461049c5780639dd233d2146104a45780639f070670146104ac578063a20baee61461042f5761025e565b8063797250e31461046c5780637cf54e40146104745780637f7dde4a1461047c578063807d138d14610484578063887105d31461048c5761025e565b806342ccf1e4116101df578063716c47e6116101a3578063716c47e61461042757806372fe25aa1461042f578063741bef1a14610437578063756b253e1461043f578063759b30341461045c578063795d26c3146104645761025e565b806342ccf1e4146103565780634a767d681461037c57806361ec893d146103a85780636b444952146103b05780636ef64338146103b85761025e565b80631bf43555116102265780631bf435551461032e5780631f68f20a1461033657806331c903b01461033e5780633a128595146103465780633cc742251461034e5761025e565b8063071a7541146102635780630d43e8ad1461027d57806313af4035146102a15780631673c79a146102c95780631a59a50e14610308575b600080fd5b61026b6105b3565b60408051918252519081900360200190f35b6102856105b8565b604080516001600160a01b039092168252519081900360200190f35b6102c7600480360360208110156102b757600080fd5b50356001600160a01b03166105c7565b005b6102ef600480360360208110156102df57600080fd5b50356001600160a01b031661063a565b6040805192835260208301919091528051918290030190f35b61026b6004803603602081101561031e57600080fd5b50356001600160a01b0316610653565b61026b61071b565b61026b610728565b61026b61072e565b610285610740565b61028561074f565b61026b6004803603602081101561036c57600080fd5b50356001600160a01b031661075e565b61026b6004803603604081101561039257600080fd5b506001600160a01b03813516906020013561078f565b61026b6107ba565b61026b6107bf565b6103de600480360360208110156103ce57600080fd5b50356001600160a01b03166107c5565b6040518086815260200185815260200184815260200183600481111561040057fe5b60ff1681526001600160801b03909216602083015250604080519182900301945092505050f35b6102856107ff565b61026b61080e565b61028561081a565b6102856004803603602081101561045557600080fd5b5035610829565b61026b610850565b61026b61085d565b61026b61095c565b610285610962565b610285610971565b61026b610980565b61026b610986565b610285610a42565b61026b610a6c565b61026b610a72565b610285610a78565b6104bc610a87565b6040805160208082528351818301528351919283929083019185019080838360005b838110156104f65781810151838201526020016104de565b50505050905090810190601f1680156105235780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b610285610aaf565b610285610abe565b610285610acd565b61026b610adc565b61026b610ae2565b61026b610ae8565b61026b610b0c565b61026b610b18565b610285610b1e565b61059f6004803603602081101561058f57600080fd5b50356001600160a01b0316610b2d565b604080519115158252519081900360200190f35b600281565b600c546001600160a01b031681565b6105cf610a42565b6001600160a01b0316336001600160a01b03161461062e576040805162461bcd60e51b815260206004820152601760248201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604482015290519081900360640190fd5b61063781610b8b565b50565b6016602052600090815260409020805460019091015482565b6001600160a01b0381166000908152601660205260408120546014548290610681908363ffffffff610c4016565b90508015806106ba575060016001600160a01b03851660009081526010602052604090206003015460ff1660048111156106b757fe5b14155b156106ca57600092505050610716565b6001600160a01b0384166000908152601060205260408120600201549061070f670de0b6b3a7640000610703848663ffffffff610c8916565b9063ffffffff610ce216565b9450505050505b919050565b6809c2007651b250000081565b600e5481565b600061073b600e54610d24565b905090565b600b546001600160a01b031681565b6001546001600160a01b031681565b6001600160a01b0381166000908152601660205260408120600101546015548290610681908363ffffffff610c4016565b600080600061079d85610dc1565b9150915060006107ae838387610e47565b93505050505b92915050565b603c81565b60195481565b60106020526000908152604090208054600182015460028301546003909301549192909160ff81169061010090046001600160801b031685565b6004546001600160a01b031681565b670de0b6b3a764000081565b6002546001600160a01b031681565b6017818154811061083657fe5b6000918252602090912001546001600160a01b0316905081565b6801158e460913d0000081565b60008054604080516272c7d360e71b8152905183926001600160a01b031691633963e980916004808301926020929190829003018186803b1580156108a157600080fd5b505afa1580156108b5573d6000803e3d6000fd5b505050506040513d60208110156108cb57600080fd5b5051600154604080516272c7d360e71b815290519293506000926001600160a01b0390921691633963e98091600480820192602092909190829003018186803b15801561091757600080fd5b505afa15801561092b573d6000803e3d6000fd5b505050506040513d602081101561094157600080fd5b50519050610955828263ffffffff610e7916565b9250505090565b60185481565b600a546001600160a01b031681565b6000546001600160a01b031681565b60125481565b6000805460408051630a7b61df60e11b8152905183926001600160a01b0316916314f6c3be916004808301926020929190829003018186803b1580156109cb57600080fd5b505afa1580156109df573d6000803e3d6000fd5b505050506040513d60208110156109f557600080fd5b505160015460408051630a7b61df60e11b815290519293506000926001600160a01b03909216916314f6c3be91600480820192602092909190829003018186803b15801561091757600080fd5b604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205490565b60135481565b60145481565b6003546001600160a01b031681565b6040518060400160405280600c81526020016b2a3937bb32a6b0b730b3b2b960a11b81525081565b6006546001600160a01b031681565b600d546001600160a01b031681565b6005546001600160a01b031681565b60155481565b60115481565b7f000000000000000000000000000000000000000000000000000000000000000081565b670ddd4b8c6c7d70d881565b600f5481565b6009546001600160a01b031681565b600060016001600160a01b03831660009081526010602052604090206003015460ff166004811115610b5b57fe5b14610b6857506000610716565b506014546001600160a01b03821660009081526016602052604090205410919050565b6001600160a01b038116610bd05760405162461bcd60e51b8152600401808060200182810382526022815260200180610fe66022913960400191505060405180910390fd5b806001600160a01b0316610be2610a42565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3604080517035b2bc9737bbb730b136329737bbb732b960791b8152905190819003601101902055565b6000610c8283836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610ed3565b9392505050565b600082610c98575060006107b4565b82820282848281610ca557fe5b0414610c825760405162461bcd60e51b81526004018080602001828103825260218152602001806110086021913960400191505060405180910390fd5b6000610c8283836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250610f6a565b60006107b4610db383600360009054906101000a90046001600160a01b03166001600160a01b03166328d28b5b6040518163ffffffff1660e01b815260040160206040518083038186803b158015610d7b57600080fd5b505afa158015610d8f573d6000803e3d6000fd5b505050506040513d6020811015610da557600080fd5b50519063ffffffff610e7916565b670de0b6b3a7640000610fcf565b6000806000610dcf84610653565b90506000610ddc8561075e565b6001600160a01b03861660009081526010602052604081206001015491925090610e0c908463ffffffff610e7916565b6001600160a01b03871660009081526010602052604081205491925090610e39908463ffffffff610e7916565b919550909350505050915091565b60008215610e6e576000610e6584610703878663ffffffff610c8916565b9150610c829050565b506000199392505050565b600082820183811015610c82576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b60008184841115610f625760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610f27578181015183820152602001610f0f565b50505050905090810190601f168015610f545780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b60008183610fb95760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610f27578181015183820152602001610f0f565b506000838581610fc557fe5b0495945050505050565b6000818310610fde5781610c82565b509091905056fe4f776e61626c653a3a7365744f776e65723a20696e76616c69642061646472657373536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77a26469706673582212207c22479726ced5ac608c998561442d9b4a2ac8cc8739f5bc67f5ca888cc4203964736f6c634300060b0033", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/packages/lib-ethers/live/TroveManagerRedeemOps.json b/packages/lib-ethers/live/TroveManagerRedeemOps.json new file mode 100644 index 000000000..a58efdf36 --- /dev/null +++ b/packages/lib-ethers/live/TroveManagerRedeemOps.json @@ -0,0 +1,1017 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "TroveManagerRedeemOps", + "sourceName": "contracts/Dependencies/TroveManagerRedeemOps.sol", + "abi": [ + { + "inputs": [ + { + "internalType": "uint256", + "name": "_bootstrapPeriod", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "_baseRate", + "type": "uint256" + } + ], + "name": "BaseRateUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "_L_ETH", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "_L_ZUSDDebt", + "type": "uint256" + } + ], + "name": "LTermsUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "_lastFeeOpTime", + "type": "uint256" + } + ], + "name": "LastFeeOpTimeUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "_liquidatedDebt", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "_liquidatedColl", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "_collGasCompensation", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "_ZUSDGasCompensation", + "type": "uint256" + } + ], + "name": "Liquidation", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousOwner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnershipTransferred", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "_attemptedZUSDAmount", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "_actualZUSDAmount", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "_ETHSent", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "_ETHFee", + "type": "uint256" + } + ], + "name": "Redemption", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "_totalStakesSnapshot", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "_totalCollateralSnapshot", + "type": "uint256" + } + ], + "name": "SystemSnapshotsUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "_newTotalStakes", + "type": "uint256" + } + ], + "name": "TotalStakesUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "_borrower", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "_newIndex", + "type": "uint256" + } + ], + "name": "TroveIndexUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "_borrower", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "_debt", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "_coll", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "enum TroveManagerBase.TroveManagerOperation", + "name": "_operation", + "type": "uint8" + } + ], + "name": "TroveLiquidated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "_L_ETH", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "_L_ZUSDDebt", + "type": "uint256" + } + ], + "name": "TroveSnapshotsUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "_borrower", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "_debt", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "_coll", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "_stake", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "enum TroveManagerBase.TroveManagerOperation", + "name": "_operation", + "type": "uint8" + } + ], + "name": "TroveUpdated", + "type": "event" + }, + { + "inputs": [], + "name": "BETA", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "BOOTSTRAP_PERIOD", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "DECIMAL_PRECISION", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "L_ETH", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "L_ZUSDDebt", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "MINUTE_DECAY_FACTOR", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "MIN_NET_DEBT", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "NAME", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "SECONDS_IN_ONE_MINUTE", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "name": "TroveOwners", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "Troves", + "outputs": [ + { + "internalType": "uint256", + "name": "debt", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "coll", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "stake", + "type": "uint256" + }, + { + "internalType": "enum TroveManagerStorage.Status", + "name": "status", + "type": "uint8" + }, + { + "internalType": "uint128", + "name": "arrayIndex", + "type": "uint128" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "ZUSD_GAS_COMPENSATION", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "_100pct", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_borrower", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_price", + "type": "uint256" + } + ], + "name": "_getCurrentICR", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_borrower", + "type": "address" + } + ], + "name": "_getPendingETHReward", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_borrower", + "type": "address" + } + ], + "name": "_getPendingZUSDDebtReward", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "_getRedemptionRate", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_borrower", + "type": "address" + } + ], + "name": "_hasPendingRewards", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "_stabilityPool", + "outputs": [ + { + "internalType": "contract IStabilityPool", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "_zeroStaking", + "outputs": [ + { + "internalType": "contract IZEROStaking", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "_zeroToken", + "outputs": [ + { + "internalType": "contract IZEROToken", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "_zusdToken", + "outputs": [ + { + "internalType": "contract IZUSDToken", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "activePool", + "outputs": [ + { + "internalType": "contract IActivePool", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "baseRate", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "borrowerOperationsAddress", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "defaultPool", + "outputs": [ + { + "internalType": "contract IDefaultPool", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "feeDistributor", + "outputs": [ + { + "internalType": "contract IFeeDistributor", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getEntireSystemColl", + "outputs": [ + { + "internalType": "uint256", + "name": "entireSystemColl", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getEntireSystemDebt", + "outputs": [ + { + "internalType": "uint256", + "name": "entireSystemDebt", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getOwner", + "outputs": [ + { + "internalType": "address", + "name": "_owner", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "lastETHError_Redistribution", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "lastFeeOperationTime", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "lastZUSDDebtError_Redistribution", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "liquityBaseParams", + "outputs": [ + { + "internalType": "contract ILiquityBaseParams", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "priceFeed", + "outputs": [ + { + "internalType": "contract IPriceFeed", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_ZUSDamount", + "type": "uint256" + }, + { + "internalType": "address", + "name": "_firstRedemptionHint", + "type": "address" + }, + { + "internalType": "address", + "name": "_upperPartialRedemptionHint", + "type": "address" + }, + { + "internalType": "address", + "name": "_lowerPartialRedemptionHint", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_partialRedemptionHintNICR", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_maxIterations", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_maxFeePercentage", + "type": "uint256" + } + ], + "name": "redeemCollateral", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_dllrAmount", + "type": "uint256" + }, + { + "internalType": "address", + "name": "_firstRedemptionHint", + "type": "address" + }, + { + "internalType": "address", + "name": "_upperPartialRedemptionHint", + "type": "address" + }, + { + "internalType": "address", + "name": "_lowerPartialRedemptionHint", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_partialRedemptionHintNICR", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_maxIterations", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_maxFeePercentage", + "type": "uint256" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "deadline", + "type": "uint256" + }, + { + "internalType": "uint8", + "name": "v", + "type": "uint8" + }, + { + "internalType": "bytes32", + "name": "r", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "s", + "type": "bytes32" + } + ], + "internalType": "struct IMassetManager.PermitParams", + "name": "_permitParams", + "type": "tuple" + } + ], + "name": "redeemCollateralViaDLLR", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "rewardSnapshots", + "outputs": [ + { + "internalType": "uint256", + "name": "ETH", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "ZUSDDebt", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_owner", + "type": "address" + } + ], + "name": "setOwner", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "sortedTroves", + "outputs": [ + { + "internalType": "contract ISortedTroves", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "totalCollateralSnapshot", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "totalStakes", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "totalStakesSnapshot", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "troveManagerRedeemOps", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + } + ], + "bytecode": "0x60a06040523480156200001157600080fd5b50604051620037ec380380620037ec833981016040819052620000349162000118565b8062000049336001600160e01b036200005316565b6080525062000190565b6001600160a01b038116620000855760405162461bcd60e51b81526004016200007c906200014e565b60405180910390fd5b6001600160a01b038116620000a26001600160e01b03620000f716565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000604051620000e79062000131565b6040519081900390209190915550565b600080604051620001089062000131565b6040519081900390205492915050565b6000602082840312156200012a578081fd5b5051919050565b7035b2bc9737bbb730b136329737bbb732b960791b815260110190565b60208082526022908201527f4f776e61626c653a3a7365744f776e65723a20696e76616c6964206164647265604082015261737360f01b606082015260800190565b60805161363c620001b060003980610aa952806119d6525061363c6000f3fe608060405234801561001057600080fd5b50600436106102745760003560e01c8063797250e311610151578063ae7bec19116100c3578063bf9befb111610087578063bf9befb114610455578063c35bc5501461045d578063c7b5548114610465578063d380a37c1461046d578063d815e8e914610475578063e056e9181461047d57610274565b8063ae7bec1914610422578063ae9187541461042a578063b7f8cf9b14610432578063bcd375261461043a578063be4b03341461044d57610274565b8063893d20e811610115578063893d20e8146103ed57806396d711ff146103f55780639dd233d2146103fd5780639f07067014610405578063a20baee614610392578063a3f4df7e1461040d57610274565b8063797250e3146103c55780637cf54e40146103cd5780637f7dde4a146103d5578063807d138d146103dd578063887105d3146103e557610274565b806342ccf1e4116101ea578063716c47e6116101ae578063716c47e61461038a57806372fe25aa14610392578063741bef1a1461039a578063756b253e146103a2578063759b3034146103b5578063795d26c3146103bd57610274565b806342ccf1e4146103305780634a767d681461034357806361ec893d146103565780636b4449521461035e5780636ef643381461036657610274565b80631a59a50e1161023c5780631a59a50e146102f55780631bf43555146103085780631f68f20a1461031057806331c903b0146103185780633a128595146103205780633cc742251461032857610274565b806305b6f5ca14610279578063071a75411461028e5780630d43e8ad146102ac57806313af4035146102c15780631673c79a146102d4575b600080fd5b61028c610287366004612ec7565b61049d565b005b610296610558565b6040516102a39190613554565b60405180910390f35b6102b461055d565b6040516102a39190612f8f565b61028c6102cf366004612da7565b61056c565b6102e76102e2366004612da7565b6105b9565b6040516102a392919061355d565b610296610303366004612da7565b6105d2565b61029661069a565b6102966106a7565b6102966106ad565b6102b46106bf565b6102b46106ce565b61029661033e366004612da7565b6106dd565b610296610351366004612ddf565b61070e565b610296610739565b61029661073e565b610379610374366004612da7565b610744565b6040516102a395949392919061356b565b6102b461077e565b61029661078d565b6102b4610799565b6102b46103b0366004612e2a565b6107a8565b6102966107cf565b6102966107dc565b6102966108fb565b6102b4610901565b6102b4610910565b61029661091f565b610296610925565b6102b46109f4565b610296610a13565b610296610a19565b6102b4610a1f565b610415610a2e565b6040516102a391906130a4565b6102b4610a56565b6102b4610a65565b6102b4610a74565b61028c610448366004612e5a565b610a83565b610296610a9b565b610296610aa1565b610296610aa7565b610296610acb565b610296610ad7565b6102b4610add565b61049061048b366004612da7565b610aec565b6040516102a3919061306d565b600061053c600560009054906101000a90046001600160a01b03166001600160a01b031663e9fc34616040518163ffffffff1660e01b815260040160206040518083038186803b1580156104f057600080fd5b505afa158015610504573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105289190612dc3565b6009548b906001600160a01b031685610b4a565b905061054d81898989898989610dfb565b505050505050505050565b600281565b600c546001600160a01b031681565b6105746109f4565b6001600160a01b0316336001600160a01b0316146105ad5760405162461bcd60e51b81526004016105a49061335f565b60405180910390fd5b6105b6816115c2565b50565b6016602052600090815260409020805460019091015482565b6001600160a01b0381166000908152601660205260408120546014548290610600908363ffffffff61164d16565b9050801580610639575060016001600160a01b03851660009081526010602052604090206003015460ff16600481111561063657fe5b14155b1561064957600092505050610695565b6001600160a01b0384166000908152601060205260408120600201549061068e670de0b6b3a7640000610682848663ffffffff61169616565b9063ffffffff6116d016565b9450505050505b919050565b6809c2007651b250000081565b600e5481565b60006106ba600e54611712565b905090565b600b546001600160a01b031681565b6001546001600160a01b031681565b6001600160a01b0381166000908152601660205260408120600101546015548290610600908363ffffffff61164d16565b600080600061071c856117bb565b91509150600061072d838387611841565b93505050505b92915050565b603c81565b60195481565b60106020526000908152604090208054600182015460028301546003909301549192909160ff81169061010090046001600160801b031685565b6004546001600160a01b031681565b670de0b6b3a764000081565b6002546001600160a01b031681565b601781815481106107b557fe5b6000918252602090912001546001600160a01b0316905081565b6801158e460913d0000081565b60008054604080516272c7d360e71b8152905183926001600160a01b031691633963e980916004808301926020929190829003018186803b15801561082057600080fd5b505afa158015610834573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108589190612e42565b90506000600160009054906101000a90046001600160a01b03166001600160a01b0316633963e9806040518163ffffffff1660e01b815260040160206040518083038186803b1580156108aa57600080fd5b505afa1580156108be573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108e29190612e42565b90506108f4828263ffffffff61187316565b9250505090565b60185481565b600a546001600160a01b031681565b6000546001600160a01b031681565b60125481565b6000805460408051630a7b61df60e11b8152905183926001600160a01b0316916314f6c3be916004808301926020929190829003018186803b15801561096a57600080fd5b505afa15801561097e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109a29190612e42565b90506000600160009054906101000a90046001600160a01b03166001600160a01b03166314f6c3be6040518163ffffffff1660e01b815260040160206040518083038186803b1580156108aa57600080fd5b600080604051610a0390612f72565b6040519081900390205492915050565b60135481565b60145481565b6003546001600160a01b031681565b6040518060400160405280600c81526020016b2a3937bb32a6b0b730b3b2b960a11b81525081565b6006546001600160a01b031681565b600d546001600160a01b031681565b6005546001600160a01b031681565b610a9287878787878787610dfb565b50505050505050565b60155481565b60115481565b7f000000000000000000000000000000000000000000000000000000000000000081565b670ddd4b8c6c7d70d881565b600f5481565b6009546001600160a01b031681565b600060016001600160a01b03831660009081526010602052604090206003015460ff166004811115610b1a57fe5b14610b2757506000610695565b506014546001600160a01b03821660009081526016602052604090205410919050565b600080856001600160a01b03166321df0da76040518163ffffffff1660e01b815260040160206040518083038186803b158015610b8657600080fd5b505afa158015610b9a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bbe9190612dc3565b90506000816001600160a01b03166370a08231306040518263ffffffff1660e01b8152600401610bee9190612f8f565b60206040518083038186803b158015610c0657600080fd5b505afa158015610c1a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c3e9190612e42565b9050306001600160a01b03831663605629d633838a8935610c6560408c0160208d01612f51565b8b604001358c606001356040518863ffffffff1660e01b8152600401610c919796959493929190612fa3565b600060405180830381600087803b158015610cab57600080fd5b505af1158015610cbf573d6000803e3d6000fd5b5050505086610d5083856001600160a01b03166370a08231856040518263ffffffff1660e01b8152600401610cf49190612f8f565b60206040518083038186803b158015610d0c57600080fd5b505afa158015610d20573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d449190612e42565b9063ffffffff61164d16565b14610d6d5760405162461bcd60e51b81526004016105a49061316b565b60405163fb2c922360e01b81526001600160a01b0389169063fb2c922390610d9d9089908b90339060040161301f565b602060405180830381600087803b158015610db757600080fd5b505af1158015610dcb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610def9190612e42565b98975050505050505050565b610e03612d03565b506040805160e0810182526000546001600160a01b03908116825260015481166020830152600954811692820192909252600b5482166060820152600d5482166080820152600854821660a082015260075490911660c0820152610e65612d3f565b610e6e83611898565b610e76611951565b600260009054906101000a90046001600160a01b03166001600160a01b0316630fdb11cf6040518163ffffffff1660e01b8152600401602060405180830381600087803b158015610ec657600080fd5b505af1158015610eda573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610efe9190612e42565b60c08201819052610f0e90611a1f565b610f1789611acc565b610f268260400151338b611aec565b610f2e6107dc565b60e0820181905260408084015190516370a0823160e01b81526001600160a01b03909116906370a0823190610f67903390600401612f8f565b60206040518083038186803b158015610f7f57600080fd5b505afa158015610f93573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fb79190612e42565b1115610fbf57fe5b888152608082015160c0820151600091610fda918b90611b8d565b15610fe6575087611193565b82608001516001600160a01b0316634d6228316040518163ffffffff1660e01b815260040160206040518083038186803b15801561102357600080fd5b505afa158015611037573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061105b9190612dc3565b90505b6001600160a01b038116158015906111075750600360009054906101000a90046001600160a01b03166001600160a01b031663794e57246040518163ffffffff1660e01b815260040160206040518083038186803b1580156110bf57600080fd5b505afa1580156110d3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110f79190612e42565b611105828460c0015161070e565b105b156111935782608001516001600160a01b031663b72703ac826040518263ffffffff1660e01b815260040161113c9190612f8f565b60206040518083038186803b15801561115457600080fd5b505afa158015611168573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061118c9190612dc3565b905061105e565b8461119e5760001994505b6001600160a01b038116158015906111b65750815115155b80156111c25750600085115b156112f0576080830151604051632dc9c0eb60e21b8152600019909601956000916001600160a01b03169063b72703ac90611201908590600401612f8f565b60206040518083038186803b15801561121957600080fd5b505afa15801561122d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112519190612dc3565b90506112668460000151856020015184611df0565b61126e612d84565b611285858486600001518760c001518e8e8e611f01565b90508060400151156112985750506112f0565b805160208501516112ae9163ffffffff61187316565b60208086019190915281015160408501516112ce9163ffffffff61187316565b6040850152805184516112e69163ffffffff61164d16565b845250905061119e565b60008260400151116113145760405162461bcd60e51b81526004016105a4906131b4565b61132b82604001518360c001518460e00151612175565b50611339826040015161222c565b60608301819052604083015161135091908661223f565b8251600c5460608401516040516364a197f360e01b81526001600160a01b03938416936364a197f39361138893911691600401612fe4565b600060405180830381600087803b1580156113a257600080fd5b505af11580156113b6573d6000803e3d6000fd5b50505050600c60009054906101000a90046001600160a01b03166001600160a01b031663bb57ad206040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561140a57600080fd5b505af115801561141e573d6000803e3d6000fd5b50505050606082015160408301516114359161164d565b60808301526020820151604080840151606085015191517f43a3f4082a4dbc33d78e317d2497d3a730bc7fc3574159dcea1056e62e5d9ad89361147b938f9391926135ab565b60405180910390a182604001516001600160a01b0316639dc29fac3384602001516040518363ffffffff1660e01b81526004016114b9929190612fe4565b600060405180830381600087803b1580156114d357600080fd5b505af11580156114e7573d6000803e3d6000fd5b50508451602085015160405163121cbc4d60e11b81526001600160a01b039092169350632439789a925061151d91600401613554565b600060405180830381600087803b15801561153757600080fd5b505af115801561154b573d6000803e3d6000fd5b5050845160808501516040516364a197f360e01b81526001600160a01b0390921693506364a197f3925061158491339190600401612fe4565b600060405180830381600087803b15801561159e57600080fd5b505af11580156115b2573d6000803e3d6000fd5b5050505050505050505050505050565b6001600160a01b0381166115e85760405162461bcd60e51b81526004016105a490613234565b806001600160a01b03166115fa6109f4565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3600060405161163d90612f72565b6040519081900390209190915550565b600061168f83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250612285565b9392505050565b6000826116a557506000610733565b828202828482816116b257fe5b041461168f5760405162461bcd60e51b81526004016105a49061331e565b600061168f83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506122b1565b60006107336117ad83600360009054906101000a90046001600160a01b03166001600160a01b03166328d28b5b6040518163ffffffff1660e01b815260040160206040518083038186803b15801561176957600080fd5b505afa15801561177d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117a19190612e42565b9063ffffffff61187316565b670de0b6b3a76400006122e8565b60008060006117c9846105d2565b905060006117d6856106dd565b6001600160a01b03861660009081526010602052604081206001015491925090611806908463ffffffff61187316565b6001600160a01b03871660009081526010602052604081205491925090611833908463ffffffff61187316565b919550909350505050915091565b6000821561186857600061185f84610682878663ffffffff61169616565b915061168f9050565b506000199392505050565b60008282018381101561168f5760405162461bcd60e51b81526004016105a4906131fd565b600360009054906101000a90046001600160a01b03166001600160a01b03166328d28b5b6040518163ffffffff1660e01b815260040160206040518083038186803b1580156118e657600080fd5b505afa1580156118fa573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061191e9190612e42565b81101580156119355750670de0b6b3a76400008111155b6105b65760405162461bcd60e51b81526004016105a490613434565b600a5460408051631e425be160e11b815290516000926001600160a01b031691633c84b7c2916004808301926020929190829003018186803b15801561199657600080fd5b505afa1580156119aa573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119ce9190612e42565b9050611a00817f000000000000000000000000000000000000000000000000000000000000000063ffffffff61187316565b4210156105b65760405162461bcd60e51b81526004016105a4906132c0565b600360009054906101000a90046001600160a01b03166001600160a01b031663794e57246040518163ffffffff1660e01b815260040160206040518083038186803b158015611a6d57600080fd5b505afa158015611a81573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611aa59190612e42565b611aae826122fe565b10156105b65760405162461bcd60e51b81526004016105a490613484565b600081116105b65760405162461bcd60e51b81526004016105a490613390565b6040516370a0823160e01b815281906001600160a01b038516906370a0823190611b1a908690600401612f8f565b60206040518083038186803b158015611b3257600080fd5b505afa158015611b46573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b6a9190612e42565b1015611b885760405162461bcd60e51b81526004016105a4906130f7565b505050565b60006001600160a01b0383161580611c1e5750604051630bb7c8fd60e31b81526001600160a01b03851690635dbe47e890611bcc908690600401612f8f565b60206040518083038186803b158015611be457600080fd5b505afa158015611bf8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c1c9190612e0a565b155b80611cb65750600360009054906101000a90046001600160a01b03166001600160a01b031663794e57246040518163ffffffff1660e01b815260040160206040518083038186803b158015611c7257600080fd5b505afa158015611c86573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611caa9190612e42565b611cb4848461070e565b105b15611cc35750600061168f565b60405163765e015960e01b81526000906001600160a01b0386169063765e015990611cf2908790600401612f8f565b60206040518083038186803b158015611d0a57600080fd5b505afa158015611d1e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d429190612dc3565b90506001600160a01b0381161580611de75750600360009054906101000a90046001600160a01b03166001600160a01b031663794e57246040518163ffffffff1660e01b815260040160206040518083038186803b158015611da357600080fd5b505afa158015611db7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ddb9190612e42565b611de5828561070e565b105b95945050505050565b611df981610aec565b15611b8857611e078161232a565b6000611e12826105d2565b90506000611e1f836106dd565b6001600160a01b038416600090815260106020526040902060010154909150611e4e908363ffffffff61187316565b6001600160a01b0384166000908152601060205260409020600181019190915554611e7f908263ffffffff61187316565b6001600160a01b038416600090815260106020526040902055611ea183612373565b611ead858583856123db565b6001600160a01b0383166000818152601060205260408082208054600182015460029092015492516000805160206135e783398151915294611ef29492939291613078565b60405180910390a25050505050565b611f09612d84565b6001600160a01b038716600090815260106020526040902054611f46908790611f41906801158e460913d0000063ffffffff61164d16565b6122e8565b808252611f6790869061068290670de0b6b3a764000063ffffffff61169616565b60208083019190915281516001600160a01b038916600090815260109092526040822054611f9a9163ffffffff61164d16565b6020808401516001600160a01b038b166000908152601090925260408220600101549293509091611fd09163ffffffff61164d16565b90506801158e460913d0000082141561204957611fec896124fb565b611ff789600461254b565b61200c8a8a6801158e460913d0000084612657565b886001600160a01b03166000805160206135e78339815191526000806000600360405161203c9493929190613078565b60405180910390a2612167565b600061205582846127ba565b9050848114158061207657506809c2007651b2500000612074846127ef565b105b1561208a575050600160408301525061216a565b8a608001516001600160a01b0316632be212608b838a8a6040518563ffffffff1660e01b81526004016120c09493929190613042565b600060405180830381600087803b1580156120da57600080fd5b505af11580156120ee573d6000803e3d6000fd5b5050506001600160a01b038b1660009081526010602052604090208481556001018390555061211c8a61280a565b506001600160a01b038a16600081815260106020526040908190206002015490516000805160206135e78339815191529161215d9187918791600390613078565b60405180910390a2505b50505b979650505050505050565b6000806121806128b1565b9050600061219884610682888863ffffffff61169616565b905060006121bd6121b083600263ffffffff6116d016565b849063ffffffff61187316565b90506121d181670de0b6b3a76400006122e8565b9050600081116121dd57fe5b600e8190556040517fc454ee9b76c52f782a256af821b857ca6e125d1e3333bcede402fec2bed9600c90612212908390613554565b60405180910390a16122226128f5565b9695505050505050565b60006107336122396106ad565b8361294a565b600061225d8361068286670de0b6b3a764000063ffffffff61169616565b90508181111561227f5760405162461bcd60e51b81526004016105a4906134ce565b50505050565b600081848411156122a95760405162461bcd60e51b81526004016105a491906130a4565b505050900390565b600081836122d25760405162461bcd60e51b81526004016105a491906130a4565b5060008385816122de57fe5b0495945050505050565b60008183106122f7578161168f565b5090919050565b600080612309610925565b905060006123156107dc565b9050612322828286611841565b949350505050565b60016001600160a01b03821660009081526010602052604090206003015460ff16600481111561235657fe5b146105b65760405162461bcd60e51b81526004016105a490613505565b601480546001600160a01b038316600090815260166020526040908190209182556015546001909201829055915491517fc437f324d85e369394148dd9d62f98f534b382e01ed3dd2eb98138fb6d3ab49a926123d092909161355d565b60405180910390a150565b60405163121cbc4d60e11b81526001600160a01b03841690632439789a90612407908590600401613554565b600060405180830381600087803b15801561242157600080fd5b505af1158015612435573d6000803e3d6000fd5b505060405163f2e91d7160e01b81526001600160a01b038716925063f2e91d719150612465908590600401613554565b600060405180830381600087803b15801561247f57600080fd5b505af1158015612493573d6000803e3d6000fd5b505060405163be41205f60e01b81526001600160a01b038616925063be41205f91506124c3908490600401613554565b600060405180830381600087803b1580156124dd57600080fd5b505af11580156124f1573d6000803e3d6000fd5b5050505050505050565b6001600160a01b03811660009081526010602052604090206002015460115461252a908263ffffffff61164d16565b601155506001600160a01b0316600090815260106020526040812060020155565b600081600481111561255957fe5b141580156125735750600181600481111561257057fe5b14155b61257957fe5b6017546125858161298a565b6001600160a01b0383166000908152601060205260409020600301805483919060ff191660018360048111156125b757fe5b02179055506001600160a01b03831660009081526010602090815260408083206001808201859055908490556016909252822082815501556125f98382612a30565b600d54604051631484968760e11b81526001600160a01b03909116906329092d0e90612629908690600401612f8f565b600060405180830381600087803b15801561264357600080fd5b505af1158015610a92573d6000803e3d6000fd5b6040808501516007549151632770a7eb60e21b81526001600160a01b0391821692639dc29fac9261268f929116908690600401612fe4565b600060405180830381600087803b1580156126a957600080fd5b505af11580156126bd573d6000803e3d6000fd5b5050855160405163121cbc4d60e11b81526001600160a01b039091169250632439789a91506126f0908590600401613554565b600060405180830381600087803b15801561270a57600080fd5b505af115801561271e573d6000803e3d6000fd5b505050508360a001516001600160a01b0316633f10abab84836040518363ffffffff1660e01b8152600401612754929190612fe4565b600060405180830381600087803b15801561276e57600080fd5b505af1158015612782573d6000803e3d6000fd5b5050855160a08701516040516364a197f360e01b81526001600160a01b0390921693506364a197f392506124c3918590600401612fe4565b600081156127e6576127df826106828568056bc75e2d6310000063ffffffff61169616565b9050610733565b50600019610733565b6000610733826801158e460913d0000063ffffffff61164d16565b6001600160a01b038116600090815260106020526040812060010154819061283190612bd1565b6001600160a01b03841660009081526010602052604090206002018054908290556011549192509061286f9083906117a1908463ffffffff61164d16565b60118190556040517f6bac5e0eb3c44eb03a60ab11ec3a2c051771616aecadbcfff2630aabae520382916128a291613554565b60405180910390a15092915050565b6000806128bc612c0d565b905060006128d2670ddd4b8c6c7d70d883612c29565b90506108f4670de0b6b3a764000061068283600e5461169690919063ffffffff16565b600061290c600f544261164d90919063ffffffff16565b9050603c81106105b65742600f8190556040517f860f8d2f0c74dd487e89e2883e3b25b8159ce1e1b3433a291cba7b82c508f3bc916123d091613554565b600080612969670de0b6b3a7640000610682868663ffffffff61169616565b905082811061168f5760405162461bcd60e51b81526004016105a4906133de565b600181118015612a145750600d546040805163de8fa43160e01b815290516001926001600160a01b03169163de8fa431916004808301926020929190829003018186803b1580156129da57600080fd5b505afa1580156129ee573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612a129190612e42565b115b6105b65760405162461bcd60e51b81526004016105a490613276565b6001600160a01b03821660009081526010602052604081206003015460ff1690816004811115612a5c57fe5b14158015612a7657506001816004811115612a7357fe5b14155b612a7c57fe5b6001600160a01b03831660009081526010602052604081206003015461010090046001600160801b0316908390612ab482600161164d565b905080836001600160801b03161115612ac957fe5b600060178281548110612ad857fe5b600091825260209091200154601780546001600160a01b03909216925082916001600160801b038716908110612b0a57fe5b600091825260208083209190910180546001600160a01b0319166001600160a01b03948516179055918316815260109091526040908190206003018054610100600160881b0319166101006001600160801b03881602179055517f02b04ae5f7be9ca7c103293a2aa15f3c339d15d6eda53b721fef7b0e609c831a90612b939083908790612ffd565b60405180910390a16017805480612ba657fe5b600082815260209020810160001990810180546001600160a01b031916905501905550505050505050565b60008060135460001415612be6575081610733565b600060125411612bf257fe5b61168f6013546106826012548661169690919063ffffffff16565b60006106ba603c610682600f544261164d90919063ffffffff16565b6000631f540500821115612c3f57631f54050091505b81612c535750670de0b6b3a7640000610733565b670de0b6b3a764000083835b6001811115612cca5760028106612c9457612c7a8283612cd0565b9150612c8d81600263ffffffff6116d016565b9050612cc5565b612c9e8284612cd0565b9250612caa8283612cd0565b9150612cc2600261068283600163ffffffff61164d16565b90505b612c5f565b61072d82845b600080612ce3848463ffffffff61169616565b9050612322670de0b6b3a7640000610682836706f05b59d3b20000611873565b6040805160e081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c081019190915290565b60405180610100016040528060008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081525090565b604051806060016040528060008152602001600081526020016000151581525090565b600060208284031215612db8578081fd5b813561168f816135d1565b600060208284031215612dd4578081fd5b815161168f816135d1565b60008060408385031215612df1578081fd5b8235612dfc816135d1565b946020939093013593505050565b600060208284031215612e1b578081fd5b8151801515811461168f578182fd5b600060208284031215612e3b578081fd5b5035919050565b600060208284031215612e53578081fd5b5051919050565b600080600080600080600060e0888a031215612e74578283fd5b873596506020880135612e86816135d1565b95506040880135612e96816135d1565b94506060880135612ea6816135d1565b9699959850939660808101359560a0820135955060c0909101359350915050565b600080600080600080600080888a03610160811215612ee4578182fd5b8935985060208a0135612ef6816135d1565b975060408a0135612f06816135d1565b965060608a0135612f16816135d1565b955060808a810135955060a08b0135945060c08b0135935060df1982011215612f3d578182fd5b5060e0890190509295985092959890939650565b600060208284031215612f62578081fd5b813560ff8116811461168f578182fd5b7035b2bc9737bbb730b136329737bbb732b960791b815260110190565b6001600160a01b0391909116815260200190565b6001600160a01b0397881681529590961660208601526040850193909352606084019190915260ff16608083015260a082015260c081019190915260e00190565b6001600160a01b03929092168252602082015260400190565b6001600160a01b039290921682526001600160801b0316602082015260400190565b6001600160a01b0393841681526020810192909252909116604082015260600190565b6001600160a01b03948516815260208101939093529083166040830152909116606082015260800190565b901515815260200190565b848152602081018490526040810183905260808101613096836135c6565b606083015295945050505050565b6000602080835283518082850152825b818110156130d0578581018301518582016040015282016130b4565b818111156130e15783604083870101525b50601f01601f1916929092016040019392505050565b6020808252604e908201527f54726f76654d616e616765723a2052657175657374656420726564656d70746960408201527f6f6e20616d6f756e74206d757374206265203c3d20757365722773205a55534460608201526d20746f6b656e2062616c616e636560901b608082015260a00190565b60208082526029908201527f444c4c52207472616e7366657272656420616d6f756e742076616c69646174696040820152681bdb8819985a5b195960ba1b606082015260800190565b60208082526029908201527f54726f76654d616e616765723a20556e61626c6520746f2072656465656d20616040820152681b9e48185b5bdd5b9d60ba1b606082015260800190565b6020808252601b908201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604082015260600190565b60208082526022908201527f4f776e61626c653a3a7365744f776e65723a20696e76616c6964206164647265604082015261737360f01b606082015260800190565b6020808252602a908201527f54726f76654d616e616765723a204f6e6c79206f6e652074726f766520696e206040820152697468652073797374656d60b01b606082015260800190565b602080825260409082018190527f54726f76654d616e616765723a20526564656d7074696f6e7320617265206e6f908201527f7420616c6c6f77656420647572696e6720626f6f747374726170207068617365606082015260800190565b60208082526021908201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6040820152607760f81b606082015260800190565b60208082526017908201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604082015260600190565b6020808252602e908201527f54726f76654d616e616765723a20416d6f756e74206d7573742062652067726560408201526d61746572207468616e207a65726f60901b606082015260800190565b60208082526036908201527f54726f76654d616e616765723a2046656520776f756c642065617420757020616040820152751b1b081c995d1d5c9b99590818dbdb1b185d195c985b60521b606082015260800190565b60208082526030908201527f4d6178206665652070657263656e74616765206d75737420626520626574776560408201526f656e20302e352520616e64203130302560801b606082015260800190565b6020808252602a908201527f54726f76654d616e616765723a2043616e6e6f742072656465656d207768656e604082015269102a21a9101e1026a1a960b11b606082015260800190565b6020808252601d908201527f4665652065786365656465642070726f7669646564206d6178696d756d000000604082015260600190565b6020808252602f908201527f54726f76654d616e616765723a2054726f766520646f6573206e6f742065786960408201526e1cdd081bdc881a5cc818db1bdcd959608a1b606082015260800190565b90815260200190565b918252602082015260400190565b858152602081018590526040810184905260a081016005841061358a57fe5b60608201939093526001600160801b03919091166080909101529392505050565b93845260208401929092526040830152606082015260800190565b806004811061069557fe5b6001600160a01b03811681146105b657600080fdfec3770d654ed33aeea6bf11ac8ef05d02a6a04ed4686dd2f624d853bbec43cc8ba2646970667358221220a9962a8c24fca3c3e4803945eb02feb9953c759cd9a777c8c4175709a8d4dc7b64736f6c634300060b0033", + "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106102745760003560e01c8063797250e311610151578063ae7bec19116100c3578063bf9befb111610087578063bf9befb114610455578063c35bc5501461045d578063c7b5548114610465578063d380a37c1461046d578063d815e8e914610475578063e056e9181461047d57610274565b8063ae7bec1914610422578063ae9187541461042a578063b7f8cf9b14610432578063bcd375261461043a578063be4b03341461044d57610274565b8063893d20e811610115578063893d20e8146103ed57806396d711ff146103f55780639dd233d2146103fd5780639f07067014610405578063a20baee614610392578063a3f4df7e1461040d57610274565b8063797250e3146103c55780637cf54e40146103cd5780637f7dde4a146103d5578063807d138d146103dd578063887105d3146103e557610274565b806342ccf1e4116101ea578063716c47e6116101ae578063716c47e61461038a57806372fe25aa14610392578063741bef1a1461039a578063756b253e146103a2578063759b3034146103b5578063795d26c3146103bd57610274565b806342ccf1e4146103305780634a767d681461034357806361ec893d146103565780636b4449521461035e5780636ef643381461036657610274565b80631a59a50e1161023c5780631a59a50e146102f55780631bf43555146103085780631f68f20a1461031057806331c903b0146103185780633a128595146103205780633cc742251461032857610274565b806305b6f5ca14610279578063071a75411461028e5780630d43e8ad146102ac57806313af4035146102c15780631673c79a146102d4575b600080fd5b61028c610287366004612ec7565b61049d565b005b610296610558565b6040516102a39190613554565b60405180910390f35b6102b461055d565b6040516102a39190612f8f565b61028c6102cf366004612da7565b61056c565b6102e76102e2366004612da7565b6105b9565b6040516102a392919061355d565b610296610303366004612da7565b6105d2565b61029661069a565b6102966106a7565b6102966106ad565b6102b46106bf565b6102b46106ce565b61029661033e366004612da7565b6106dd565b610296610351366004612ddf565b61070e565b610296610739565b61029661073e565b610379610374366004612da7565b610744565b6040516102a395949392919061356b565b6102b461077e565b61029661078d565b6102b4610799565b6102b46103b0366004612e2a565b6107a8565b6102966107cf565b6102966107dc565b6102966108fb565b6102b4610901565b6102b4610910565b61029661091f565b610296610925565b6102b46109f4565b610296610a13565b610296610a19565b6102b4610a1f565b610415610a2e565b6040516102a391906130a4565b6102b4610a56565b6102b4610a65565b6102b4610a74565b61028c610448366004612e5a565b610a83565b610296610a9b565b610296610aa1565b610296610aa7565b610296610acb565b610296610ad7565b6102b4610add565b61049061048b366004612da7565b610aec565b6040516102a3919061306d565b600061053c600560009054906101000a90046001600160a01b03166001600160a01b031663e9fc34616040518163ffffffff1660e01b815260040160206040518083038186803b1580156104f057600080fd5b505afa158015610504573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105289190612dc3565b6009548b906001600160a01b031685610b4a565b905061054d81898989898989610dfb565b505050505050505050565b600281565b600c546001600160a01b031681565b6105746109f4565b6001600160a01b0316336001600160a01b0316146105ad5760405162461bcd60e51b81526004016105a49061335f565b60405180910390fd5b6105b6816115c2565b50565b6016602052600090815260409020805460019091015482565b6001600160a01b0381166000908152601660205260408120546014548290610600908363ffffffff61164d16565b9050801580610639575060016001600160a01b03851660009081526010602052604090206003015460ff16600481111561063657fe5b14155b1561064957600092505050610695565b6001600160a01b0384166000908152601060205260408120600201549061068e670de0b6b3a7640000610682848663ffffffff61169616565b9063ffffffff6116d016565b9450505050505b919050565b6809c2007651b250000081565b600e5481565b60006106ba600e54611712565b905090565b600b546001600160a01b031681565b6001546001600160a01b031681565b6001600160a01b0381166000908152601660205260408120600101546015548290610600908363ffffffff61164d16565b600080600061071c856117bb565b91509150600061072d838387611841565b93505050505b92915050565b603c81565b60195481565b60106020526000908152604090208054600182015460028301546003909301549192909160ff81169061010090046001600160801b031685565b6004546001600160a01b031681565b670de0b6b3a764000081565b6002546001600160a01b031681565b601781815481106107b557fe5b6000918252602090912001546001600160a01b0316905081565b6801158e460913d0000081565b60008054604080516272c7d360e71b8152905183926001600160a01b031691633963e980916004808301926020929190829003018186803b15801561082057600080fd5b505afa158015610834573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108589190612e42565b90506000600160009054906101000a90046001600160a01b03166001600160a01b0316633963e9806040518163ffffffff1660e01b815260040160206040518083038186803b1580156108aa57600080fd5b505afa1580156108be573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108e29190612e42565b90506108f4828263ffffffff61187316565b9250505090565b60185481565b600a546001600160a01b031681565b6000546001600160a01b031681565b60125481565b6000805460408051630a7b61df60e11b8152905183926001600160a01b0316916314f6c3be916004808301926020929190829003018186803b15801561096a57600080fd5b505afa15801561097e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109a29190612e42565b90506000600160009054906101000a90046001600160a01b03166001600160a01b03166314f6c3be6040518163ffffffff1660e01b815260040160206040518083038186803b1580156108aa57600080fd5b600080604051610a0390612f72565b6040519081900390205492915050565b60135481565b60145481565b6003546001600160a01b031681565b6040518060400160405280600c81526020016b2a3937bb32a6b0b730b3b2b960a11b81525081565b6006546001600160a01b031681565b600d546001600160a01b031681565b6005546001600160a01b031681565b610a9287878787878787610dfb565b50505050505050565b60155481565b60115481565b7f000000000000000000000000000000000000000000000000000000000000000081565b670ddd4b8c6c7d70d881565b600f5481565b6009546001600160a01b031681565b600060016001600160a01b03831660009081526010602052604090206003015460ff166004811115610b1a57fe5b14610b2757506000610695565b506014546001600160a01b03821660009081526016602052604090205410919050565b600080856001600160a01b03166321df0da76040518163ffffffff1660e01b815260040160206040518083038186803b158015610b8657600080fd5b505afa158015610b9a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bbe9190612dc3565b90506000816001600160a01b03166370a08231306040518263ffffffff1660e01b8152600401610bee9190612f8f565b60206040518083038186803b158015610c0657600080fd5b505afa158015610c1a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c3e9190612e42565b9050306001600160a01b03831663605629d633838a8935610c6560408c0160208d01612f51565b8b604001358c606001356040518863ffffffff1660e01b8152600401610c919796959493929190612fa3565b600060405180830381600087803b158015610cab57600080fd5b505af1158015610cbf573d6000803e3d6000fd5b5050505086610d5083856001600160a01b03166370a08231856040518263ffffffff1660e01b8152600401610cf49190612f8f565b60206040518083038186803b158015610d0c57600080fd5b505afa158015610d20573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d449190612e42565b9063ffffffff61164d16565b14610d6d5760405162461bcd60e51b81526004016105a49061316b565b60405163fb2c922360e01b81526001600160a01b0389169063fb2c922390610d9d9089908b90339060040161301f565b602060405180830381600087803b158015610db757600080fd5b505af1158015610dcb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610def9190612e42565b98975050505050505050565b610e03612d03565b506040805160e0810182526000546001600160a01b03908116825260015481166020830152600954811692820192909252600b5482166060820152600d5482166080820152600854821660a082015260075490911660c0820152610e65612d3f565b610e6e83611898565b610e76611951565b600260009054906101000a90046001600160a01b03166001600160a01b0316630fdb11cf6040518163ffffffff1660e01b8152600401602060405180830381600087803b158015610ec657600080fd5b505af1158015610eda573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610efe9190612e42565b60c08201819052610f0e90611a1f565b610f1789611acc565b610f268260400151338b611aec565b610f2e6107dc565b60e0820181905260408084015190516370a0823160e01b81526001600160a01b03909116906370a0823190610f67903390600401612f8f565b60206040518083038186803b158015610f7f57600080fd5b505afa158015610f93573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fb79190612e42565b1115610fbf57fe5b888152608082015160c0820151600091610fda918b90611b8d565b15610fe6575087611193565b82608001516001600160a01b0316634d6228316040518163ffffffff1660e01b815260040160206040518083038186803b15801561102357600080fd5b505afa158015611037573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061105b9190612dc3565b90505b6001600160a01b038116158015906111075750600360009054906101000a90046001600160a01b03166001600160a01b031663794e57246040518163ffffffff1660e01b815260040160206040518083038186803b1580156110bf57600080fd5b505afa1580156110d3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110f79190612e42565b611105828460c0015161070e565b105b156111935782608001516001600160a01b031663b72703ac826040518263ffffffff1660e01b815260040161113c9190612f8f565b60206040518083038186803b15801561115457600080fd5b505afa158015611168573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061118c9190612dc3565b905061105e565b8461119e5760001994505b6001600160a01b038116158015906111b65750815115155b80156111c25750600085115b156112f0576080830151604051632dc9c0eb60e21b8152600019909601956000916001600160a01b03169063b72703ac90611201908590600401612f8f565b60206040518083038186803b15801561121957600080fd5b505afa15801561122d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112519190612dc3565b90506112668460000151856020015184611df0565b61126e612d84565b611285858486600001518760c001518e8e8e611f01565b90508060400151156112985750506112f0565b805160208501516112ae9163ffffffff61187316565b60208086019190915281015160408501516112ce9163ffffffff61187316565b6040850152805184516112e69163ffffffff61164d16565b845250905061119e565b60008260400151116113145760405162461bcd60e51b81526004016105a4906131b4565b61132b82604001518360c001518460e00151612175565b50611339826040015161222c565b60608301819052604083015161135091908661223f565b8251600c5460608401516040516364a197f360e01b81526001600160a01b03938416936364a197f39361138893911691600401612fe4565b600060405180830381600087803b1580156113a257600080fd5b505af11580156113b6573d6000803e3d6000fd5b50505050600c60009054906101000a90046001600160a01b03166001600160a01b031663bb57ad206040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561140a57600080fd5b505af115801561141e573d6000803e3d6000fd5b50505050606082015160408301516114359161164d565b60808301526020820151604080840151606085015191517f43a3f4082a4dbc33d78e317d2497d3a730bc7fc3574159dcea1056e62e5d9ad89361147b938f9391926135ab565b60405180910390a182604001516001600160a01b0316639dc29fac3384602001516040518363ffffffff1660e01b81526004016114b9929190612fe4565b600060405180830381600087803b1580156114d357600080fd5b505af11580156114e7573d6000803e3d6000fd5b50508451602085015160405163121cbc4d60e11b81526001600160a01b039092169350632439789a925061151d91600401613554565b600060405180830381600087803b15801561153757600080fd5b505af115801561154b573d6000803e3d6000fd5b5050845160808501516040516364a197f360e01b81526001600160a01b0390921693506364a197f3925061158491339190600401612fe4565b600060405180830381600087803b15801561159e57600080fd5b505af11580156115b2573d6000803e3d6000fd5b5050505050505050505050505050565b6001600160a01b0381166115e85760405162461bcd60e51b81526004016105a490613234565b806001600160a01b03166115fa6109f4565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3600060405161163d90612f72565b6040519081900390209190915550565b600061168f83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250612285565b9392505050565b6000826116a557506000610733565b828202828482816116b257fe5b041461168f5760405162461bcd60e51b81526004016105a49061331e565b600061168f83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506122b1565b60006107336117ad83600360009054906101000a90046001600160a01b03166001600160a01b03166328d28b5b6040518163ffffffff1660e01b815260040160206040518083038186803b15801561176957600080fd5b505afa15801561177d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117a19190612e42565b9063ffffffff61187316565b670de0b6b3a76400006122e8565b60008060006117c9846105d2565b905060006117d6856106dd565b6001600160a01b03861660009081526010602052604081206001015491925090611806908463ffffffff61187316565b6001600160a01b03871660009081526010602052604081205491925090611833908463ffffffff61187316565b919550909350505050915091565b6000821561186857600061185f84610682878663ffffffff61169616565b915061168f9050565b506000199392505050565b60008282018381101561168f5760405162461bcd60e51b81526004016105a4906131fd565b600360009054906101000a90046001600160a01b03166001600160a01b03166328d28b5b6040518163ffffffff1660e01b815260040160206040518083038186803b1580156118e657600080fd5b505afa1580156118fa573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061191e9190612e42565b81101580156119355750670de0b6b3a76400008111155b6105b65760405162461bcd60e51b81526004016105a490613434565b600a5460408051631e425be160e11b815290516000926001600160a01b031691633c84b7c2916004808301926020929190829003018186803b15801561199657600080fd5b505afa1580156119aa573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119ce9190612e42565b9050611a00817f000000000000000000000000000000000000000000000000000000000000000063ffffffff61187316565b4210156105b65760405162461bcd60e51b81526004016105a4906132c0565b600360009054906101000a90046001600160a01b03166001600160a01b031663794e57246040518163ffffffff1660e01b815260040160206040518083038186803b158015611a6d57600080fd5b505afa158015611a81573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611aa59190612e42565b611aae826122fe565b10156105b65760405162461bcd60e51b81526004016105a490613484565b600081116105b65760405162461bcd60e51b81526004016105a490613390565b6040516370a0823160e01b815281906001600160a01b038516906370a0823190611b1a908690600401612f8f565b60206040518083038186803b158015611b3257600080fd5b505afa158015611b46573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b6a9190612e42565b1015611b885760405162461bcd60e51b81526004016105a4906130f7565b505050565b60006001600160a01b0383161580611c1e5750604051630bb7c8fd60e31b81526001600160a01b03851690635dbe47e890611bcc908690600401612f8f565b60206040518083038186803b158015611be457600080fd5b505afa158015611bf8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c1c9190612e0a565b155b80611cb65750600360009054906101000a90046001600160a01b03166001600160a01b031663794e57246040518163ffffffff1660e01b815260040160206040518083038186803b158015611c7257600080fd5b505afa158015611c86573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611caa9190612e42565b611cb4848461070e565b105b15611cc35750600061168f565b60405163765e015960e01b81526000906001600160a01b0386169063765e015990611cf2908790600401612f8f565b60206040518083038186803b158015611d0a57600080fd5b505afa158015611d1e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d429190612dc3565b90506001600160a01b0381161580611de75750600360009054906101000a90046001600160a01b03166001600160a01b031663794e57246040518163ffffffff1660e01b815260040160206040518083038186803b158015611da357600080fd5b505afa158015611db7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ddb9190612e42565b611de5828561070e565b105b95945050505050565b611df981610aec565b15611b8857611e078161232a565b6000611e12826105d2565b90506000611e1f836106dd565b6001600160a01b038416600090815260106020526040902060010154909150611e4e908363ffffffff61187316565b6001600160a01b0384166000908152601060205260409020600181019190915554611e7f908263ffffffff61187316565b6001600160a01b038416600090815260106020526040902055611ea183612373565b611ead858583856123db565b6001600160a01b0383166000818152601060205260408082208054600182015460029092015492516000805160206135e783398151915294611ef29492939291613078565b60405180910390a25050505050565b611f09612d84565b6001600160a01b038716600090815260106020526040902054611f46908790611f41906801158e460913d0000063ffffffff61164d16565b6122e8565b808252611f6790869061068290670de0b6b3a764000063ffffffff61169616565b60208083019190915281516001600160a01b038916600090815260109092526040822054611f9a9163ffffffff61164d16565b6020808401516001600160a01b038b166000908152601090925260408220600101549293509091611fd09163ffffffff61164d16565b90506801158e460913d0000082141561204957611fec896124fb565b611ff789600461254b565b61200c8a8a6801158e460913d0000084612657565b886001600160a01b03166000805160206135e78339815191526000806000600360405161203c9493929190613078565b60405180910390a2612167565b600061205582846127ba565b9050848114158061207657506809c2007651b2500000612074846127ef565b105b1561208a575050600160408301525061216a565b8a608001516001600160a01b0316632be212608b838a8a6040518563ffffffff1660e01b81526004016120c09493929190613042565b600060405180830381600087803b1580156120da57600080fd5b505af11580156120ee573d6000803e3d6000fd5b5050506001600160a01b038b1660009081526010602052604090208481556001018390555061211c8a61280a565b506001600160a01b038a16600081815260106020526040908190206002015490516000805160206135e78339815191529161215d9187918791600390613078565b60405180910390a2505b50505b979650505050505050565b6000806121806128b1565b9050600061219884610682888863ffffffff61169616565b905060006121bd6121b083600263ffffffff6116d016565b849063ffffffff61187316565b90506121d181670de0b6b3a76400006122e8565b9050600081116121dd57fe5b600e8190556040517fc454ee9b76c52f782a256af821b857ca6e125d1e3333bcede402fec2bed9600c90612212908390613554565b60405180910390a16122226128f5565b9695505050505050565b60006107336122396106ad565b8361294a565b600061225d8361068286670de0b6b3a764000063ffffffff61169616565b90508181111561227f5760405162461bcd60e51b81526004016105a4906134ce565b50505050565b600081848411156122a95760405162461bcd60e51b81526004016105a491906130a4565b505050900390565b600081836122d25760405162461bcd60e51b81526004016105a491906130a4565b5060008385816122de57fe5b0495945050505050565b60008183106122f7578161168f565b5090919050565b600080612309610925565b905060006123156107dc565b9050612322828286611841565b949350505050565b60016001600160a01b03821660009081526010602052604090206003015460ff16600481111561235657fe5b146105b65760405162461bcd60e51b81526004016105a490613505565b601480546001600160a01b038316600090815260166020526040908190209182556015546001909201829055915491517fc437f324d85e369394148dd9d62f98f534b382e01ed3dd2eb98138fb6d3ab49a926123d092909161355d565b60405180910390a150565b60405163121cbc4d60e11b81526001600160a01b03841690632439789a90612407908590600401613554565b600060405180830381600087803b15801561242157600080fd5b505af1158015612435573d6000803e3d6000fd5b505060405163f2e91d7160e01b81526001600160a01b038716925063f2e91d719150612465908590600401613554565b600060405180830381600087803b15801561247f57600080fd5b505af1158015612493573d6000803e3d6000fd5b505060405163be41205f60e01b81526001600160a01b038616925063be41205f91506124c3908490600401613554565b600060405180830381600087803b1580156124dd57600080fd5b505af11580156124f1573d6000803e3d6000fd5b5050505050505050565b6001600160a01b03811660009081526010602052604090206002015460115461252a908263ffffffff61164d16565b601155506001600160a01b0316600090815260106020526040812060020155565b600081600481111561255957fe5b141580156125735750600181600481111561257057fe5b14155b61257957fe5b6017546125858161298a565b6001600160a01b0383166000908152601060205260409020600301805483919060ff191660018360048111156125b757fe5b02179055506001600160a01b03831660009081526010602090815260408083206001808201859055908490556016909252822082815501556125f98382612a30565b600d54604051631484968760e11b81526001600160a01b03909116906329092d0e90612629908690600401612f8f565b600060405180830381600087803b15801561264357600080fd5b505af1158015610a92573d6000803e3d6000fd5b6040808501516007549151632770a7eb60e21b81526001600160a01b0391821692639dc29fac9261268f929116908690600401612fe4565b600060405180830381600087803b1580156126a957600080fd5b505af11580156126bd573d6000803e3d6000fd5b5050855160405163121cbc4d60e11b81526001600160a01b039091169250632439789a91506126f0908590600401613554565b600060405180830381600087803b15801561270a57600080fd5b505af115801561271e573d6000803e3d6000fd5b505050508360a001516001600160a01b0316633f10abab84836040518363ffffffff1660e01b8152600401612754929190612fe4565b600060405180830381600087803b15801561276e57600080fd5b505af1158015612782573d6000803e3d6000fd5b5050855160a08701516040516364a197f360e01b81526001600160a01b0390921693506364a197f392506124c3918590600401612fe4565b600081156127e6576127df826106828568056bc75e2d6310000063ffffffff61169616565b9050610733565b50600019610733565b6000610733826801158e460913d0000063ffffffff61164d16565b6001600160a01b038116600090815260106020526040812060010154819061283190612bd1565b6001600160a01b03841660009081526010602052604090206002018054908290556011549192509061286f9083906117a1908463ffffffff61164d16565b60118190556040517f6bac5e0eb3c44eb03a60ab11ec3a2c051771616aecadbcfff2630aabae520382916128a291613554565b60405180910390a15092915050565b6000806128bc612c0d565b905060006128d2670ddd4b8c6c7d70d883612c29565b90506108f4670de0b6b3a764000061068283600e5461169690919063ffffffff16565b600061290c600f544261164d90919063ffffffff16565b9050603c81106105b65742600f8190556040517f860f8d2f0c74dd487e89e2883e3b25b8159ce1e1b3433a291cba7b82c508f3bc916123d091613554565b600080612969670de0b6b3a7640000610682868663ffffffff61169616565b905082811061168f5760405162461bcd60e51b81526004016105a4906133de565b600181118015612a145750600d546040805163de8fa43160e01b815290516001926001600160a01b03169163de8fa431916004808301926020929190829003018186803b1580156129da57600080fd5b505afa1580156129ee573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612a129190612e42565b115b6105b65760405162461bcd60e51b81526004016105a490613276565b6001600160a01b03821660009081526010602052604081206003015460ff1690816004811115612a5c57fe5b14158015612a7657506001816004811115612a7357fe5b14155b612a7c57fe5b6001600160a01b03831660009081526010602052604081206003015461010090046001600160801b0316908390612ab482600161164d565b905080836001600160801b03161115612ac957fe5b600060178281548110612ad857fe5b600091825260209091200154601780546001600160a01b03909216925082916001600160801b038716908110612b0a57fe5b600091825260208083209190910180546001600160a01b0319166001600160a01b03948516179055918316815260109091526040908190206003018054610100600160881b0319166101006001600160801b03881602179055517f02b04ae5f7be9ca7c103293a2aa15f3c339d15d6eda53b721fef7b0e609c831a90612b939083908790612ffd565b60405180910390a16017805480612ba657fe5b600082815260209020810160001990810180546001600160a01b031916905501905550505050505050565b60008060135460001415612be6575081610733565b600060125411612bf257fe5b61168f6013546106826012548661169690919063ffffffff16565b60006106ba603c610682600f544261164d90919063ffffffff16565b6000631f540500821115612c3f57631f54050091505b81612c535750670de0b6b3a7640000610733565b670de0b6b3a764000083835b6001811115612cca5760028106612c9457612c7a8283612cd0565b9150612c8d81600263ffffffff6116d016565b9050612cc5565b612c9e8284612cd0565b9250612caa8283612cd0565b9150612cc2600261068283600163ffffffff61164d16565b90505b612c5f565b61072d82845b600080612ce3848463ffffffff61169616565b9050612322670de0b6b3a7640000610682836706f05b59d3b20000611873565b6040805160e081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c081019190915290565b60405180610100016040528060008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081525090565b604051806060016040528060008152602001600081526020016000151581525090565b600060208284031215612db8578081fd5b813561168f816135d1565b600060208284031215612dd4578081fd5b815161168f816135d1565b60008060408385031215612df1578081fd5b8235612dfc816135d1565b946020939093013593505050565b600060208284031215612e1b578081fd5b8151801515811461168f578182fd5b600060208284031215612e3b578081fd5b5035919050565b600060208284031215612e53578081fd5b5051919050565b600080600080600080600060e0888a031215612e74578283fd5b873596506020880135612e86816135d1565b95506040880135612e96816135d1565b94506060880135612ea6816135d1565b9699959850939660808101359560a0820135955060c0909101359350915050565b600080600080600080600080888a03610160811215612ee4578182fd5b8935985060208a0135612ef6816135d1565b975060408a0135612f06816135d1565b965060608a0135612f16816135d1565b955060808a810135955060a08b0135945060c08b0135935060df1982011215612f3d578182fd5b5060e0890190509295985092959890939650565b600060208284031215612f62578081fd5b813560ff8116811461168f578182fd5b7035b2bc9737bbb730b136329737bbb732b960791b815260110190565b6001600160a01b0391909116815260200190565b6001600160a01b0397881681529590961660208601526040850193909352606084019190915260ff16608083015260a082015260c081019190915260e00190565b6001600160a01b03929092168252602082015260400190565b6001600160a01b039290921682526001600160801b0316602082015260400190565b6001600160a01b0393841681526020810192909252909116604082015260600190565b6001600160a01b03948516815260208101939093529083166040830152909116606082015260800190565b901515815260200190565b848152602081018490526040810183905260808101613096836135c6565b606083015295945050505050565b6000602080835283518082850152825b818110156130d0578581018301518582016040015282016130b4565b818111156130e15783604083870101525b50601f01601f1916929092016040019392505050565b6020808252604e908201527f54726f76654d616e616765723a2052657175657374656420726564656d70746960408201527f6f6e20616d6f756e74206d757374206265203c3d20757365722773205a55534460608201526d20746f6b656e2062616c616e636560901b608082015260a00190565b60208082526029908201527f444c4c52207472616e7366657272656420616d6f756e742076616c69646174696040820152681bdb8819985a5b195960ba1b606082015260800190565b60208082526029908201527f54726f76654d616e616765723a20556e61626c6520746f2072656465656d20616040820152681b9e48185b5bdd5b9d60ba1b606082015260800190565b6020808252601b908201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604082015260600190565b60208082526022908201527f4f776e61626c653a3a7365744f776e65723a20696e76616c6964206164647265604082015261737360f01b606082015260800190565b6020808252602a908201527f54726f76654d616e616765723a204f6e6c79206f6e652074726f766520696e206040820152697468652073797374656d60b01b606082015260800190565b602080825260409082018190527f54726f76654d616e616765723a20526564656d7074696f6e7320617265206e6f908201527f7420616c6c6f77656420647572696e6720626f6f747374726170207068617365606082015260800190565b60208082526021908201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6040820152607760f81b606082015260800190565b60208082526017908201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604082015260600190565b6020808252602e908201527f54726f76654d616e616765723a20416d6f756e74206d7573742062652067726560408201526d61746572207468616e207a65726f60901b606082015260800190565b60208082526036908201527f54726f76654d616e616765723a2046656520776f756c642065617420757020616040820152751b1b081c995d1d5c9b99590818dbdb1b185d195c985b60521b606082015260800190565b60208082526030908201527f4d6178206665652070657263656e74616765206d75737420626520626574776560408201526f656e20302e352520616e64203130302560801b606082015260800190565b6020808252602a908201527f54726f76654d616e616765723a2043616e6e6f742072656465656d207768656e604082015269102a21a9101e1026a1a960b11b606082015260800190565b6020808252601d908201527f4665652065786365656465642070726f7669646564206d6178696d756d000000604082015260600190565b6020808252602f908201527f54726f76654d616e616765723a2054726f766520646f6573206e6f742065786960408201526e1cdd081bdc881a5cc818db1bdcd959608a1b606082015260800190565b90815260200190565b918252602082015260400190565b858152602081018590526040810184905260a081016005841061358a57fe5b60608201939093526001600160801b03919091166080909101529392505050565b93845260208401929092526040830152606082015260800190565b806004811061069557fe5b6001600160a01b03811681146105b657600080fdfec3770d654ed33aeea6bf11ac8ef05d02a6a04ed4686dd2f624d853bbec43cc8ba2646970667358221220a9962a8c24fca3c3e4803945eb02feb9953c759cd9a777c8c4175709a8d4dc7b64736f6c634300060b0033", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/packages/lib-ethers/live/TroveManagerScript.json b/packages/lib-ethers/live/TroveManagerScript.json index c4690a935..47b184859 100644 --- a/packages/lib-ethers/live/TroveManagerScript.json +++ b/packages/lib-ethers/live/TroveManagerScript.json @@ -31,7 +31,7 @@ "inputs": [ { "internalType": "uint256", - "name": "_LUSDAmount", + "name": "_ZUSDAmount", "type": "uint256" }, { @@ -77,8 +77,8 @@ "type": "function" } ], - "bytecode": "0x60a060405234801561001057600080fd5b506040516103623803806103628339818101604052602081101561003357600080fd5b5051610047816001600160e01b0361005c16565b60601b6001600160601b03191660805261010f565b6001600160a01b0381166100b7576040805162461bcd60e51b815260206004820152601e60248201527f4163636f756e742063616e6e6f74206265207a65726f20616464726573730000604482015290519081900360640190fd5b803b8061010b576040805162461bcd60e51b815260206004820181905260248201527f4163636f756e7420636f64652073697a652063616e6e6f74206265207a65726f604482015290519081900360640190fd5b5050565b60805160601c61023661012c6000398061019752506102366000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c8063a3f4df7e1461003b578063bcd37526146100b8575b600080fd5b610043610118565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561007d578181015183820152602001610065565b50505050905090810190601f1680156100aa5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b610106600480360360e08110156100ce57600080fd5b508035906001600160a01b03602082013581169160408101358216916060820135169060808101359060a08101359060c00135610146565b60408051918252519081900360200190f35b60405180604001604052806012815260200171151c9bdd9953585b9859d95c94d8dc9a5c1d60721b81525081565b60408051635e69ba9360e11b8152600481018990526001600160a01b038881166024830152878116604483015286811660648301526084820186905260a4820185905260c4820184905291516000927f0000000000000000000000000000000000000000000000000000000000000000169163bcd375269160e4808301928692919082900301818387803b1580156101dd57600080fd5b505af11580156101f1573d6000803e3d6000fd5b5050505097965050505050505056fea2646970667358221220ab3ff1495a46b736ae05dae3345caf0ef740d9397e5d7b93127ffff70ad54b1664736f6c634300060b0033", - "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100365760003560e01c8063a3f4df7e1461003b578063bcd37526146100b8575b600080fd5b610043610118565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561007d578181015183820152602001610065565b50505050905090810190601f1680156100aa5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b610106600480360360e08110156100ce57600080fd5b508035906001600160a01b03602082013581169160408101358216916060820135169060808101359060a08101359060c00135610146565b60408051918252519081900360200190f35b60405180604001604052806012815260200171151c9bdd9953585b9859d95c94d8dc9a5c1d60721b81525081565b60408051635e69ba9360e11b8152600481018990526001600160a01b038881166024830152878116604483015286811660648301526084820186905260a4820185905260c4820184905291516000927f0000000000000000000000000000000000000000000000000000000000000000169163bcd375269160e4808301928692919082900301818387803b1580156101dd57600080fd5b505af11580156101f1573d6000803e3d6000fd5b5050505097965050505050505056fea2646970667358221220ab3ff1495a46b736ae05dae3345caf0ef740d9397e5d7b93127ffff70ad54b1664736f6c634300060b0033", + "bytecode": "0x60a060405234801561001057600080fd5b506040516103623803806103628339818101604052602081101561003357600080fd5b5051610047816001600160e01b0361005c16565b60601b6001600160601b03191660805261010f565b6001600160a01b0381166100b7576040805162461bcd60e51b815260206004820152601e60248201527f4163636f756e742063616e6e6f74206265207a65726f20616464726573730000604482015290519081900360640190fd5b803b8061010b576040805162461bcd60e51b815260206004820181905260248201527f4163636f756e7420636f64652073697a652063616e6e6f74206265207a65726f604482015290519081900360640190fd5b5050565b60805160601c61023661012c6000398061019752506102366000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c8063a3f4df7e1461003b578063bcd37526146100b8575b600080fd5b610043610118565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561007d578181015183820152602001610065565b50505050905090810190601f1680156100aa5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b610106600480360360e08110156100ce57600080fd5b508035906001600160a01b03602082013581169160408101358216916060820135169060808101359060a08101359060c00135610146565b60408051918252519081900360200190f35b60405180604001604052806012815260200171151c9bdd9953585b9859d95c94d8dc9a5c1d60721b81525081565b60408051635e69ba9360e11b8152600481018990526001600160a01b038881166024830152878116604483015286811660648301526084820186905260a4820185905260c4820184905291516000927f0000000000000000000000000000000000000000000000000000000000000000169163bcd375269160e4808301928692919082900301818387803b1580156101dd57600080fd5b505af11580156101f1573d6000803e3d6000fd5b5050505097965050505050505056fea26469706673582212205add580a7c906b4dc323ca533e6ff474dce8d702fe9b01bbe9d6b0de9a9b18e564736f6c634300060b0033", + "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100365760003560e01c8063a3f4df7e1461003b578063bcd37526146100b8575b600080fd5b610043610118565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561007d578181015183820152602001610065565b50505050905090810190601f1680156100aa5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b610106600480360360e08110156100ce57600080fd5b508035906001600160a01b03602082013581169160408101358216916060820135169060808101359060a08101359060c00135610146565b60408051918252519081900360200190f35b60405180604001604052806012815260200171151c9bdd9953585b9859d95c94d8dc9a5c1d60721b81525081565b60408051635e69ba9360e11b8152600481018990526001600160a01b038881166024830152878116604483015286811660648301526084820186905260a4820185905260c4820184905291516000927f0000000000000000000000000000000000000000000000000000000000000000169163bcd375269160e4808301928692919082900301818387803b1580156101dd57600080fd5b505af11580156101f1573d6000803e3d6000fd5b5050505097965050505050505056fea26469706673582212205add580a7c906b4dc323ca533e6ff474dce8d702fe9b01bbe9d6b0de9a9b18e564736f6c634300060b0033", "linkReferences": {}, "deployedLinkReferences": {} } diff --git a/packages/lib-ethers/live/TroveManagerStorage.json b/packages/lib-ethers/live/TroveManagerStorage.json new file mode 100644 index 000000000..aeb29c991 --- /dev/null +++ b/packages/lib-ethers/live/TroveManagerStorage.json @@ -0,0 +1,385 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "TroveManagerStorage", + "sourceName": "contracts/TroveManagerStorage.sol", + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousOwner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnershipTransferred", + "type": "event" + }, + { + "inputs": [], + "name": "DECIMAL_PRECISION", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "L_ETH", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "L_ZUSDDebt", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "NAME", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "name": "TroveOwners", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "Troves", + "outputs": [ + { + "internalType": "uint256", + "name": "debt", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "coll", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "stake", + "type": "uint256" + }, + { + "internalType": "enum TroveManagerStorage.Status", + "name": "status", + "type": "uint8" + }, + { + "internalType": "uint128", + "name": "arrayIndex", + "type": "uint128" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "_stabilityPool", + "outputs": [ + { + "internalType": "contract IStabilityPool", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "_zeroStaking", + "outputs": [ + { + "internalType": "contract IZEROStaking", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "_zeroToken", + "outputs": [ + { + "internalType": "contract IZEROToken", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "_zusdToken", + "outputs": [ + { + "internalType": "contract IZUSDToken", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "baseRate", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "borrowerOperationsAddress", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "feeDistributor", + "outputs": [ + { + "internalType": "contract IFeeDistributor", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getOwner", + "outputs": [ + { + "internalType": "address", + "name": "_owner", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "lastETHError_Redistribution", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "lastFeeOperationTime", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "lastZUSDDebtError_Redistribution", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "rewardSnapshots", + "outputs": [ + { + "internalType": "uint256", + "name": "ETH", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "ZUSDDebt", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_owner", + "type": "address" + } + ], + "name": "setOwner", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "sortedTroves", + "outputs": [ + { + "internalType": "contract ISortedTroves", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "totalCollateralSnapshot", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "totalStakes", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "totalStakesSnapshot", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "troveManagerRedeemOps", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + } + ], + "bytecode": "0x608060405234801561001057600080fd5b50610023336001600160e01b0361002816565b610110565b6001600160a01b03811661006d5760405162461bcd60e51b81526004018080602001828103825260228152602001806107b86022913960400191505060405180910390fd5b6001600160a01b0381166100886001600160e01b036100e616565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3604080517035b2bc9737bbb730b136329737bbb732b960791b8152905190819003601101902055565b604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205490565b6106998061011f6000396000f3fe608060405234801561001057600080fd5b50600436106101585760003560e01c8063893d20e8116100c3578063ae9187541161007c578063ae91875414610363578063b7f8cf9b1461036b578063be4b033414610373578063bf9befb11461037b578063d380a37c14610383578063d815e8e91461038b57610158565b8063893d20e8146102be57806396d711ff146102c65780639dd233d2146102ce578063a20baee6146102d6578063a3f4df7e146102de578063ae7bec191461035b57610158565b80636ef64338116101155780636ef6433814610212578063716c47e614610281578063756b253e14610289578063797250e3146102a65780637cf54e40146102ae578063807d138d146102b657610158565b80630d43e8ad1461015d57806313af4035146101815780631673c79a146101a95780631f68f20a146101e85780633a128595146102025780636b4449521461020a575b600080fd5b610165610393565b604080516001600160a01b039092168252519081900360200190f35b6101a76004803603602081101561019757600080fd5b50356001600160a01b03166103a2565b005b6101cf600480360360208110156101bf57600080fd5b50356001600160a01b0316610415565b6040805192835260208301919091528051918290030190f35b6101f061042e565b60408051918252519081900360200190f35b610165610434565b6101f0610443565b6102386004803603602081101561022857600080fd5b50356001600160a01b0316610449565b6040518086815260200185815260200184815260200183600481111561025a57fe5b60ff1681526001600160801b03909216602083015250604080519182900301945092505050f35b610165610483565b6101656004803603602081101561029f57600080fd5b5035610492565b6101f06104b9565b6101656104bf565b6101f06104ce565b6101656104d4565b6101f06104fe565b6101f0610504565b6101f061050a565b6102e6610516565b6040805160208082528351818301528351919283929083019185019080838360005b83811015610320578181015183820152602001610308565b50505050905090810190601f16801561034d5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61016561053e565b61016561054d565b61016561055c565b6101f061056b565b6101f0610571565b6101f0610577565b61016561057d565b6008546001600160a01b031681565b6103aa6104d4565b6001600160a01b0316336001600160a01b031614610409576040805162461bcd60e51b815260206004820152601760248201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604482015290519081900360640190fd5b6104128161058c565b50565b6012602052600090815260409020805460019091015482565b600a5481565b6007546001600160a01b031681565b60155481565b600c6020526000908152604090208054600182015460028301546003909301549192909160ff81169061010090046001600160801b031685565b6000546001600160a01b031681565b6013818154811061049f57fe5b6000918252602090912001546001600160a01b0316905081565b60145481565b6006546001600160a01b031681565b600e5481565b604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205490565b600f5481565b60105481565b670de0b6b3a764000081565b6040518060400160405280600c81526020016b2a3937bb32a6b0b730b3b2b960a11b81525081565b6002546001600160a01b031681565b6009546001600160a01b031681565b6001546001600160a01b031681565b60115481565b600d5481565b600b5481565b6005546001600160a01b031681565b6001600160a01b0381166105d15760405162461bcd60e51b81526004018080602001828103825260228152602001806106426022913960400191505060405180910390fd5b806001600160a01b03166105e36104d4565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205556fe4f776e61626c653a3a7365744f776e65723a20696e76616c69642061646472657373a26469706673582212207ceba897e1502a66af04b6bbcbb432fe97bed847170fb22b434b5f88beef12a264736f6c634300060b00334f776e61626c653a3a7365744f776e65723a20696e76616c69642061646472657373", + "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106101585760003560e01c8063893d20e8116100c3578063ae9187541161007c578063ae91875414610363578063b7f8cf9b1461036b578063be4b033414610373578063bf9befb11461037b578063d380a37c14610383578063d815e8e91461038b57610158565b8063893d20e8146102be57806396d711ff146102c65780639dd233d2146102ce578063a20baee6146102d6578063a3f4df7e146102de578063ae7bec191461035b57610158565b80636ef64338116101155780636ef6433814610212578063716c47e614610281578063756b253e14610289578063797250e3146102a65780637cf54e40146102ae578063807d138d146102b657610158565b80630d43e8ad1461015d57806313af4035146101815780631673c79a146101a95780631f68f20a146101e85780633a128595146102025780636b4449521461020a575b600080fd5b610165610393565b604080516001600160a01b039092168252519081900360200190f35b6101a76004803603602081101561019757600080fd5b50356001600160a01b03166103a2565b005b6101cf600480360360208110156101bf57600080fd5b50356001600160a01b0316610415565b6040805192835260208301919091528051918290030190f35b6101f061042e565b60408051918252519081900360200190f35b610165610434565b6101f0610443565b6102386004803603602081101561022857600080fd5b50356001600160a01b0316610449565b6040518086815260200185815260200184815260200183600481111561025a57fe5b60ff1681526001600160801b03909216602083015250604080519182900301945092505050f35b610165610483565b6101656004803603602081101561029f57600080fd5b5035610492565b6101f06104b9565b6101656104bf565b6101f06104ce565b6101656104d4565b6101f06104fe565b6101f0610504565b6101f061050a565b6102e6610516565b6040805160208082528351818301528351919283929083019185019080838360005b83811015610320578181015183820152602001610308565b50505050905090810190601f16801561034d5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61016561053e565b61016561054d565b61016561055c565b6101f061056b565b6101f0610571565b6101f0610577565b61016561057d565b6008546001600160a01b031681565b6103aa6104d4565b6001600160a01b0316336001600160a01b031614610409576040805162461bcd60e51b815260206004820152601760248201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604482015290519081900360640190fd5b6104128161058c565b50565b6012602052600090815260409020805460019091015482565b600a5481565b6007546001600160a01b031681565b60155481565b600c6020526000908152604090208054600182015460028301546003909301549192909160ff81169061010090046001600160801b031685565b6000546001600160a01b031681565b6013818154811061049f57fe5b6000918252602090912001546001600160a01b0316905081565b60145481565b6006546001600160a01b031681565b600e5481565b604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205490565b600f5481565b60105481565b670de0b6b3a764000081565b6040518060400160405280600c81526020016b2a3937bb32a6b0b730b3b2b960a11b81525081565b6002546001600160a01b031681565b6009546001600160a01b031681565b6001546001600160a01b031681565b60115481565b600d5481565b600b5481565b6005546001600160a01b031681565b6001600160a01b0381166105d15760405162461bcd60e51b81526004018080602001828103825260228152602001806106426022913960400191505060405180910390fd5b806001600160a01b03166105e36104d4565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205556fe4f776e61626c653a3a7365744f776e65723a20696e76616c69642061646472657373a26469706673582212207ceba897e1502a66af04b6bbcbb432fe97bed847170fb22b434b5f88beef12a264736f6c634300060b0033", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/packages/lib-ethers/live/TroveManagerTester.json b/packages/lib-ethers/live/TroveManagerTester.json index a47f65457..7864b8cf1 100644 --- a/packages/lib-ethers/live/TroveManagerTester.json +++ b/packages/lib-ethers/live/TroveManagerTester.json @@ -1,7 +1,7 @@ { "_format": "hh-sol-artifact-1", "contractName": "TroveManagerTester", - "sourceName": "contracts/TestContracts/CDPManagerTester.sol", + "sourceName": "contracts/TestContracts/TroveManagerTester.sol", "abi": [ { "anonymous": false, @@ -74,11 +74,11 @@ { "indexed": false, "internalType": "address", - "name": "_gasPoolAddress", + "name": "_feeDistributorAddress", "type": "address" } ], - "name": "GasPoolAddressChanged", + "name": "FeeDistributorAddressChanged", "type": "event" }, { @@ -87,24 +87,11 @@ { "indexed": false, "internalType": "address", - "name": "_zeroStakingAddress", - "type": "address" - } - ], - "name": "LQTYStakingAddressChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_zeroTokenAddress", + "name": "_gasPoolAddress", "type": "address" } ], - "name": "LQTYTokenAddressChanged", + "name": "GasPoolAddressChanged", "type": "event" }, { @@ -119,26 +106,13 @@ { "indexed": false, "internalType": "uint256", - "name": "_L_LUSDDebt", + "name": "_L_ZUSDDebt", "type": "uint256" } ], "name": "LTermsUpdated", "type": "event" }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_newLUSDTokenAddress", - "type": "address" - } - ], - "name": "LUSDTokenAddressChanged", - "type": "event" - }, { "anonymous": false, "inputs": [ @@ -176,13 +150,26 @@ { "indexed": false, "internalType": "uint256", - "name": "_LUSDGasCompensation", + "name": "_ZUSDGasCompensation", "type": "uint256" } ], "name": "Liquidation", "type": "event" }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "_borrowerOperationsAddress", + "type": "address" + } + ], + "name": "LiquityBaseParamsAddressChanges", + "type": "event" + }, { "anonymous": false, "inputs": [ @@ -221,13 +208,13 @@ { "indexed": false, "internalType": "uint256", - "name": "_attemptedLUSDAmount", + "name": "_attemptedZUSDAmount", "type": "uint256" }, { "indexed": false, "internalType": "uint256", - "name": "_actualLUSDAmount", + "name": "_actualZUSDAmount", "type": "uint256" }, { @@ -346,14 +333,27 @@ }, { "indexed": false, - "internalType": "enum TroveManager.TroveManagerOperation", - "name": "_operation", + "internalType": "uint8", + "name": "operation", "type": "uint8" } ], "name": "TroveLiquidated", "type": "event" }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "_troveManagerRedeemOps", + "type": "address" + } + ], + "name": "TroveManagerRedeemOpsAddressChanged", + "type": "event" + }, { "anonymous": false, "inputs": [ @@ -366,7 +366,7 @@ { "indexed": false, "internalType": "uint256", - "name": "_L_LUSDDebt", + "name": "_L_ZUSDDebt", "type": "uint256" } ], @@ -397,19 +397,58 @@ { "indexed": false, "internalType": "uint256", - "name": "_stake", + "name": "stake", "type": "uint256" }, { "indexed": false, - "internalType": "enum TroveManager.TroveManagerOperation", - "name": "_operation", + "internalType": "uint8", + "name": "operation", "type": "uint8" } ], "name": "TroveUpdated", "type": "event" }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "_zeroStakingAddress", + "type": "address" + } + ], + "name": "ZEROStakingAddressChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "_zeroTokenAddress", + "type": "address" + } + ], + "name": "ZEROTokenAddressChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "_newZUSDTokenAddress", + "type": "address" + } + ], + "name": "ZUSDTokenAddressChanged", + "type": "event" + }, { "inputs": [], "name": "BETA", @@ -438,7 +477,7 @@ }, { "inputs": [], - "name": "BORROWING_FEE_FLOOR", + "name": "CCR", "outputs": [ { "internalType": "uint256", @@ -451,7 +490,7 @@ }, { "inputs": [], - "name": "CCR", + "name": "DECIMAL_PRECISION", "outputs": [ { "internalType": "uint256", @@ -464,7 +503,7 @@ }, { "inputs": [], - "name": "DECIMAL_PRECISION", + "name": "L_ETH", "outputs": [ { "internalType": "uint256", @@ -477,7 +516,7 @@ }, { "inputs": [], - "name": "LUSD_GAS_COMPENSATION", + "name": "L_ZUSDDebt", "outputs": [ { "internalType": "uint256", @@ -490,7 +529,7 @@ }, { "inputs": [], - "name": "L_ETH", + "name": "MCR", "outputs": [ { "internalType": "uint256", @@ -503,7 +542,7 @@ }, { "inputs": [], - "name": "L_LUSDDebt", + "name": "MINUTE_DECAY_FACTOR", "outputs": [ { "internalType": "uint256", @@ -516,7 +555,7 @@ }, { "inputs": [], - "name": "MAX_BORROWING_FEE", + "name": "MIN_NET_DEBT", "outputs": [ { "internalType": "uint256", @@ -529,12 +568,12 @@ }, { "inputs": [], - "name": "MCR", + "name": "NAME", "outputs": [ { - "internalType": "uint256", + "internalType": "string", "name": "", - "type": "uint256" + "type": "string" } ], "stateMutability": "view", @@ -542,7 +581,7 @@ }, { "inputs": [], - "name": "MINUTE_DECAY_FACTOR", + "name": "SECONDS_IN_ONE_MINUTE", "outputs": [ { "internalType": "uint256", @@ -554,39 +593,58 @@ "type": "function" }, { - "inputs": [], - "name": "MIN_NET_DEBT", - "outputs": [ + "inputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "NAME", + "name": "TroveOwners", "outputs": [ { - "internalType": "string", + "internalType": "address", "name": "", - "type": "string" + "type": "address" } ], "stateMutability": "view", "type": "function" }, { - "inputs": [], - "name": "PERCENT_DIVISOR", + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "Troves", "outputs": [ { "internalType": "uint256", - "name": "", + "name": "debt", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "coll", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "stake", "type": "uint256" + }, + { + "internalType": "enum TroveManagerStorage.Status", + "name": "status", + "type": "uint8" + }, + { + "internalType": "uint128", + "name": "arrayIndex", + "type": "uint128" } ], "stateMutability": "view", @@ -594,7 +652,7 @@ }, { "inputs": [], - "name": "REDEMPTION_FEE_FLOOR", + "name": "ZUSD_GAS_COMPENSATION", "outputs": [ { "internalType": "uint256", @@ -607,7 +665,7 @@ }, { "inputs": [], - "name": "SECONDS_IN_ONE_MINUTE", + "name": "_100pct", "outputs": [ { "internalType": "uint256", @@ -620,18 +678,23 @@ }, { "inputs": [ + { + "internalType": "address", + "name": "_borrower", + "type": "address" + }, { "internalType": "uint256", - "name": "", + "name": "_price", "type": "uint256" } ], - "name": "TroveOwners", + "name": "_getCurrentICR", "outputs": [ { - "internalType": "address", + "internalType": "uint256", "name": "", - "type": "address" + "type": "uint256" } ], "stateMutability": "view", @@ -641,36 +704,67 @@ "inputs": [ { "internalType": "address", - "name": "", + "name": "_borrower", "type": "address" } ], - "name": "Troves", + "name": "_getPendingETHReward", "outputs": [ { "internalType": "uint256", - "name": "debt", + "name": "", "type": "uint256" - }, + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_borrower", + "type": "address" + } + ], + "name": "_getPendingZUSDDebtReward", + "outputs": [ { "internalType": "uint256", - "name": "coll", + "name": "", "type": "uint256" - }, + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "_getRedemptionRate", + "outputs": [ { "internalType": "uint256", - "name": "stake", + "name": "", "type": "uint256" - }, + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ { - "internalType": "enum TroveManager.Status", - "name": "status", - "type": "uint8" - }, + "internalType": "address", + "name": "_borrower", + "type": "address" + } + ], + "name": "_hasPendingRewards", + "outputs": [ { - "internalType": "uint128", - "name": "arrayIndex", - "type": "uint128" + "internalType": "bool", + "name": "", + "type": "bool" } ], "stateMutability": "view", @@ -678,12 +772,51 @@ }, { "inputs": [], - "name": "_100pct", + "name": "_stabilityPool", "outputs": [ { - "internalType": "uint256", + "internalType": "contract IStabilityPool", "name": "", - "type": "uint256" + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "_zeroStaking", + "outputs": [ + { + "internalType": "contract IZEROStaking", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "_zeroToken", + "outputs": [ + { + "internalType": "contract IZEROToken", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "_zusdToken", + "outputs": [ + { + "internalType": "contract IZUSDToken", + "name": "", + "type": "address" } ], "stateMutability": "view", @@ -934,6 +1067,19 @@ "stateMutability": "view", "type": "function" }, + { + "inputs": [], + "name": "feeDistributor", + "outputs": [ + { + "internalType": "contract IFeeDistributor", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, { "inputs": [ { @@ -957,7 +1103,7 @@ "inputs": [ { "internalType": "uint256", - "name": "_LUSDDebt", + "name": "_ZUSDDebt", "type": "uint256" } ], @@ -976,7 +1122,7 @@ "inputs": [ { "internalType": "uint256", - "name": "_LUSDDebt", + "name": "_ZUSDDebt", "type": "uint256" } ], @@ -1033,7 +1179,7 @@ "type": "uint256" } ], - "stateMutability": "pure", + "stateMutability": "view", "type": "function" }, { @@ -1101,7 +1247,7 @@ }, { "internalType": "uint256", - "name": "pendingLUSDDebtReward", + "name": "pendingZUSDDebtReward", "type": "uint256" }, { @@ -1139,19 +1285,6 @@ "stateMutability": "view", "type": "function" }, - { - "inputs": [], - "name": "getLUSDGasCompensation", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "pure", - "type": "function" - }, { "inputs": [ { @@ -1171,6 +1304,19 @@ "stateMutability": "view", "type": "function" }, + { + "inputs": [], + "name": "getOwner", + "outputs": [ + { + "internalType": "address", + "name": "_owner", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, { "inputs": [ { @@ -1198,7 +1344,7 @@ "type": "address" } ], - "name": "getPendingLUSDDebtReward", + "name": "getPendingZUSDDebtReward", "outputs": [ { "internalType": "uint256", @@ -1381,6 +1527,19 @@ "stateMutability": "view", "type": "function" }, + { + "inputs": [], + "name": "getZUSDGasCompensation", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "pure", + "type": "function" + }, { "inputs": [ { @@ -1448,19 +1607,6 @@ "stateMutability": "nonpayable", "type": "function" }, - { - "inputs": [], - "name": "isOwner", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, { "inputs": [], "name": "lastETHError_Redistribution", @@ -1489,7 +1635,7 @@ }, { "inputs": [], - "name": "lastLUSDDebtError_Redistribution", + "name": "lastZUSDDebtError_Redistribution", "outputs": [ { "internalType": "uint256", @@ -1528,10 +1674,10 @@ }, { "inputs": [], - "name": "zeroStaking", + "name": "liquityBaseParams", "outputs": [ { - "internalType": "contract ILQTYStaking", + "internalType": "contract ILiquityBaseParams", "name": "", "type": "address" } @@ -1541,12 +1687,12 @@ }, { "inputs": [], - "name": "zeroToken", + "name": "minutesPassedSinceLastFeeOp", "outputs": [ { - "internalType": "contract ILQTYToken", + "internalType": "uint256", "name": "", - "type": "address" + "type": "uint256" } ], "stateMutability": "view", @@ -1554,10 +1700,10 @@ }, { "inputs": [], - "name": "zusdToken", + "name": "priceFeed", "outputs": [ { - "internalType": "contract ILUSDToken", + "internalType": "contract IPriceFeed", "name": "", "type": "address" } @@ -1566,49 +1712,53 @@ "type": "function" }, { - "inputs": [], - "name": "minutesPassedSinceLastFeeOp", - "outputs": [ + "inputs": [ { "internalType": "uint256", - "name": "", + "name": "_ZUSDamount", "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "owner", - "outputs": [ + }, { "internalType": "address", - "name": "", + "name": "_firstRedemptionHint", "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "priceFeed", - "outputs": [ + }, { - "internalType": "contract IPriceFeed", - "name": "", + "internalType": "address", + "name": "_upperPartialRedemptionHint", + "type": "address" + }, + { + "internalType": "address", + "name": "_lowerPartialRedemptionHint", "type": "address" + }, + { + "internalType": "uint256", + "name": "_partialRedemptionHintNICR", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_maxIterations", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_maxFeePercentage", + "type": "uint256" } ], - "stateMutability": "view", + "name": "redeemCollateral", + "outputs": [], + "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", - "name": "_LUSDamount", + "name": "_dllrAmount", "type": "uint256" }, { @@ -1640,9 +1790,36 @@ "internalType": "uint256", "name": "_maxFeePercentage", "type": "uint256" - } - ], - "name": "redeemCollateral", + }, + { + "components": [ + { + "internalType": "uint256", + "name": "deadline", + "type": "uint256" + }, + { + "internalType": "uint8", + "name": "v", + "type": "uint8" + }, + { + "internalType": "bytes32", + "name": "r", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "s", + "type": "bytes32" + } + ], + "internalType": "struct IMassetManager.PermitParams", + "name": "_permitParams", + "type": "tuple" + } + ], + "name": "redeemCollateralViaDLLR", "outputs": [], "stateMutability": "nonpayable", "type": "function" @@ -1677,7 +1854,7 @@ }, { "internalType": "uint256", - "name": "LUSDDebt", + "name": "ZUSDDebt", "type": "uint256" } ], @@ -1687,59 +1864,81 @@ { "inputs": [ { - "internalType": "address", - "name": "_borrowerOperationsAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_activePoolAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_defaultPoolAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_stabilityPoolAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_gasPoolAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_collSurplusPoolAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_priceFeedAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_zusdTokenAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_sortedTrovesAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_zeroTokenAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_zeroStakingAddress", - "type": "address" + "components": [ + { + "internalType": "address", + "name": "_feeDistributorAddress", + "type": "address" + }, + { + "internalType": "address", + "name": "_troveManagerRedeemOps", + "type": "address" + }, + { + "internalType": "address", + "name": "_liquityBaseParamsAddress", + "type": "address" + }, + { + "internalType": "address", + "name": "_borrowerOperationsAddress", + "type": "address" + }, + { + "internalType": "address", + "name": "_activePoolAddress", + "type": "address" + }, + { + "internalType": "address", + "name": "_defaultPoolAddress", + "type": "address" + }, + { + "internalType": "address", + "name": "_stabilityPoolAddress", + "type": "address" + }, + { + "internalType": "address", + "name": "_gasPoolAddress", + "type": "address" + }, + { + "internalType": "address", + "name": "_collSurplusPoolAddress", + "type": "address" + }, + { + "internalType": "address", + "name": "_priceFeedAddress", + "type": "address" + }, + { + "internalType": "address", + "name": "_zusdTokenAddress", + "type": "address" + }, + { + "internalType": "address", + "name": "_sortedTrovesAddress", + "type": "address" + }, + { + "internalType": "address", + "name": "_zeroTokenAddress", + "type": "address" + }, + { + "internalType": "address", + "name": "_zeroStakingAddress", + "type": "address" + } + ], + "internalType": "struct ITroveManager.TroveManagerInitAddressesParams", + "name": "_troveManagerInitAddressesParams", + "type": "tuple" } ], "name": "setAddresses", @@ -1767,6 +1966,32 @@ "stateMutability": "nonpayable", "type": "function" }, + { + "inputs": [ + { + "internalType": "address", + "name": "_owner", + "type": "address" + } + ], + "name": "setOwner", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_troveManagerRedeemOps", + "type": "address" + } + ], + "name": "setTroveManagerRedeemOps", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, { "inputs": [ { @@ -1800,12 +2025,12 @@ }, { "inputs": [], - "name": "stabilityPool", + "name": "totalCollateralSnapshot", "outputs": [ { - "internalType": "contract IStabilityPool", + "internalType": "uint256", "name": "", - "type": "address" + "type": "uint256" } ], "stateMutability": "view", @@ -1813,7 +2038,7 @@ }, { "inputs": [], - "name": "totalCollateralSnapshot", + "name": "totalStakes", "outputs": [ { "internalType": "uint256", @@ -1826,7 +2051,7 @@ }, { "inputs": [], - "name": "totalStakes", + "name": "totalStakesSnapshot", "outputs": [ { "internalType": "uint256", @@ -1839,12 +2064,12 @@ }, { "inputs": [], - "name": "totalStakesSnapshot", + "name": "troveManagerRedeemOps", "outputs": [ { - "internalType": "uint256", + "internalType": "address", "name": "", - "type": "uint256" + "type": "address" } ], "stateMutability": "view", @@ -1896,8 +2121,8 @@ "type": "function" } ], - "bytecode": "0x608060405234801561001057600080fd5b50600380546001600160a01b031916339081179091556040516000907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3615cd080620000616000396000f3fe608060405234801561001057600080fd5b50600436106104e35760003560e01c8063795d26c31161028e578063b91af97c11610167578063d5b35635116100d9578063e2ac77b011610092578063e2ac77b014610de3578063f34862de14610e09578063f36b242514610e2f578063f92d343314610723578063fe2ba84814610e37578063febb33de14610e5d576104e3565b8063d5b3563514610d4d578063d66a255314610d6a578063d9a7244414610d90578063da303f1414610dad578063dba1c5f214610db5578063dc62a70214610dbd576104e3565b8063c7b554811161012b578063c7b5548114610cb7578063cbd138ae14610cbf578063d293c71014610ce5578063d380a37c14610d11578063d3d6f84314610d19578063d5205e4814610d45576104e3565b8063b91af97c14610c05578063bcd3752614610c51578063bf9befb114610c9f578063c35bc55014610ca7578063c52861f214610caf576104e3565b80639976cf4511610200578063a537896f116101c4578063a537896f14610b8d578063ae91875414610baa578063b0d8e18114610bb2578063b7f8cf9b14610bd8578063b82f263d14610be0578063b83f91a214610bfd576104e3565b80639976cf4514610ad45780639dd233d214610b00578063a20baee614610994578063a3a6401714610b08578063a3f4df7e14610b10576104e3565b8063814a0a4511610252578063814a0a4514610a6557806382fe3eb914610a8e578063887105d314610ab45780638da5cb5b14610abc5780638f32d59b14610ac457806396d711ff14610acc576104e3565b8063795d26c3146109c9578063797250e3146109d15780637985c5e4146109d95780637f7dde4a14610a55578063807d138d14610a5d576104e3565b8063477d66cf116103c057806361ec893d116103325780636ef64338116102f65780636ef64338146108f957806372423c171461096857806372fe25aa14610994578063741bef1a1461099c578063756b253e146109a4578063794e5724146109c1576104e3565b806361ec893d14610889578063631203b01461089157806364cee260146108ae578063653d46e7146108d457806366ca4a21146108f1576104e3565b80634ff81443116103845780634ff81443146107ed57806354062a451461080a5780635733d58f146108275780635d6b480f1461082f5780635d8c96091461085b5780635dba4c4a14610881576104e3565b8063477d66cf14610769578063480cd578146107865780634870dd9a146107ac57806349eefeee146107b45780634e443d9e146107bc576104e3565b80631d08837b11610459578063240926691161041d578063240926691461071b57806328d28b5b146107235780632b11551a1461072b5780632e86bbd8146107335780632f8655681461073b5780633cc7422514610761576104e3565b80631d08837b146106255780631e8b1c2b146106425780631f68f20a146106e55780631f7af3c3146106ed57806321e37801146106f5576104e3565b8063105bb15c116104ab578063105bb15c1461055e57806312610e921461056657806315d549f1146105925780631673c79a146105b857806318f2817a146105f75780631bf435551461061d576104e3565b8063043782fb146104e8578063048c661d146104f2578063060d49a314610516578063071a7541146105305780630b07655714610538575b600080fd5b6104f0610e7a565b005b6104fa610e80565b604080516001600160a01b039092168252519081900360200190f35b61051e610e8f565b60408051918252519081900360200190f35b61051e610e95565b6104f06004803603602081101561054e57600080fd5b50356001600160a01b0316610e9a565b61051e610ec2565b61051e6004803603604081101561057c57600080fd5b506001600160a01b038135169060200135610ed1565b61051e600480360360208110156105a857600080fd5b50356001600160a01b0316610f29565b6105de600480360360208110156105ce57600080fd5b50356001600160a01b0316610f4d565b6040805192835260208301919091528051918290030190f35b61051e6004803603602081101561060d57600080fd5b50356001600160a01b0316610f66565b61051e610f79565b6104f06004803603602081101561063b57600080fd5b5035610f86565b6104f06004803603602081101561065857600080fd5b81019060208101813564010000000081111561067357600080fd5b82018360208201111561068557600080fd5b803590602001918460208302840111640100000000831117156106a757600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929550610f8b945050505050565b61051e61132d565b6104fa611333565b61051e6004803603602081101561070b57600080fd5b50356001600160a01b0316611342565b61051e61136c565b61051e61137f565b61051e611390565b61051e61139d565b6104f06004803603602081101561075157600080fd5b50356001600160a01b03166113aa565b6104fa611410565b61051e6004803603602081101561077f57600080fd5b503561141f565b61051e6004803603602081101561079c57600080fd5b50356001600160a01b0316611432565b61051e611450565b61051e611455565b6107d9600480360360208110156107d257600080fd5b503561145b565b604080519115158252519081900360200190f35b61051e6004803603602081101561080357600080fd5b5035611466565b61051e6004803603602081101561082057600080fd5b5035611471565b61051e61147c565b6104f06004803603604081101561084557600080fd5b506001600160a01b038135169060200135611488565b61051e6004803603602081101561087157600080fd5b50356001600160a01b03166114d4565b6104f061159a565b61051e611600565b61051e600480360360208110156108a757600080fd5b5035611605565b61051e600480360360208110156108c457600080fd5b50356001600160a01b0316611612565b6104f0600480360360208110156108ea57600080fd5b5035611630565b61051e6119de565b61091f6004803603602081101561090f57600080fd5b50356001600160a01b03166119f0565b6040518086815260200185815260200184815260200183600481111561094157fe5b60ff1681526001600160801b03909216602083015250604080519182900301945092505050f35b61051e6004803603604081101561097e57600080fd5b506001600160a01b038135169060200135611a2a565b61051e611a87565b6104fa611a93565b6104fa600480360360208110156109ba57600080fd5b5035611aa2565b61051e611ac9565b61051e611ad5565b61051e611bd6565b6104f060048036036101608110156109f057600080fd5b506001600160a01b038135811691602081013582169160408201358116916060810135821691608082013581169160a081013582169160c082013581169160e08101358216916101008201358116916101208101358216916101409091013516611bdc565b6104fa611fd5565b61051e611fe4565b61051e60048036036060811015610a7b57600080fd5b5080359060208101359060400135611fea565b6104f060048036036020811015610aa457600080fd5b50356001600160a01b0316612001565b61051e612012565b6104fa6120ce565b6107d96120dd565b61051e6120ee565b61051e60048036036040811015610aea57600080fd5b506001600160a01b0381351690602001356120f4565b61051e612127565b6104fa61212d565b610b1861213c565b6040805160208082528351818301528351919283929083019185019080838360005b83811015610b52578181015183820152602001610b3a565b50505050905090810190601f168015610b7f5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61051e60048036036020811015610ba357600080fd5b5035612164565b6104fa61216f565b61051e60048036036020811015610bc857600080fd5b50356001600160a01b031661217e565b6104fa6121a5565b61051e60048036036020811015610bf657600080fd5b50356121b4565b6104fa6121bf565b610c2b60048036036020811015610c1b57600080fd5b50356001600160a01b03166121ce565b604080519485526020850193909352838301919091526060830152519081900360800190f35b6104f0600480360360e0811015610c6757600080fd5b508035906001600160a01b03602082013581169160408101358216916060820135169060808101359060a08101359060c00135612232565b61051e6129d4565b61051e6129da565b61051e6129e1565b61051e6129f3565b6104f060048036036020811015610cd557600080fd5b50356001600160a01b03166129ff565b61051e60048036036040811015610cfb57600080fd5b506001600160a01b038135169060200135612a12565b61051e612a31565b61051e60048036036040811015610d2f57600080fd5b506001600160a01b038135169060200135612a37565b61051e612a6d565b61051e60048036036020811015610d6357600080fd5b5035612a7a565b61051e60048036036020811015610d8057600080fd5b50356001600160a01b0316612a8d565b6104fa60048036036020811015610da657600080fd5b5035612aa8565b61051e612ad2565b61051e612b02565b6104f060048036036020811015610dd357600080fd5b50356001600160a01b0316612b08565b6107d960048036036020811015610df957600080fd5b50356001600160a01b0316612b15565b61051e60048036036020811015610e1f57600080fd5b50356001600160a01b0316612b73565b61051e612ba4565b6104f060048036036020811015610e4d57600080fd5b50356001600160a01b0316612bb1565b61051e60048036036020811015610e7357600080fd5b5035612bc2565b42600d55565b6005546001600160a01b031681565b60175481565b600281565b610ea2612bd3565b600054600154610ebf916001600160a01b03908116911683612c1e565b50565b6000610ecc612d40565b905090565b6000610edb612bd3565b6001600160a01b0383166000908152600e6020526040812054610f04908463ffffffff612d5c16565b6001600160a01b0385166000908152600e602052604090208190559150505b92915050565b6000610f33612bd3565b610f3c82612d9e565b6001600160801b031690505b919050565b6014602052600090815260409020805460019091015482565b6000610f70612bd3565b610f2382612e38565b686194049f30f720000081565b600c55565b8051610fc85760405162461bcd60e51b8152600401808060200182810382526036815260200180615b566036913960400191505060405180910390fd5b6000546001546005546001600160a01b03928316929182169116610fea61584e565b610ff261587f565b600260009054906101000a90046001600160a01b03166001600160a01b0316630fdb11cf6040518163ffffffff1660e01b8152600401602060405180830381600087803b15801561104257600080fd5b505af1158015611056573d6000803e3d6000fd5b505050506040513d602081101561106c57600080fd5b50518252604080516326fcbc6b60e21b815290516001600160a01b03851691639bf2f1ac916004808301926020929190829003018186803b1580156110b057600080fd5b505afa1580156110c4573d6000803e3d6000fd5b505050506040513d60208110156110da57600080fd5b5051602083015281516110ec90612ee7565b15801560408401526111145761110d8585846000015185602001518a612f04565b905061112c565b6111298585846000015185602001518a61311f565b90505b600081602001511161116f5760405162461bcd60e51b8152600401808060200182810382526022815260200180615c4a6022913960400191505060405180910390fd5b826001600160a01b031663335525ad82608001518360a001516040518363ffffffff1660e01b81526004018083815260200182815260200192505050600060405180830381600087803b1580156111c557600080fd5b505af11580156111d9573d6000803e3d6000fd5b505050506111f185858360c001518460e001516131e7565b6101008101511561127057600754610100820151604080516364a197f360e01b81526001600160a01b039384166004820152602481019290925251918716916364a197f39160448082019260009290919082900301818387803b15801561125757600080fd5b505af115801561126b573d6000803e3d6000fd5b505050505b61127e858260400151613468565b60208101516060830152610100810151604082015182516112b692916112aa919063ffffffff612d5c16565b9063ffffffff612d5c16565b608080840182905260608085015160408086015186840151825193845260208401969096528282015291810193909352517f4152c73dd2614c4f9fc35e8c9cf16013cd588c75b49a4c1673ecffdcbcda94039281900390910190a16113258533836060015184604001516135af565b505050505050565b600c5481565b6009546001600160a01b031681565b6001600160a01b0381166000908152600e602052604081206003015460ff166004811115610f2357fe5b6064670de0b6b3a76400005b0460050281565b6103e8670de0b6b3a7640000611378565b6000610ecc600c546136b2565b680ad78ebc5ac620000081565b6113b3816136e8565b6040805160018082528183019092526060916020808301908036833701905050905081816000815181106113e357fe5b60200260200101906001600160a01b031690816001600160a01b03168152505061140c81610f8b565b5050565b6001546001600160a01b031681565b6000610f2361142c6119de565b83613750565b6001600160a01b03166000908152600e602052604090206001015490565b60c881565b60155490565b6000610f2382612ee7565b6000610f238261376e565b6000610f2382613789565b6714d1120d7b16000081565b611490612bd3565b80600481111561149c57fe5b6001600160a01b0383166000908152600e60205260409020600301805460ff191660018360048111156114cb57fe5b02179055505050565b6001600160a01b0381166000908152601460205260408120546012548290611502908363ffffffff612d5c16565b905080158061153b575060016001600160a01b0385166000908152600e602052604090206003015460ff16600481111561153857fe5b14155b1561154b57600092505050610f48565b6001600160a01b0384166000908152600e602052604081206002015490611590670de0b6b3a7640000611584848663ffffffff6137a416565b9063ffffffff6137fd16565b9695505050505050565b6115a2612bd3565b60006115ac61383f565b9050670de0b6b3a76400008111156115c057fe5b600c8190556040805182815290517fc454ee9b76c52f782a256af821b857ca6e125d1e3333bcede402fec2bed9600c9181900360200190a1610ebf613883565b603c81565b6000610f2361142c612ba4565b6001600160a01b03166000908152600e602052604090206002015490565b6116386158cb565b506040805160e081018252600080546001600160a01b0390811683526001548116602084015292820181905260608201819052600b548316608083015260a0820181905260c082015260055490911661168f61584e565b61169761587f565b600260009054906101000a90046001600160a01b03166001600160a01b0316630fdb11cf6040518163ffffffff1660e01b8152600401602060405180830381600087803b1580156116e757600080fd5b505af11580156116fb573d6000803e3d6000fd5b505050506040513d602081101561171157600080fd5b50518252604080516326fcbc6b60e21b815290516001600160a01b03851691639bf2f1ac916004808301926020929190829003018186803b15801561175557600080fd5b505afa158015611769573d6000803e3d6000fd5b505050506040513d602081101561177f57600080fd5b50516020830152815161179190612ee7565b15801560408401526117b8576117b18483600001518460200151886138df565b90506117d8565b6117d5846000015185602001518460000151856020015189613c72565b90505b600081602001511161181b5760405162461bcd60e51b8152600401808060200182810382526022815260200180615c4a6022913960400191505060405180910390fd5b826001600160a01b031663335525ad82608001518360a001516040518363ffffffff1660e01b81526004018083815260200182815260200192505050600060405180830381600087803b15801561187157600080fd5b505af1158015611885573d6000803e3d6000fd5b505050506118a5846000015185602001518360c001518460e001516131e7565b61010081015115611926578351600754610100830151604080516364a197f360e01b81526001600160a01b03938416600482015260248101929092525191909216916364a197f391604480830192600092919082900301818387803b15801561190d57600080fd5b505af1158015611921573d6000803e3d6000fd5b505050505b61193884600001518260400151613468565b602081015160608301526101008101516040820151825161196492916112aa919063ffffffff612d5c16565b608080840182905260608085015160408086015186840151825193845260208401969096528282015291810193909352517f4152c73dd2614c4f9fc35e8c9cf16013cd588c75b49a4c1673ecffdcbcda94039281900390910190a16119d7846000015133836060015184604001516135af565b5050505050565b6000610ecc6119eb61383f565b613da4565b600e6020526000908152604090208054600182015460028301546003909301549192909160ff81169061010090046001600160801b031685565b6000611a34612bd3565b6001600160a01b0383166000908152600e6020526040812060010154611a60908463ffffffff613dcb16565b6001600160a01b0385166000908152600e6020526040902060010181905591505092915050565b670de0b6b3a764000081565b6002546001600160a01b031681565b60158181548110611aaf57fe5b6000918252602090912001546001600160a01b0316905081565b670f43fc2c04ee000081565b6000805460408051632f5a97e560e11b8152905183926001600160a01b031691635eb52fca916004808301926020929190829003018186803b158015611b1a57600080fd5b505afa158015611b2e573d6000803e3d6000fd5b505050506040513d6020811015611b4457600080fd5b505160015460408051632f5a97e560e11b815290519293506000926001600160a01b0390921691635eb52fca91600480820192602092909190829003018186803b158015611b9157600080fd5b505afa158015611ba5573d6000803e3d6000fd5b505050506040513d6020811015611bbb57600080fd5b50519050611bcf828263ffffffff613dcb16565b9250505090565b60165481565b611be46120dd565b611c35576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b611c3e8b613e25565b611c478a613e25565b611c5089613e25565b611c5988613e25565b611c6287613e25565b611c6b86613e25565b611c7485613e25565b611c7d84613e25565b611c8683613e25565b611c8f82613e25565b611c9881613e25565b600480546001600160a01b03199081166001600160a01b038e81169182179093556000805483168e85161790556001805483168d85161790556005805483168c85161790556006805483168b85161790556007805483168a8516179055600280548316898516179055600880548316888516179055600b80548316878516179055600980548316868516179055600a805490921692841692909217905560408051918252517f3ca631ffcd2a9b5d9ae18543fc82f58eb4ca33af9e6ab01b7a8e95331e6ed985916020908290030190a1604080516001600160a01b038c16815290517f78f058b189175430c48dc02699e3a0031ea4ff781536dc2fab847de4babdd8829181900360200190a1604080516001600160a01b038b16815290517f5ee0cae2f063ed938bb55046f6a932fb6ae792bf43624806bb90abe68a50be9b9181900360200190a1604080516001600160a01b038a16815290517f82966d27eea39b038ee0fa30cd16532bb24f6e65d31cb58fb227aa5766cdcc7f9181900360200190a1604080516001600160a01b038916815290517fcfb07d791fcafc032b35837b50eb84b74df518cf4cc287e8084f47630fa70fa09181900360200190a1604080516001600160a01b038816815290517fe67f36a6e961157d6eff83b91f3af5a62131ceb6f04954ef74f51c1c05e7f88d9181900360200190a1604080516001600160a01b038716815290517f8c537274438aa850a330284665d81a85dd38267d09e4050d416bfc94142db2649181900360200190a1604080516001600160a01b038616815290517f227eec0ec317af6ab1a9587ffa1c84332522eb4c583a908f89babc05f8f339bd9181900360200190a1604080516001600160a01b038516815290517f65f4cf077bc01e4742eb5ad98326f6e95b63548ea24b17f8d5e823111fe788009181900360200190a1604080516001600160a01b038416815290517f2ac6e99201ddc1b6eac6f8f28662d1ecafee131f6eb98c29de54528a9888a7d19181900360200190a1604080516001600160a01b038316815290517f756ebc192164c295bba134b5aacd72cc7aff8098a670d1f0a5f6b3a0b4ce67079181900360200190a1611fc8613ed4565b5050505050505050505050565b6000546001600160a01b031681565b60105481565b6000611ff7848484613f1e565b90505b9392505050565b612009612bd3565b610ebf81613f4e565b6000805460408051630a7b61df60e11b8152905183926001600160a01b0316916314f6c3be916004808301926020929190829003018186803b15801561205757600080fd5b505afa15801561206b573d6000803e3d6000fd5b505050506040513d602081101561208157600080fd5b505160015460408051630a7b61df60e11b815290519293506000926001600160a01b03909216916314f6c3be91600480820192602092909190829003018186803b158015611b9157600080fd5b6003546001600160a01b031690565b6003546001600160a01b0316331490565b60115481565b60006120fe612bd3565b6001600160a01b0383166000908152600e6020526040812054610f04908463ffffffff613dcb16565b60125481565b600a546001600160a01b031681565b6040518060400160405280600c81526020016b2a3937bb32a6b0b730b3b2b960a11b81525081565b6000610f2382613fb9565b600b546001600160a01b031681565b600080600061218c84613fc0565b91509150600061219c8383614046565b95945050505050565b6004546001600160a01b031681565b6000610f238261407b565b6008546001600160a01b031681565b6001600160a01b0381166000908152600e6020526040812080546001909101549091806121fa85612b73565b9150612205856114d4565b9050612217848363ffffffff613dcb16565b9350612229838263ffffffff613dcb16565b92509193509193565b61223a6158cb565b506040805160e0810182526000546001600160a01b03908116825260015481166020830152600854811692820192909252600a5482166060820152600b5482166080820152600754821660a082015260065490911660c082015261229c615907565b6122a5836140a7565b6122ad614101565b600260009054906101000a90046001600160a01b03166001600160a01b0316630fdb11cf6040518163ffffffff1660e01b8152600401602060405180830381600087803b1580156122fd57600080fd5b505af1158015612311573d6000803e3d6000fd5b505050506040513d602081101561232757600080fd5b505160c08201819052612339906141c5565b61234289614214565b6123518260400151338b614253565b612359611ad5565b60e0820181905260408084015181516370a0823160e01b815233600482015291516001600160a01b03909116916370a08231916024808301926020929190829003018186803b1580156123ab57600080fd5b505afa1580156123bf573d6000803e3d6000fd5b505050506040513d60208110156123d557600080fd5b505111156123df57fe5b888152608082015160c08201516000916123fa918b90614313565b15612406575087612530565b82608001516001600160a01b0316634d6228316040518163ffffffff1660e01b815260040160206040518083038186803b15801561244357600080fd5b505afa158015612457573d6000803e3d6000fd5b505050506040513d602081101561246d57600080fd5b505190505b6001600160a01b0381161580159061249e5750670f43fc2c04ee000061249c828460c00151612a12565b105b156125305782608001516001600160a01b031663b72703ac826040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b1580156124fd57600080fd5b505afa158015612511573d6000803e3d6000fd5b505050506040513d602081101561252757600080fd5b50519050612472565b8461253b5760001994505b6001600160a01b038116158015906125535750815115155b801561255f5750600085115b1561269357848060019003955050600083608001516001600160a01b031663b72703ac836040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b1580156125c957600080fd5b505afa1580156125dd573d6000803e3d6000fd5b505050506040513d60208110156125f357600080fd5b5051845160208601519192506126099184612c1e565b61261161594c565b612628858486600001518760c001518e8e8e614486565b905080604001511561263b575050612693565b805160208501516126519163ffffffff613dcb16565b60208086019190915281015160408501516126719163ffffffff613dcb16565b6040850152805184516126899163ffffffff612d5c16565b845250905061253b565b60008260400151116126d65760405162461bcd60e51b81526004018080602001828103825260298152602001806159f96029913960400191505060405180910390fd5b6126ed82604001518360c001518460e00151614739565b506126fb82604001516147e1565b6060830181905260408301516127129190866147ee565b82600001516001600160a01b03166364a197f3846060015184606001516040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b15801561277e57600080fd5b505af1158015612792573d6000803e3d6000fd5b5050505082606001516001600160a01b0316631e3e2a1a83606001516040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b1580156127e457600080fd5b505af11580156127f8573d6000803e3d6000fd5b505050506060820151604083015161280f91612d5c565b8260800181815250507f43a3f4082a4dbc33d78e317d2497d3a730bc7fc3574159dcea1056e62e5d9ad88a8360200151846040015185606001516040518085815260200184815260200183815260200182815260200194505050505060405180910390a182604001516001600160a01b0316639dc29fac3384602001516040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b1580156128db57600080fd5b505af11580156128ef573d6000803e3d6000fd5b5050505082600001516001600160a01b03166338d995a883602001516040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b15801561294157600080fd5b505af1158015612955573d6000803e3d6000fd5b505084516080850151604080516364a197f360e01b81523360048201526024810192909252516001600160a01b0390921693506364a197f3925060448082019260009290919082900301818387803b1580156129b057600080fd5b505af11580156129c4573d6000803e3d6000fd5b5050505050505050505050505050565b600f5481565b6212750081565b6000610ecc6129ee61383f565b6136b2565b670ddd4b8c6c7d70d881565b612a07612bd3565b610ebf816002614863565b6000806000612a2085613fc0565b915091506000611590838387613f1e565b600d5481565b6000612a41612bd3565b6001600160a01b0383166000908152600e6020526040812060010154611a60908463ffffffff612d5c16565b680ad78ebc5ac620000090565b6000610f23612a876129e1565b8361497c565b6001600160a01b03166000908152600e602052604090205490565b600060158281548110612ab757fe5b6000918252602090912001546001600160a01b031692915050565b6000612adc61383f565b600c55670de0b6b3a7640000600c541115612af357fe5b612afb613883565b50600c5490565b60135481565b60155461140c82826149db565b600060016001600160a01b0383166000908152600e602052604090206003015460ff166004811115612b4357fe5b14612b5057506000610f48565b506012546001600160a01b03821660009081526014602052604090205410919050565b6001600160a01b0381166000908152601460205260408120600101546013548290611502908363ffffffff612d5c16565b6000610ecc600c54613da4565b612bb9612bd3565b610ebf81614b82565b6000612bcd826147e1565b50919050565b6004546001600160a01b03163314612c1c5760405162461bcd60e51b815260040180806020018281038252603b815260200180615b1b603b913960400191505060405180910390fd5b565b612c2781612b15565b15612d3b57612c35816136e8565b6000612c40826114d4565b90506000612c4d83612b73565b6001600160a01b0384166000908152600e6020526040902060010154909150612c7c908363ffffffff613dcb16565b6001600160a01b0384166000908152600e60205260409020600181019190915554612cad908263ffffffff613dcb16565b6001600160a01b0384166000908152600e6020526040902055612ccf83613f4e565b612cdb85858385614bd2565b6001600160a01b0383166000818152600e60209081526040808320805460018201546002909201548351918252938101919091528082019290925260608201929092529051600080516020615afb8339815191529181900360800190a250505b505050565b6000610ecc603c611584600d5442612d5c90919063ffffffff16565b6000611ffa83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250614cd4565b601580546001808201835560008381527f55f448fdea98c4d29eb340757ef0a66cd03dbb9538908a6a81d96026b71ec47590920180546001600160a01b0319166001600160a01b03861617905591549091612df99190612d5c565b6001600160a01b03929092166000908152600e602052604090206003018054610100600160881b0319166101006001600160801b038516021790555090565b6001600160a01b0381166000908152600e60205260408120600101548190612e5f90614d6b565b6001600160a01b0384166000908152600e60205260409020600201805490829055600f5491925090612ea9908390612e9d908463ffffffff612d5c16565b9063ffffffff613dcb16565b600f81905560408051918252517f6bac5e0eb3c44eb03a60ab11ec3a2c051771616aecadbcfff2630aabae5203829181900360200190a15092915050565b600080612ef38361407b565b6714d1120d7b160000119392505050565b612f0c61587f565b612f1461596f565b612f1c61587f565b84825260006080830152612f2e611ad5565b60a0830152612f3b612012565b60c0830152600060208301525b8351826020015110156131145783826020015181518110612f6557fe5b6020908102919091018101516001600160a01b0316606084018190526000908152600e909152604090206003015460019060ff166004811115612fa457fe5b14612fae57613104565b612fbc826060015187612a12565b604083015260808201516130a657670f43fc2c04ee0000826040015110158015612fe557508151155b15612fef57613104565b60006130048360c001518460a0015189613f1e565b90506130218989856060015186604001518760000151868d614da7565b6080810151845191935061303b919063ffffffff612d5c16565b8352608082015160a08401516130569163ffffffff612d5c16565b60a08085019190915282015160c08401516130769163ffffffff612d5c16565b60c084015261308584836150da565b935061309a8360c001518460a00151896151f1565b15608084015250613104565b816080015180156130c25750670f43fc2c04ee00008260400151105b15613104576130db888884606001518560000151615212565b608081015183519192506130f5919063ffffffff612d5c16565b825261310183826150da565b92505b6020820180516001019052612f48565b505095945050505050565b61312761587f565b61312f61596f565b61313761587f565b848252600060208301525b835182602001511015613114578382602001518151811061315f57fe5b60209081029190910101516001600160a01b0316606083018190526131849087612a12565b60408301819052670f43fc2c04ee000011156131d7576131ae888884606001518560000151615212565b608081015183519192506131c8919063ffffffff612d5c16565b82526131d483826150da565b92505b6020820180516001019052613142565b816131f157613462565b60165460009061321390612e9d84670de0b6b3a764000063ffffffff6137a416565b90506000613238601754612e9d670de0b6b3a7640000876137a490919063ffffffff16565b90506000613251600f54846137fd90919063ffffffff16565b9050600061326a600f54846137fd90919063ffffffff16565b9050613291613284600f54846137a490919063ffffffff16565b859063ffffffff612d5c16565b601655600f546132b9906132ac90839063ffffffff6137a416565b849063ffffffff612d5c16565b6017556012546132cf908363ffffffff613dcb16565b6012556013546132e5908263ffffffff613dcb16565b601381905560125460408051918252602082019290925281517f9f8bc8ab0daf5bceef75ecfd2085d1fcc6548c657ea970d9a23a60610d0737e3929181900390910190a1876001600160a01b03166338d995a8876040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b15801561336f57600080fd5b505af1158015613383573d6000803e3d6000fd5b50505050866001600160a01b031663cfb9329a876040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b1580156133cd57600080fd5b505af11580156133e1573d6000803e3d6000fd5b50505050876001600160a01b03166364a197f388876040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b15801561344557600080fd5b505af1158015613459573d6000803e3d6000fd5b50505050505050505b50505050565b600f546010819055506000826001600160a01b03166314f6c3be6040518163ffffffff1660e01b815260040160206040518083038186803b1580156134ac57600080fd5b505afa1580156134c0573d6000803e3d6000fd5b505050506040513d60208110156134d657600080fd5b505160015460408051630a7b61df60e11b815290519293506000926001600160a01b03909216916314f6c3be91600480820192602092909190829003018186803b15801561352357600080fd5b505afa158015613537573d6000803e3d6000fd5b505050506040513d602081101561354d57600080fd5b5051905061356581612e9d848663ffffffff612d5c16565b601181905560105460408051918252602082019290925281517f51bf4c63ec3cba9d03d43238abbdd979dd91bd16d9895c74ceea9118c7baaf60929181900390910190a150505050565b811561362e5760085460065460408051631062c15f60e11b81526001600160a01b039283166004820152868316602482015260448101869052905191909216916320c582be91606480830192600092919082900301818387803b15801561361557600080fd5b505af1158015613629573d6000803e3d6000fd5b505050505b801561346257836001600160a01b03166364a197f384836040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b15801561369457600080fd5b505af11580156136a8573d6000803e3d6000fd5b5050505050505050565b6000610f236136da836103e8670de0b6b3a76400005b04600502613dcb90919063ffffffff16565b670de0b6b3a7640000615381565b60016001600160a01b0382166000908152600e602052604090206003015460ff16600481111561371457fe5b14610ebf5760405162461bcd60e51b815260040180806020018281038252602f815260200180615c6c602f913960400191505060405180910390fd5b6000611ffa670de0b6b3a7640000611584858563ffffffff6137a416565b6000610f2382680ad78ebc5ac620000063ffffffff613dcb16565b6000610f2382680ad78ebc5ac620000063ffffffff612d5c16565b6000826137b357506000610f23565b828202828482816137c057fe5b0414611ffa5760405162461bcd60e51b8152600401808060200182810382526021815260200180615a8c6021913960400191505060405180910390fd5b6000611ffa83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250615397565b60008061384a612d40565b90506000613860670ddd4b8c6c7d70d8836153fc565b9050611bcf670de0b6b3a764000061158483600c546137a490919063ffffffff16565b600061389a600d5442612d5c90919063ffffffff16565b9050603c8110610ebf5742600d81905560408051918252517f860f8d2f0c74dd487e89e2883e3b25b8159ce1e1b3433a291cba7b82c508f3bc9181900360200190a150565b6138e761587f565b6138ef61596f565b6138f761587f565b84825260006080830152613909611ad5565b60a0830152613916612012565b8260c001818152505086608001516001600160a01b0316634d6228316040518163ffffffff1660e01b815260040160206040518083038186803b15801561395c57600080fd5b505afa158015613970573d6000803e3d6000fd5b505050506040513d602081101561398657600080fd5b50516001600160a01b039081166060840152608088015160408051631e22314360e01b815290516000939290921691631e22314391600480820192602092909190829003018186803b1580156139db57600080fd5b505afa1580156139ef573d6000803e3d6000fd5b505050506040513d6020811015613a0557600080fd5b50516000602085015290505b848360200151108015613a3a5750806001600160a01b031683606001516001600160a01b031614155b15613c6757600088608001516001600160a01b031663b72703ac85606001516040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b158015613a9f57600080fd5b505afa158015613ab3573d6000803e3d6000fd5b505050506040513d6020811015613ac957600080fd5b50516060850151909150613add9089612a12565b60408501526080840151613bd957670f43fc2c04ee0000846040015110158015613b0657508351155b15613b115750613c67565b6000613b268560c001518660a001518b613f1e565b8a5160208c0151606088015160408901518951949550613b4794868f614da7565b60808101518651919550613b61919063ffffffff612d5c16565b8552608084015160a0860151613b7c9163ffffffff612d5c16565b8560a0018181525050613ba98461010001516112aa8660a001518860c00151612d5c90919063ffffffff16565b60c0860152613bb886856150da565b9550613bcd8560c001518660a001518b6151f1565b15608086015250613c49565b83608001518015613bf55750670f43fc2c04ee00008460400151105b15613c4357613c1689600001518a6020015186606001518760000151615212565b60808101518551919450613c30919063ffffffff612d5c16565b8452613c3c85846150da565b9450613c49565b50613c67565b6001600160a01b031660608401526020830180516001019052613a11565b505050949350505050565b613c7a61587f565b613c8261596f565b613c8a61587f565b600b54858352600060208401526001600160a01b03165b8483602001511015613d9857806001600160a01b0316634d6228316040518163ffffffff1660e01b815260040160206040518083038186803b158015613ce657600080fd5b505afa158015613cfa573d6000803e3d6000fd5b505050506040513d6020811015613d1057600080fd5b50516001600160a01b031660608401819052613d2c9088612a12565b60408401819052670f43fc2c04ee00001115613d8357613d56898985606001518660000151615212565b60808101518451919350613d70919063ffffffff612d5c16565b8352613d7c84836150da565b9350613d88565b613d98565b6020830180516001019052613ca1565b50505095945050505050565b6000610f23613dbe836103e8670de0b6b3a76400006136c8565b66b1a2bc2ec50000615381565b600082820183811015611ffa576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b6001600160a01b038116613e80576040805162461bcd60e51b815260206004820152601e60248201527f4163636f756e742063616e6e6f74206265207a65726f20616464726573730000604482015290519081900360640190fd5b803b8061140c576040805162461bcd60e51b815260206004820181905260248201527f4163636f756e7420636f64652073697a652063616e6e6f74206265207a65726f604482015290519081900360640190fd5b6003546040516000916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600380546001600160a01b0319169055565b60008215613f45576000613f3c84611584878663ffffffff6137a416565b9150611ffa9050565b50600019611ffa565b601280546001600160a01b0383166000908152601460209081526040918290209283556013546001909301839055925481519081529283019190915280517fc437f324d85e369394148dd9d62f98f534b382e01ed3dd2eb98138fb6d3ab49a9281900390910190a150565b60c8900490565b6000806000613fce846114d4565b90506000613fdb85612b73565b6001600160a01b0386166000908152600e60205260408120600101549192509061400b908463ffffffff613dcb16565b6001600160a01b0387166000908152600e602052604081205491925090614038908463ffffffff613dcb16565b919550909350505050915091565b600081156140725761406b826115848568056bc75e2d6310000063ffffffff6137a416565b9050610f23565b50600019610f23565b600080614086612012565b90506000614092611ad5565b905061409f828286613f1e565b949350505050565b6611c37937e0800081108015906140c65750670de0b6b3a76400008111155b610ebf5760405162461bcd60e51b8152600401808060200182810382526030815260200180615bf06030913960400191505060405180910390fd5b60095460408051631e425be160e11b815290516000926001600160a01b031691633c84b7c2916004808301926020929190829003018186803b15801561414657600080fd5b505afa15801561415a573d6000803e3d6000fd5b505050506040513d602081101561417057600080fd5b50519050614187816212750063ffffffff613dcb16565b421015610ebf5760405162461bcd60e51b8152600401808060200182810382526040815260200180615a4c6040913960400191505060405180910390fd5b670f43fc2c04ee00006141d78261407b565b1015610ebf5760405162461bcd60e51b815260040180806020018281038252602a815260200180615c20602a913960400191505060405180910390fd5b60008111610ebf5760405162461bcd60e51b815260040180806020018281038252602e815260200180615b8c602e913960400191505060405180910390fd5b80836001600160a01b03166370a08231846040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b1580156142aa57600080fd5b505afa1580156142be573d6000803e3d6000fd5b505050506040513d60208110156142d457600080fd5b50511015612d3b5760405162461bcd60e51b815260040180806020018281038252604e815260200180615aad604e913960600191505060405180910390fd5b60006001600160a01b03831615806143aa5750836001600160a01b0316635dbe47e8846040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b15801561437c57600080fd5b505afa158015614390573d6000803e3d6000fd5b505050506040513d60208110156143a657600080fd5b5051155b806143c55750670f43fc2c04ee00006143c38484612a12565b105b156143d257506000611ffa565b6000846001600160a01b031663765e0159856040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b15801561442a57600080fd5b505afa15801561443e573d6000803e3d6000fd5b505050506040513d602081101561445457600080fd5b505190506001600160a01b038116158061219c5750670f43fc2c04ee000061447c8285612a12565b1095945050505050565b61448e61594c565b6001600160a01b0387166000908152600e60205260409020546144cb9087906144c690680ad78ebc5ac620000063ffffffff612d5c16565b615381565b8082526144ec90869061158490670de0b6b3a764000063ffffffff6137a416565b60208083019190915281516001600160a01b0389166000908152600e909252604082205461451f9163ffffffff612d5c16565b6020808401516001600160a01b038b166000908152600e909252604082206001015492935090916145559163ffffffff612d5c16565b9050680ad78ebc5ac62000008214156145ee5761457189614b82565b61457c896004614863565b6145918a8a680ad78ebc5ac6200000846154a7565b886001600160a01b0316600080516020615afb83398151915260008060006003604051808581526020018481526020018381526020018260038111156145d357fe5b60ff16815260200194505050505060405180910390a261472b565b60006145fa8284614046565b9050848114158061461b5750686194049f30f720000061461984613789565b105b1561462f575050600160408301525061472e565b60808b01516040805163015f109360e51b81526001600160a01b038d81166004830152602482018590528a81166044830152898116606483015291519190921691632be2126091608480830192600092919082900301818387803b15801561469657600080fd5b505af11580156146aa573d6000803e3d6000fd5b5050506001600160a01b038b166000908152600e60205260409020848155600101839055506146d88a612e38565b506001600160a01b038a166000818152600e602090815260409182902060020154825187815291820186905281830152600360608201529051600080516020615afb8339815191529181900360800190a2505b50505b979650505050505050565b60008061474461383f565b9050600061475c84611584888863ffffffff6137a416565b9050600061478161477483600263ffffffff6137fd16565b849063ffffffff613dcb16565b905061479581670de0b6b3a7640000615381565b9050600081116147a157fe5b600c8190556040805182815290517fc454ee9b76c52f782a256af821b857ca6e125d1e3333bcede402fec2bed9600c9181900360200190a1611590613883565b6000610f23612a87611390565b600061480c8361158486670de0b6b3a764000063ffffffff6137a416565b905081811115613462576040805162461bcd60e51b815260206004820152601d60248201527f4665652065786365656465642070726f7669646564206d6178696d756d000000604482015290519081900360640190fd5b600081600481111561487157fe5b1415801561488b5750600181600481111561488857fe5b14155b61489157fe5b60155461489d8161565c565b6001600160a01b0383166000908152600e60205260409020600301805483919060ff191660018360048111156148cf57fe5b02179055506001600160a01b0383166000908152600e6020908152604080832060018082018590559084905560149092528220828155015561491183826149db565b600b5460408051631484968760e11b81526001600160a01b038681166004830152915191909216916329092d0e91602480830192600092919082900301818387803b15801561495f57600080fd5b505af1158015614973573d6000803e3d6000fd5b50505050505050565b60008061499b670de0b6b3a7640000611584868663ffffffff6137a416565b9050828110611ffa5760405162461bcd60e51b8152600401808060200182810382526036815260200180615bba6036913960400191505060405180910390fd5b6001600160a01b0382166000908152600e602052604081206003015460ff1690816004811115614a0757fe5b14158015614a2157506001816004811115614a1e57fe5b14155b614a2757fe5b6001600160a01b0383166000908152600e602052604081206003015461010090046001600160801b0316908390614a5f826001612d5c565b905080836001600160801b03161115614a7457fe5b600060158281548110614a8357fe5b600091825260209091200154601580546001600160a01b03909216925082916001600160801b038716908110614ab557fe5b600091825260208083209190910180546001600160a01b0319166001600160a01b03948516179055918316808252600e83526040918290206003018054610100600160881b0319166101006001600160801b038a169081029190911790915582519182529281019290925280517f02b04ae5f7be9ca7c103293a2aa15f3c339d15d6eda53b721fef7b0e609c831a9281900390910190a16015805480614b5757fe5b600082815260209020810160001990810180546001600160a01b031916905501905550505050505050565b6001600160a01b0381166000908152600e6020526040902060020154600f54614bb1908263ffffffff612d5c16565b600f55506001600160a01b03166000908152600e6020526040812060020155565b826001600160a01b03166338d995a8836040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b158015614c1857600080fd5b505af1158015614c2c573d6000803e3d6000fd5b50505050836001600160a01b031663cfb9329a836040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b158015614c7657600080fd5b505af1158015614c8a573d6000803e3d6000fd5b50505050826001600160a01b031663be41205f826040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b15801561369457600080fd5b60008184841115614d635760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015614d28578181015183820152602001614d10565b50505050905090810190601f168015614d555780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b60008060115460001415614d80575081610f23565b600060105411614d8c57fe5b611ffa601154611584601054866137a490919063ffffffff16565b614daf61587f565b614db76159b7565b601554600110614dc7575061472e565b614dd0876121ce565b60408501526020848101919091528401819052908352614def90613fb9565b60408301819052680ad78ebc5ac620000060608401526020830151614e199163ffffffff612d5c16565b8152670de0b6b3a76400008611614f2157614e3e898983602001518460400151614bd2565b614e4787614b82565b60006080830181905260a0830152815160c0830152805160e0830152614e6e876003614863565b866001600160a01b03166000805160206159d983398151915283600001518460200151600260405180848152602001838152602001826003811115614eaf57fe5b60ff168152602001935050505060405180910390a2866001600160a01b0316600080516020615afb8339815191526000806000600260405180858152602001848152602001838152602001826003811115614f0657fe5b60ff16815260200194505050505060405180910390a26150ce565b670de0b6b3a764000086118015614f3f5750670f43fc2c04ee000086105b15614f8f57614f58898983602001518460400151614bd2565b614f6187614b82565b81518151614f70919087615715565b60e086015260c085015260a08401526080830152614e6e876003614863565b670f43fc2c04ee00008610158015614fa657508386105b8015614fb3575081518510155b156150bd57614fcc898983602001518460400151614bd2565b84614fd357fe5b614fdc87614b82565b614fef8260000151836020015185615781565b9150614ffc876003614863565b6101008201511561507c5760075461010083015160408051633f10abab60e01b81526001600160a01b038b81166004830152602482019390935290519190921691633f10abab91604480830192600092919082900301818387803b15801561506357600080fd5b505af1158015615077573d6000803e3d6000fd5b505050505b866001600160a01b03166000805160206159d983398151915283600001518460a00151600260405180848152602001838152602001826003811115614eaf57fe5b6150c561587f565b915061472e9050565b50979650505050505050565b6150e261587f565b604080830151908401516150fb9163ffffffff613dcb16565b6040820152606080830151908401516151199163ffffffff613dcb16565b6060820152815160208401516151349163ffffffff613dcb16565b60208083019190915282015183516151519163ffffffff613dcb16565b81526080808301519084015161516c9163ffffffff613dcb16565b608082015260a0808301519084015161518a9163ffffffff613dcb16565b60a082015260c080830151908401516151a89163ffffffff613dcb16565b60c082015260e080830151908401516151c69163ffffffff613dcb16565b60e082015261010080830151908401516151e59163ffffffff613dcb16565b61010082015292915050565b6000806151ff858585613f1e565b6714d1120d7b1600001195945050505050565b61521a61587f565b6152226159b7565b61522b846121ce565b60408501908152602085810192835286019290925291845290519051615255918891889190614bd2565b61525e84614b82565b61526b8260200151613fb9565b60408301819052680ad78ebc5ac620000060608401526020830151600091615299919063ffffffff612d5c16565b90506152aa83600001518286615715565b60e087015260c086015260a085015260808401526152c9856003614863565b846001600160a01b03166000805160206159d98339815191528460000151856020015160016040518084815260200183815260200182600381111561530a57fe5b60ff168152602001935050505060405180910390a2846001600160a01b0316600080516020615afb833981519152600080600060016040518085815260200184815260200183815260200182600381111561536157fe5b60ff16815260200194505050505060405180910390a25050949350505050565b60008183106153905781611ffa565b5090919050565b600081836153e65760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315614d28578181015183820152602001614d10565b5060008385816153f257fe5b0495945050505050565b6000631f54050082111561541257631f54050091505b816154265750670de0b6b3a7640000610f23565b670de0b6b3a764000083835b600181111561549d57600281066154675761544d828361581b565b915061546081600263ffffffff6137fd16565b9050615498565b615471828461581b565b925061547d828361581b565b9150615495600261158483600163ffffffff612d5c16565b90505b615432565b611590828461581b565b6040808501516006548251632770a7eb60e21b81526001600160a01b039182166004820152602481018690529251911691639dc29fac91604480830192600092919082900301818387803b1580156154fe57600080fd5b505af1158015615512573d6000803e3d6000fd5b5050505083600001516001600160a01b03166338d995a8836040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b15801561556057600080fd5b505af1158015615574573d6000803e3d6000fd5b505050508360a001516001600160a01b0316633f10abab84836040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b1580156155dc57600080fd5b505af11580156155f0573d6000803e3d6000fd5b5050505083600001516001600160a01b03166364a197f38560a00151836040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b15801561369457600080fd5b6001811180156156da5750600b546040805163de8fa43160e01b815290516001926001600160a01b03169163de8fa431916004808301926020929190829003018186803b1580156156ac57600080fd5b505afa1580156156c0573d6000803e3d6000fd5b505050506040513d60208110156156d657600080fd5b5051115b610ebf5760405162461bcd60e51b815260040180806020018281038252602a815260200180615a22602a913960400191505060405180910390fd5b6000808080841561576b5761572a8786615381565b935061574087611584888763ffffffff6137a416565b9250615752878563ffffffff612d5c16565b9150615764868463ffffffff612d5c16565b9050615778565b5060009250829150859050845b93509350935093565b61578961587f565b8381526020810183905260006157b18361158487670f43fc2c04ee000063ffffffff6137a416565b90506157bc81613fb9565b60408301819052680ad78ebc5ac62000006060840152608083018690526157ea90829063ffffffff612d5c16565b60a08301526157ff848263ffffffff612d5c16565b61010083015250600060c0820181905260e08201529392505050565b60008061582e848463ffffffff6137a416565b905061409f670de0b6b3a7640000611584836706f05b59d3b20000613dcb565b6040518060a00160405280600081526020016000815260200160001515815260200160008152602001600081525090565b6040518061012001604052806000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081525090565b6040805160e081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c081019190915290565b60405180610100016040528060008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081525090565b604051806060016040528060008152602001600081526020016000151581525090565b6040518060e0016040528060008152602001600081526020016000815260200160006001600160a01b0316815260200160001515815260200160008152602001600081525090565b6040518060600160405280600081526020016000815260200160008152509056feea67486ed7ebe3eea8ab3390efd4a3c8aae48be5bea27df104a8af786c40843454726f76654d616e616765723a20556e61626c6520746f2072656465656d20616e7920616d6f756e7454726f76654d616e616765723a204f6e6c79206f6e652074726f766520696e207468652073797374656d54726f76654d616e616765723a20526564656d7074696f6e7320617265206e6f7420616c6c6f77656420647572696e6720626f6f747374726170207068617365536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7754726f76654d616e616765723a2052657175657374656420726564656d7074696f6e20616d6f756e74206d757374206265203c3d20757365722773204c55534420746f6b656e2062616c616e6365c3770d654ed33aeea6bf11ac8ef05d02a6a04ed4686dd2f624d853bbec43cc8b54726f76654d616e616765723a2043616c6c6572206973206e6f742074686520426f72726f7765724f7065726174696f6e7320636f6e747261637454726f76654d616e616765723a2043616c6c646174612061646472657373206172726179206d757374206e6f7420626520656d70747954726f76654d616e616765723a20416d6f756e74206d7573742062652067726561746572207468616e207a65726f54726f76654d616e616765723a2046656520776f756c642065617420757020616c6c2072657475726e656420636f6c6c61746572616c4d6178206665652070657263656e74616765206d757374206265206265747765656e20302e352520616e64203130302554726f76654d616e616765723a2043616e6e6f742072656465656d207768656e20544352203c204d435254726f76654d616e616765723a206e6f7468696e6720746f206c697175696461746554726f76654d616e616765723a2054726f766520646f6573206e6f74206578697374206f7220697320636c6f736564a264697066735822122003662565164cd9e72ac126874f797defe7bac2dc7f2360fe8cd27b870ec316d164736f6c634300060b0033", - "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106104e35760003560e01c8063795d26c31161028e578063b91af97c11610167578063d5b35635116100d9578063e2ac77b011610092578063e2ac77b014610de3578063f34862de14610e09578063f36b242514610e2f578063f92d343314610723578063fe2ba84814610e37578063febb33de14610e5d576104e3565b8063d5b3563514610d4d578063d66a255314610d6a578063d9a7244414610d90578063da303f1414610dad578063dba1c5f214610db5578063dc62a70214610dbd576104e3565b8063c7b554811161012b578063c7b5548114610cb7578063cbd138ae14610cbf578063d293c71014610ce5578063d380a37c14610d11578063d3d6f84314610d19578063d5205e4814610d45576104e3565b8063b91af97c14610c05578063bcd3752614610c51578063bf9befb114610c9f578063c35bc55014610ca7578063c52861f214610caf576104e3565b80639976cf4511610200578063a537896f116101c4578063a537896f14610b8d578063ae91875414610baa578063b0d8e18114610bb2578063b7f8cf9b14610bd8578063b82f263d14610be0578063b83f91a214610bfd576104e3565b80639976cf4514610ad45780639dd233d214610b00578063a20baee614610994578063a3a6401714610b08578063a3f4df7e14610b10576104e3565b8063814a0a4511610252578063814a0a4514610a6557806382fe3eb914610a8e578063887105d314610ab45780638da5cb5b14610abc5780638f32d59b14610ac457806396d711ff14610acc576104e3565b8063795d26c3146109c9578063797250e3146109d15780637985c5e4146109d95780637f7dde4a14610a55578063807d138d14610a5d576104e3565b8063477d66cf116103c057806361ec893d116103325780636ef64338116102f65780636ef64338146108f957806372423c171461096857806372fe25aa14610994578063741bef1a1461099c578063756b253e146109a4578063794e5724146109c1576104e3565b806361ec893d14610889578063631203b01461089157806364cee260146108ae578063653d46e7146108d457806366ca4a21146108f1576104e3565b80634ff81443116103845780634ff81443146107ed57806354062a451461080a5780635733d58f146108275780635d6b480f1461082f5780635d8c96091461085b5780635dba4c4a14610881576104e3565b8063477d66cf14610769578063480cd578146107865780634870dd9a146107ac57806349eefeee146107b45780634e443d9e146107bc576104e3565b80631d08837b11610459578063240926691161041d578063240926691461071b57806328d28b5b146107235780632b11551a1461072b5780632e86bbd8146107335780632f8655681461073b5780633cc7422514610761576104e3565b80631d08837b146106255780631e8b1c2b146106425780631f68f20a146106e55780631f7af3c3146106ed57806321e37801146106f5576104e3565b8063105bb15c116104ab578063105bb15c1461055e57806312610e921461056657806315d549f1146105925780631673c79a146105b857806318f2817a146105f75780631bf435551461061d576104e3565b8063043782fb146104e8578063048c661d146104f2578063060d49a314610516578063071a7541146105305780630b07655714610538575b600080fd5b6104f0610e7a565b005b6104fa610e80565b604080516001600160a01b039092168252519081900360200190f35b61051e610e8f565b60408051918252519081900360200190f35b61051e610e95565b6104f06004803603602081101561054e57600080fd5b50356001600160a01b0316610e9a565b61051e610ec2565b61051e6004803603604081101561057c57600080fd5b506001600160a01b038135169060200135610ed1565b61051e600480360360208110156105a857600080fd5b50356001600160a01b0316610f29565b6105de600480360360208110156105ce57600080fd5b50356001600160a01b0316610f4d565b6040805192835260208301919091528051918290030190f35b61051e6004803603602081101561060d57600080fd5b50356001600160a01b0316610f66565b61051e610f79565b6104f06004803603602081101561063b57600080fd5b5035610f86565b6104f06004803603602081101561065857600080fd5b81019060208101813564010000000081111561067357600080fd5b82018360208201111561068557600080fd5b803590602001918460208302840111640100000000831117156106a757600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929550610f8b945050505050565b61051e61132d565b6104fa611333565b61051e6004803603602081101561070b57600080fd5b50356001600160a01b0316611342565b61051e61136c565b61051e61137f565b61051e611390565b61051e61139d565b6104f06004803603602081101561075157600080fd5b50356001600160a01b03166113aa565b6104fa611410565b61051e6004803603602081101561077f57600080fd5b503561141f565b61051e6004803603602081101561079c57600080fd5b50356001600160a01b0316611432565b61051e611450565b61051e611455565b6107d9600480360360208110156107d257600080fd5b503561145b565b604080519115158252519081900360200190f35b61051e6004803603602081101561080357600080fd5b5035611466565b61051e6004803603602081101561082057600080fd5b5035611471565b61051e61147c565b6104f06004803603604081101561084557600080fd5b506001600160a01b038135169060200135611488565b61051e6004803603602081101561087157600080fd5b50356001600160a01b03166114d4565b6104f061159a565b61051e611600565b61051e600480360360208110156108a757600080fd5b5035611605565b61051e600480360360208110156108c457600080fd5b50356001600160a01b0316611612565b6104f0600480360360208110156108ea57600080fd5b5035611630565b61051e6119de565b61091f6004803603602081101561090f57600080fd5b50356001600160a01b03166119f0565b6040518086815260200185815260200184815260200183600481111561094157fe5b60ff1681526001600160801b03909216602083015250604080519182900301945092505050f35b61051e6004803603604081101561097e57600080fd5b506001600160a01b038135169060200135611a2a565b61051e611a87565b6104fa611a93565b6104fa600480360360208110156109ba57600080fd5b5035611aa2565b61051e611ac9565b61051e611ad5565b61051e611bd6565b6104f060048036036101608110156109f057600080fd5b506001600160a01b038135811691602081013582169160408201358116916060810135821691608082013581169160a081013582169160c082013581169160e08101358216916101008201358116916101208101358216916101409091013516611bdc565b6104fa611fd5565b61051e611fe4565b61051e60048036036060811015610a7b57600080fd5b5080359060208101359060400135611fea565b6104f060048036036020811015610aa457600080fd5b50356001600160a01b0316612001565b61051e612012565b6104fa6120ce565b6107d96120dd565b61051e6120ee565b61051e60048036036040811015610aea57600080fd5b506001600160a01b0381351690602001356120f4565b61051e612127565b6104fa61212d565b610b1861213c565b6040805160208082528351818301528351919283929083019185019080838360005b83811015610b52578181015183820152602001610b3a565b50505050905090810190601f168015610b7f5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61051e60048036036020811015610ba357600080fd5b5035612164565b6104fa61216f565b61051e60048036036020811015610bc857600080fd5b50356001600160a01b031661217e565b6104fa6121a5565b61051e60048036036020811015610bf657600080fd5b50356121b4565b6104fa6121bf565b610c2b60048036036020811015610c1b57600080fd5b50356001600160a01b03166121ce565b604080519485526020850193909352838301919091526060830152519081900360800190f35b6104f0600480360360e0811015610c6757600080fd5b508035906001600160a01b03602082013581169160408101358216916060820135169060808101359060a08101359060c00135612232565b61051e6129d4565b61051e6129da565b61051e6129e1565b61051e6129f3565b6104f060048036036020811015610cd557600080fd5b50356001600160a01b03166129ff565b61051e60048036036040811015610cfb57600080fd5b506001600160a01b038135169060200135612a12565b61051e612a31565b61051e60048036036040811015610d2f57600080fd5b506001600160a01b038135169060200135612a37565b61051e612a6d565b61051e60048036036020811015610d6357600080fd5b5035612a7a565b61051e60048036036020811015610d8057600080fd5b50356001600160a01b0316612a8d565b6104fa60048036036020811015610da657600080fd5b5035612aa8565b61051e612ad2565b61051e612b02565b6104f060048036036020811015610dd357600080fd5b50356001600160a01b0316612b08565b6107d960048036036020811015610df957600080fd5b50356001600160a01b0316612b15565b61051e60048036036020811015610e1f57600080fd5b50356001600160a01b0316612b73565b61051e612ba4565b6104f060048036036020811015610e4d57600080fd5b50356001600160a01b0316612bb1565b61051e60048036036020811015610e7357600080fd5b5035612bc2565b42600d55565b6005546001600160a01b031681565b60175481565b600281565b610ea2612bd3565b600054600154610ebf916001600160a01b03908116911683612c1e565b50565b6000610ecc612d40565b905090565b6000610edb612bd3565b6001600160a01b0383166000908152600e6020526040812054610f04908463ffffffff612d5c16565b6001600160a01b0385166000908152600e602052604090208190559150505b92915050565b6000610f33612bd3565b610f3c82612d9e565b6001600160801b031690505b919050565b6014602052600090815260409020805460019091015482565b6000610f70612bd3565b610f2382612e38565b686194049f30f720000081565b600c55565b8051610fc85760405162461bcd60e51b8152600401808060200182810382526036815260200180615b566036913960400191505060405180910390fd5b6000546001546005546001600160a01b03928316929182169116610fea61584e565b610ff261587f565b600260009054906101000a90046001600160a01b03166001600160a01b0316630fdb11cf6040518163ffffffff1660e01b8152600401602060405180830381600087803b15801561104257600080fd5b505af1158015611056573d6000803e3d6000fd5b505050506040513d602081101561106c57600080fd5b50518252604080516326fcbc6b60e21b815290516001600160a01b03851691639bf2f1ac916004808301926020929190829003018186803b1580156110b057600080fd5b505afa1580156110c4573d6000803e3d6000fd5b505050506040513d60208110156110da57600080fd5b5051602083015281516110ec90612ee7565b15801560408401526111145761110d8585846000015185602001518a612f04565b905061112c565b6111298585846000015185602001518a61311f565b90505b600081602001511161116f5760405162461bcd60e51b8152600401808060200182810382526022815260200180615c4a6022913960400191505060405180910390fd5b826001600160a01b031663335525ad82608001518360a001516040518363ffffffff1660e01b81526004018083815260200182815260200192505050600060405180830381600087803b1580156111c557600080fd5b505af11580156111d9573d6000803e3d6000fd5b505050506111f185858360c001518460e001516131e7565b6101008101511561127057600754610100820151604080516364a197f360e01b81526001600160a01b039384166004820152602481019290925251918716916364a197f39160448082019260009290919082900301818387803b15801561125757600080fd5b505af115801561126b573d6000803e3d6000fd5b505050505b61127e858260400151613468565b60208101516060830152610100810151604082015182516112b692916112aa919063ffffffff612d5c16565b9063ffffffff612d5c16565b608080840182905260608085015160408086015186840151825193845260208401969096528282015291810193909352517f4152c73dd2614c4f9fc35e8c9cf16013cd588c75b49a4c1673ecffdcbcda94039281900390910190a16113258533836060015184604001516135af565b505050505050565b600c5481565b6009546001600160a01b031681565b6001600160a01b0381166000908152600e602052604081206003015460ff166004811115610f2357fe5b6064670de0b6b3a76400005b0460050281565b6103e8670de0b6b3a7640000611378565b6000610ecc600c546136b2565b680ad78ebc5ac620000081565b6113b3816136e8565b6040805160018082528183019092526060916020808301908036833701905050905081816000815181106113e357fe5b60200260200101906001600160a01b031690816001600160a01b03168152505061140c81610f8b565b5050565b6001546001600160a01b031681565b6000610f2361142c6119de565b83613750565b6001600160a01b03166000908152600e602052604090206001015490565b60c881565b60155490565b6000610f2382612ee7565b6000610f238261376e565b6000610f2382613789565b6714d1120d7b16000081565b611490612bd3565b80600481111561149c57fe5b6001600160a01b0383166000908152600e60205260409020600301805460ff191660018360048111156114cb57fe5b02179055505050565b6001600160a01b0381166000908152601460205260408120546012548290611502908363ffffffff612d5c16565b905080158061153b575060016001600160a01b0385166000908152600e602052604090206003015460ff16600481111561153857fe5b14155b1561154b57600092505050610f48565b6001600160a01b0384166000908152600e602052604081206002015490611590670de0b6b3a7640000611584848663ffffffff6137a416565b9063ffffffff6137fd16565b9695505050505050565b6115a2612bd3565b60006115ac61383f565b9050670de0b6b3a76400008111156115c057fe5b600c8190556040805182815290517fc454ee9b76c52f782a256af821b857ca6e125d1e3333bcede402fec2bed9600c9181900360200190a1610ebf613883565b603c81565b6000610f2361142c612ba4565b6001600160a01b03166000908152600e602052604090206002015490565b6116386158cb565b506040805160e081018252600080546001600160a01b0390811683526001548116602084015292820181905260608201819052600b548316608083015260a0820181905260c082015260055490911661168f61584e565b61169761587f565b600260009054906101000a90046001600160a01b03166001600160a01b0316630fdb11cf6040518163ffffffff1660e01b8152600401602060405180830381600087803b1580156116e757600080fd5b505af11580156116fb573d6000803e3d6000fd5b505050506040513d602081101561171157600080fd5b50518252604080516326fcbc6b60e21b815290516001600160a01b03851691639bf2f1ac916004808301926020929190829003018186803b15801561175557600080fd5b505afa158015611769573d6000803e3d6000fd5b505050506040513d602081101561177f57600080fd5b50516020830152815161179190612ee7565b15801560408401526117b8576117b18483600001518460200151886138df565b90506117d8565b6117d5846000015185602001518460000151856020015189613c72565b90505b600081602001511161181b5760405162461bcd60e51b8152600401808060200182810382526022815260200180615c4a6022913960400191505060405180910390fd5b826001600160a01b031663335525ad82608001518360a001516040518363ffffffff1660e01b81526004018083815260200182815260200192505050600060405180830381600087803b15801561187157600080fd5b505af1158015611885573d6000803e3d6000fd5b505050506118a5846000015185602001518360c001518460e001516131e7565b61010081015115611926578351600754610100830151604080516364a197f360e01b81526001600160a01b03938416600482015260248101929092525191909216916364a197f391604480830192600092919082900301818387803b15801561190d57600080fd5b505af1158015611921573d6000803e3d6000fd5b505050505b61193884600001518260400151613468565b602081015160608301526101008101516040820151825161196492916112aa919063ffffffff612d5c16565b608080840182905260608085015160408086015186840151825193845260208401969096528282015291810193909352517f4152c73dd2614c4f9fc35e8c9cf16013cd588c75b49a4c1673ecffdcbcda94039281900390910190a16119d7846000015133836060015184604001516135af565b5050505050565b6000610ecc6119eb61383f565b613da4565b600e6020526000908152604090208054600182015460028301546003909301549192909160ff81169061010090046001600160801b031685565b6000611a34612bd3565b6001600160a01b0383166000908152600e6020526040812060010154611a60908463ffffffff613dcb16565b6001600160a01b0385166000908152600e6020526040902060010181905591505092915050565b670de0b6b3a764000081565b6002546001600160a01b031681565b60158181548110611aaf57fe5b6000918252602090912001546001600160a01b0316905081565b670f43fc2c04ee000081565b6000805460408051632f5a97e560e11b8152905183926001600160a01b031691635eb52fca916004808301926020929190829003018186803b158015611b1a57600080fd5b505afa158015611b2e573d6000803e3d6000fd5b505050506040513d6020811015611b4457600080fd5b505160015460408051632f5a97e560e11b815290519293506000926001600160a01b0390921691635eb52fca91600480820192602092909190829003018186803b158015611b9157600080fd5b505afa158015611ba5573d6000803e3d6000fd5b505050506040513d6020811015611bbb57600080fd5b50519050611bcf828263ffffffff613dcb16565b9250505090565b60165481565b611be46120dd565b611c35576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b611c3e8b613e25565b611c478a613e25565b611c5089613e25565b611c5988613e25565b611c6287613e25565b611c6b86613e25565b611c7485613e25565b611c7d84613e25565b611c8683613e25565b611c8f82613e25565b611c9881613e25565b600480546001600160a01b03199081166001600160a01b038e81169182179093556000805483168e85161790556001805483168d85161790556005805483168c85161790556006805483168b85161790556007805483168a8516179055600280548316898516179055600880548316888516179055600b80548316878516179055600980548316868516179055600a805490921692841692909217905560408051918252517f3ca631ffcd2a9b5d9ae18543fc82f58eb4ca33af9e6ab01b7a8e95331e6ed985916020908290030190a1604080516001600160a01b038c16815290517f78f058b189175430c48dc02699e3a0031ea4ff781536dc2fab847de4babdd8829181900360200190a1604080516001600160a01b038b16815290517f5ee0cae2f063ed938bb55046f6a932fb6ae792bf43624806bb90abe68a50be9b9181900360200190a1604080516001600160a01b038a16815290517f82966d27eea39b038ee0fa30cd16532bb24f6e65d31cb58fb227aa5766cdcc7f9181900360200190a1604080516001600160a01b038916815290517fcfb07d791fcafc032b35837b50eb84b74df518cf4cc287e8084f47630fa70fa09181900360200190a1604080516001600160a01b038816815290517fe67f36a6e961157d6eff83b91f3af5a62131ceb6f04954ef74f51c1c05e7f88d9181900360200190a1604080516001600160a01b038716815290517f8c537274438aa850a330284665d81a85dd38267d09e4050d416bfc94142db2649181900360200190a1604080516001600160a01b038616815290517f227eec0ec317af6ab1a9587ffa1c84332522eb4c583a908f89babc05f8f339bd9181900360200190a1604080516001600160a01b038516815290517f65f4cf077bc01e4742eb5ad98326f6e95b63548ea24b17f8d5e823111fe788009181900360200190a1604080516001600160a01b038416815290517f2ac6e99201ddc1b6eac6f8f28662d1ecafee131f6eb98c29de54528a9888a7d19181900360200190a1604080516001600160a01b038316815290517f756ebc192164c295bba134b5aacd72cc7aff8098a670d1f0a5f6b3a0b4ce67079181900360200190a1611fc8613ed4565b5050505050505050505050565b6000546001600160a01b031681565b60105481565b6000611ff7848484613f1e565b90505b9392505050565b612009612bd3565b610ebf81613f4e565b6000805460408051630a7b61df60e11b8152905183926001600160a01b0316916314f6c3be916004808301926020929190829003018186803b15801561205757600080fd5b505afa15801561206b573d6000803e3d6000fd5b505050506040513d602081101561208157600080fd5b505160015460408051630a7b61df60e11b815290519293506000926001600160a01b03909216916314f6c3be91600480820192602092909190829003018186803b158015611b9157600080fd5b6003546001600160a01b031690565b6003546001600160a01b0316331490565b60115481565b60006120fe612bd3565b6001600160a01b0383166000908152600e6020526040812054610f04908463ffffffff613dcb16565b60125481565b600a546001600160a01b031681565b6040518060400160405280600c81526020016b2a3937bb32a6b0b730b3b2b960a11b81525081565b6000610f2382613fb9565b600b546001600160a01b031681565b600080600061218c84613fc0565b91509150600061219c8383614046565b95945050505050565b6004546001600160a01b031681565b6000610f238261407b565b6008546001600160a01b031681565b6001600160a01b0381166000908152600e6020526040812080546001909101549091806121fa85612b73565b9150612205856114d4565b9050612217848363ffffffff613dcb16565b9350612229838263ffffffff613dcb16565b92509193509193565b61223a6158cb565b506040805160e0810182526000546001600160a01b03908116825260015481166020830152600854811692820192909252600a5482166060820152600b5482166080820152600754821660a082015260065490911660c082015261229c615907565b6122a5836140a7565b6122ad614101565b600260009054906101000a90046001600160a01b03166001600160a01b0316630fdb11cf6040518163ffffffff1660e01b8152600401602060405180830381600087803b1580156122fd57600080fd5b505af1158015612311573d6000803e3d6000fd5b505050506040513d602081101561232757600080fd5b505160c08201819052612339906141c5565b61234289614214565b6123518260400151338b614253565b612359611ad5565b60e0820181905260408084015181516370a0823160e01b815233600482015291516001600160a01b03909116916370a08231916024808301926020929190829003018186803b1580156123ab57600080fd5b505afa1580156123bf573d6000803e3d6000fd5b505050506040513d60208110156123d557600080fd5b505111156123df57fe5b888152608082015160c08201516000916123fa918b90614313565b15612406575087612530565b82608001516001600160a01b0316634d6228316040518163ffffffff1660e01b815260040160206040518083038186803b15801561244357600080fd5b505afa158015612457573d6000803e3d6000fd5b505050506040513d602081101561246d57600080fd5b505190505b6001600160a01b0381161580159061249e5750670f43fc2c04ee000061249c828460c00151612a12565b105b156125305782608001516001600160a01b031663b72703ac826040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b1580156124fd57600080fd5b505afa158015612511573d6000803e3d6000fd5b505050506040513d602081101561252757600080fd5b50519050612472565b8461253b5760001994505b6001600160a01b038116158015906125535750815115155b801561255f5750600085115b1561269357848060019003955050600083608001516001600160a01b031663b72703ac836040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b1580156125c957600080fd5b505afa1580156125dd573d6000803e3d6000fd5b505050506040513d60208110156125f357600080fd5b5051845160208601519192506126099184612c1e565b61261161594c565b612628858486600001518760c001518e8e8e614486565b905080604001511561263b575050612693565b805160208501516126519163ffffffff613dcb16565b60208086019190915281015160408501516126719163ffffffff613dcb16565b6040850152805184516126899163ffffffff612d5c16565b845250905061253b565b60008260400151116126d65760405162461bcd60e51b81526004018080602001828103825260298152602001806159f96029913960400191505060405180910390fd5b6126ed82604001518360c001518460e00151614739565b506126fb82604001516147e1565b6060830181905260408301516127129190866147ee565b82600001516001600160a01b03166364a197f3846060015184606001516040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b15801561277e57600080fd5b505af1158015612792573d6000803e3d6000fd5b5050505082606001516001600160a01b0316631e3e2a1a83606001516040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b1580156127e457600080fd5b505af11580156127f8573d6000803e3d6000fd5b505050506060820151604083015161280f91612d5c565b8260800181815250507f43a3f4082a4dbc33d78e317d2497d3a730bc7fc3574159dcea1056e62e5d9ad88a8360200151846040015185606001516040518085815260200184815260200183815260200182815260200194505050505060405180910390a182604001516001600160a01b0316639dc29fac3384602001516040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b1580156128db57600080fd5b505af11580156128ef573d6000803e3d6000fd5b5050505082600001516001600160a01b03166338d995a883602001516040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b15801561294157600080fd5b505af1158015612955573d6000803e3d6000fd5b505084516080850151604080516364a197f360e01b81523360048201526024810192909252516001600160a01b0390921693506364a197f3925060448082019260009290919082900301818387803b1580156129b057600080fd5b505af11580156129c4573d6000803e3d6000fd5b5050505050505050505050505050565b600f5481565b6212750081565b6000610ecc6129ee61383f565b6136b2565b670ddd4b8c6c7d70d881565b612a07612bd3565b610ebf816002614863565b6000806000612a2085613fc0565b915091506000611590838387613f1e565b600d5481565b6000612a41612bd3565b6001600160a01b0383166000908152600e6020526040812060010154611a60908463ffffffff612d5c16565b680ad78ebc5ac620000090565b6000610f23612a876129e1565b8361497c565b6001600160a01b03166000908152600e602052604090205490565b600060158281548110612ab757fe5b6000918252602090912001546001600160a01b031692915050565b6000612adc61383f565b600c55670de0b6b3a7640000600c541115612af357fe5b612afb613883565b50600c5490565b60135481565b60155461140c82826149db565b600060016001600160a01b0383166000908152600e602052604090206003015460ff166004811115612b4357fe5b14612b5057506000610f48565b506012546001600160a01b03821660009081526014602052604090205410919050565b6001600160a01b0381166000908152601460205260408120600101546013548290611502908363ffffffff612d5c16565b6000610ecc600c54613da4565b612bb9612bd3565b610ebf81614b82565b6000612bcd826147e1565b50919050565b6004546001600160a01b03163314612c1c5760405162461bcd60e51b815260040180806020018281038252603b815260200180615b1b603b913960400191505060405180910390fd5b565b612c2781612b15565b15612d3b57612c35816136e8565b6000612c40826114d4565b90506000612c4d83612b73565b6001600160a01b0384166000908152600e6020526040902060010154909150612c7c908363ffffffff613dcb16565b6001600160a01b0384166000908152600e60205260409020600181019190915554612cad908263ffffffff613dcb16565b6001600160a01b0384166000908152600e6020526040902055612ccf83613f4e565b612cdb85858385614bd2565b6001600160a01b0383166000818152600e60209081526040808320805460018201546002909201548351918252938101919091528082019290925260608201929092529051600080516020615afb8339815191529181900360800190a250505b505050565b6000610ecc603c611584600d5442612d5c90919063ffffffff16565b6000611ffa83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250614cd4565b601580546001808201835560008381527f55f448fdea98c4d29eb340757ef0a66cd03dbb9538908a6a81d96026b71ec47590920180546001600160a01b0319166001600160a01b03861617905591549091612df99190612d5c565b6001600160a01b03929092166000908152600e602052604090206003018054610100600160881b0319166101006001600160801b038516021790555090565b6001600160a01b0381166000908152600e60205260408120600101548190612e5f90614d6b565b6001600160a01b0384166000908152600e60205260409020600201805490829055600f5491925090612ea9908390612e9d908463ffffffff612d5c16565b9063ffffffff613dcb16565b600f81905560408051918252517f6bac5e0eb3c44eb03a60ab11ec3a2c051771616aecadbcfff2630aabae5203829181900360200190a15092915050565b600080612ef38361407b565b6714d1120d7b160000119392505050565b612f0c61587f565b612f1461596f565b612f1c61587f565b84825260006080830152612f2e611ad5565b60a0830152612f3b612012565b60c0830152600060208301525b8351826020015110156131145783826020015181518110612f6557fe5b6020908102919091018101516001600160a01b0316606084018190526000908152600e909152604090206003015460019060ff166004811115612fa457fe5b14612fae57613104565b612fbc826060015187612a12565b604083015260808201516130a657670f43fc2c04ee0000826040015110158015612fe557508151155b15612fef57613104565b60006130048360c001518460a0015189613f1e565b90506130218989856060015186604001518760000151868d614da7565b6080810151845191935061303b919063ffffffff612d5c16565b8352608082015160a08401516130569163ffffffff612d5c16565b60a08085019190915282015160c08401516130769163ffffffff612d5c16565b60c084015261308584836150da565b935061309a8360c001518460a00151896151f1565b15608084015250613104565b816080015180156130c25750670f43fc2c04ee00008260400151105b15613104576130db888884606001518560000151615212565b608081015183519192506130f5919063ffffffff612d5c16565b825261310183826150da565b92505b6020820180516001019052612f48565b505095945050505050565b61312761587f565b61312f61596f565b61313761587f565b848252600060208301525b835182602001511015613114578382602001518151811061315f57fe5b60209081029190910101516001600160a01b0316606083018190526131849087612a12565b60408301819052670f43fc2c04ee000011156131d7576131ae888884606001518560000151615212565b608081015183519192506131c8919063ffffffff612d5c16565b82526131d483826150da565b92505b6020820180516001019052613142565b816131f157613462565b60165460009061321390612e9d84670de0b6b3a764000063ffffffff6137a416565b90506000613238601754612e9d670de0b6b3a7640000876137a490919063ffffffff16565b90506000613251600f54846137fd90919063ffffffff16565b9050600061326a600f54846137fd90919063ffffffff16565b9050613291613284600f54846137a490919063ffffffff16565b859063ffffffff612d5c16565b601655600f546132b9906132ac90839063ffffffff6137a416565b849063ffffffff612d5c16565b6017556012546132cf908363ffffffff613dcb16565b6012556013546132e5908263ffffffff613dcb16565b601381905560125460408051918252602082019290925281517f9f8bc8ab0daf5bceef75ecfd2085d1fcc6548c657ea970d9a23a60610d0737e3929181900390910190a1876001600160a01b03166338d995a8876040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b15801561336f57600080fd5b505af1158015613383573d6000803e3d6000fd5b50505050866001600160a01b031663cfb9329a876040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b1580156133cd57600080fd5b505af11580156133e1573d6000803e3d6000fd5b50505050876001600160a01b03166364a197f388876040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b15801561344557600080fd5b505af1158015613459573d6000803e3d6000fd5b50505050505050505b50505050565b600f546010819055506000826001600160a01b03166314f6c3be6040518163ffffffff1660e01b815260040160206040518083038186803b1580156134ac57600080fd5b505afa1580156134c0573d6000803e3d6000fd5b505050506040513d60208110156134d657600080fd5b505160015460408051630a7b61df60e11b815290519293506000926001600160a01b03909216916314f6c3be91600480820192602092909190829003018186803b15801561352357600080fd5b505afa158015613537573d6000803e3d6000fd5b505050506040513d602081101561354d57600080fd5b5051905061356581612e9d848663ffffffff612d5c16565b601181905560105460408051918252602082019290925281517f51bf4c63ec3cba9d03d43238abbdd979dd91bd16d9895c74ceea9118c7baaf60929181900390910190a150505050565b811561362e5760085460065460408051631062c15f60e11b81526001600160a01b039283166004820152868316602482015260448101869052905191909216916320c582be91606480830192600092919082900301818387803b15801561361557600080fd5b505af1158015613629573d6000803e3d6000fd5b505050505b801561346257836001600160a01b03166364a197f384836040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b15801561369457600080fd5b505af11580156136a8573d6000803e3d6000fd5b5050505050505050565b6000610f236136da836103e8670de0b6b3a76400005b04600502613dcb90919063ffffffff16565b670de0b6b3a7640000615381565b60016001600160a01b0382166000908152600e602052604090206003015460ff16600481111561371457fe5b14610ebf5760405162461bcd60e51b815260040180806020018281038252602f815260200180615c6c602f913960400191505060405180910390fd5b6000611ffa670de0b6b3a7640000611584858563ffffffff6137a416565b6000610f2382680ad78ebc5ac620000063ffffffff613dcb16565b6000610f2382680ad78ebc5ac620000063ffffffff612d5c16565b6000826137b357506000610f23565b828202828482816137c057fe5b0414611ffa5760405162461bcd60e51b8152600401808060200182810382526021815260200180615a8c6021913960400191505060405180910390fd5b6000611ffa83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250615397565b60008061384a612d40565b90506000613860670ddd4b8c6c7d70d8836153fc565b9050611bcf670de0b6b3a764000061158483600c546137a490919063ffffffff16565b600061389a600d5442612d5c90919063ffffffff16565b9050603c8110610ebf5742600d81905560408051918252517f860f8d2f0c74dd487e89e2883e3b25b8159ce1e1b3433a291cba7b82c508f3bc9181900360200190a150565b6138e761587f565b6138ef61596f565b6138f761587f565b84825260006080830152613909611ad5565b60a0830152613916612012565b8260c001818152505086608001516001600160a01b0316634d6228316040518163ffffffff1660e01b815260040160206040518083038186803b15801561395c57600080fd5b505afa158015613970573d6000803e3d6000fd5b505050506040513d602081101561398657600080fd5b50516001600160a01b039081166060840152608088015160408051631e22314360e01b815290516000939290921691631e22314391600480820192602092909190829003018186803b1580156139db57600080fd5b505afa1580156139ef573d6000803e3d6000fd5b505050506040513d6020811015613a0557600080fd5b50516000602085015290505b848360200151108015613a3a5750806001600160a01b031683606001516001600160a01b031614155b15613c6757600088608001516001600160a01b031663b72703ac85606001516040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b158015613a9f57600080fd5b505afa158015613ab3573d6000803e3d6000fd5b505050506040513d6020811015613ac957600080fd5b50516060850151909150613add9089612a12565b60408501526080840151613bd957670f43fc2c04ee0000846040015110158015613b0657508351155b15613b115750613c67565b6000613b268560c001518660a001518b613f1e565b8a5160208c0151606088015160408901518951949550613b4794868f614da7565b60808101518651919550613b61919063ffffffff612d5c16565b8552608084015160a0860151613b7c9163ffffffff612d5c16565b8560a0018181525050613ba98461010001516112aa8660a001518860c00151612d5c90919063ffffffff16565b60c0860152613bb886856150da565b9550613bcd8560c001518660a001518b6151f1565b15608086015250613c49565b83608001518015613bf55750670f43fc2c04ee00008460400151105b15613c4357613c1689600001518a6020015186606001518760000151615212565b60808101518551919450613c30919063ffffffff612d5c16565b8452613c3c85846150da565b9450613c49565b50613c67565b6001600160a01b031660608401526020830180516001019052613a11565b505050949350505050565b613c7a61587f565b613c8261596f565b613c8a61587f565b600b54858352600060208401526001600160a01b03165b8483602001511015613d9857806001600160a01b0316634d6228316040518163ffffffff1660e01b815260040160206040518083038186803b158015613ce657600080fd5b505afa158015613cfa573d6000803e3d6000fd5b505050506040513d6020811015613d1057600080fd5b50516001600160a01b031660608401819052613d2c9088612a12565b60408401819052670f43fc2c04ee00001115613d8357613d56898985606001518660000151615212565b60808101518451919350613d70919063ffffffff612d5c16565b8352613d7c84836150da565b9350613d88565b613d98565b6020830180516001019052613ca1565b50505095945050505050565b6000610f23613dbe836103e8670de0b6b3a76400006136c8565b66b1a2bc2ec50000615381565b600082820183811015611ffa576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b6001600160a01b038116613e80576040805162461bcd60e51b815260206004820152601e60248201527f4163636f756e742063616e6e6f74206265207a65726f20616464726573730000604482015290519081900360640190fd5b803b8061140c576040805162461bcd60e51b815260206004820181905260248201527f4163636f756e7420636f64652073697a652063616e6e6f74206265207a65726f604482015290519081900360640190fd5b6003546040516000916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600380546001600160a01b0319169055565b60008215613f45576000613f3c84611584878663ffffffff6137a416565b9150611ffa9050565b50600019611ffa565b601280546001600160a01b0383166000908152601460209081526040918290209283556013546001909301839055925481519081529283019190915280517fc437f324d85e369394148dd9d62f98f534b382e01ed3dd2eb98138fb6d3ab49a9281900390910190a150565b60c8900490565b6000806000613fce846114d4565b90506000613fdb85612b73565b6001600160a01b0386166000908152600e60205260408120600101549192509061400b908463ffffffff613dcb16565b6001600160a01b0387166000908152600e602052604081205491925090614038908463ffffffff613dcb16565b919550909350505050915091565b600081156140725761406b826115848568056bc75e2d6310000063ffffffff6137a416565b9050610f23565b50600019610f23565b600080614086612012565b90506000614092611ad5565b905061409f828286613f1e565b949350505050565b6611c37937e0800081108015906140c65750670de0b6b3a76400008111155b610ebf5760405162461bcd60e51b8152600401808060200182810382526030815260200180615bf06030913960400191505060405180910390fd5b60095460408051631e425be160e11b815290516000926001600160a01b031691633c84b7c2916004808301926020929190829003018186803b15801561414657600080fd5b505afa15801561415a573d6000803e3d6000fd5b505050506040513d602081101561417057600080fd5b50519050614187816212750063ffffffff613dcb16565b421015610ebf5760405162461bcd60e51b8152600401808060200182810382526040815260200180615a4c6040913960400191505060405180910390fd5b670f43fc2c04ee00006141d78261407b565b1015610ebf5760405162461bcd60e51b815260040180806020018281038252602a815260200180615c20602a913960400191505060405180910390fd5b60008111610ebf5760405162461bcd60e51b815260040180806020018281038252602e815260200180615b8c602e913960400191505060405180910390fd5b80836001600160a01b03166370a08231846040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b1580156142aa57600080fd5b505afa1580156142be573d6000803e3d6000fd5b505050506040513d60208110156142d457600080fd5b50511015612d3b5760405162461bcd60e51b815260040180806020018281038252604e815260200180615aad604e913960600191505060405180910390fd5b60006001600160a01b03831615806143aa5750836001600160a01b0316635dbe47e8846040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b15801561437c57600080fd5b505afa158015614390573d6000803e3d6000fd5b505050506040513d60208110156143a657600080fd5b5051155b806143c55750670f43fc2c04ee00006143c38484612a12565b105b156143d257506000611ffa565b6000846001600160a01b031663765e0159856040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b15801561442a57600080fd5b505afa15801561443e573d6000803e3d6000fd5b505050506040513d602081101561445457600080fd5b505190506001600160a01b038116158061219c5750670f43fc2c04ee000061447c8285612a12565b1095945050505050565b61448e61594c565b6001600160a01b0387166000908152600e60205260409020546144cb9087906144c690680ad78ebc5ac620000063ffffffff612d5c16565b615381565b8082526144ec90869061158490670de0b6b3a764000063ffffffff6137a416565b60208083019190915281516001600160a01b0389166000908152600e909252604082205461451f9163ffffffff612d5c16565b6020808401516001600160a01b038b166000908152600e909252604082206001015492935090916145559163ffffffff612d5c16565b9050680ad78ebc5ac62000008214156145ee5761457189614b82565b61457c896004614863565b6145918a8a680ad78ebc5ac6200000846154a7565b886001600160a01b0316600080516020615afb83398151915260008060006003604051808581526020018481526020018381526020018260038111156145d357fe5b60ff16815260200194505050505060405180910390a261472b565b60006145fa8284614046565b9050848114158061461b5750686194049f30f720000061461984613789565b105b1561462f575050600160408301525061472e565b60808b01516040805163015f109360e51b81526001600160a01b038d81166004830152602482018590528a81166044830152898116606483015291519190921691632be2126091608480830192600092919082900301818387803b15801561469657600080fd5b505af11580156146aa573d6000803e3d6000fd5b5050506001600160a01b038b166000908152600e60205260409020848155600101839055506146d88a612e38565b506001600160a01b038a166000818152600e602090815260409182902060020154825187815291820186905281830152600360608201529051600080516020615afb8339815191529181900360800190a2505b50505b979650505050505050565b60008061474461383f565b9050600061475c84611584888863ffffffff6137a416565b9050600061478161477483600263ffffffff6137fd16565b849063ffffffff613dcb16565b905061479581670de0b6b3a7640000615381565b9050600081116147a157fe5b600c8190556040805182815290517fc454ee9b76c52f782a256af821b857ca6e125d1e3333bcede402fec2bed9600c9181900360200190a1611590613883565b6000610f23612a87611390565b600061480c8361158486670de0b6b3a764000063ffffffff6137a416565b905081811115613462576040805162461bcd60e51b815260206004820152601d60248201527f4665652065786365656465642070726f7669646564206d6178696d756d000000604482015290519081900360640190fd5b600081600481111561487157fe5b1415801561488b5750600181600481111561488857fe5b14155b61489157fe5b60155461489d8161565c565b6001600160a01b0383166000908152600e60205260409020600301805483919060ff191660018360048111156148cf57fe5b02179055506001600160a01b0383166000908152600e6020908152604080832060018082018590559084905560149092528220828155015561491183826149db565b600b5460408051631484968760e11b81526001600160a01b038681166004830152915191909216916329092d0e91602480830192600092919082900301818387803b15801561495f57600080fd5b505af1158015614973573d6000803e3d6000fd5b50505050505050565b60008061499b670de0b6b3a7640000611584868663ffffffff6137a416565b9050828110611ffa5760405162461bcd60e51b8152600401808060200182810382526036815260200180615bba6036913960400191505060405180910390fd5b6001600160a01b0382166000908152600e602052604081206003015460ff1690816004811115614a0757fe5b14158015614a2157506001816004811115614a1e57fe5b14155b614a2757fe5b6001600160a01b0383166000908152600e602052604081206003015461010090046001600160801b0316908390614a5f826001612d5c565b905080836001600160801b03161115614a7457fe5b600060158281548110614a8357fe5b600091825260209091200154601580546001600160a01b03909216925082916001600160801b038716908110614ab557fe5b600091825260208083209190910180546001600160a01b0319166001600160a01b03948516179055918316808252600e83526040918290206003018054610100600160881b0319166101006001600160801b038a169081029190911790915582519182529281019290925280517f02b04ae5f7be9ca7c103293a2aa15f3c339d15d6eda53b721fef7b0e609c831a9281900390910190a16015805480614b5757fe5b600082815260209020810160001990810180546001600160a01b031916905501905550505050505050565b6001600160a01b0381166000908152600e6020526040902060020154600f54614bb1908263ffffffff612d5c16565b600f55506001600160a01b03166000908152600e6020526040812060020155565b826001600160a01b03166338d995a8836040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b158015614c1857600080fd5b505af1158015614c2c573d6000803e3d6000fd5b50505050836001600160a01b031663cfb9329a836040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b158015614c7657600080fd5b505af1158015614c8a573d6000803e3d6000fd5b50505050826001600160a01b031663be41205f826040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b15801561369457600080fd5b60008184841115614d635760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015614d28578181015183820152602001614d10565b50505050905090810190601f168015614d555780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b60008060115460001415614d80575081610f23565b600060105411614d8c57fe5b611ffa601154611584601054866137a490919063ffffffff16565b614daf61587f565b614db76159b7565b601554600110614dc7575061472e565b614dd0876121ce565b60408501526020848101919091528401819052908352614def90613fb9565b60408301819052680ad78ebc5ac620000060608401526020830151614e199163ffffffff612d5c16565b8152670de0b6b3a76400008611614f2157614e3e898983602001518460400151614bd2565b614e4787614b82565b60006080830181905260a0830152815160c0830152805160e0830152614e6e876003614863565b866001600160a01b03166000805160206159d983398151915283600001518460200151600260405180848152602001838152602001826003811115614eaf57fe5b60ff168152602001935050505060405180910390a2866001600160a01b0316600080516020615afb8339815191526000806000600260405180858152602001848152602001838152602001826003811115614f0657fe5b60ff16815260200194505050505060405180910390a26150ce565b670de0b6b3a764000086118015614f3f5750670f43fc2c04ee000086105b15614f8f57614f58898983602001518460400151614bd2565b614f6187614b82565b81518151614f70919087615715565b60e086015260c085015260a08401526080830152614e6e876003614863565b670f43fc2c04ee00008610158015614fa657508386105b8015614fb3575081518510155b156150bd57614fcc898983602001518460400151614bd2565b84614fd357fe5b614fdc87614b82565b614fef8260000151836020015185615781565b9150614ffc876003614863565b6101008201511561507c5760075461010083015160408051633f10abab60e01b81526001600160a01b038b81166004830152602482019390935290519190921691633f10abab91604480830192600092919082900301818387803b15801561506357600080fd5b505af1158015615077573d6000803e3d6000fd5b505050505b866001600160a01b03166000805160206159d983398151915283600001518460a00151600260405180848152602001838152602001826003811115614eaf57fe5b6150c561587f565b915061472e9050565b50979650505050505050565b6150e261587f565b604080830151908401516150fb9163ffffffff613dcb16565b6040820152606080830151908401516151199163ffffffff613dcb16565b6060820152815160208401516151349163ffffffff613dcb16565b60208083019190915282015183516151519163ffffffff613dcb16565b81526080808301519084015161516c9163ffffffff613dcb16565b608082015260a0808301519084015161518a9163ffffffff613dcb16565b60a082015260c080830151908401516151a89163ffffffff613dcb16565b60c082015260e080830151908401516151c69163ffffffff613dcb16565b60e082015261010080830151908401516151e59163ffffffff613dcb16565b61010082015292915050565b6000806151ff858585613f1e565b6714d1120d7b1600001195945050505050565b61521a61587f565b6152226159b7565b61522b846121ce565b60408501908152602085810192835286019290925291845290519051615255918891889190614bd2565b61525e84614b82565b61526b8260200151613fb9565b60408301819052680ad78ebc5ac620000060608401526020830151600091615299919063ffffffff612d5c16565b90506152aa83600001518286615715565b60e087015260c086015260a085015260808401526152c9856003614863565b846001600160a01b03166000805160206159d98339815191528460000151856020015160016040518084815260200183815260200182600381111561530a57fe5b60ff168152602001935050505060405180910390a2846001600160a01b0316600080516020615afb833981519152600080600060016040518085815260200184815260200183815260200182600381111561536157fe5b60ff16815260200194505050505060405180910390a25050949350505050565b60008183106153905781611ffa565b5090919050565b600081836153e65760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315614d28578181015183820152602001614d10565b5060008385816153f257fe5b0495945050505050565b6000631f54050082111561541257631f54050091505b816154265750670de0b6b3a7640000610f23565b670de0b6b3a764000083835b600181111561549d57600281066154675761544d828361581b565b915061546081600263ffffffff6137fd16565b9050615498565b615471828461581b565b925061547d828361581b565b9150615495600261158483600163ffffffff612d5c16565b90505b615432565b611590828461581b565b6040808501516006548251632770a7eb60e21b81526001600160a01b039182166004820152602481018690529251911691639dc29fac91604480830192600092919082900301818387803b1580156154fe57600080fd5b505af1158015615512573d6000803e3d6000fd5b5050505083600001516001600160a01b03166338d995a8836040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b15801561556057600080fd5b505af1158015615574573d6000803e3d6000fd5b505050508360a001516001600160a01b0316633f10abab84836040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b1580156155dc57600080fd5b505af11580156155f0573d6000803e3d6000fd5b5050505083600001516001600160a01b03166364a197f38560a00151836040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b15801561369457600080fd5b6001811180156156da5750600b546040805163de8fa43160e01b815290516001926001600160a01b03169163de8fa431916004808301926020929190829003018186803b1580156156ac57600080fd5b505afa1580156156c0573d6000803e3d6000fd5b505050506040513d60208110156156d657600080fd5b5051115b610ebf5760405162461bcd60e51b815260040180806020018281038252602a815260200180615a22602a913960400191505060405180910390fd5b6000808080841561576b5761572a8786615381565b935061574087611584888763ffffffff6137a416565b9250615752878563ffffffff612d5c16565b9150615764868463ffffffff612d5c16565b9050615778565b5060009250829150859050845b93509350935093565b61578961587f565b8381526020810183905260006157b18361158487670f43fc2c04ee000063ffffffff6137a416565b90506157bc81613fb9565b60408301819052680ad78ebc5ac62000006060840152608083018690526157ea90829063ffffffff612d5c16565b60a08301526157ff848263ffffffff612d5c16565b61010083015250600060c0820181905260e08201529392505050565b60008061582e848463ffffffff6137a416565b905061409f670de0b6b3a7640000611584836706f05b59d3b20000613dcb565b6040518060a00160405280600081526020016000815260200160001515815260200160008152602001600081525090565b6040518061012001604052806000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081525090565b6040805160e081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c081019190915290565b60405180610100016040528060008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081525090565b604051806060016040528060008152602001600081526020016000151581525090565b6040518060e0016040528060008152602001600081526020016000815260200160006001600160a01b0316815260200160001515815260200160008152602001600081525090565b6040518060600160405280600081526020016000815260200160008152509056feea67486ed7ebe3eea8ab3390efd4a3c8aae48be5bea27df104a8af786c40843454726f76654d616e616765723a20556e61626c6520746f2072656465656d20616e7920616d6f756e7454726f76654d616e616765723a204f6e6c79206f6e652074726f766520696e207468652073797374656d54726f76654d616e616765723a20526564656d7074696f6e7320617265206e6f7420616c6c6f77656420647572696e6720626f6f747374726170207068617365536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7754726f76654d616e616765723a2052657175657374656420726564656d7074696f6e20616d6f756e74206d757374206265203c3d20757365722773204c55534420746f6b656e2062616c616e6365c3770d654ed33aeea6bf11ac8ef05d02a6a04ed4686dd2f624d853bbec43cc8b54726f76654d616e616765723a2043616c6c6572206973206e6f742074686520426f72726f7765724f7065726174696f6e7320636f6e747261637454726f76654d616e616765723a2043616c6c646174612061646472657373206172726179206d757374206e6f7420626520656d70747954726f76654d616e616765723a20416d6f756e74206d7573742062652067726561746572207468616e207a65726f54726f76654d616e616765723a2046656520776f756c642065617420757020616c6c2072657475726e656420636f6c6c61746572616c4d6178206665652070657263656e74616765206d757374206265206265747765656e20302e352520616e64203130302554726f76654d616e616765723a2043616e6e6f742072656465656d207768656e20544352203c204d435254726f76654d616e616765723a206e6f7468696e6720746f206c697175696461746554726f76654d616e616765723a2054726f766520646f6573206e6f74206578697374206f7220697320636c6f736564a264697066735822122003662565164cd9e72ac126874f797defe7bac2dc7f2360fe8cd27b870ec316d164736f6c634300060b0033", + "bytecode": "0x60a06040523480156200001157600080fd5b5062127500806200002b336001600160e01b036200003516565b6080525062000159565b6001600160a01b038116620000675760405162461bcd60e51b81526004016200005e9062000117565b60405180910390fd5b6001600160a01b038116620000846001600160e01b03620000d916565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000604051620000c990620000fa565b6040519081900390209190915550565b600080604051620000ea90620000fa565b6040519081900390205492915050565b7035b2bc9737bbb730b136329737bbb732b960791b815260110190565b60208082526022908201527f4f776e61626c653a3a7365744f776e65723a20696e76616c6964206164647265604082015261737360f01b606082015260800190565b6080516156bb62000174600039806122bc52506156bb6000f3fe608060405234801561001057600080fd5b50600436106105255760003560e01c8063741bef1a116102af578063b7f8cf9b11610172578063d3d6f843116100d9578063dc62a70211610092578063dc62a70214610a3c578063e056e91814610a4f578063e2ac77b014610a62578063f36b242514610a75578063fe2ba84814610a7d578063febb33de14610a9057610525565b8063d3d6f843146109e0578063d5b35635146109f3578063d66a255314610a06578063d815e8e914610a19578063d9a7244414610a21578063da303f1414610a3457610525565b8063c35bc5501161012b578063c35bc5501461099a578063c52861f2146109a2578063c7b55481146109aa578063cbd138ae146109b2578063d293c710146109c5578063d380a37c146109d857610525565b8063b7f8cf9b14610939578063b82f263d14610941578063b91af97c14610954578063bcd3752614610977578063be4b03341461098a578063bf9befb11461099257610525565b8063887105d311610216578063a20baee6116101cf578063a20baee61461081f578063a3f4df7e146108ee578063a537896f14610903578063ae7bec1914610916578063ae9187541461091e578063b0d8e1811461092657610525565b8063887105d3146108b3578063893d20e8146108bb57806396d711ff146108c35780639976cf45146108cb5780639dd233d2146108de5780639f070670146108e657610525565b80637cf54e40116102685780637cf54e40146108625780637f7dde4a1461086a578063807d138d14610872578063814a0a451461087a57806382fe3eb91461088d57806387436936146108a057610525565b8063741bef1a14610827578063756b253e1461082f578063759b303414610842578063794e57241461084a578063795d26c314610852578063797250e31461085a57610525565b80633a128595116103f75780635d8c96091161035e57806366ca4a211161031757806366ca4a21146107d05780636b444952146107d85780636ef64338146107e0578063716c47e61461080457806372423c171461080c57806372fe25aa1461081f57610525565b80635d8c9609146107745780635dba4c4a1461078757806361ec893d1461078f578063631203b01461079757806364cee260146107aa578063653d46e7146107bd57610525565b80634a767d68116103b05780634a767d68146107005780634e443d9e146107135780634ff814431461073357806354062a45146107465780635733d58f146107595780635d6b480f1461076157610525565b80633a128595146106af5780633cc74225146106b757806342ccf1e4146106bf578063477d66cf146106d2578063480cd578146106e557806349eefeee146106f857610525565b806317c62b171161049b5780631eb08380116104545780631eb08380146106695780631f68f20a1461067157806321e37801146106795780632b11551a1461068c5780632f8655681461069457806331c903b0146106a757610525565b806317c62b171461060257806318f2817a146106155780631a59a50e146106285780631bf435551461063b5780631d08837b146106435780631e8b1c2b1461065657610525565b80630d43e8ad116104ed5780630d43e8ad1461058b578063105bb15c146105a057806312610e92146105a857806313af4035146105bb57806315d549f1146105ce5780631673c79a146105e157610525565b806301f16e181461052a578063043782fb1461053f57806305b6f5ca14610547578063071a75411461055a5780630b07655714610578575b600080fd5b61053d610538366004614e61565b610aa3565b005b61053d611009565b61053d61055536600461502c565b61100f565b6105626110a6565b60405161056f9190615546565b60405180910390f35b61053d610586366004614d6a565b6110ab565b6105936110d3565b60405161056f919061510e565b6105626110e2565b6105626105b6366004614da2565b6110f1565b61053d6105c9366004614d6a565b611149565b6105626105dc366004614d6a565b61118a565b6105f46105ef366004614d6a565b6111ae565b60405161056f92919061554f565b610562610610366004614d6a565b6111c7565b610562610623366004614d6a565b6111d2565b610562610636366004614d6a565b6111e5565b6105626112ab565b61053d610651366004614f8f565b6112b8565b61053d610664366004614dcd565b6112bd565b61056261161e565b61056261162b565b610562610687366004614d6a565b611631565b61056261165b565b61053d6106a2366004614d6a565b611665565b6105626116cb565b6105936116d8565b6105936116e7565b6105626106cd366004614d6a565b6116f6565b6105626106e0366004614f8f565b611727565b6105626106f3366004614d6a565b61173a565b610562611758565b61056261070e366004614da2565b61175e565b610726610721366004614f8f565b61177d565b60405161056f9190615181565b610562610741366004614f8f565b611788565b610562610754366004614f8f565b611793565b61056261179e565b61053d61076f366004614da2565b61181b565b610562610782366004614d6a565b611867565b61053d611872565b6105626118dd565b6105626107a5366004614f8f565b6118e2565b6105626107b8366004614d6a565b6118ef565b61053d6107cb366004614f8f565b61190d565b610562611c97565b610562611ca9565b6107f36107ee366004614d6a565b611caf565b60405161056f959493929190615583565b610593611ce9565b61056261081a366004614da2565b611cf8565b610562611d55565b610593611d61565b61059361083d366004614f8f565b611d70565b610562611d97565b610562611da4565b610562611de9565b610562611f08565b610593611f0e565b610593611f1d565b610562611f2c565b6105626108883660046150b6565b611f32565b61053d61089b366004614d6a565b611f49565b61053d6108ae366004614d6a565b611f5a565b610562611fe6565b6105936120b5565b6105626120d4565b6105626108d9366004614da2565b6120da565b61056261210d565b610593612113565b6108f6612122565b60405161056f91906151b8565b610562610911366004614f8f565b61214a565b610593612155565b610593612164565b610562610934366004614d6a565b612173565b61059361219a565b61056261094f366004614f8f565b6121a9565b610967610962366004614d6a565b6121b4565b60405161056f94939291906155c3565b61053d610985366004614fbf565b612218565b6105626122ae565b6105626122b4565b6105626122ba565b6105626122de565b6105626122f0565b61053d6109c0366004614d6a565b6122fc565b6105626109d3366004614da2565b61230f565b61056261231b565b6105626109ee366004614da2565b612321565b610562610a01366004614f8f565b612357565b610562610a14366004614d6a565b61236a565b610593612385565b610593610a2f366004614f8f565b612394565b6105626123be565b61053d610a4a366004614d6a565b6123ee565b610726610a5d366004614d6a565b6123fb565b610726610a70366004614d6a565b612459565b610562612464565b61053d610a8b366004614d6a565b612471565b610562610a9e366004614f8f565b612482565b610aab6120b5565b6001600160a01b0316336001600160a01b031614610ae45760405162461bcd60e51b8152600401610adb906153a3565b60405180910390fd5b8051610aef90612493565b610afc8160200151612493565b610b098160400151612493565b610b168160600151612493565b610b238160800151612493565b610b308160a00151612493565b610b3d8160c00151612493565b610b4a8160e00151612493565b610b58816101000151612493565b610b66816101200151612493565b610b74816101400151612493565b610b82816101600151612493565b610b90816101800151612493565b610b9e816101a00151612493565b8051600c80546001600160a01b03199081166001600160a01b038085169190911790925560208401516004805483169184169190911790556040808501516003805484169185169190911790556060850151600580548416918516919091179055608085015160008054841691851691909117905560a085015160018054841691851691909117905560c085015160068054841691851691909117905560e0850151600780548416918516919091179055610100850151600880548416918516919091179055610120850151600280548416918516919091179055610140850151600980548416918516919091179055610160850151600d80548416918516919091179055610180850151600a805484169185169190911790556101a0850151600b80549093169316929092179055517f84861842e6a98dd759145eb5e7b48279d0f02ebeabc8a69e5196b2f4c5023db991610cf99161510e565b60405180910390a17f6493041f605f233753d9b16dd158c9f297b8eaca22b2d0dc402a454f5683a5b18160200151604051610d34919061510e565b60405180910390a17fbf65195e6d5213f6fcbce65b1454c925197a45e616dabd2e243542b039b050928160600151604051610d6f919061510e565b60405180910390a17f3ca631ffcd2a9b5d9ae18543fc82f58eb4ca33af9e6ab01b7a8e95331e6ed9858160600151604051610daa919061510e565b60405180910390a17f78f058b189175430c48dc02699e3a0031ea4ff781536dc2fab847de4babdd8828160800151604051610de5919061510e565b60405180910390a17f5ee0cae2f063ed938bb55046f6a932fb6ae792bf43624806bb90abe68a50be9b8160a00151604051610e20919061510e565b60405180910390a17f82966d27eea39b038ee0fa30cd16532bb24f6e65d31cb58fb227aa5766cdcc7f8160c00151604051610e5b919061510e565b60405180910390a17fcfb07d791fcafc032b35837b50eb84b74df518cf4cc287e8084f47630fa70fa08160e00151604051610e96919061510e565b60405180910390a17fe67f36a6e961157d6eff83b91f3af5a62131ceb6f04954ef74f51c1c05e7f88d816101000151604051610ed2919061510e565b60405180910390a17f8c537274438aa850a330284665d81a85dd38267d09e4050d416bfc94142db264816101200151604051610f0e919061510e565b60405180910390a17fcdf33850c44a1a874b5fefb51dae615ac6afebd581ef90d571f81b06541d8e9d816101400151604051610f4a919061510e565b60405180910390a17f65f4cf077bc01e4742eb5ad98326f6e95b63548ea24b17f8d5e823111fe78800816101600151604051610f86919061510e565b60405180910390a17f61e0c29d5028a9e4facaa476a46e78912e99f1ba945c9560b86b82ebe36ee52d816101800151604051610fc2919061510e565b60405180910390a17f7624075ed781e3aa34b0f492d70d1bb5a6fcde04534165e20f990d2e546be4dd816101a00151604051610ffe919061510e565b60405180910390a150565b42600f55565b6004546040516000916060916001600160a01b039091169061103490849036906150e1565b600060405180830381855af49150503d806000811461106f576040519150601f19603f3d011682016040523d82523d6000602084013e611074565b606091505b50915091508181906110995760405162461bcd60e51b8152600401610adb91906151b8565b5050505050505050505050565b600281565b6110b36124d8565b6000546001546110d0916001600160a01b03908116911683612504565b50565b600c546001600160a01b031681565b60006110ec612616565b905090565b60006110fb6124d8565b6001600160a01b038316600090815260106020526040812054611124908463ffffffff61263216565b6001600160a01b03851660009081526010602052604090208190559150505b92915050565b6111516120b5565b6001600160a01b0316336001600160a01b0316146111815760405162461bcd60e51b8152600401610adb906153a3565b6110d081612674565b60006111946124d8565b61119d826126ff565b6001600160801b031690505b919050565b6016602052600090815260409020805460019091015482565b6000611143826116f6565b60006111dc6124d8565b61114382612799565b6001600160a01b0381166000908152601660205260408120546014548290611213908363ffffffff61263216565b905080158061124c575060016001600160a01b03851660009081526010602052604090206003015460ff16600481111561124957fe5b14155b1561125c576000925050506111a9565b6001600160a01b038416600090815260106020526040812060020154906112a1670de0b6b3a7640000611295848663ffffffff61284c16565b9063ffffffff61288616565b9695505050505050565b6809c2007651b250000081565b600e55565b80516112db5760405162461bcd60e51b8152600401610adb906153d4565b6000546001546006546001600160a01b039283169291821691166112fd614c3d565b611305614c6e565b600260009054906101000a90046001600160a01b03166001600160a01b0316630fdb11cf6040518163ffffffff1660e01b8152600401602060405180830381600087803b15801561135557600080fd5b505af1158015611369573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061138d9190614fa7565b826000018181525050826001600160a01b031663bdaf37ea6040518163ffffffff1660e01b815260040160206040518083038186803b1580156113cf57600080fd5b505afa1580156113e3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114079190614fa7565b60208301528151611417906128c8565b158015604084015261143f576114388585846000015185602001518a612963565b9050611457565b6114548585846000015185602001518a612c78565b90505b600081602001511161147b5760405162461bcd60e51b8152600401610adb906154b5565b608081015160a082015160405163335525ad60e01b81526001600160a01b0386169263335525ad926114af9260040161554f565b600060405180830381600087803b1580156114c957600080fd5b505af11580156114dd573d6000803e3d6000fd5b505050506114f585858360c001518460e00151612db8565b6101008101511561156c576008546101008201516040516364a197f360e01b81526001600160a01b03888116936364a197f393611539939290911691600401615168565b600060405180830381600087803b15801561155357600080fd5b505af1158015611567573d6000803e3d6000fd5b505050505b61157a85826040015161301c565b60208101516060830152610100810151604082015182516115b292916115a6919063ffffffff61263216565b9063ffffffff61263216565b608083018190526060808401516040808501519285015190517f4152c73dd2614c4f9fc35e8c9cf16013cd588c75b49a4c1673ecffdcbcda9403946115fa94909290916155c3565b60405180910390a161161685338360600151846040015161317d565b505050505050565b6801158e460913d0000090565b600e5481565b6001600160a01b03811660009081526010602052604081206003015460ff16600481111561114357fe5b60006110ec6116cb565b61166e8161325a565b60408051600180825281830190925260609160208083019080368337019050509050818160008151811061169e57fe5b60200260200101906001600160a01b031690816001600160a01b0316815250506116c7816112bd565b5050565b60006110ec600e546132a3565b600b546001600160a01b031681565b6001546001600160a01b031681565b6001600160a01b0381166000908152601660205260408120600101546015548290611213908363ffffffff61263216565b6000611143611734611c97565b83613340565b6001600160a01b031660009081526010602052604090206001015490565b60175490565b600080600061176c8561335e565b9150915060006112a18383876133e4565b6000611143826128c8565b600061114382613414565b60006111438261342f565b60035460408051635733d58f60e01b815290516000926001600160a01b031691635733d58f916004808301926020929190829003018186803b1580156117e357600080fd5b505afa1580156117f7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110ec9190614fa7565b6118236124d8565b80600481111561182f57fe5b6001600160a01b0383166000908152601060205260409020600301805460ff1916600183600481111561185e57fe5b02179055505050565b6000611143826111e5565b61187a6124d8565b600061188461344a565b9050670de0b6b3a764000081111561189857fe5b600e8190556040517fc454ee9b76c52f782a256af821b857ca6e125d1e3333bcede402fec2bed9600c906118cd908390615546565b60405180910390a16110d061348e565b603c81565b6000611143611734612464565b6001600160a01b031660009081526010602052604090206002015490565b611915614cba565b506040805160e081018252600080546001600160a01b0390811683526001548116602084015292820181905260608201819052600d548316608083015260a0820181905260c082015260065490911661196c614c3d565b611974614c6e565b600260009054906101000a90046001600160a01b03166001600160a01b0316630fdb11cf6040518163ffffffff1660e01b8152600401602060405180830381600087803b1580156119c457600080fd5b505af11580156119d8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119fc9190614fa7565b826000018181525050826001600160a01b031663bdaf37ea6040518163ffffffff1660e01b815260040160206040518083038186803b158015611a3e57600080fd5b505afa158015611a52573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a769190614fa7565b60208301528151611a86906128c8565b1580156040840152611aad57611aa68483600001518460200151886134e3565b9050611acd565b611aca84600001518560200151846000015185602001518961398a565b90505b6000816020015111611af15760405162461bcd60e51b8152600401610adb906154b5565b608081015160a082015160405163335525ad60e01b81526001600160a01b0386169263335525ad92611b259260040161554f565b600060405180830381600087803b158015611b3f57600080fd5b505af1158015611b53573d6000803e3d6000fd5b50505050611b73846000015185602001518360c001518460e00151612db8565b61010081015115611bea5783516008546101008301516040516364a197f360e01b81526001600160a01b03938416936364a197f393611bb793911691600401615168565b600060405180830381600087803b158015611bd157600080fd5b505af1158015611be5573d6000803e3d6000fd5b505050505b611bfc8460000151826040015161301c565b6020810151606083015261010081015160408201518251611c2892916115a6919063ffffffff61263216565b608083018190526060808401516040808501519285015190517f4152c73dd2614c4f9fc35e8c9cf16013cd588c75b49a4c1673ecffdcbcda940394611c7094909290916155c3565b60405180910390a1611c908460000151338360600151846040015161317d565b5050505050565b60006110ec611ca461344a565b613b40565b60195481565b60106020526000908152604090208054600182015460028301546003909301549192909160ff81169061010090046001600160801b031685565b6004546001600160a01b031681565b6000611d026124d8565b6001600160a01b038316600090815260106020526040812060010154611d2e908463ffffffff613c2216565b6001600160a01b038516600090815260106020526040902060010181905591505092915050565b670de0b6b3a764000081565b6002546001600160a01b031681565b60178181548110611d7d57fe5b6000918252602090912001546001600160a01b0316905081565b6801158e460913d0000081565b60035460408051631e5395c960e21b815290516000926001600160a01b03169163794e5724916004808301926020929190829003018186803b1580156117e357600080fd5b60008054604080516272c7d360e71b8152905183926001600160a01b031691633963e980916004808301926020929190829003018186803b158015611e2d57600080fd5b505afa158015611e41573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e659190614fa7565b90506000600160009054906101000a90046001600160a01b03166001600160a01b0316633963e9806040518163ffffffff1660e01b815260040160206040518083038186803b158015611eb757600080fd5b505afa158015611ecb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611eef9190614fa7565b9050611f01828263ffffffff613c2216565b9250505090565b60185481565b600a546001600160a01b031681565b6000546001600160a01b031681565b60125481565b6000611f3f8484846133e4565b90505b9392505050565b611f516124d8565b6110d081613c47565b611f626120b5565b6001600160a01b0316336001600160a01b031614611f925760405162461bcd60e51b8152600401610adb906153a3565b611f9b81612493565b600480546001600160a01b0319166001600160a01b0383161790556040517f6493041f605f233753d9b16dd158c9f297b8eaca22b2d0dc402a454f5683a5b190610ffe90839061510e565b6000805460408051630a7b61df60e11b8152905183926001600160a01b0316916314f6c3be916004808301926020929190829003018186803b15801561202b57600080fd5b505afa15801561203f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120639190614fa7565b90506000600160009054906101000a90046001600160a01b03166001600160a01b03166314f6c3be6040518163ffffffff1660e01b815260040160206040518083038186803b158015611eb757600080fd5b6000806040516120c4906150f1565b6040519081900390205492915050565b60135481565b60006120e46124d8565b6001600160a01b038316600090815260106020526040812054611124908463ffffffff613c2216565b60145481565b6003546001600160a01b031681565b6040518060400160405280600c81526020016b2a3937bb32a6b0b730b3b2b960a11b81525081565b600061114382613ca4565b6006546001600160a01b031681565b600d546001600160a01b031681565b60008060006121818461335e565b9150915060006121918383613d30565b95945050505050565b6005546001600160a01b031681565b600061114382613d65565b6001600160a01b038116600090815260106020526040812080546001909101549091806121e0856111c7565b91506121eb85611867565b90506121fd848363ffffffff613c2216565b935061220f838263ffffffff613c2216565b92509193509193565b6004546040516000916060916001600160a01b039091169061223d90849036906150e1565b600060405180830381855af49150503d8060008114612278576040519150601f19603f3d011682016040523d82523d6000602084013e61227d565b606091505b50915091508181906122a25760405162461bcd60e51b8152600401610adb91906151b8565b50505050505050505050565b60155481565b60115481565b7f000000000000000000000000000000000000000000000000000000000000000081565b60006110ec6122eb61344a565b6132a3565b670ddd4b8c6c7d70d881565b6123046124d8565b6110d0816002613d91565b6000611f42838361175e565b600f5481565b600061232b6124d8565b6001600160a01b038316600090815260106020526040812060010154611d2e908463ffffffff61263216565b60006111436123646122de565b83613ea6565b6001600160a01b031660009081526010602052604090205490565b6009546001600160a01b031681565b6000601782815481106123a357fe5b6000918252602090912001546001600160a01b031692915050565b60006123c861344a565b600e55670de0b6b3a7640000600e5411156123df57fe5b6123e761348e565b50600e5490565b6017546116c78282613ee6565b600060016001600160a01b03831660009081526010602052604090206003015460ff16600481111561242957fe5b14612436575060006111a9565b506014546001600160a01b03821660009081526016602052604090205410919050565b6000611143826123fb565b60006110ec600e54613b40565b6124796124d8565b6110d081614087565b600061248d826140d7565b50919050565b6001600160a01b0381166124b95760405162461bcd60e51b8152600401610adb90615284565b803b806116c75760405162461bcd60e51b8152600401610adb9061542a565b6005546001600160a01b031633146125025760405162461bcd60e51b8152600401610adb90615346565b565b61250d816123fb565b156126115761251b8161325a565b6000612526826111e5565b90506000612533836116f6565b6001600160a01b038416600090815260106020526040902060010154909150612562908363ffffffff613c2216565b6001600160a01b0384166000908152601060205260409020600181019190915554612593908263ffffffff613c2216565b6001600160a01b0384166000908152601060205260409020556125b583613c47565b6125c1858583856140e4565b6001600160a01b03831660008181526010602052604080822080546001820154600290920154925160008051602061566683398151915294612606949293929161518c565b60405180910390a250505b505050565b60006110ec603c611295600f544261263290919063ffffffff16565b6000611f4283836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506141cc565b6001600160a01b03811661269a5760405162461bcd60e51b8152600401610adb90615242565b806001600160a01b03166126ac6120b5565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360006040516126ef906150f1565b6040519081900390209190915550565b601780546001808201835560008381527fc624b66cc0138b8fabc209247f72d758e1cf3343756d543badbf24212bed8c1590920180546001600160a01b0319166001600160a01b0386161790559154909161275a9190612632565b6001600160a01b039290921660009081526010602052604090206003018054610100600160881b0319166101006001600160801b038516021790555090565b6001600160a01b03811660009081526010602052604081206001015481906127c0906141f8565b6001600160a01b03841660009081526010602052604090206002018054908290556011549192509061280a9083906127fe908463ffffffff61263216565b9063ffffffff613c2216565b60118190556040517f6bac5e0eb3c44eb03a60ab11ec3a2c051771616aecadbcfff2630aabae5203829161283d91615546565b60405180910390a15092915050565b60008261285b57506000611143565b8282028284828161286857fe5b0414611f425760405162461bcd60e51b8152600401610adb90615305565b6000611f4283836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250614234565b6000806128d483613d65565b9050600360009054906101000a90046001600160a01b03166001600160a01b0316635733d58f6040518163ffffffff1660e01b815260040160206040518083038186803b15801561292457600080fd5b505afa158015612938573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061295c9190614fa7565b1192915050565b61296b614c6e565b612973614cf6565b61297b614c6e565b8482526000608083015261298d611de9565b60a083015261299a611fe6565b60c0830152600060208301525b835182602001511015612c6d57838260200151815181106129c457fe5b6020908102919091018101516001600160a01b03166060840181905260009081526010909152604090206003015460019060ff166004811115612a0357fe5b14612a0d57612c5d565b612a1b82606001518761175e565b60408301526080820151612b8257600360009054906101000a90046001600160a01b03166001600160a01b031663794e57246040518163ffffffff1660e01b815260040160206040518083038186803b158015612a7757600080fd5b505afa158015612a8b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612aaf9190614fa7565b826040015110158015612ac157508151155b15612acb57612c5d565b6000612ae08360c001518460a00151896133e4565b9050612afd8989856060015186604001518760000151868d61426b565b60808101518451919350612b17919063ffffffff61263216565b8352608082015160a0840151612b329163ffffffff61263216565b60a08085019190915282015160c0840151612b529163ffffffff61263216565b60c0840152612b618483614641565b9350612b768360c001518460a0015189614758565b15608084015250612c5d565b81608001518015612c1b5750600360009054906101000a90046001600160a01b03166001600160a01b031663794e57246040518163ffffffff1660e01b815260040160206040518083038186803b158015612bdc57600080fd5b505afa158015612bf0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612c149190614fa7565b8260400151105b15612c5d57612c348888846060015185600001516147f7565b60808101518351919250612c4e919063ffffffff61263216565b8252612c5a8382614641565b92505b60208201805160010190526129a7565b505095945050505050565b612c80614c6e565b612c88614cf6565b612c90614c6e565b848252600060208301525b835182602001511015612c6d5783826020015181518110612cb857fe5b60209081029190910101516001600160a01b031660608301819052612cdd908761175e565b6040808401919091526003548151631e5395c960e21b815291516001600160a01b039091169163794e5724916004808301926020929190829003018186803b158015612d2857600080fd5b505afa158015612d3c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612d609190614fa7565b82604001511015612da857612d7f8888846060015185600001516147f7565b60808101518351919250612d99919063ffffffff61263216565b8252612da58382614641565b92505b6020820180516001019052612c9b565b81612dc257613016565b601854600090612de4906127fe84670de0b6b3a764000063ffffffff61284c16565b90506000612e096019546127fe670de0b6b3a76400008761284c90919063ffffffff16565b90506000612e226011548461288690919063ffffffff16565b90506000612e3b6011548461288690919063ffffffff16565b9050612e62612e556011548461284c90919063ffffffff16565b859063ffffffff61263216565b601855601154612e8a90612e7d90839063ffffffff61284c16565b849063ffffffff61263216565b601955601454612ea0908363ffffffff613c2216565b601455601554612eb6908263ffffffff613c2216565b60158190556014546040517f9f8bc8ab0daf5bceef75ecfd2085d1fcc6548c657ea970d9a23a60610d0737e392612eed929161554f565b60405180910390a160405163121cbc4d60e11b81526001600160a01b03891690632439789a90612f21908990600401615546565b600060405180830381600087803b158015612f3b57600080fd5b505af1158015612f4f573d6000803e3d6000fd5b505060405163f2e91d7160e01b81526001600160a01b038a16925063f2e91d719150612f7f908990600401615546565b600060405180830381600087803b158015612f9957600080fd5b505af1158015612fad573d6000803e3d6000fd5b50506040516364a197f360e01b81526001600160a01b038b1692506364a197f39150612fdf908a908990600401615168565b600060405180830381600087803b158015612ff957600080fd5b505af115801561300d573d6000803e3d6000fd5b50505050505050505b50505050565b6011546012819055506000826001600160a01b03166314f6c3be6040518163ffffffff1660e01b815260040160206040518083038186803b15801561306057600080fd5b505afa158015613074573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906130989190614fa7565b90506000600160009054906101000a90046001600160a01b03166001600160a01b03166314f6c3be6040518163ffffffff1660e01b815260040160206040518083038186803b1580156130ea57600080fd5b505afa1580156130fe573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906131229190614fa7565b9050613138816127fe848663ffffffff61263216565b60138190556012546040517f51bf4c63ec3cba9d03d43238abbdd979dd91bd16d9895c74ceea9118c7baaf609261316f929161554f565b60405180910390a150505050565b81156131ee57600954600754604051631062c15f60e11b81526001600160a01b03928316926320c582be926131bb9291169087908790600401615122565b600060405180830381600087803b1580156131d557600080fd5b505af11580156131e9573d6000803e3d6000fd5b505050505b8015613016576040516364a197f360e01b81526001600160a01b038516906364a197f3906132229086908590600401615168565b600060405180830381600087803b15801561323c57600080fd5b505af1158015613250573d6000803e3d6000fd5b5050505050505050565b60016001600160a01b03821660009081526010602052604090206003015460ff16600481111561328657fe5b146110d05760405162461bcd60e51b8152600401610adb906154f7565b600061114361333283600360009054906101000a90046001600160a01b03166001600160a01b03166328d28b5b6040518163ffffffff1660e01b815260040160206040518083038186803b1580156132fa57600080fd5b505afa15801561330e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127fe9190614fa7565b670de0b6b3a7640000614929565b6000611f42670de0b6b3a7640000611295858563ffffffff61284c16565b600080600061336c846111e5565b90506000613379856116f6565b6001600160a01b038616600090815260106020526040812060010154919250906133a9908463ffffffff613c2216565b6001600160a01b038716600090815260106020526040812054919250906133d6908463ffffffff613c2216565b919550909350505050915091565b6000821561340b57600061340284611295878663ffffffff61284c16565b9150611f429050565b50600019611f42565b6000611143826801158e460913d0000063ffffffff613c2216565b6000611143826801158e460913d0000063ffffffff61263216565b600080613455612616565b9050600061346b670ddd4b8c6c7d70d88361493f565b9050611f01670de0b6b3a764000061129583600e5461284c90919063ffffffff16565b60006134a5600f544261263290919063ffffffff16565b9050603c81106110d05742600f8190556040517f860f8d2f0c74dd487e89e2883e3b25b8159ce1e1b3433a291cba7b82c508f3bc91610ffe91615546565b6134eb614c6e565b6134f3614cf6565b6134fb614c6e565b8482526000608083015261350d611de9565b60a083015261351a611fe6565b8260c001818152505086608001516001600160a01b0316634d6228316040518163ffffffff1660e01b815260040160206040518083038186803b15801561356057600080fd5b505afa158015613574573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906135989190614d86565b82606001906001600160a01b031690816001600160a01b031681525050600087608001516001600160a01b0316631e2231436040518163ffffffff1660e01b815260040160206040518083038186803b1580156135f457600080fd5b505afa158015613608573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061362c9190614d86565b6000602085015290505b84836020015110801561365f5750806001600160a01b031683606001516001600160a01b031614155b1561397f5760808801516060840151604051632dc9c0eb60e21b81526000926001600160a01b03169163b72703ac9161369b919060040161510e565b60206040518083038186803b1580156136b357600080fd5b505afa1580156136c7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906136eb9190614d86565b90506136fb84606001518961175e565b6040850152608084015161387457600360009054906101000a90046001600160a01b03166001600160a01b031663794e57246040518163ffffffff1660e01b815260040160206040518083038186803b15801561375757600080fd5b505afa15801561376b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061378f9190614fa7565b8460400151101580156137a157508351155b156137ac575061397f565b60006137c18560c001518660a001518b6133e4565b8a5160208c01516060880151604089015189519495506137e294868f61426b565b608081015186519195506137fc919063ffffffff61263216565b8552608084015160a08601516138179163ffffffff61263216565b8560a00181815250506138448461010001516115a68660a001518860c0015161263290919063ffffffff16565b60c08601526138538685614641565b95506138688560c001518660a001518b614758565b15608086015250613961565b8360800151801561390d5750600360009054906101000a90046001600160a01b03166001600160a01b031663794e57246040518163ffffffff1660e01b815260040160206040518083038186803b1580156138ce57600080fd5b505afa1580156138e2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906139069190614fa7565b8460400151105b1561395b5761392e89600001518a60200151866060015187600001516147f7565b60808101518551919450613948919063ffffffff61263216565b84526139548584614641565b9450613961565b5061397f565b6001600160a01b031660608401526020830180516001019052613636565b505050949350505050565b613992614c6e565b61399a614cf6565b6139a2614c6e565b600d54858352600060208401526001600160a01b03165b8483602001511015613b3457806001600160a01b0316634d6228316040518163ffffffff1660e01b815260040160206040518083038186803b1580156139fe57600080fd5b505afa158015613a12573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613a369190614d86565b6001600160a01b031660608401819052613a50908861175e565b6040808501919091526003548151631e5395c960e21b815291516001600160a01b039091169163794e5724916004808301926020929190829003018186803b158015613a9b57600080fd5b505afa158015613aaf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613ad39190614fa7565b83604001511015613b1f57613af28989856060015186600001516147f7565b60808101518451919350613b0c919063ffffffff61263216565b8352613b188483614641565b9350613b24565b613b34565b60208301805160010190526139b9565b50505095945050505050565b6000611143613b9783600360009054906101000a90046001600160a01b03166001600160a01b031663f92d34336040518163ffffffff1660e01b815260040160206040518083038186803b1580156132fa57600080fd5b600360009054906101000a90046001600160a01b03166001600160a01b031663240926696040518163ffffffff1660e01b815260040160206040518083038186803b158015613be557600080fd5b505afa158015613bf9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613c1d9190614fa7565b614929565b600082820183811015611f425760405162461bcd60e51b8152600401610adb9061520b565b601480546001600160a01b038316600090815260166020526040908190209182556015546001909201829055915491517fc437f324d85e369394148dd9d62f98f534b382e01ed3dd2eb98138fb6d3ab49a92610ffe92909161554f565b600354604080516324386ecd60e11b815290516000926001600160a01b031691634870dd9a916004808301926020929190829003018186803b158015613ce957600080fd5b505afa158015613cfd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613d219190614fa7565b8281613d2957fe5b0492915050565b60008115613d5c57613d55826112958568056bc75e2d6310000063ffffffff61284c16565b9050611143565b50600019611143565b600080613d70611fe6565b90506000613d7c611de9565b9050613d898282866133e4565b949350505050565b6000816004811115613d9f57fe5b14158015613db957506001816004811115613db657fe5b14155b613dbf57fe5b601754613dcb816149ea565b6001600160a01b0383166000908152601060205260409020600301805483919060ff19166001836004811115613dfd57fe5b02179055506001600160a01b0383166000908152601060209081526040808320600180820185905590849055601690925282208281550155613e3f8382613ee6565b600d54604051631484968760e11b81526001600160a01b03909116906329092d0e90613e6f90869060040161510e565b600060405180830381600087803b158015613e8957600080fd5b505af1158015613e9d573d6000803e3d6000fd5b50505050505050565b600080613ec5670de0b6b3a7640000611295868663ffffffff61284c16565b9050828110611f425760405162461bcd60e51b8152600401610adb9061545f565b6001600160a01b03821660009081526010602052604081206003015460ff1690816004811115613f1257fe5b14158015613f2c57506001816004811115613f2957fe5b14155b613f3257fe5b6001600160a01b03831660009081526010602052604081206003015461010090046001600160801b0316908390613f6a826001612632565b905080836001600160801b03161115613f7f57fe5b600060178281548110613f8e57fe5b600091825260209091200154601780546001600160a01b03909216925082916001600160801b038716908110613fc057fe5b600091825260208083209190910180546001600160a01b0319166001600160a01b03948516179055918316815260109091526040908190206003018054610100600160881b0319166101006001600160801b03881602179055517f02b04ae5f7be9ca7c103293a2aa15f3c339d15d6eda53b721fef7b0e609c831a906140499083908790615146565b60405180910390a1601780548061405c57fe5b600082815260209020810160001990810180546001600160a01b031916905501905550505050505050565b6001600160a01b0381166000908152601060205260409020600201546011546140b6908263ffffffff61263216565b601155506001600160a01b0316600090815260106020526040812060020155565b60006111436123646116cb565b60405163121cbc4d60e11b81526001600160a01b03841690632439789a90614110908590600401615546565b600060405180830381600087803b15801561412a57600080fd5b505af115801561413e573d6000803e3d6000fd5b505060405163f2e91d7160e01b81526001600160a01b038716925063f2e91d71915061416e908590600401615546565b600060405180830381600087803b15801561418857600080fd5b505af115801561419c573d6000803e3d6000fd5b505060405163be41205f60e01b81526001600160a01b038616925063be41205f9150613222908490600401615546565b600081848411156141f05760405162461bcd60e51b8152600401610adb91906151b8565b505050900390565b6000806013546000141561420d575081611143565b60006012541161421957fe5b611f426013546112956012548661284c90919063ffffffff16565b600081836142555760405162461bcd60e51b8152600401610adb91906151b8565b50600083858161426157fe5b0495945050505050565b614273614c6e565b61427b614d3e565b60175460011061428b5750614636565b614294876121b4565b604085015260208481019190915284018190529083526142b390613ca4565b604083018190526801158e460913d00000606084015260208301516142dd9163ffffffff61263216565b8152670de0b6b3a764000086116143a8576143028989836020015184604001516140e4565b61430b87614087565b60006080830181905260a0830152815160c0830152805160e0830152614332876003613d91565b815160208301516040516001600160a01b038a1692600080516020615646833981519152926143639260029061555d565b60405180910390a2866001600160a01b03166000805160206156668339815191526000806000600260405161439b949392919061518c565b60405180910390a2614634565b670de0b6b3a7640000861180156144435750600360009054906101000a90046001600160a01b03166001600160a01b031663794e57246040518163ffffffff1660e01b815260040160206040518083038186803b15801561440857600080fd5b505afa15801561441c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906144409190614fa7565b86105b156144935761445c8989836020015184604001516140e4565b61446587614087565b81518151614474919087614a90565b60e086015260c085015260a08401526080830152614332876003613d91565b600360009054906101000a90046001600160a01b03166001600160a01b031663794e57246040518163ffffffff1660e01b815260040160206040518083038186803b1580156144e157600080fd5b505afa1580156144f5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906145199190614fa7565b861015801561452757508386105b8015614534575081518510155b156146235761454d8989836020015184604001516140e4565b8461455457fe5b61455d87614087565b6145708260000151836020015185614afc565b915061457d876003613d91565b610100820151156145f257600854610100830151604051633f10abab60e01b81526001600160a01b0390921691633f10abab916145bf918b9190600401615168565b600060405180830381600087803b1580156145d957600080fd5b505af11580156145ed573d6000803e3d6000fd5b505050505b815160a08301516040516001600160a01b038a1692600080516020615646833981519152926143639260029061555d565b61462b614c6e565b91506146369050565b505b979650505050505050565b614649614c6e565b604080830151908401516146629163ffffffff613c2216565b6040820152606080830151908401516146809163ffffffff613c2216565b60608201528151602084015161469b9163ffffffff613c2216565b60208083019190915282015183516146b89163ffffffff613c2216565b8152608080830151908401516146d39163ffffffff613c2216565b608082015260a080830151908401516146f19163ffffffff613c2216565b60a082015260c0808301519084015161470f9163ffffffff613c2216565b60c082015260e0808301519084015161472d9163ffffffff613c2216565b60e0820152610100808301519084015161474c9163ffffffff613c2216565b61010082015292915050565b6000806147668585856133e4565b9050600360009054906101000a90046001600160a01b03166001600160a01b0316635733d58f6040518163ffffffff1660e01b815260040160206040518083038186803b1580156147b657600080fd5b505afa1580156147ca573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906147ee9190614fa7565b11949350505050565b6147ff614c6e565b614807614d3e565b614810846121b4565b6040850190815260208581019283528601929092529184529051905161483a9188918891906140e4565b61484384614087565b6148508260200151613ca4565b604083018190526801158e460913d000006060840152602083015160009161487e919063ffffffff61263216565b905061488f83600001518286614a90565b60e087015260c086015260a085015260808401526148ae856003613d91565b825160208401516040516001600160a01b03881692600080516020615646833981519152926148df9260019061555d565b60405180910390a2846001600160a01b031660008051602061566683398151915260008060006001604051614917949392919061518c565b60405180910390a25050949350505050565b60008183106149385781611f42565b5090919050565b6000631f54050082111561495557631f54050091505b816149695750670de0b6b3a7640000611143565b670de0b6b3a764000083835b60018111156149e057600281066149aa576149908283614c0a565b91506149a381600263ffffffff61288616565b90506149db565b6149b48284614c0a565b92506149c08283614c0a565b91506149d8600261129583600163ffffffff61263216565b90505b614975565b6112a18284614c0a565b600181118015614a745750600d546040805163de8fa43160e01b815290516001926001600160a01b03169163de8fa431916004808301926020929190829003018186803b158015614a3a57600080fd5b505afa158015614a4e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190614a729190614fa7565b115b6110d05760405162461bcd60e51b8152600401610adb906152bb565b60008080808415614ae657614aa58786614929565b9350614abb87611295888763ffffffff61284c16565b9250614acd878563ffffffff61263216565b9150614adf868463ffffffff61263216565b9050614af3565b5060009250829150859050845b93509350935093565b614b04614c6e565b838152602080820184905260035460408051631e5395c960e21b81529051600093614ba0938793611295936001600160a01b039092169263794e572492600480840193829003018186803b158015614b5b57600080fd5b505afa158015614b6f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190614b939190614fa7565b889063ffffffff61284c16565b9050614bab81613ca4565b604083018190526801158e460913d00000606084015260808301869052614bd990829063ffffffff61263216565b60a0830152614bee848263ffffffff61263216565b61010083015250600060c0820181905260e08201529392505050565b600080614c1d848463ffffffff61284c16565b9050613d89670de0b6b3a7640000611295836706f05b59d3b20000613c22565b6040518060a00160405280600081526020016000815260200160001515815260200160008152602001600081525090565b6040518061012001604052806000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081525090565b6040805160e081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c081019190915290565b6040518060e0016040528060008152602001600081526020016000815260200160006001600160a01b0316815260200160001515815260200160008152602001600081525090565b60405180606001604052806000815260200160008152602001600081525090565b803561114381615630565b600060208284031215614d7b578081fd5b8135611f4281615630565b600060208284031215614d97578081fd5b8151611f4281615630565b60008060408385031215614db4578081fd5b8235614dbf81615630565b946020939093013593505050565b60006020808385031215614ddf578182fd5b823567ffffffffffffffff811115614df5578283fd5b80840185601f820112614e06578384fd5b80359150614e1b614e1683615605565b6155de565b8281528381019082850185850284018601891015614e37578687fd5b8693505b8484101561463457614e4d8982614d5f565b835260019390930192918501918501614e3b565b60006101c0808385031215614e74578182fd5b614e7d816155de565b614e878585614d5f565b8152614e968560208601614d5f565b6020820152614ea88560408601614d5f565b6040820152614eba8560608601614d5f565b6060820152614ecc8560808601614d5f565b6080820152614ede8560a08601614d5f565b60a0820152614ef08560c08601614d5f565b60c0820152614f028560e08601614d5f565b60e08201526101009150614f1885838601614d5f565b828201526101209150614f2d85838601614d5f565b828201526101409150614f4285838601614d5f565b828201526101609150614f5785838601614d5f565b828201526101809150614f6c85838601614d5f565b828201526101a09150614f8185838601614d5f565b918101919091529392505050565b600060208284031215614fa0578081fd5b5035919050565b600060208284031215614fb8578081fd5b5051919050565b600080600080600080600060e0888a031215614fd9578283fd5b873596506020880135614feb81615630565b95506040880135614ffb81615630565b9450606088013561500b81615630565b9699959850939660808101359560a0820135955060c0909101359350915050565b600080600080600080600080888a03610160811215615049578182fd5b8935985060208a013561505b81615630565b975060408a013561506b81615630565b965060608a013561507b81615630565b955060808a810135955060a08b0135945060c08b0135935060df19820112156150a2578182fd5b5060e0890190509295985092959890939650565b6000806000606084860312156150ca578283fd5b505081359360208301359350604090920135919050565b6000828483379101908152919050565b7035b2bc9737bbb730b136329737bbb732b960791b815260110190565b6001600160a01b0391909116815260200190565b6001600160a01b039384168152919092166020820152604081019190915260600190565b6001600160a01b039290921682526001600160801b0316602082015260400190565b6001600160a01b03929092168252602082015260400190565b901515815260200190565b8481526020810184905260408101839052608081016151aa83615625565b606083015295945050505050565b6000602080835283518082850152825b818110156151e4578581018301518582016040015282016151c8565b818111156151f55783604083870101525b50601f01601f1916929092016040019392505050565b6020808252601b908201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604082015260600190565b60208082526022908201527f4f776e61626c653a3a7365744f776e65723a20696e76616c6964206164647265604082015261737360f01b606082015260800190565b6020808252601e908201527f4163636f756e742063616e6e6f74206265207a65726f20616464726573730000604082015260600190565b6020808252602a908201527f54726f76654d616e616765723a204f6e6c79206f6e652074726f766520696e206040820152697468652073797374656d60b01b606082015260800190565b60208082526021908201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6040820152607760f81b606082015260800190565b6020808252603b908201527f54726f76654d616e616765723a2043616c6c6572206973206e6f74207468652060408201527f426f72726f7765724f7065726174696f6e7320636f6e74726163740000000000606082015260800190565b60208082526017908201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604082015260600190565b60208082526036908201527f54726f76654d616e616765723a2043616c6c646174612061646472657373206160408201527572726179206d757374206e6f7420626520656d70747960501b606082015260800190565b6020808252818101527f4163636f756e7420636f64652073697a652063616e6e6f74206265207a65726f604082015260600190565b60208082526036908201527f54726f76654d616e616765723a2046656520776f756c642065617420757020616040820152751b1b081c995d1d5c9b99590818dbdb1b185d195c985b60521b606082015260800190565b60208082526022908201527f54726f76654d616e616765723a206e6f7468696e6720746f206c697175696461604082015261746560f01b606082015260800190565b6020808252602f908201527f54726f76654d616e616765723a2054726f766520646f6573206e6f742065786960408201526e1cdd081bdc881a5cc818db1bdcd959608a1b606082015260800190565b90815260200190565b918252602082015260400190565b83815260208101839052606081016004831061557557fe5b826040830152949350505050565b858152602081018590526040810184905260a08101600584106155a257fe5b60608201939093526001600160801b03919091166080909101529392505050565b93845260208401929092526040830152606082015260800190565b60405181810167ffffffffffffffff811182821017156155fd57600080fd5b604052919050565b600067ffffffffffffffff82111561561b578081fd5b5060209081020190565b80600481106111a957fe5b6001600160a01b03811681146110d057600080fdfeea67486ed7ebe3eea8ab3390efd4a3c8aae48be5bea27df104a8af786c408434c3770d654ed33aeea6bf11ac8ef05d02a6a04ed4686dd2f624d853bbec43cc8ba2646970667358221220fa638268bd477a34983ec9709b7e8ae76c286d60c7d4262c98e769f0e17c4a4664736f6c634300060b0033", + "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106105255760003560e01c8063741bef1a116102af578063b7f8cf9b11610172578063d3d6f843116100d9578063dc62a70211610092578063dc62a70214610a3c578063e056e91814610a4f578063e2ac77b014610a62578063f36b242514610a75578063fe2ba84814610a7d578063febb33de14610a9057610525565b8063d3d6f843146109e0578063d5b35635146109f3578063d66a255314610a06578063d815e8e914610a19578063d9a7244414610a21578063da303f1414610a3457610525565b8063c35bc5501161012b578063c35bc5501461099a578063c52861f2146109a2578063c7b55481146109aa578063cbd138ae146109b2578063d293c710146109c5578063d380a37c146109d857610525565b8063b7f8cf9b14610939578063b82f263d14610941578063b91af97c14610954578063bcd3752614610977578063be4b03341461098a578063bf9befb11461099257610525565b8063887105d311610216578063a20baee6116101cf578063a20baee61461081f578063a3f4df7e146108ee578063a537896f14610903578063ae7bec1914610916578063ae9187541461091e578063b0d8e1811461092657610525565b8063887105d3146108b3578063893d20e8146108bb57806396d711ff146108c35780639976cf45146108cb5780639dd233d2146108de5780639f070670146108e657610525565b80637cf54e40116102685780637cf54e40146108625780637f7dde4a1461086a578063807d138d14610872578063814a0a451461087a57806382fe3eb91461088d57806387436936146108a057610525565b8063741bef1a14610827578063756b253e1461082f578063759b303414610842578063794e57241461084a578063795d26c314610852578063797250e31461085a57610525565b80633a128595116103f75780635d8c96091161035e57806366ca4a211161031757806366ca4a21146107d05780636b444952146107d85780636ef64338146107e0578063716c47e61461080457806372423c171461080c57806372fe25aa1461081f57610525565b80635d8c9609146107745780635dba4c4a1461078757806361ec893d1461078f578063631203b01461079757806364cee260146107aa578063653d46e7146107bd57610525565b80634a767d68116103b05780634a767d68146107005780634e443d9e146107135780634ff814431461073357806354062a45146107465780635733d58f146107595780635d6b480f1461076157610525565b80633a128595146106af5780633cc74225146106b757806342ccf1e4146106bf578063477d66cf146106d2578063480cd578146106e557806349eefeee146106f857610525565b806317c62b171161049b5780631eb08380116104545780631eb08380146106695780631f68f20a1461067157806321e37801146106795780632b11551a1461068c5780632f8655681461069457806331c903b0146106a757610525565b806317c62b171461060257806318f2817a146106155780631a59a50e146106285780631bf435551461063b5780631d08837b146106435780631e8b1c2b1461065657610525565b80630d43e8ad116104ed5780630d43e8ad1461058b578063105bb15c146105a057806312610e92146105a857806313af4035146105bb57806315d549f1146105ce5780631673c79a146105e157610525565b806301f16e181461052a578063043782fb1461053f57806305b6f5ca14610547578063071a75411461055a5780630b07655714610578575b600080fd5b61053d610538366004614e61565b610aa3565b005b61053d611009565b61053d61055536600461502c565b61100f565b6105626110a6565b60405161056f9190615546565b60405180910390f35b61053d610586366004614d6a565b6110ab565b6105936110d3565b60405161056f919061510e565b6105626110e2565b6105626105b6366004614da2565b6110f1565b61053d6105c9366004614d6a565b611149565b6105626105dc366004614d6a565b61118a565b6105f46105ef366004614d6a565b6111ae565b60405161056f92919061554f565b610562610610366004614d6a565b6111c7565b610562610623366004614d6a565b6111d2565b610562610636366004614d6a565b6111e5565b6105626112ab565b61053d610651366004614f8f565b6112b8565b61053d610664366004614dcd565b6112bd565b61056261161e565b61056261162b565b610562610687366004614d6a565b611631565b61056261165b565b61053d6106a2366004614d6a565b611665565b6105626116cb565b6105936116d8565b6105936116e7565b6105626106cd366004614d6a565b6116f6565b6105626106e0366004614f8f565b611727565b6105626106f3366004614d6a565b61173a565b610562611758565b61056261070e366004614da2565b61175e565b610726610721366004614f8f565b61177d565b60405161056f9190615181565b610562610741366004614f8f565b611788565b610562610754366004614f8f565b611793565b61056261179e565b61053d61076f366004614da2565b61181b565b610562610782366004614d6a565b611867565b61053d611872565b6105626118dd565b6105626107a5366004614f8f565b6118e2565b6105626107b8366004614d6a565b6118ef565b61053d6107cb366004614f8f565b61190d565b610562611c97565b610562611ca9565b6107f36107ee366004614d6a565b611caf565b60405161056f959493929190615583565b610593611ce9565b61056261081a366004614da2565b611cf8565b610562611d55565b610593611d61565b61059361083d366004614f8f565b611d70565b610562611d97565b610562611da4565b610562611de9565b610562611f08565b610593611f0e565b610593611f1d565b610562611f2c565b6105626108883660046150b6565b611f32565b61053d61089b366004614d6a565b611f49565b61053d6108ae366004614d6a565b611f5a565b610562611fe6565b6105936120b5565b6105626120d4565b6105626108d9366004614da2565b6120da565b61056261210d565b610593612113565b6108f6612122565b60405161056f91906151b8565b610562610911366004614f8f565b61214a565b610593612155565b610593612164565b610562610934366004614d6a565b612173565b61059361219a565b61056261094f366004614f8f565b6121a9565b610967610962366004614d6a565b6121b4565b60405161056f94939291906155c3565b61053d610985366004614fbf565b612218565b6105626122ae565b6105626122b4565b6105626122ba565b6105626122de565b6105626122f0565b61053d6109c0366004614d6a565b6122fc565b6105626109d3366004614da2565b61230f565b61056261231b565b6105626109ee366004614da2565b612321565b610562610a01366004614f8f565b612357565b610562610a14366004614d6a565b61236a565b610593612385565b610593610a2f366004614f8f565b612394565b6105626123be565b61053d610a4a366004614d6a565b6123ee565b610726610a5d366004614d6a565b6123fb565b610726610a70366004614d6a565b612459565b610562612464565b61053d610a8b366004614d6a565b612471565b610562610a9e366004614f8f565b612482565b610aab6120b5565b6001600160a01b0316336001600160a01b031614610ae45760405162461bcd60e51b8152600401610adb906153a3565b60405180910390fd5b8051610aef90612493565b610afc8160200151612493565b610b098160400151612493565b610b168160600151612493565b610b238160800151612493565b610b308160a00151612493565b610b3d8160c00151612493565b610b4a8160e00151612493565b610b58816101000151612493565b610b66816101200151612493565b610b74816101400151612493565b610b82816101600151612493565b610b90816101800151612493565b610b9e816101a00151612493565b8051600c80546001600160a01b03199081166001600160a01b038085169190911790925560208401516004805483169184169190911790556040808501516003805484169185169190911790556060850151600580548416918516919091179055608085015160008054841691851691909117905560a085015160018054841691851691909117905560c085015160068054841691851691909117905560e0850151600780548416918516919091179055610100850151600880548416918516919091179055610120850151600280548416918516919091179055610140850151600980548416918516919091179055610160850151600d80548416918516919091179055610180850151600a805484169185169190911790556101a0850151600b80549093169316929092179055517f84861842e6a98dd759145eb5e7b48279d0f02ebeabc8a69e5196b2f4c5023db991610cf99161510e565b60405180910390a17f6493041f605f233753d9b16dd158c9f297b8eaca22b2d0dc402a454f5683a5b18160200151604051610d34919061510e565b60405180910390a17fbf65195e6d5213f6fcbce65b1454c925197a45e616dabd2e243542b039b050928160600151604051610d6f919061510e565b60405180910390a17f3ca631ffcd2a9b5d9ae18543fc82f58eb4ca33af9e6ab01b7a8e95331e6ed9858160600151604051610daa919061510e565b60405180910390a17f78f058b189175430c48dc02699e3a0031ea4ff781536dc2fab847de4babdd8828160800151604051610de5919061510e565b60405180910390a17f5ee0cae2f063ed938bb55046f6a932fb6ae792bf43624806bb90abe68a50be9b8160a00151604051610e20919061510e565b60405180910390a17f82966d27eea39b038ee0fa30cd16532bb24f6e65d31cb58fb227aa5766cdcc7f8160c00151604051610e5b919061510e565b60405180910390a17fcfb07d791fcafc032b35837b50eb84b74df518cf4cc287e8084f47630fa70fa08160e00151604051610e96919061510e565b60405180910390a17fe67f36a6e961157d6eff83b91f3af5a62131ceb6f04954ef74f51c1c05e7f88d816101000151604051610ed2919061510e565b60405180910390a17f8c537274438aa850a330284665d81a85dd38267d09e4050d416bfc94142db264816101200151604051610f0e919061510e565b60405180910390a17fcdf33850c44a1a874b5fefb51dae615ac6afebd581ef90d571f81b06541d8e9d816101400151604051610f4a919061510e565b60405180910390a17f65f4cf077bc01e4742eb5ad98326f6e95b63548ea24b17f8d5e823111fe78800816101600151604051610f86919061510e565b60405180910390a17f61e0c29d5028a9e4facaa476a46e78912e99f1ba945c9560b86b82ebe36ee52d816101800151604051610fc2919061510e565b60405180910390a17f7624075ed781e3aa34b0f492d70d1bb5a6fcde04534165e20f990d2e546be4dd816101a00151604051610ffe919061510e565b60405180910390a150565b42600f55565b6004546040516000916060916001600160a01b039091169061103490849036906150e1565b600060405180830381855af49150503d806000811461106f576040519150601f19603f3d011682016040523d82523d6000602084013e611074565b606091505b50915091508181906110995760405162461bcd60e51b8152600401610adb91906151b8565b5050505050505050505050565b600281565b6110b36124d8565b6000546001546110d0916001600160a01b03908116911683612504565b50565b600c546001600160a01b031681565b60006110ec612616565b905090565b60006110fb6124d8565b6001600160a01b038316600090815260106020526040812054611124908463ffffffff61263216565b6001600160a01b03851660009081526010602052604090208190559150505b92915050565b6111516120b5565b6001600160a01b0316336001600160a01b0316146111815760405162461bcd60e51b8152600401610adb906153a3565b6110d081612674565b60006111946124d8565b61119d826126ff565b6001600160801b031690505b919050565b6016602052600090815260409020805460019091015482565b6000611143826116f6565b60006111dc6124d8565b61114382612799565b6001600160a01b0381166000908152601660205260408120546014548290611213908363ffffffff61263216565b905080158061124c575060016001600160a01b03851660009081526010602052604090206003015460ff16600481111561124957fe5b14155b1561125c576000925050506111a9565b6001600160a01b038416600090815260106020526040812060020154906112a1670de0b6b3a7640000611295848663ffffffff61284c16565b9063ffffffff61288616565b9695505050505050565b6809c2007651b250000081565b600e55565b80516112db5760405162461bcd60e51b8152600401610adb906153d4565b6000546001546006546001600160a01b039283169291821691166112fd614c3d565b611305614c6e565b600260009054906101000a90046001600160a01b03166001600160a01b0316630fdb11cf6040518163ffffffff1660e01b8152600401602060405180830381600087803b15801561135557600080fd5b505af1158015611369573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061138d9190614fa7565b826000018181525050826001600160a01b031663bdaf37ea6040518163ffffffff1660e01b815260040160206040518083038186803b1580156113cf57600080fd5b505afa1580156113e3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114079190614fa7565b60208301528151611417906128c8565b158015604084015261143f576114388585846000015185602001518a612963565b9050611457565b6114548585846000015185602001518a612c78565b90505b600081602001511161147b5760405162461bcd60e51b8152600401610adb906154b5565b608081015160a082015160405163335525ad60e01b81526001600160a01b0386169263335525ad926114af9260040161554f565b600060405180830381600087803b1580156114c957600080fd5b505af11580156114dd573d6000803e3d6000fd5b505050506114f585858360c001518460e00151612db8565b6101008101511561156c576008546101008201516040516364a197f360e01b81526001600160a01b03888116936364a197f393611539939290911691600401615168565b600060405180830381600087803b15801561155357600080fd5b505af1158015611567573d6000803e3d6000fd5b505050505b61157a85826040015161301c565b60208101516060830152610100810151604082015182516115b292916115a6919063ffffffff61263216565b9063ffffffff61263216565b608083018190526060808401516040808501519285015190517f4152c73dd2614c4f9fc35e8c9cf16013cd588c75b49a4c1673ecffdcbcda9403946115fa94909290916155c3565b60405180910390a161161685338360600151846040015161317d565b505050505050565b6801158e460913d0000090565b600e5481565b6001600160a01b03811660009081526010602052604081206003015460ff16600481111561114357fe5b60006110ec6116cb565b61166e8161325a565b60408051600180825281830190925260609160208083019080368337019050509050818160008151811061169e57fe5b60200260200101906001600160a01b031690816001600160a01b0316815250506116c7816112bd565b5050565b60006110ec600e546132a3565b600b546001600160a01b031681565b6001546001600160a01b031681565b6001600160a01b0381166000908152601660205260408120600101546015548290611213908363ffffffff61263216565b6000611143611734611c97565b83613340565b6001600160a01b031660009081526010602052604090206001015490565b60175490565b600080600061176c8561335e565b9150915060006112a18383876133e4565b6000611143826128c8565b600061114382613414565b60006111438261342f565b60035460408051635733d58f60e01b815290516000926001600160a01b031691635733d58f916004808301926020929190829003018186803b1580156117e357600080fd5b505afa1580156117f7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110ec9190614fa7565b6118236124d8565b80600481111561182f57fe5b6001600160a01b0383166000908152601060205260409020600301805460ff1916600183600481111561185e57fe5b02179055505050565b6000611143826111e5565b61187a6124d8565b600061188461344a565b9050670de0b6b3a764000081111561189857fe5b600e8190556040517fc454ee9b76c52f782a256af821b857ca6e125d1e3333bcede402fec2bed9600c906118cd908390615546565b60405180910390a16110d061348e565b603c81565b6000611143611734612464565b6001600160a01b031660009081526010602052604090206002015490565b611915614cba565b506040805160e081018252600080546001600160a01b0390811683526001548116602084015292820181905260608201819052600d548316608083015260a0820181905260c082015260065490911661196c614c3d565b611974614c6e565b600260009054906101000a90046001600160a01b03166001600160a01b0316630fdb11cf6040518163ffffffff1660e01b8152600401602060405180830381600087803b1580156119c457600080fd5b505af11580156119d8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119fc9190614fa7565b826000018181525050826001600160a01b031663bdaf37ea6040518163ffffffff1660e01b815260040160206040518083038186803b158015611a3e57600080fd5b505afa158015611a52573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a769190614fa7565b60208301528151611a86906128c8565b1580156040840152611aad57611aa68483600001518460200151886134e3565b9050611acd565b611aca84600001518560200151846000015185602001518961398a565b90505b6000816020015111611af15760405162461bcd60e51b8152600401610adb906154b5565b608081015160a082015160405163335525ad60e01b81526001600160a01b0386169263335525ad92611b259260040161554f565b600060405180830381600087803b158015611b3f57600080fd5b505af1158015611b53573d6000803e3d6000fd5b50505050611b73846000015185602001518360c001518460e00151612db8565b61010081015115611bea5783516008546101008301516040516364a197f360e01b81526001600160a01b03938416936364a197f393611bb793911691600401615168565b600060405180830381600087803b158015611bd157600080fd5b505af1158015611be5573d6000803e3d6000fd5b505050505b611bfc8460000151826040015161301c565b6020810151606083015261010081015160408201518251611c2892916115a6919063ffffffff61263216565b608083018190526060808401516040808501519285015190517f4152c73dd2614c4f9fc35e8c9cf16013cd588c75b49a4c1673ecffdcbcda940394611c7094909290916155c3565b60405180910390a1611c908460000151338360600151846040015161317d565b5050505050565b60006110ec611ca461344a565b613b40565b60195481565b60106020526000908152604090208054600182015460028301546003909301549192909160ff81169061010090046001600160801b031685565b6004546001600160a01b031681565b6000611d026124d8565b6001600160a01b038316600090815260106020526040812060010154611d2e908463ffffffff613c2216565b6001600160a01b038516600090815260106020526040902060010181905591505092915050565b670de0b6b3a764000081565b6002546001600160a01b031681565b60178181548110611d7d57fe5b6000918252602090912001546001600160a01b0316905081565b6801158e460913d0000081565b60035460408051631e5395c960e21b815290516000926001600160a01b03169163794e5724916004808301926020929190829003018186803b1580156117e357600080fd5b60008054604080516272c7d360e71b8152905183926001600160a01b031691633963e980916004808301926020929190829003018186803b158015611e2d57600080fd5b505afa158015611e41573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e659190614fa7565b90506000600160009054906101000a90046001600160a01b03166001600160a01b0316633963e9806040518163ffffffff1660e01b815260040160206040518083038186803b158015611eb757600080fd5b505afa158015611ecb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611eef9190614fa7565b9050611f01828263ffffffff613c2216565b9250505090565b60185481565b600a546001600160a01b031681565b6000546001600160a01b031681565b60125481565b6000611f3f8484846133e4565b90505b9392505050565b611f516124d8565b6110d081613c47565b611f626120b5565b6001600160a01b0316336001600160a01b031614611f925760405162461bcd60e51b8152600401610adb906153a3565b611f9b81612493565b600480546001600160a01b0319166001600160a01b0383161790556040517f6493041f605f233753d9b16dd158c9f297b8eaca22b2d0dc402a454f5683a5b190610ffe90839061510e565b6000805460408051630a7b61df60e11b8152905183926001600160a01b0316916314f6c3be916004808301926020929190829003018186803b15801561202b57600080fd5b505afa15801561203f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120639190614fa7565b90506000600160009054906101000a90046001600160a01b03166001600160a01b03166314f6c3be6040518163ffffffff1660e01b815260040160206040518083038186803b158015611eb757600080fd5b6000806040516120c4906150f1565b6040519081900390205492915050565b60135481565b60006120e46124d8565b6001600160a01b038316600090815260106020526040812054611124908463ffffffff613c2216565b60145481565b6003546001600160a01b031681565b6040518060400160405280600c81526020016b2a3937bb32a6b0b730b3b2b960a11b81525081565b600061114382613ca4565b6006546001600160a01b031681565b600d546001600160a01b031681565b60008060006121818461335e565b9150915060006121918383613d30565b95945050505050565b6005546001600160a01b031681565b600061114382613d65565b6001600160a01b038116600090815260106020526040812080546001909101549091806121e0856111c7565b91506121eb85611867565b90506121fd848363ffffffff613c2216565b935061220f838263ffffffff613c2216565b92509193509193565b6004546040516000916060916001600160a01b039091169061223d90849036906150e1565b600060405180830381855af49150503d8060008114612278576040519150601f19603f3d011682016040523d82523d6000602084013e61227d565b606091505b50915091508181906122a25760405162461bcd60e51b8152600401610adb91906151b8565b50505050505050505050565b60155481565b60115481565b7f000000000000000000000000000000000000000000000000000000000000000081565b60006110ec6122eb61344a565b6132a3565b670ddd4b8c6c7d70d881565b6123046124d8565b6110d0816002613d91565b6000611f42838361175e565b600f5481565b600061232b6124d8565b6001600160a01b038316600090815260106020526040812060010154611d2e908463ffffffff61263216565b60006111436123646122de565b83613ea6565b6001600160a01b031660009081526010602052604090205490565b6009546001600160a01b031681565b6000601782815481106123a357fe5b6000918252602090912001546001600160a01b031692915050565b60006123c861344a565b600e55670de0b6b3a7640000600e5411156123df57fe5b6123e761348e565b50600e5490565b6017546116c78282613ee6565b600060016001600160a01b03831660009081526010602052604090206003015460ff16600481111561242957fe5b14612436575060006111a9565b506014546001600160a01b03821660009081526016602052604090205410919050565b6000611143826123fb565b60006110ec600e54613b40565b6124796124d8565b6110d081614087565b600061248d826140d7565b50919050565b6001600160a01b0381166124b95760405162461bcd60e51b8152600401610adb90615284565b803b806116c75760405162461bcd60e51b8152600401610adb9061542a565b6005546001600160a01b031633146125025760405162461bcd60e51b8152600401610adb90615346565b565b61250d816123fb565b156126115761251b8161325a565b6000612526826111e5565b90506000612533836116f6565b6001600160a01b038416600090815260106020526040902060010154909150612562908363ffffffff613c2216565b6001600160a01b0384166000908152601060205260409020600181019190915554612593908263ffffffff613c2216565b6001600160a01b0384166000908152601060205260409020556125b583613c47565b6125c1858583856140e4565b6001600160a01b03831660008181526010602052604080822080546001820154600290920154925160008051602061566683398151915294612606949293929161518c565b60405180910390a250505b505050565b60006110ec603c611295600f544261263290919063ffffffff16565b6000611f4283836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506141cc565b6001600160a01b03811661269a5760405162461bcd60e51b8152600401610adb90615242565b806001600160a01b03166126ac6120b5565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360006040516126ef906150f1565b6040519081900390209190915550565b601780546001808201835560008381527fc624b66cc0138b8fabc209247f72d758e1cf3343756d543badbf24212bed8c1590920180546001600160a01b0319166001600160a01b0386161790559154909161275a9190612632565b6001600160a01b039290921660009081526010602052604090206003018054610100600160881b0319166101006001600160801b038516021790555090565b6001600160a01b03811660009081526010602052604081206001015481906127c0906141f8565b6001600160a01b03841660009081526010602052604090206002018054908290556011549192509061280a9083906127fe908463ffffffff61263216565b9063ffffffff613c2216565b60118190556040517f6bac5e0eb3c44eb03a60ab11ec3a2c051771616aecadbcfff2630aabae5203829161283d91615546565b60405180910390a15092915050565b60008261285b57506000611143565b8282028284828161286857fe5b0414611f425760405162461bcd60e51b8152600401610adb90615305565b6000611f4283836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250614234565b6000806128d483613d65565b9050600360009054906101000a90046001600160a01b03166001600160a01b0316635733d58f6040518163ffffffff1660e01b815260040160206040518083038186803b15801561292457600080fd5b505afa158015612938573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061295c9190614fa7565b1192915050565b61296b614c6e565b612973614cf6565b61297b614c6e565b8482526000608083015261298d611de9565b60a083015261299a611fe6565b60c0830152600060208301525b835182602001511015612c6d57838260200151815181106129c457fe5b6020908102919091018101516001600160a01b03166060840181905260009081526010909152604090206003015460019060ff166004811115612a0357fe5b14612a0d57612c5d565b612a1b82606001518761175e565b60408301526080820151612b8257600360009054906101000a90046001600160a01b03166001600160a01b031663794e57246040518163ffffffff1660e01b815260040160206040518083038186803b158015612a7757600080fd5b505afa158015612a8b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612aaf9190614fa7565b826040015110158015612ac157508151155b15612acb57612c5d565b6000612ae08360c001518460a00151896133e4565b9050612afd8989856060015186604001518760000151868d61426b565b60808101518451919350612b17919063ffffffff61263216565b8352608082015160a0840151612b329163ffffffff61263216565b60a08085019190915282015160c0840151612b529163ffffffff61263216565b60c0840152612b618483614641565b9350612b768360c001518460a0015189614758565b15608084015250612c5d565b81608001518015612c1b5750600360009054906101000a90046001600160a01b03166001600160a01b031663794e57246040518163ffffffff1660e01b815260040160206040518083038186803b158015612bdc57600080fd5b505afa158015612bf0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612c149190614fa7565b8260400151105b15612c5d57612c348888846060015185600001516147f7565b60808101518351919250612c4e919063ffffffff61263216565b8252612c5a8382614641565b92505b60208201805160010190526129a7565b505095945050505050565b612c80614c6e565b612c88614cf6565b612c90614c6e565b848252600060208301525b835182602001511015612c6d5783826020015181518110612cb857fe5b60209081029190910101516001600160a01b031660608301819052612cdd908761175e565b6040808401919091526003548151631e5395c960e21b815291516001600160a01b039091169163794e5724916004808301926020929190829003018186803b158015612d2857600080fd5b505afa158015612d3c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612d609190614fa7565b82604001511015612da857612d7f8888846060015185600001516147f7565b60808101518351919250612d99919063ffffffff61263216565b8252612da58382614641565b92505b6020820180516001019052612c9b565b81612dc257613016565b601854600090612de4906127fe84670de0b6b3a764000063ffffffff61284c16565b90506000612e096019546127fe670de0b6b3a76400008761284c90919063ffffffff16565b90506000612e226011548461288690919063ffffffff16565b90506000612e3b6011548461288690919063ffffffff16565b9050612e62612e556011548461284c90919063ffffffff16565b859063ffffffff61263216565b601855601154612e8a90612e7d90839063ffffffff61284c16565b849063ffffffff61263216565b601955601454612ea0908363ffffffff613c2216565b601455601554612eb6908263ffffffff613c2216565b60158190556014546040517f9f8bc8ab0daf5bceef75ecfd2085d1fcc6548c657ea970d9a23a60610d0737e392612eed929161554f565b60405180910390a160405163121cbc4d60e11b81526001600160a01b03891690632439789a90612f21908990600401615546565b600060405180830381600087803b158015612f3b57600080fd5b505af1158015612f4f573d6000803e3d6000fd5b505060405163f2e91d7160e01b81526001600160a01b038a16925063f2e91d719150612f7f908990600401615546565b600060405180830381600087803b158015612f9957600080fd5b505af1158015612fad573d6000803e3d6000fd5b50506040516364a197f360e01b81526001600160a01b038b1692506364a197f39150612fdf908a908990600401615168565b600060405180830381600087803b158015612ff957600080fd5b505af115801561300d573d6000803e3d6000fd5b50505050505050505b50505050565b6011546012819055506000826001600160a01b03166314f6c3be6040518163ffffffff1660e01b815260040160206040518083038186803b15801561306057600080fd5b505afa158015613074573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906130989190614fa7565b90506000600160009054906101000a90046001600160a01b03166001600160a01b03166314f6c3be6040518163ffffffff1660e01b815260040160206040518083038186803b1580156130ea57600080fd5b505afa1580156130fe573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906131229190614fa7565b9050613138816127fe848663ffffffff61263216565b60138190556012546040517f51bf4c63ec3cba9d03d43238abbdd979dd91bd16d9895c74ceea9118c7baaf609261316f929161554f565b60405180910390a150505050565b81156131ee57600954600754604051631062c15f60e11b81526001600160a01b03928316926320c582be926131bb9291169087908790600401615122565b600060405180830381600087803b1580156131d557600080fd5b505af11580156131e9573d6000803e3d6000fd5b505050505b8015613016576040516364a197f360e01b81526001600160a01b038516906364a197f3906132229086908590600401615168565b600060405180830381600087803b15801561323c57600080fd5b505af1158015613250573d6000803e3d6000fd5b5050505050505050565b60016001600160a01b03821660009081526010602052604090206003015460ff16600481111561328657fe5b146110d05760405162461bcd60e51b8152600401610adb906154f7565b600061114361333283600360009054906101000a90046001600160a01b03166001600160a01b03166328d28b5b6040518163ffffffff1660e01b815260040160206040518083038186803b1580156132fa57600080fd5b505afa15801561330e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127fe9190614fa7565b670de0b6b3a7640000614929565b6000611f42670de0b6b3a7640000611295858563ffffffff61284c16565b600080600061336c846111e5565b90506000613379856116f6565b6001600160a01b038616600090815260106020526040812060010154919250906133a9908463ffffffff613c2216565b6001600160a01b038716600090815260106020526040812054919250906133d6908463ffffffff613c2216565b919550909350505050915091565b6000821561340b57600061340284611295878663ffffffff61284c16565b9150611f429050565b50600019611f42565b6000611143826801158e460913d0000063ffffffff613c2216565b6000611143826801158e460913d0000063ffffffff61263216565b600080613455612616565b9050600061346b670ddd4b8c6c7d70d88361493f565b9050611f01670de0b6b3a764000061129583600e5461284c90919063ffffffff16565b60006134a5600f544261263290919063ffffffff16565b9050603c81106110d05742600f8190556040517f860f8d2f0c74dd487e89e2883e3b25b8159ce1e1b3433a291cba7b82c508f3bc91610ffe91615546565b6134eb614c6e565b6134f3614cf6565b6134fb614c6e565b8482526000608083015261350d611de9565b60a083015261351a611fe6565b8260c001818152505086608001516001600160a01b0316634d6228316040518163ffffffff1660e01b815260040160206040518083038186803b15801561356057600080fd5b505afa158015613574573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906135989190614d86565b82606001906001600160a01b031690816001600160a01b031681525050600087608001516001600160a01b0316631e2231436040518163ffffffff1660e01b815260040160206040518083038186803b1580156135f457600080fd5b505afa158015613608573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061362c9190614d86565b6000602085015290505b84836020015110801561365f5750806001600160a01b031683606001516001600160a01b031614155b1561397f5760808801516060840151604051632dc9c0eb60e21b81526000926001600160a01b03169163b72703ac9161369b919060040161510e565b60206040518083038186803b1580156136b357600080fd5b505afa1580156136c7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906136eb9190614d86565b90506136fb84606001518961175e565b6040850152608084015161387457600360009054906101000a90046001600160a01b03166001600160a01b031663794e57246040518163ffffffff1660e01b815260040160206040518083038186803b15801561375757600080fd5b505afa15801561376b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061378f9190614fa7565b8460400151101580156137a157508351155b156137ac575061397f565b60006137c18560c001518660a001518b6133e4565b8a5160208c01516060880151604089015189519495506137e294868f61426b565b608081015186519195506137fc919063ffffffff61263216565b8552608084015160a08601516138179163ffffffff61263216565b8560a00181815250506138448461010001516115a68660a001518860c0015161263290919063ffffffff16565b60c08601526138538685614641565b95506138688560c001518660a001518b614758565b15608086015250613961565b8360800151801561390d5750600360009054906101000a90046001600160a01b03166001600160a01b031663794e57246040518163ffffffff1660e01b815260040160206040518083038186803b1580156138ce57600080fd5b505afa1580156138e2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906139069190614fa7565b8460400151105b1561395b5761392e89600001518a60200151866060015187600001516147f7565b60808101518551919450613948919063ffffffff61263216565b84526139548584614641565b9450613961565b5061397f565b6001600160a01b031660608401526020830180516001019052613636565b505050949350505050565b613992614c6e565b61399a614cf6565b6139a2614c6e565b600d54858352600060208401526001600160a01b03165b8483602001511015613b3457806001600160a01b0316634d6228316040518163ffffffff1660e01b815260040160206040518083038186803b1580156139fe57600080fd5b505afa158015613a12573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613a369190614d86565b6001600160a01b031660608401819052613a50908861175e565b6040808501919091526003548151631e5395c960e21b815291516001600160a01b039091169163794e5724916004808301926020929190829003018186803b158015613a9b57600080fd5b505afa158015613aaf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613ad39190614fa7565b83604001511015613b1f57613af28989856060015186600001516147f7565b60808101518451919350613b0c919063ffffffff61263216565b8352613b188483614641565b9350613b24565b613b34565b60208301805160010190526139b9565b50505095945050505050565b6000611143613b9783600360009054906101000a90046001600160a01b03166001600160a01b031663f92d34336040518163ffffffff1660e01b815260040160206040518083038186803b1580156132fa57600080fd5b600360009054906101000a90046001600160a01b03166001600160a01b031663240926696040518163ffffffff1660e01b815260040160206040518083038186803b158015613be557600080fd5b505afa158015613bf9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613c1d9190614fa7565b614929565b600082820183811015611f425760405162461bcd60e51b8152600401610adb9061520b565b601480546001600160a01b038316600090815260166020526040908190209182556015546001909201829055915491517fc437f324d85e369394148dd9d62f98f534b382e01ed3dd2eb98138fb6d3ab49a92610ffe92909161554f565b600354604080516324386ecd60e11b815290516000926001600160a01b031691634870dd9a916004808301926020929190829003018186803b158015613ce957600080fd5b505afa158015613cfd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613d219190614fa7565b8281613d2957fe5b0492915050565b60008115613d5c57613d55826112958568056bc75e2d6310000063ffffffff61284c16565b9050611143565b50600019611143565b600080613d70611fe6565b90506000613d7c611de9565b9050613d898282866133e4565b949350505050565b6000816004811115613d9f57fe5b14158015613db957506001816004811115613db657fe5b14155b613dbf57fe5b601754613dcb816149ea565b6001600160a01b0383166000908152601060205260409020600301805483919060ff19166001836004811115613dfd57fe5b02179055506001600160a01b0383166000908152601060209081526040808320600180820185905590849055601690925282208281550155613e3f8382613ee6565b600d54604051631484968760e11b81526001600160a01b03909116906329092d0e90613e6f90869060040161510e565b600060405180830381600087803b158015613e8957600080fd5b505af1158015613e9d573d6000803e3d6000fd5b50505050505050565b600080613ec5670de0b6b3a7640000611295868663ffffffff61284c16565b9050828110611f425760405162461bcd60e51b8152600401610adb9061545f565b6001600160a01b03821660009081526010602052604081206003015460ff1690816004811115613f1257fe5b14158015613f2c57506001816004811115613f2957fe5b14155b613f3257fe5b6001600160a01b03831660009081526010602052604081206003015461010090046001600160801b0316908390613f6a826001612632565b905080836001600160801b03161115613f7f57fe5b600060178281548110613f8e57fe5b600091825260209091200154601780546001600160a01b03909216925082916001600160801b038716908110613fc057fe5b600091825260208083209190910180546001600160a01b0319166001600160a01b03948516179055918316815260109091526040908190206003018054610100600160881b0319166101006001600160801b03881602179055517f02b04ae5f7be9ca7c103293a2aa15f3c339d15d6eda53b721fef7b0e609c831a906140499083908790615146565b60405180910390a1601780548061405c57fe5b600082815260209020810160001990810180546001600160a01b031916905501905550505050505050565b6001600160a01b0381166000908152601060205260409020600201546011546140b6908263ffffffff61263216565b601155506001600160a01b0316600090815260106020526040812060020155565b60006111436123646116cb565b60405163121cbc4d60e11b81526001600160a01b03841690632439789a90614110908590600401615546565b600060405180830381600087803b15801561412a57600080fd5b505af115801561413e573d6000803e3d6000fd5b505060405163f2e91d7160e01b81526001600160a01b038716925063f2e91d71915061416e908590600401615546565b600060405180830381600087803b15801561418857600080fd5b505af115801561419c573d6000803e3d6000fd5b505060405163be41205f60e01b81526001600160a01b038616925063be41205f9150613222908490600401615546565b600081848411156141f05760405162461bcd60e51b8152600401610adb91906151b8565b505050900390565b6000806013546000141561420d575081611143565b60006012541161421957fe5b611f426013546112956012548661284c90919063ffffffff16565b600081836142555760405162461bcd60e51b8152600401610adb91906151b8565b50600083858161426157fe5b0495945050505050565b614273614c6e565b61427b614d3e565b60175460011061428b5750614636565b614294876121b4565b604085015260208481019190915284018190529083526142b390613ca4565b604083018190526801158e460913d00000606084015260208301516142dd9163ffffffff61263216565b8152670de0b6b3a764000086116143a8576143028989836020015184604001516140e4565b61430b87614087565b60006080830181905260a0830152815160c0830152805160e0830152614332876003613d91565b815160208301516040516001600160a01b038a1692600080516020615646833981519152926143639260029061555d565b60405180910390a2866001600160a01b03166000805160206156668339815191526000806000600260405161439b949392919061518c565b60405180910390a2614634565b670de0b6b3a7640000861180156144435750600360009054906101000a90046001600160a01b03166001600160a01b031663794e57246040518163ffffffff1660e01b815260040160206040518083038186803b15801561440857600080fd5b505afa15801561441c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906144409190614fa7565b86105b156144935761445c8989836020015184604001516140e4565b61446587614087565b81518151614474919087614a90565b60e086015260c085015260a08401526080830152614332876003613d91565b600360009054906101000a90046001600160a01b03166001600160a01b031663794e57246040518163ffffffff1660e01b815260040160206040518083038186803b1580156144e157600080fd5b505afa1580156144f5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906145199190614fa7565b861015801561452757508386105b8015614534575081518510155b156146235761454d8989836020015184604001516140e4565b8461455457fe5b61455d87614087565b6145708260000151836020015185614afc565b915061457d876003613d91565b610100820151156145f257600854610100830151604051633f10abab60e01b81526001600160a01b0390921691633f10abab916145bf918b9190600401615168565b600060405180830381600087803b1580156145d957600080fd5b505af11580156145ed573d6000803e3d6000fd5b505050505b815160a08301516040516001600160a01b038a1692600080516020615646833981519152926143639260029061555d565b61462b614c6e565b91506146369050565b505b979650505050505050565b614649614c6e565b604080830151908401516146629163ffffffff613c2216565b6040820152606080830151908401516146809163ffffffff613c2216565b60608201528151602084015161469b9163ffffffff613c2216565b60208083019190915282015183516146b89163ffffffff613c2216565b8152608080830151908401516146d39163ffffffff613c2216565b608082015260a080830151908401516146f19163ffffffff613c2216565b60a082015260c0808301519084015161470f9163ffffffff613c2216565b60c082015260e0808301519084015161472d9163ffffffff613c2216565b60e0820152610100808301519084015161474c9163ffffffff613c2216565b61010082015292915050565b6000806147668585856133e4565b9050600360009054906101000a90046001600160a01b03166001600160a01b0316635733d58f6040518163ffffffff1660e01b815260040160206040518083038186803b1580156147b657600080fd5b505afa1580156147ca573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906147ee9190614fa7565b11949350505050565b6147ff614c6e565b614807614d3e565b614810846121b4565b6040850190815260208581019283528601929092529184529051905161483a9188918891906140e4565b61484384614087565b6148508260200151613ca4565b604083018190526801158e460913d000006060840152602083015160009161487e919063ffffffff61263216565b905061488f83600001518286614a90565b60e087015260c086015260a085015260808401526148ae856003613d91565b825160208401516040516001600160a01b03881692600080516020615646833981519152926148df9260019061555d565b60405180910390a2846001600160a01b031660008051602061566683398151915260008060006001604051614917949392919061518c565b60405180910390a25050949350505050565b60008183106149385781611f42565b5090919050565b6000631f54050082111561495557631f54050091505b816149695750670de0b6b3a7640000611143565b670de0b6b3a764000083835b60018111156149e057600281066149aa576149908283614c0a565b91506149a381600263ffffffff61288616565b90506149db565b6149b48284614c0a565b92506149c08283614c0a565b91506149d8600261129583600163ffffffff61263216565b90505b614975565b6112a18284614c0a565b600181118015614a745750600d546040805163de8fa43160e01b815290516001926001600160a01b03169163de8fa431916004808301926020929190829003018186803b158015614a3a57600080fd5b505afa158015614a4e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190614a729190614fa7565b115b6110d05760405162461bcd60e51b8152600401610adb906152bb565b60008080808415614ae657614aa58786614929565b9350614abb87611295888763ffffffff61284c16565b9250614acd878563ffffffff61263216565b9150614adf868463ffffffff61263216565b9050614af3565b5060009250829150859050845b93509350935093565b614b04614c6e565b838152602080820184905260035460408051631e5395c960e21b81529051600093614ba0938793611295936001600160a01b039092169263794e572492600480840193829003018186803b158015614b5b57600080fd5b505afa158015614b6f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190614b939190614fa7565b889063ffffffff61284c16565b9050614bab81613ca4565b604083018190526801158e460913d00000606084015260808301869052614bd990829063ffffffff61263216565b60a0830152614bee848263ffffffff61263216565b61010083015250600060c0820181905260e08201529392505050565b600080614c1d848463ffffffff61284c16565b9050613d89670de0b6b3a7640000611295836706f05b59d3b20000613c22565b6040518060a00160405280600081526020016000815260200160001515815260200160008152602001600081525090565b6040518061012001604052806000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081525090565b6040805160e081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c081019190915290565b6040518060e0016040528060008152602001600081526020016000815260200160006001600160a01b0316815260200160001515815260200160008152602001600081525090565b60405180606001604052806000815260200160008152602001600081525090565b803561114381615630565b600060208284031215614d7b578081fd5b8135611f4281615630565b600060208284031215614d97578081fd5b8151611f4281615630565b60008060408385031215614db4578081fd5b8235614dbf81615630565b946020939093013593505050565b60006020808385031215614ddf578182fd5b823567ffffffffffffffff811115614df5578283fd5b80840185601f820112614e06578384fd5b80359150614e1b614e1683615605565b6155de565b8281528381019082850185850284018601891015614e37578687fd5b8693505b8484101561463457614e4d8982614d5f565b835260019390930192918501918501614e3b565b60006101c0808385031215614e74578182fd5b614e7d816155de565b614e878585614d5f565b8152614e968560208601614d5f565b6020820152614ea88560408601614d5f565b6040820152614eba8560608601614d5f565b6060820152614ecc8560808601614d5f565b6080820152614ede8560a08601614d5f565b60a0820152614ef08560c08601614d5f565b60c0820152614f028560e08601614d5f565b60e08201526101009150614f1885838601614d5f565b828201526101209150614f2d85838601614d5f565b828201526101409150614f4285838601614d5f565b828201526101609150614f5785838601614d5f565b828201526101809150614f6c85838601614d5f565b828201526101a09150614f8185838601614d5f565b918101919091529392505050565b600060208284031215614fa0578081fd5b5035919050565b600060208284031215614fb8578081fd5b5051919050565b600080600080600080600060e0888a031215614fd9578283fd5b873596506020880135614feb81615630565b95506040880135614ffb81615630565b9450606088013561500b81615630565b9699959850939660808101359560a0820135955060c0909101359350915050565b600080600080600080600080888a03610160811215615049578182fd5b8935985060208a013561505b81615630565b975060408a013561506b81615630565b965060608a013561507b81615630565b955060808a810135955060a08b0135945060c08b0135935060df19820112156150a2578182fd5b5060e0890190509295985092959890939650565b6000806000606084860312156150ca578283fd5b505081359360208301359350604090920135919050565b6000828483379101908152919050565b7035b2bc9737bbb730b136329737bbb732b960791b815260110190565b6001600160a01b0391909116815260200190565b6001600160a01b039384168152919092166020820152604081019190915260600190565b6001600160a01b039290921682526001600160801b0316602082015260400190565b6001600160a01b03929092168252602082015260400190565b901515815260200190565b8481526020810184905260408101839052608081016151aa83615625565b606083015295945050505050565b6000602080835283518082850152825b818110156151e4578581018301518582016040015282016151c8565b818111156151f55783604083870101525b50601f01601f1916929092016040019392505050565b6020808252601b908201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604082015260600190565b60208082526022908201527f4f776e61626c653a3a7365744f776e65723a20696e76616c6964206164647265604082015261737360f01b606082015260800190565b6020808252601e908201527f4163636f756e742063616e6e6f74206265207a65726f20616464726573730000604082015260600190565b6020808252602a908201527f54726f76654d616e616765723a204f6e6c79206f6e652074726f766520696e206040820152697468652073797374656d60b01b606082015260800190565b60208082526021908201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6040820152607760f81b606082015260800190565b6020808252603b908201527f54726f76654d616e616765723a2043616c6c6572206973206e6f74207468652060408201527f426f72726f7765724f7065726174696f6e7320636f6e74726163740000000000606082015260800190565b60208082526017908201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604082015260600190565b60208082526036908201527f54726f76654d616e616765723a2043616c6c646174612061646472657373206160408201527572726179206d757374206e6f7420626520656d70747960501b606082015260800190565b6020808252818101527f4163636f756e7420636f64652073697a652063616e6e6f74206265207a65726f604082015260600190565b60208082526036908201527f54726f76654d616e616765723a2046656520776f756c642065617420757020616040820152751b1b081c995d1d5c9b99590818dbdb1b185d195c985b60521b606082015260800190565b60208082526022908201527f54726f76654d616e616765723a206e6f7468696e6720746f206c697175696461604082015261746560f01b606082015260800190565b6020808252602f908201527f54726f76654d616e616765723a2054726f766520646f6573206e6f742065786960408201526e1cdd081bdc881a5cc818db1bdcd959608a1b606082015260800190565b90815260200190565b918252602082015260400190565b83815260208101839052606081016004831061557557fe5b826040830152949350505050565b858152602081018590526040810184905260a08101600584106155a257fe5b60608201939093526001600160801b03919091166080909101529392505050565b93845260208401929092526040830152606082015260800190565b60405181810167ffffffffffffffff811182821017156155fd57600080fd5b604052919050565b600067ffffffffffffffff82111561561b578081fd5b5060209081020190565b80600481106111a957fe5b6001600160a01b03811681146110d057600080fdfeea67486ed7ebe3eea8ab3390efd4a3c8aae48be5bea27df104a8af786c408434c3770d654ed33aeea6bf11ac8ef05d02a6a04ed4686dd2f624d853bbec43cc8ba2646970667358221220fa638268bd477a34983ec9709b7e8ae76c286d60c7d4262c98e769f0e17c4a4664736f6c634300060b0033", "linkReferences": {}, "deployedLinkReferences": {} } diff --git a/packages/lib-ethers/live/Unipool.json b/packages/lib-ethers/live/Unipool.json deleted file mode 100644 index a309ef8a3..000000000 --- a/packages/lib-ethers/live/Unipool.json +++ /dev/null @@ -1,434 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "Unipool", - "sourceName": "contracts/LPRewards/Unipool.sol", - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_zeroTokenAddress", - "type": "address" - } - ], - "name": "LQTYTokenAddressChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "previousOwner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnershipTransferred", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "reward", - "type": "uint256" - } - ], - "name": "RewardAdded", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "user", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "reward", - "type": "uint256" - } - ], - "name": "RewardPaid", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "user", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "Staked", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_uniTokenAddress", - "type": "address" - } - ], - "name": "UniTokenAddressChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "user", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "Withdrawn", - "type": "event" - }, - { - "inputs": [], - "name": "NAME", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "balanceOf", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "claimReward", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "duration", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "earned", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "isOwner", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "lastTimeRewardApplicable", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "lastUpdateTime", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "zeroToken", - "outputs": [ - { - "internalType": "contract ILQTYToken", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "owner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "periodFinish", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "rewardPerToken", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "rewardPerTokenStored", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "rewardRate", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "rewards", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_zeroTokenAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_uniTokenAddress", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_duration", - "type": "uint256" - } - ], - "name": "setParams", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "stake", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "totalSupply", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "uniToken", - "outputs": [ - { - "internalType": "contract IERC20", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "userRewardPerTokenPaid", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "withdraw", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "withdrawAndClaim", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": "0x60806040526000600655600060075534801561001a57600080fd5b50600380546001600160a01b031916339081179091556040516000907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a36113df8061006a6000396000f3fe608060405234801561001057600080fd5b50600436106101415760003560e01c80638b876347116100b8578063b88a802f1161007c578063b88a802f1461034f578063c8f33c9114610357578063cd3daf9d1461035f578063d443772414610367578063df136d651461036f578063ebe2b12b1461037757610141565b80638b8763471461026b5780638da5cb5b146102915780638f32d59b14610299578063a3f4df7e146102b5578063a694fc3a1461033257610141565b80632e1a7d4d1161010a5780632e1a7d4d146101d8578063509db2f6146101f757806370a082311461022d5780637b0a47ee1461025357806380faa57d1461025b57806385ce4fee1461026357610141565b80628cc262146101465780630700037d1461017e5780630fb5a6b4146101a457806318160ddd146101ac5780631f7af3c3146101b4575b600080fd5b61016c6004803603602081101561015c57600080fd5b50356001600160a01b031661037f565b60408051918252519081900360200190f35b61016c6004803603602081101561019457600080fd5b50356001600160a01b0316610405565b61016c610417565b61016c61041d565b6101bc610424565b604080516001600160a01b039092168252519081900360200190f35b6101f5600480360360208110156101ee57600080fd5b5035610433565b005b6101f56004803603606081101561020d57600080fd5b506001600160a01b0381358116916020810135909116906040013561050e565b61016c6004803603602081101561024357600080fd5b50356001600160a01b03166106a1565b61016c6106bc565b61016c6106c2565b6101bc6106d5565b61016c6004803603602081101561028157600080fd5b50356001600160a01b03166106e4565b6101bc6106f6565b6102a1610705565b604080519115158252519081900360200190f35b6102bd610716565b6040805160208082528351818301528351919283929083019185019080838360005b838110156102f75781810151838201526020016102df565b50505050905090810190601f1680156103245780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101f56004803603602081101561034857600080fd5b5035610739565b6101f5610819565b61016c610990565b61016c610996565b6101f56109ea565b61016c610a05565b61016c610a0b565b6001600160a01b0381166000908152600b6020908152604080832054600a9092528220546103ff91906103f390670de0b6b3a7640000906103e7906103d2906103c6610996565b9063ffffffff610a1116565b6103db886106a1565b9063ffffffff610a5a16565b9063ffffffff610ab316565b9063ffffffff610af516565b92915050565b600b6020526000908152604090205481565b60045481565b6001545b90565b6005546001600160a01b031681565b6000811161047c576040805162461bcd60e51b8152602060048201526011602482015270043616e6e6f74207769746864726177203607c1b604482015290519081900360640190fd5b6000546001600160a01b03166104c35760405162461bcd60e51b81526004018080602001828103825260298152602001806113106029913960400191505060405180910390fd5b6104cc33610b4f565b6104d581610b9e565b60408051828152905133917f7084f5476618d8e60b11ef0d7d3f06914655adb8793e28ff7f018d4c76d505d5919081900360200190a250565b610516610705565b610567576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b61057083610c02565b61057982610c02565b600080546001600160a01b038085166001600160a01b0319928316179092556005805486841692169190911790819055600483815560408051630974f55960e41b8152905161061c94939093169263974f559092828101926020929190829003018186803b1580156105ea57600080fd5b505afa1580156105fe573d6000803e3d6000fd5b505050506040513d602081101561061457600080fd5b505182610cb5565b604080516001600160a01b038516815290517f2ac6e99201ddc1b6eac6f8f28662d1ecafee131f6eb98c29de54528a9888a7d19181900360200190a1604080516001600160a01b038416815290517f15cb6984f76cb781da2b25c2024a3eaf5011914976381f844e09724cc9e21e949181900360200190a161069c610db3565b505050565b6001600160a01b031660009081526002602052604090205490565b60075481565b60006106d042600654610dfd565b905090565b6000546001600160a01b031681565b600a6020526000908152604090205481565b6003546001600160a01b031690565b6003546001600160a01b0316331490565b60405180604001604052806007815260200166155b9a5c1bdbdb60ca1b81525081565b6000811161077f576040805162461bcd60e51b815260206004820152600e60248201526d043616e6e6f74207374616b6520360941b604482015290519081900360640190fd5b6000546001600160a01b03166107c65760405162461bcd60e51b81526004018080602001828103825260298152602001806113106029913960400191505060405180910390fd5b6107ce610e13565b6107d733610b4f565b6107e081610e57565b60408051828152905133917f9e71bc8eea02a63969f509818f2dafb9254532904319f9dbda79b67bd34a5f3d919081900360200190a250565b6000546001600160a01b03166108605760405162461bcd60e51b81526004018080602001828103825260298152602001806113106029913960400191505060405180910390fd5b610868610e13565b61087133610b4f565b600061087c3361037f565b9050600081116108c6576040805162461bcd60e51b815260206004820152601060248201526f4e6f7468696e6720746f20636c61696d60801b604482015290519081900360640190fd5b336000818152600b60209081526040808320839055600554815163a9059cbb60e01b815260048101959095526024850186905290516001600160a01b039091169363a9059cbb9360448083019493928390030190829087803b15801561092b57600080fd5b505af115801561093f573d6000803e3d6000fd5b505050506040513d602081101561095557600080fd5b505060408051828152905133917fe2403640ba68fed3a2f88b7557551d1993f84b99bb10ff833f0cf8db0c5e0486919081900360200190a250565b60085481565b60006109a061041d565b6109ad5750600954610421565b6106d06109db6109bb61041d565b6103e7670de0b6b3a76400006103db6007546103db6008546103c66106c2565b6009549063ffffffff610af516565b6109fb6109f6336106a1565b610433565b610a03610819565b565b60095481565b60065481565b6000610a5383836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610eb9565b9392505050565b600082610a69575060006103ff565b82820282848281610a7657fe5b0414610a535760405162461bcd60e51b815260040180806020018281038252602181526020018061135f6021913960400191505060405180910390fd5b6000610a5383836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250610f50565b600082820183811015610a53576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b610b57610fb5565b6001600160a01b038116610b6757fe5b610b708161037f565b6001600160a01b039091166000908152600b6020908152604080832093909355600954600a90915291902055565b600154610bb1908263ffffffff610a1116565b60015533600090815260026020526040902054610bd4908263ffffffff610a1116565b336000818152600260205260408120929092559054610bff916001600160a01b039091169083610fcd565b50565b6001600160a01b038116610c5d576040805162461bcd60e51b815260206004820152601e60248201527f4163636f756e742063616e6e6f74206265207a65726f20616464726573730000604482015290519081900360640190fd5b803b80610cb1576040805162461bcd60e51b815260206004820181905260248201527f4163636f756e7420636f64652073697a652063616e6e6f74206265207a65726f604482015290519081900360640190fd5b5050565b60008211610cbf57fe5b600554604080516370a0823160e01b815230600482015290516001600160a01b03909216916370a0823191602480820192602092909190829003018186803b158015610d0a57600080fd5b505afa158015610d1e573d6000803e3d6000fd5b505050506040513d6020811015610d3457600080fd5b50518214610d3e57fe5b60065415610d4857fe5b610d50610fb5565b610d60828263ffffffff610ab316565b600755426008819055610d79908263ffffffff610af516565b6006556040805183815290517fde88a922e0d3b88b24e9623efeb464919c6bf9f66857a65e2bfcf2ce87a9433d9181900360200190a15050565b6003546040516000916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600380546001600160a01b0319169055565b6000818310610e0c5781610a53565b5090919050565b610e1b61041d565b610a0357600060065411610e2b57fe5b610e52610e4360085442610a1190919063ffffffff16565b6006549063ffffffff610af516565b600655565b600154610e6a908263ffffffff610af516565b60015533600090815260026020526040902054610e8d908263ffffffff610af516565b336000818152600260205260408120929092559054610bff916001600160a01b0390911690308461101f565b60008184841115610f485760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610f0d578181015183820152602001610ef5565b50505050905090810190601f168015610f3a5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b60008183610f9f5760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610f0d578181015183820152602001610ef5565b506000838581610fab57fe5b0495945050505050565b610fbd610996565b600955610fc86106c2565b600855565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b17905261069c90849061107f565b604080516001600160a01b0380861660248301528416604482015260648082018490528251808303909101815260849091019091526020810180516001600160e01b03166323b872dd60e01b17905261107990859061107f565b50505050565b60606110d4826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166111309092919063ffffffff16565b80519091501561069c578080602001905160208110156110f357600080fd5b505161069c5760405162461bcd60e51b815260040180806020018281038252602a815260200180611380602a913960400191505060405180910390fd5b606061113f8484600085611147565b949350505050565b6060824710156111885760405162461bcd60e51b81526004018080602001828103825260268152602001806113396026913960400191505060405180910390fd5b611191856112a3565b6111e2576040805162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b60006060866001600160a01b031685876040518082805190602001908083835b602083106112215780518252601f199092019160209182019101611202565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d8060008114611283576040519150601f19603f3d011682016040523d82523d6000602084013e611288565b606091505b50915091506112988282866112a9565b979650505050505050565b3b151590565b606083156112b8575081610a53565b8251156112c85782518084602001fd5b60405162461bcd60e51b8152602060048201818152845160248401528451859391928392604401919085019080838360008315610f0d578181015183820152602001610ef556fe4c697175696469747920506f6f6c20546f6b656e20686173206e6f74206265656e2073657420796574416464726573733a20696e73756666696369656e742062616c616e636520666f722063616c6c536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f775361666545524332303a204552433230206f7065726174696f6e20646964206e6f742073756363656564a2646970667358221220637aaf03b41565bdcbb68b81b8fac76626d16e3b958cecf16ec25334358a38fb64736f6c634300060b0033", - "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106101415760003560e01c80638b876347116100b8578063b88a802f1161007c578063b88a802f1461034f578063c8f33c9114610357578063cd3daf9d1461035f578063d443772414610367578063df136d651461036f578063ebe2b12b1461037757610141565b80638b8763471461026b5780638da5cb5b146102915780638f32d59b14610299578063a3f4df7e146102b5578063a694fc3a1461033257610141565b80632e1a7d4d1161010a5780632e1a7d4d146101d8578063509db2f6146101f757806370a082311461022d5780637b0a47ee1461025357806380faa57d1461025b57806385ce4fee1461026357610141565b80628cc262146101465780630700037d1461017e5780630fb5a6b4146101a457806318160ddd146101ac5780631f7af3c3146101b4575b600080fd5b61016c6004803603602081101561015c57600080fd5b50356001600160a01b031661037f565b60408051918252519081900360200190f35b61016c6004803603602081101561019457600080fd5b50356001600160a01b0316610405565b61016c610417565b61016c61041d565b6101bc610424565b604080516001600160a01b039092168252519081900360200190f35b6101f5600480360360208110156101ee57600080fd5b5035610433565b005b6101f56004803603606081101561020d57600080fd5b506001600160a01b0381358116916020810135909116906040013561050e565b61016c6004803603602081101561024357600080fd5b50356001600160a01b03166106a1565b61016c6106bc565b61016c6106c2565b6101bc6106d5565b61016c6004803603602081101561028157600080fd5b50356001600160a01b03166106e4565b6101bc6106f6565b6102a1610705565b604080519115158252519081900360200190f35b6102bd610716565b6040805160208082528351818301528351919283929083019185019080838360005b838110156102f75781810151838201526020016102df565b50505050905090810190601f1680156103245780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101f56004803603602081101561034857600080fd5b5035610739565b6101f5610819565b61016c610990565b61016c610996565b6101f56109ea565b61016c610a05565b61016c610a0b565b6001600160a01b0381166000908152600b6020908152604080832054600a9092528220546103ff91906103f390670de0b6b3a7640000906103e7906103d2906103c6610996565b9063ffffffff610a1116565b6103db886106a1565b9063ffffffff610a5a16565b9063ffffffff610ab316565b9063ffffffff610af516565b92915050565b600b6020526000908152604090205481565b60045481565b6001545b90565b6005546001600160a01b031681565b6000811161047c576040805162461bcd60e51b8152602060048201526011602482015270043616e6e6f74207769746864726177203607c1b604482015290519081900360640190fd5b6000546001600160a01b03166104c35760405162461bcd60e51b81526004018080602001828103825260298152602001806113106029913960400191505060405180910390fd5b6104cc33610b4f565b6104d581610b9e565b60408051828152905133917f7084f5476618d8e60b11ef0d7d3f06914655adb8793e28ff7f018d4c76d505d5919081900360200190a250565b610516610705565b610567576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b61057083610c02565b61057982610c02565b600080546001600160a01b038085166001600160a01b0319928316179092556005805486841692169190911790819055600483815560408051630974f55960e41b8152905161061c94939093169263974f559092828101926020929190829003018186803b1580156105ea57600080fd5b505afa1580156105fe573d6000803e3d6000fd5b505050506040513d602081101561061457600080fd5b505182610cb5565b604080516001600160a01b038516815290517f2ac6e99201ddc1b6eac6f8f28662d1ecafee131f6eb98c29de54528a9888a7d19181900360200190a1604080516001600160a01b038416815290517f15cb6984f76cb781da2b25c2024a3eaf5011914976381f844e09724cc9e21e949181900360200190a161069c610db3565b505050565b6001600160a01b031660009081526002602052604090205490565b60075481565b60006106d042600654610dfd565b905090565b6000546001600160a01b031681565b600a6020526000908152604090205481565b6003546001600160a01b031690565b6003546001600160a01b0316331490565b60405180604001604052806007815260200166155b9a5c1bdbdb60ca1b81525081565b6000811161077f576040805162461bcd60e51b815260206004820152600e60248201526d043616e6e6f74207374616b6520360941b604482015290519081900360640190fd5b6000546001600160a01b03166107c65760405162461bcd60e51b81526004018080602001828103825260298152602001806113106029913960400191505060405180910390fd5b6107ce610e13565b6107d733610b4f565b6107e081610e57565b60408051828152905133917f9e71bc8eea02a63969f509818f2dafb9254532904319f9dbda79b67bd34a5f3d919081900360200190a250565b6000546001600160a01b03166108605760405162461bcd60e51b81526004018080602001828103825260298152602001806113106029913960400191505060405180910390fd5b610868610e13565b61087133610b4f565b600061087c3361037f565b9050600081116108c6576040805162461bcd60e51b815260206004820152601060248201526f4e6f7468696e6720746f20636c61696d60801b604482015290519081900360640190fd5b336000818152600b60209081526040808320839055600554815163a9059cbb60e01b815260048101959095526024850186905290516001600160a01b039091169363a9059cbb9360448083019493928390030190829087803b15801561092b57600080fd5b505af115801561093f573d6000803e3d6000fd5b505050506040513d602081101561095557600080fd5b505060408051828152905133917fe2403640ba68fed3a2f88b7557551d1993f84b99bb10ff833f0cf8db0c5e0486919081900360200190a250565b60085481565b60006109a061041d565b6109ad5750600954610421565b6106d06109db6109bb61041d565b6103e7670de0b6b3a76400006103db6007546103db6008546103c66106c2565b6009549063ffffffff610af516565b6109fb6109f6336106a1565b610433565b610a03610819565b565b60095481565b60065481565b6000610a5383836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610eb9565b9392505050565b600082610a69575060006103ff565b82820282848281610a7657fe5b0414610a535760405162461bcd60e51b815260040180806020018281038252602181526020018061135f6021913960400191505060405180910390fd5b6000610a5383836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250610f50565b600082820183811015610a53576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b610b57610fb5565b6001600160a01b038116610b6757fe5b610b708161037f565b6001600160a01b039091166000908152600b6020908152604080832093909355600954600a90915291902055565b600154610bb1908263ffffffff610a1116565b60015533600090815260026020526040902054610bd4908263ffffffff610a1116565b336000818152600260205260408120929092559054610bff916001600160a01b039091169083610fcd565b50565b6001600160a01b038116610c5d576040805162461bcd60e51b815260206004820152601e60248201527f4163636f756e742063616e6e6f74206265207a65726f20616464726573730000604482015290519081900360640190fd5b803b80610cb1576040805162461bcd60e51b815260206004820181905260248201527f4163636f756e7420636f64652073697a652063616e6e6f74206265207a65726f604482015290519081900360640190fd5b5050565b60008211610cbf57fe5b600554604080516370a0823160e01b815230600482015290516001600160a01b03909216916370a0823191602480820192602092909190829003018186803b158015610d0a57600080fd5b505afa158015610d1e573d6000803e3d6000fd5b505050506040513d6020811015610d3457600080fd5b50518214610d3e57fe5b60065415610d4857fe5b610d50610fb5565b610d60828263ffffffff610ab316565b600755426008819055610d79908263ffffffff610af516565b6006556040805183815290517fde88a922e0d3b88b24e9623efeb464919c6bf9f66857a65e2bfcf2ce87a9433d9181900360200190a15050565b6003546040516000916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600380546001600160a01b0319169055565b6000818310610e0c5781610a53565b5090919050565b610e1b61041d565b610a0357600060065411610e2b57fe5b610e52610e4360085442610a1190919063ffffffff16565b6006549063ffffffff610af516565b600655565b600154610e6a908263ffffffff610af516565b60015533600090815260026020526040902054610e8d908263ffffffff610af516565b336000818152600260205260408120929092559054610bff916001600160a01b0390911690308461101f565b60008184841115610f485760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610f0d578181015183820152602001610ef5565b50505050905090810190601f168015610f3a5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b60008183610f9f5760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610f0d578181015183820152602001610ef5565b506000838581610fab57fe5b0495945050505050565b610fbd610996565b600955610fc86106c2565b600855565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b17905261069c90849061107f565b604080516001600160a01b0380861660248301528416604482015260648082018490528251808303909101815260849091019091526020810180516001600160e01b03166323b872dd60e01b17905261107990859061107f565b50505050565b60606110d4826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166111309092919063ffffffff16565b80519091501561069c578080602001905160208110156110f357600080fd5b505161069c5760405162461bcd60e51b815260040180806020018281038252602a815260200180611380602a913960400191505060405180910390fd5b606061113f8484600085611147565b949350505050565b6060824710156111885760405162461bcd60e51b81526004018080602001828103825260268152602001806113396026913960400191505060405180910390fd5b611191856112a3565b6111e2576040805162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b60006060866001600160a01b031685876040518082805190602001908083835b602083106112215780518252601f199092019160209182019101611202565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d8060008114611283576040519150601f19603f3d011682016040523d82523d6000602084013e611288565b606091505b50915091506112988282866112a9565b979650505050505050565b3b151590565b606083156112b8575081610a53565b8251156112c85782518084602001fd5b60405162461bcd60e51b8152602060048201818152845160248401528451859391928392604401919085019080838360008315610f0d578181015183820152602001610ef556fe4c697175696469747920506f6f6c20546f6b656e20686173206e6f74206265656e2073657420796574416464726573733a20696e73756666696369656e742062616c616e636520666f722063616c6c536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f775361666545524332303a204552433230206f7065726174696f6e20646964206e6f742073756363656564a2646970667358221220637aaf03b41565bdcbb68b81b8fac76626d16e3b958cecf16ec25334358a38fb64736f6c634300060b0033", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/packages/lib-ethers/live/UpgradableProxy.json b/packages/lib-ethers/live/UpgradableProxy.json new file mode 100644 index 000000000..3f6b3de2d --- /dev/null +++ b/packages/lib-ethers/live/UpgradableProxy.json @@ -0,0 +1,109 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "UpgradableProxy", + "sourceName": "contracts/Proxy/UpgradableProxy.sol", + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "_oldImplementation", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "_newImplementation", + "type": "address" + } + ], + "name": "ImplementationChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousOwner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnershipTransferred", + "type": "event" + }, + { + "stateMutability": "payable", + "type": "fallback" + }, + { + "inputs": [], + "name": "getImplementation", + "outputs": [ + { + "internalType": "address", + "name": "_implementation", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getOwner", + "outputs": [ + { + "internalType": "address", + "name": "_owner", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_implementation", + "type": "address" + } + ], + "name": "setImplementation", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_owner", + "type": "address" + } + ], + "name": "setOwner", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "stateMutability": "payable", + "type": "receive" + } + ], + "bytecode": "0x608060405234801561001057600080fd5b50610023336001600160e01b0361002816565b610110565b6001600160a01b03811661006d5760405162461bcd60e51b81526004018080602001828103825260228152602001806105e26022913960400191505060405180910390fd5b6001600160a01b0381166100886001600160e01b036100e616565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3604080517035b2bc9737bbb730b136329737bbb732b960791b8152905190819003601101902055565b604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205490565b6104c38061011f6000396000f3fe6080604052600436106100435760003560e01c806313af40351461005a578063893d20e81461008d578063aaf10f42146100be578063d784d426146100d357610052565b3661005257610050610106565b005b610050610106565b34801561006657600080fd5b506100506004803603602081101561007d57600080fd5b50356001600160a01b031661017c565b34801561009957600080fd5b506100a26101ef565b604080516001600160a01b039092168252519081900360200190f35b3480156100ca57600080fd5b506100a2610219565b3480156100df57600080fd5b50610050600480360360208110156100f657600080fd5b50356001600160a01b0316610244565b6000610110610219565b90506001600160a01b0381166101575760405162461bcd60e51b815260040180806020018281038252602381526020018061046b6023913960400191505060405180910390fd5b60405136600082376000803683855af43d806000843e818015610178578184f35b8184fd5b6101846101ef565b6001600160a01b0316336001600160a01b0316146101e3576040805162461bcd60e51b815260206004820152601760248201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604482015290519081900360640190fd5b6101ec816102b4565b50565b604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205490565b604080517135b2bc9734b6b83632b6b2b73a30ba34b7b760711b815290519081900360120190205490565b61024c6101ef565b6001600160a01b0316336001600160a01b0316146102ab576040805162461bcd60e51b815260206004820152601760248201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604482015290519081900360640190fd5b6101ec81610369565b6001600160a01b0381166102f95760405162461bcd60e51b81526004018080602001828103825260228152602001806104206022913960400191505060405180910390fd5b806001600160a01b031661030b6101ef565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3604080517035b2bc9737bbb730b136329737bbb732b960791b8152905190819003601101902055565b6001600160a01b0381166103ae5760405162461bcd60e51b81526004018080602001828103825260298152602001806104426029913960400191505060405180910390fd5b806001600160a01b03166103c0610219565b6001600160a01b03167fcfbf4028add9318bbf716f08c348595afb063b0e9feed1f86d33681a4b3ed4d360405160405180910390a3604080517135b2bc9734b6b83632b6b2b73a30ba34b7b760711b815290519081900360120190205556fe4f776e61626c653a3a7365744f776e65723a20696e76616c6964206164647265737350726f78793a3a736574496d706c656d656e746174696f6e3a20696e76616c6964206164647265737350726f78793a3a28293a20696d706c656d656e746174696f6e206e6f7420666f756e64a2646970667358221220f84db5b0f5dd60cbb7d66141de13219d0da4edbe3006d54bb4d362cbc0da0dfa64736f6c634300060b00334f776e61626c653a3a7365744f776e65723a20696e76616c69642061646472657373", + "deployedBytecode": "0x6080604052600436106100435760003560e01c806313af40351461005a578063893d20e81461008d578063aaf10f42146100be578063d784d426146100d357610052565b3661005257610050610106565b005b610050610106565b34801561006657600080fd5b506100506004803603602081101561007d57600080fd5b50356001600160a01b031661017c565b34801561009957600080fd5b506100a26101ef565b604080516001600160a01b039092168252519081900360200190f35b3480156100ca57600080fd5b506100a2610219565b3480156100df57600080fd5b50610050600480360360208110156100f657600080fd5b50356001600160a01b0316610244565b6000610110610219565b90506001600160a01b0381166101575760405162461bcd60e51b815260040180806020018281038252602381526020018061046b6023913960400191505060405180910390fd5b60405136600082376000803683855af43d806000843e818015610178578184f35b8184fd5b6101846101ef565b6001600160a01b0316336001600160a01b0316146101e3576040805162461bcd60e51b815260206004820152601760248201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604482015290519081900360640190fd5b6101ec816102b4565b50565b604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205490565b604080517135b2bc9734b6b83632b6b2b73a30ba34b7b760711b815290519081900360120190205490565b61024c6101ef565b6001600160a01b0316336001600160a01b0316146102ab576040805162461bcd60e51b815260206004820152601760248201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604482015290519081900360640190fd5b6101ec81610369565b6001600160a01b0381166102f95760405162461bcd60e51b81526004018080602001828103825260228152602001806104206022913960400191505060405180910390fd5b806001600160a01b031661030b6101ef565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3604080517035b2bc9737bbb730b136329737bbb732b960791b8152905190819003601101902055565b6001600160a01b0381166103ae5760405162461bcd60e51b81526004018080602001828103825260298152602001806104426029913960400191505060405180910390fd5b806001600160a01b03166103c0610219565b6001600160a01b03167fcfbf4028add9318bbf716f08c348595afb063b0e9feed1f86d33681a4b3ed4d360405160405180910390a3604080517135b2bc9734b6b83632b6b2b73a30ba34b7b760711b815290519081900360120190205556fe4f776e61626c653a3a7365744f776e65723a20696e76616c6964206164647265737350726f78793a3a736574496d706c656d656e746174696f6e3a20696e76616c6964206164647265737350726f78793a3a28293a20696d706c656d656e746174696f6e206e6f7420666f756e64a2646970667358221220f84db5b0f5dd60cbb7d66141de13219d0da4edbe3006d54bb4d362cbc0da0dfa64736f6c634300060b0033", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/packages/lib-ethers/live/UpgradableProxyTester.json b/packages/lib-ethers/live/UpgradableProxyTester.json new file mode 100644 index 000000000..7a20f4fde --- /dev/null +++ b/packages/lib-ethers/live/UpgradableProxyTester.json @@ -0,0 +1,109 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "UpgradableProxyTester", + "sourceName": "contracts/TestContracts/UpgradableProxyTester.sol", + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "_oldImplementation", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "_newImplementation", + "type": "address" + } + ], + "name": "ImplementationChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousOwner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnershipTransferred", + "type": "event" + }, + { + "stateMutability": "payable", + "type": "fallback" + }, + { + "inputs": [], + "name": "getImplementation", + "outputs": [ + { + "internalType": "address", + "name": "_implementation", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getOwner", + "outputs": [ + { + "internalType": "address", + "name": "_owner", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_implementation", + "type": "address" + } + ], + "name": "setImplementation", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_owner", + "type": "address" + } + ], + "name": "setOwner", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "stateMutability": "payable", + "type": "receive" + } + ], + "bytecode": "0x608060405234801561001057600080fd5b50610023336001600160e01b0361002816565b610110565b6001600160a01b03811661006d5760405162461bcd60e51b81526004018080602001828103825260228152602001806105e26022913960400191505060405180910390fd5b6001600160a01b0381166100886001600160e01b036100e616565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3604080517035b2bc9737bbb730b136329737bbb732b960791b8152905190819003601101902055565b604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205490565b6104c38061011f6000396000f3fe6080604052600436106100435760003560e01c806313af40351461005a578063893d20e81461008d578063aaf10f42146100be578063d784d426146100d357610052565b3661005257610050610106565b005b610050610106565b34801561006657600080fd5b506100506004803603602081101561007d57600080fd5b50356001600160a01b031661017c565b34801561009957600080fd5b506100a26101ef565b604080516001600160a01b039092168252519081900360200190f35b3480156100ca57600080fd5b506100a2610219565b3480156100df57600080fd5b50610050600480360360208110156100f657600080fd5b50356001600160a01b0316610244565b6000610110610219565b90506001600160a01b0381166101575760405162461bcd60e51b815260040180806020018281038252602381526020018061046b6023913960400191505060405180910390fd5b60405136600082376000803683855af43d806000843e818015610178578184f35b8184fd5b6101846101ef565b6001600160a01b0316336001600160a01b0316146101e3576040805162461bcd60e51b815260206004820152601760248201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604482015290519081900360640190fd5b6101ec816102b4565b50565b604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205490565b604080517135b2bc9734b6b83632b6b2b73a30ba34b7b760711b815290519081900360120190205490565b61024c6101ef565b6001600160a01b0316336001600160a01b0316146102ab576040805162461bcd60e51b815260206004820152601760248201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604482015290519081900360640190fd5b6101ec81610369565b6001600160a01b0381166102f95760405162461bcd60e51b81526004018080602001828103825260228152602001806104206022913960400191505060405180910390fd5b806001600160a01b031661030b6101ef565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3604080517035b2bc9737bbb730b136329737bbb732b960791b8152905190819003601101902055565b6001600160a01b0381166103ae5760405162461bcd60e51b81526004018080602001828103825260298152602001806104426029913960400191505060405180910390fd5b806001600160a01b03166103c0610219565b6001600160a01b03167fcfbf4028add9318bbf716f08c348595afb063b0e9feed1f86d33681a4b3ed4d360405160405180910390a3604080517135b2bc9734b6b83632b6b2b73a30ba34b7b760711b815290519081900360120190205556fe4f776e61626c653a3a7365744f776e65723a20696e76616c6964206164647265737350726f78793a3a736574496d706c656d656e746174696f6e3a20696e76616c6964206164647265737350726f78793a3a28293a20696d706c656d656e746174696f6e206e6f7420666f756e64a26469706673582212203e5f6a4da741108bc95e126f8eb9df40528bfe875ce024f1930bbbcf5556e4c764736f6c634300060b00334f776e61626c653a3a7365744f776e65723a20696e76616c69642061646472657373", + "deployedBytecode": "0x6080604052600436106100435760003560e01c806313af40351461005a578063893d20e81461008d578063aaf10f42146100be578063d784d426146100d357610052565b3661005257610050610106565b005b610050610106565b34801561006657600080fd5b506100506004803603602081101561007d57600080fd5b50356001600160a01b031661017c565b34801561009957600080fd5b506100a26101ef565b604080516001600160a01b039092168252519081900360200190f35b3480156100ca57600080fd5b506100a2610219565b3480156100df57600080fd5b50610050600480360360208110156100f657600080fd5b50356001600160a01b0316610244565b6000610110610219565b90506001600160a01b0381166101575760405162461bcd60e51b815260040180806020018281038252602381526020018061046b6023913960400191505060405180910390fd5b60405136600082376000803683855af43d806000843e818015610178578184f35b8184fd5b6101846101ef565b6001600160a01b0316336001600160a01b0316146101e3576040805162461bcd60e51b815260206004820152601760248201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604482015290519081900360640190fd5b6101ec816102b4565b50565b604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205490565b604080517135b2bc9734b6b83632b6b2b73a30ba34b7b760711b815290519081900360120190205490565b61024c6101ef565b6001600160a01b0316336001600160a01b0316146102ab576040805162461bcd60e51b815260206004820152601760248201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604482015290519081900360640190fd5b6101ec81610369565b6001600160a01b0381166102f95760405162461bcd60e51b81526004018080602001828103825260228152602001806104206022913960400191505060405180910390fd5b806001600160a01b031661030b6101ef565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3604080517035b2bc9737bbb730b136329737bbb732b960791b8152905190819003601101902055565b6001600160a01b0381166103ae5760405162461bcd60e51b81526004018080602001828103825260298152602001806104426029913960400191505060405180910390fd5b806001600160a01b03166103c0610219565b6001600160a01b03167fcfbf4028add9318bbf716f08c348595afb063b0e9feed1f86d33681a4b3ed4d360405160405180910390a3604080517135b2bc9734b6b83632b6b2b73a30ba34b7b760711b815290519081900360120190205556fe4f776e61626c653a3a7365744f776e65723a20696e76616c6964206164647265737350726f78793a3a736574496d706c656d656e746174696f6e3a20696e76616c6964206164647265737350726f78793a3a28293a20696d706c656d656e746174696f6e206e6f7420666f756e64a26469706673582212203e5f6a4da741108bc95e126f8eb9df40528bfe875ce024f1930bbbcf5556e4c764736f6c634300060b0033", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/packages/lib-ethers/live/WRBTCTokenTester.json b/packages/lib-ethers/live/WRBTCTokenTester.json new file mode 100644 index 000000000..54703048c --- /dev/null +++ b/packages/lib-ethers/live/WRBTCTokenTester.json @@ -0,0 +1,331 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "WRBTCTokenTester", + "sourceName": "contracts/TestContracts/WRBTCTokenTester.sol", + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "src", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "guy", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "wad", + "type": "uint256" + } + ], + "name": "Approval", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "dst", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "wad", + "type": "uint256" + } + ], + "name": "Deposit", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "src", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "dst", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "wad", + "type": "uint256" + } + ], + "name": "Transfer", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "src", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "wad", + "type": "uint256" + } + ], + "name": "Withdrawal", + "type": "event" + }, + { + "stateMutability": "payable", + "type": "fallback" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + }, + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "allowance", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "guy", + "type": "address" + }, + { + "internalType": "uint256", + "name": "wad", + "type": "uint256" + } + ], + "name": "approve", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "balanceOf", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_who", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_value", + "type": "uint256" + } + ], + "name": "burn", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "decimals", + "outputs": [ + { + "internalType": "uint8", + "name": "", + "type": "uint8" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "deposit", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_value", + "type": "uint256" + } + ], + "name": "mint", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "name", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "symbol", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "totalSupply", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "dst", + "type": "address" + }, + { + "internalType": "uint256", + "name": "wad", + "type": "uint256" + } + ], + "name": "transfer", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "src", + "type": "address" + }, + { + "internalType": "address", + "name": "dst", + "type": "address" + }, + { + "internalType": "uint256", + "name": "wad", + "type": "uint256" + } + ], + "name": "transferFrom", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "wad", + "type": "uint256" + } + ], + "name": "withdraw", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "bytecode": "0x60c0604052600b60808190526a577261707065642042544360a81b60a090815261002c9160009190610079565b5060408051808201909152600580825264575242544360d81b602090920191825261005991600191610079565b506002805460ff1916601217905534801561007357600080fd5b50610114565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106100ba57805160ff19168380011785556100e7565b828001600101855582156100e7579182015b828111156100e75782518255916020019190600101906100cc565b506100f39291506100f7565b5090565b61011191905b808211156100f357600081556001016100fd565b90565b6108b4806101236000396000f3fe6080604052600436106100b25760003560e01c806340c10f191161006f57806340c10f191461025257806370a082311461028b57806395d89b41146102be5780639dc29fac146102d3578063a9059cbb1461030c578063d0e30db0146100b2578063dd62ed3e14610345576100b2565b806306fdde03146100bc578063095ea7b31461014657806318160ddd1461019357806323b872dd146101ba5780632e1a7d4d146101fd578063313ce56714610227575b6100ba610380565b005b3480156100c857600080fd5b506100d16103cf565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561010b5781810151838201526020016100f3565b50505050905090810190601f1680156101385780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561015257600080fd5b5061017f6004803603604081101561016957600080fd5b506001600160a01b03813516906020013561045d565b604080519115158252519081900360200190f35b34801561019f57600080fd5b506101a86104c3565b60408051918252519081900360200190f35b3480156101c657600080fd5b5061017f600480360360608110156101dd57600080fd5b506001600160a01b038135811691602081013590911690604001356104c7565b34801561020957600080fd5b506100ba6004803603602081101561022057600080fd5b50356105e9565b34801561023357600080fd5b5061023c61067e565b6040805160ff9092168252519081900360200190f35b34801561025e57600080fd5b506100ba6004803603604081101561027557600080fd5b506001600160a01b038135169060200135610687565b34801561029757600080fd5b506101a8600480360360208110156102ae57600080fd5b50356001600160a01b0316610719565b3480156102ca57600080fd5b506100d161072b565b3480156102df57600080fd5b506100ba600480360360408110156102f657600080fd5b506001600160a01b038135169060200135610785565b34801561031857600080fd5b5061017f6004803603604081101561032f57600080fd5b506001600160a01b03813516906020013561082d565b34801561035157600080fd5b506101a86004803603604081101561036857600080fd5b506001600160a01b0381358116916020013516610841565b33600081815260036020908152604091829020805434908101909155825190815291517fe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c9281900390910190a2565b6000805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156104555780601f1061042a57610100808354040283529160200191610455565b820191906000526020600020905b81548152906001019060200180831161043857829003601f168201915b505050505081565b3360008181526004602090815260408083206001600160a01b038716808552908352818420869055815186815291519394909390927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925928290030190a350600192915050565b4790565b6001600160a01b0383166000908152600360205260408120548211156104ec57600080fd5b6001600160a01b038416331480159061052a57506001600160a01b038416600090815260046020908152604080832033845290915290205460001914155b1561058a576001600160a01b038416600090815260046020908152604080832033845290915290205482111561055f57600080fd5b6001600160a01b03841660009081526004602090815260408083203384529091529020805483900390555b6001600160a01b038085166000818152600360209081526040808320805488900390559387168083529184902080548701905583518681529351919360008051602061085f833981519152929081900390910190a35060019392505050565b3360009081526003602052604090205481111561060557600080fd5b33600081815260036020526040808220805485900390555183156108fc0291849190818181858888f19350505050158015610644573d6000803e3d6000fd5b5060408051828152905133917f7fcf532c15f0a6db0bd6d0e038bea71d30d808c7d98cb3bf7268a95bf5081b65919081900360200190a250565b60025460ff1681565b6001600160a01b0382166106d4576040805162461bcd60e51b815260206004820152600f60248201526e1b9bc8189d5c9b88185b1b1bddd959608a1b604482015290519081900360640190fd5b6001600160a01b03821660008181526003602090815260408083208054860190558051858152905160008051602061085f833981519152929181900390910190a35050565b60036020526000908152604090205481565b60018054604080516020600284861615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156104555780601f1061042a57610100808354040283529160200191610455565b6001600160a01b0382166000908152600360205260409020548111156107e4576040805162461bcd60e51b815260206004820152600f60248201526e62616c616e636520746f6f206c6f7760881b604482015290519081900360640190fd5b6001600160a01b0382166000818152600360209081526040808320805486900390558051858152905192939260008051602061085f833981519152929181900390910190a35050565b600061083a3384846104c7565b9392505050565b60046020908152600092835260408084209091529082529020548156feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa2646970667358221220162ffe589535e0a8b0bdf192cfefd7becbd7fb0984b535b54ee44a02a922b1ab64736f6c634300060b0033", + "deployedBytecode": "0x6080604052600436106100b25760003560e01c806340c10f191161006f57806340c10f191461025257806370a082311461028b57806395d89b41146102be5780639dc29fac146102d3578063a9059cbb1461030c578063d0e30db0146100b2578063dd62ed3e14610345576100b2565b806306fdde03146100bc578063095ea7b31461014657806318160ddd1461019357806323b872dd146101ba5780632e1a7d4d146101fd578063313ce56714610227575b6100ba610380565b005b3480156100c857600080fd5b506100d16103cf565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561010b5781810151838201526020016100f3565b50505050905090810190601f1680156101385780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561015257600080fd5b5061017f6004803603604081101561016957600080fd5b506001600160a01b03813516906020013561045d565b604080519115158252519081900360200190f35b34801561019f57600080fd5b506101a86104c3565b60408051918252519081900360200190f35b3480156101c657600080fd5b5061017f600480360360608110156101dd57600080fd5b506001600160a01b038135811691602081013590911690604001356104c7565b34801561020957600080fd5b506100ba6004803603602081101561022057600080fd5b50356105e9565b34801561023357600080fd5b5061023c61067e565b6040805160ff9092168252519081900360200190f35b34801561025e57600080fd5b506100ba6004803603604081101561027557600080fd5b506001600160a01b038135169060200135610687565b34801561029757600080fd5b506101a8600480360360208110156102ae57600080fd5b50356001600160a01b0316610719565b3480156102ca57600080fd5b506100d161072b565b3480156102df57600080fd5b506100ba600480360360408110156102f657600080fd5b506001600160a01b038135169060200135610785565b34801561031857600080fd5b5061017f6004803603604081101561032f57600080fd5b506001600160a01b03813516906020013561082d565b34801561035157600080fd5b506101a86004803603604081101561036857600080fd5b506001600160a01b0381358116916020013516610841565b33600081815260036020908152604091829020805434908101909155825190815291517fe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c9281900390910190a2565b6000805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156104555780601f1061042a57610100808354040283529160200191610455565b820191906000526020600020905b81548152906001019060200180831161043857829003601f168201915b505050505081565b3360008181526004602090815260408083206001600160a01b038716808552908352818420869055815186815291519394909390927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925928290030190a350600192915050565b4790565b6001600160a01b0383166000908152600360205260408120548211156104ec57600080fd5b6001600160a01b038416331480159061052a57506001600160a01b038416600090815260046020908152604080832033845290915290205460001914155b1561058a576001600160a01b038416600090815260046020908152604080832033845290915290205482111561055f57600080fd5b6001600160a01b03841660009081526004602090815260408083203384529091529020805483900390555b6001600160a01b038085166000818152600360209081526040808320805488900390559387168083529184902080548701905583518681529351919360008051602061085f833981519152929081900390910190a35060019392505050565b3360009081526003602052604090205481111561060557600080fd5b33600081815260036020526040808220805485900390555183156108fc0291849190818181858888f19350505050158015610644573d6000803e3d6000fd5b5060408051828152905133917f7fcf532c15f0a6db0bd6d0e038bea71d30d808c7d98cb3bf7268a95bf5081b65919081900360200190a250565b60025460ff1681565b6001600160a01b0382166106d4576040805162461bcd60e51b815260206004820152600f60248201526e1b9bc8189d5c9b88185b1b1bddd959608a1b604482015290519081900360640190fd5b6001600160a01b03821660008181526003602090815260408083208054860190558051858152905160008051602061085f833981519152929181900390910190a35050565b60036020526000908152604090205481565b60018054604080516020600284861615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156104555780601f1061042a57610100808354040283529160200191610455565b6001600160a01b0382166000908152600360205260409020548111156107e4576040805162461bcd60e51b815260206004820152600f60248201526e62616c616e636520746f6f206c6f7760881b604482015290519081900360640190fd5b6001600160a01b0382166000818152600360209081526040808320805486900390558051858152905192939260008051602061085f833981519152929181900390910190a35050565b600061083a3384846104c7565b9392505050565b60046020908152600092835260408084209091529082529020548156feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa2646970667358221220162ffe589535e0a8b0bdf192cfefd7becbd7fb0984b535b54ee44a02a922b1ab64736f6c634300060b0033", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/packages/lib-ethers/live/ZEROStaking.json b/packages/lib-ethers/live/ZEROStaking.json new file mode 100644 index 000000000..5a5b63cf8 --- /dev/null +++ b/packages/lib-ethers/live/ZEROStaking.json @@ -0,0 +1,530 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "ZEROStaking", + "sourceName": "contracts/ZERO/ZEROStaking.sol", + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "_activePoolAddress", + "type": "address" + } + ], + "name": "ActivePoolAddressSet", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "_account", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "EtherSent", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "_F_ETH", + "type": "uint256" + } + ], + "name": "F_ETHUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "_F_ZUSD", + "type": "uint256" + } + ], + "name": "F_ZUSDUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "_feeDistributorAddress", + "type": "address" + } + ], + "name": "FeeDistributorAddressAddressSet", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "_feeDistributorAddress", + "type": "address" + } + ], + "name": "FeeDistributorAddressSet", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousOwner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnershipTransferred", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "staker", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "newStake", + "type": "uint256" + } + ], + "name": "StakeChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "_staker", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "_F_ETH", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "_F_ZUSD", + "type": "uint256" + } + ], + "name": "StakerSnapshotsUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "staker", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "ZUSDGain", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "ETHGain", + "type": "uint256" + } + ], + "name": "StakingGainsWithdrawn", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "_totalZEROStaked", + "type": "uint256" + } + ], + "name": "TotalZEROStakedUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "_zeroTokenAddress", + "type": "address" + } + ], + "name": "ZEROTokenAddressSet", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "_zusdTokenAddress", + "type": "address" + } + ], + "name": "ZUSDTokenAddressSet", + "type": "event" + }, + { + "inputs": [], + "name": "DECIMAL_PRECISION", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "F_ETH", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "F_ZUSD", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "NAME", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "activePoolAddress", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "feeDistributorAddress", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getOwner", + "outputs": [ + { + "internalType": "address", + "name": "_owner", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_user", + "type": "address" + } + ], + "name": "getPendingETHGain", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_user", + "type": "address" + } + ], + "name": "getPendingZUSDGain", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_ETHFee", + "type": "uint256" + } + ], + "name": "increaseF_ETH", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_ZUSDFee", + "type": "uint256" + } + ], + "name": "increaseF_ZUSD", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_zeroTokenAddress", + "type": "address" + }, + { + "internalType": "address", + "name": "_zusdTokenAddress", + "type": "address" + }, + { + "internalType": "address", + "name": "_feeDistributorAddress", + "type": "address" + }, + { + "internalType": "address", + "name": "_activePoolAddress", + "type": "address" + } + ], + "name": "setAddresses", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_owner", + "type": "address" + } + ], + "name": "setOwner", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "snapshots", + "outputs": [ + { + "internalType": "uint256", + "name": "F_ETH_Snapshot", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "F_ZUSD_Snapshot", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_ZEROamount", + "type": "uint256" + } + ], + "name": "stake", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "stakes", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "totalZEROStaked", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_ZEROamount", + "type": "uint256" + } + ], + "name": "unstake", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "zeroToken", + "outputs": [ + { + "internalType": "contract IZEROToken", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "zusdToken", + "outputs": [ + { + "internalType": "contract IZUSDToken", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "stateMutability": "payable", + "type": "receive" + } + ], + "bytecode": "0x608060405234801561001057600080fd5b50610023336001600160e01b0361002816565b610110565b6001600160a01b03811661006d5760405162461bcd60e51b81526004018080602001828103825260228152602001806116eb6022913960400191505060405180910390fd5b6001600160a01b0381166100886001600160e01b036100e616565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3604080517035b2bc9737bbb730b136329737bbb732b960791b8152905190819003601101902055565b604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205490565b6115cc8061011f6000396000f3fe6080604052600436106101235760003560e01c80638b9345ad116100a0578063b9bbe00f11610064578063b9bbe00f1461044e578063bc70cd8c14610463578063e6f7a1e714610478578063ec9f7d461461048d578063f294bd92146104a257610132565b80638b9345ad1461033d578063a20baee614610370578063a3f4df7e14610385578063a694fc3a1461040f578063b08bc7221461043957610132565b806334b3081f116100e757806334b3081f146102185780634a945f8d1461026457806361f6ab8c146102af578063787a149e146102d9578063893d20e81461030c57610132565b806313af40351461013757806316934fc41461016a5780631e3e2a1a146101af5780631f49119a146101d95780632e17de78146101ee57610132565b36610132576101306104b7565b005b600080fd5b34801561014357600080fd5b506101306004803603602081101561015a57600080fd5b50356001600160a01b0316610502565b34801561017657600080fd5b5061019d6004803603602081101561018d57600080fd5b50356001600160a01b0316610575565b60408051918252519081900360200190f35b3480156101bb57600080fd5b50610130600480360360208110156101d257600080fd5b5035610587565b3480156101e557600080fd5b5061019d610616565b3480156101fa57600080fd5b506101306004803603602081101561021157600080fd5b503561061c565b34801561022457600080fd5b5061024b6004803603602081101561023b57600080fd5b50356001600160a01b0316610901565b6040805192835260208301919091528051918290030190f35b34801561027057600080fd5b506101306004803603608081101561028757600080fd5b506001600160a01b03813581169160208101358216916040820135811691606001351661091a565b3480156102bb57600080fd5b50610130600480360360208110156102d257600080fd5b5035610ad9565b3480156102e557600080fd5b5061019d600480360360208110156102fc57600080fd5b50356001600160a01b0316610b5c565b34801561031857600080fd5b50610321610b6d565b604080516001600160a01b039092168252519081900360200190f35b34801561034957600080fd5b5061019d6004803603602081101561036057600080fd5b50356001600160a01b0316610b97565b34801561037c57600080fd5b5061019d610ba2565b34801561039157600080fd5b5061039a610bae565b6040805160208082528351818301528351919283929083019185019080838360005b838110156103d45781810151838201526020016103bc565b50505050905090810190601f1680156104015780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561041b57600080fd5b506101306004803603602081101561043257600080fd5b5035610bd5565b34801561044557600080fd5b50610321610e49565b34801561045a57600080fd5b5061019d610e58565b34801561046f57600080fd5b50610321610e5e565b34801561048457600080fd5b5061019d610e6d565b34801561049957600080fd5b50610321610e73565b3480156104ae57600080fd5b50610321610e82565b6007546001600160a01b031633146105005760405162461bcd60e51b81526004018080602001828103825260298152602001806115216029913960400191505060405180910390fd5b565b61050a610b6d565b6001600160a01b0316336001600160a01b031614610569576040805162461bcd60e51b815260206004820152601760248201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604482015290519081900360640190fd5b61057281610e91565b50565b60006020819052908152604090205481565b61058f6104b7565b600154600090156105c8576001546105c5906105b984670de0b6b3a764000063ffffffff610f4616565b9063ffffffff610fa616565b90505b6002546105db908263ffffffff610fe816565b600281905560408051918252517f4c56a0cf74da9899410b818edf6758c8af9b7b3070da97d2dcb6a5b1bf96317e9181900360200190a15050565b60035481565b3360009081526020819052604090205461063581611042565b600061064033611081565b9050600061064d336110ee565b905061065833611131565b83156107e757600061066a85856111a3565b9050600061067e858363ffffffff6111b916565b3360009081526020819052604090208190556001549091506106a6908363ffffffff6111b916565b600181905560408051918252517f119495b1b01a3979110ba18e2447296d0bf46ef520fc0a3af775e233d7bb12529181900360200190a16005546040805163a9059cbb60e01b81523360048201526024810185905290516001600160a01b039092169163a9059cbb916044808201926020929091908290030181600087803b15801561073157600080fd5b505af1158015610745573d6000803e3d6000fd5b505050506040513d602081101561075b57600080fd5b50516107ae576040805162461bcd60e51b815260206004820152601e60248201527f436f756c646e27742065786563757465205a555344207472616e736665720000604482015290519081900360640190fd5b60408051828152905133917f39df0e5286a3ef2f42a0bf52f32cfe2c58e5b0405f47fe512f2c2439e4cfe204919081900360200190a250505b6040805182815260208101849052815133927ff744d34ca1cb25acfa4180df5f09a67306107110a9f4b6ed99bb3be259738215928290030190a26006546040805163a9059cbb60e01b81523360048201526024810184905290516001600160a01b039092169163a9059cbb916044808201926020929091908290030181600087803b15801561087557600080fd5b505af1158015610889573d6000803e3d6000fd5b505050506040513d602081101561089f57600080fd5b50516108f2576040805162461bcd60e51b815260206004820152601e60248201527f436f756c646e27742065786563757465205a555344207472616e736665720000604482015290519081900360640190fd5b6108fb826111fb565b50505050565b6004602052600090815260409020805460019091015482565b610922610b6d565b6001600160a01b0316336001600160a01b031614610981576040805162461bcd60e51b815260206004820152601760248201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604482015290519081900360640190fd5b61098a846112c1565b610993836112c1565b61099c826112c1565b6109a5816112c1565b600580546001600160a01b038087166001600160a01b031992831681179093556006805487831690841617905560078054868316908416179055600880549185169190921617905560408051918252517f7eeded1a6761a0ca57ff60155bdd3e94fbfe5d9e8dc5013b3aa195b8d9e851ea9181900360200190a1604080516001600160a01b038516815290517f7eeded1a6761a0ca57ff60155bdd3e94fbfe5d9e8dc5013b3aa195b8d9e851ea9181900360200190a1604080516001600160a01b038416815290517f8a0d5ec55b7ba4e72b7d97dbd26e71ff52e453e626ce74a96c649e5bc026c4c89181900360200190a1604080516001600160a01b038316815290517f8f6a6e7d20a3233e0a79883272259ffbd7a243734e397bc2b4642c79d7fa8a6d9181900360200190a150505050565b610ae16104b7565b60015460009015610b0e57600154610b0b906105b984670de0b6b3a764000063ffffffff610f4616565b90505b600354610b21908263ffffffff610fe816565b600381905560408051918252517fa7ab0bde92e8afee66c7c5f3592a5b93e7415501b666f15bea395b30d399e1729181900360200190a15050565b6000610b67826110ee565b92915050565b604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205490565b6000610b6782611081565b670de0b6b3a764000081565b6040518060400160405280600b81526020016a5a45524f5374616b696e6760a81b81525081565b610bde81611370565b3360009081526020819052604081205490808215610c0d57610bff33611081565b9150610c0a336110ee565b90505b610c1633611131565b6000610c28848663ffffffff610fe816565b336000908152602081905260409020819055600154909150610c50908663ffffffff610fe816565b600181905560408051918252517f119495b1b01a3979110ba18e2447296d0bf46ef520fc0a3af775e233d7bb12529181900360200190a160055460408051631e2feecf60e11b81523360048201526024810188905290516001600160a01b0390921691633c5fdd9e9160448082019260009290919082900301818387803b158015610cda57600080fd5b505af1158015610cee573d6000803e3d6000fd5b50506040805184815290513393507f39df0e5286a3ef2f42a0bf52f32cfe2c58e5b0405f47fe512f2c2439e4cfe20492509081900360200190a26040805183815260208101859052815133927ff744d34ca1cb25acfa4180df5f09a67306107110a9f4b6ed99bb3be259738215928290030190a28315610e42576006546040805163a9059cbb60e01b81523360048201526024810185905290516001600160a01b039092169163a9059cbb916044808201926020929091908290030181600087803b158015610dbc57600080fd5b505af1158015610dd0573d6000803e3d6000fd5b505050506040513d6020811015610de657600080fd5b5051610e39576040805162461bcd60e51b815260206004820152601d60248201527f436f75646e27742065786563757465205a555344207472616e73666572000000604482015290519081900360640190fd5b610e42836111fb565b5050505050565b6008546001600160a01b031681565b60025481565b6007546001600160a01b031681565b60015481565b6006546001600160a01b031681565b6005546001600160a01b031681565b6001600160a01b038116610ed65760405162461bcd60e51b81526004018080602001828103825260228152602001806114ff6022913960400191505060405180910390fd5b806001600160a01b0316610ee8610b6d565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3604080517035b2bc9737bbb730b136329737bbb732b960791b8152905190819003601101902055565b600082610f5557506000610b67565b82820282848281610f6257fe5b0414610f9f5760405162461bcd60e51b81526004018080602001828103825260218152602001806115766021913960400191505060405180910390fd5b9392505050565b6000610f9f83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506113af565b600082820183811015610f9f576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b600081116105725760405162461bcd60e51b815260040180806020018281038252602c81526020018061154a602c913960400191505060405180910390fd5b6001600160a01b03811660009081526004602052604081205460025482906110e690670de0b6b3a7640000906105b9906110c1908663ffffffff6111b916565b6001600160a01b0388166000908152602081905260409020549063ffffffff610f4616565b949350505050565b6001600160a01b03811660009081526004602052604081206001015460035482906110e690670de0b6b3a7640000906105b9906110c1908663ffffffff6111b916565b600280546001600160a01b038316600081815260046020908152604091829020938455600354600190940184905593548151928352938201939093528083019190915290517f6b5cf27595af4428271524e0a5abd2b63f6fee1a61e31970490f5a10e257a1cd9181900360600190a150565b60008183106111b25781610f9f565b5090919050565b6000610f9f83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611451565b604080513381526020810183905281517f6109e2559dfa766aaec7118351d48a523f0a4157f49c8d68749c8ac41318ad12929181900390910190a1604051600090339083908381818185875af1925050503d8060008114611278576040519150601f19603f3d011682016040523d82523d6000602084013e61127d565b606091505b50509050806112bd5760405162461bcd60e51b815260040180806020018281038252602f8152602001806114ac602f913960400191505060405180910390fd5b5050565b6001600160a01b03811661131c576040805162461bcd60e51b815260206004820152601e60248201527f4163636f756e742063616e6e6f74206265207a65726f20616464726573730000604482015290519081900360640190fd5b803b806112bd576040805162461bcd60e51b815260206004820181905260248201527f4163636f756e7420636f64652073697a652063616e6e6f74206265207a65726f604482015290519081900360640190fd5b600081116105725760405162461bcd60e51b81526004018080602001828103825260248152602001806114db6024913960400191505060405180910390fd5b6000818361143b5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156114005781810151838201526020016113e8565b50505050905090810190601f16801561142d5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50600083858161144757fe5b0495945050505050565b600081848411156114a35760405162461bcd60e51b81526020600482018181528351602484015283519092839260449091019190850190808383600083156114005781810151838201526020016113e8565b50505090039056fe5a45524f5374616b696e673a204661696c656420746f2073656e6420616363756d756c61746564204554484761696e5a45524f5374616b696e673a20416d6f756e74206d757374206265206e6f6e2d7a65726f4f776e61626c653a3a7365744f776e65723a20696e76616c696420616464726573735a45524f5374616b696e673a2063616c6c6572206973206e6f74204665654469737472696275746f725a45524f5374616b696e673a2055736572206d75737420686176652061206e6f6e2d7a65726f207374616b65536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77a264697066735822122005ea5c1b2e30d7b818e7b6b5a8a68d8fe02ca8b773da2bafd849f769747926ed64736f6c634300060b00334f776e61626c653a3a7365744f776e65723a20696e76616c69642061646472657373", + "deployedBytecode": "0x6080604052600436106101235760003560e01c80638b9345ad116100a0578063b9bbe00f11610064578063b9bbe00f1461044e578063bc70cd8c14610463578063e6f7a1e714610478578063ec9f7d461461048d578063f294bd92146104a257610132565b80638b9345ad1461033d578063a20baee614610370578063a3f4df7e14610385578063a694fc3a1461040f578063b08bc7221461043957610132565b806334b3081f116100e757806334b3081f146102185780634a945f8d1461026457806361f6ab8c146102af578063787a149e146102d9578063893d20e81461030c57610132565b806313af40351461013757806316934fc41461016a5780631e3e2a1a146101af5780631f49119a146101d95780632e17de78146101ee57610132565b36610132576101306104b7565b005b600080fd5b34801561014357600080fd5b506101306004803603602081101561015a57600080fd5b50356001600160a01b0316610502565b34801561017657600080fd5b5061019d6004803603602081101561018d57600080fd5b50356001600160a01b0316610575565b60408051918252519081900360200190f35b3480156101bb57600080fd5b50610130600480360360208110156101d257600080fd5b5035610587565b3480156101e557600080fd5b5061019d610616565b3480156101fa57600080fd5b506101306004803603602081101561021157600080fd5b503561061c565b34801561022457600080fd5b5061024b6004803603602081101561023b57600080fd5b50356001600160a01b0316610901565b6040805192835260208301919091528051918290030190f35b34801561027057600080fd5b506101306004803603608081101561028757600080fd5b506001600160a01b03813581169160208101358216916040820135811691606001351661091a565b3480156102bb57600080fd5b50610130600480360360208110156102d257600080fd5b5035610ad9565b3480156102e557600080fd5b5061019d600480360360208110156102fc57600080fd5b50356001600160a01b0316610b5c565b34801561031857600080fd5b50610321610b6d565b604080516001600160a01b039092168252519081900360200190f35b34801561034957600080fd5b5061019d6004803603602081101561036057600080fd5b50356001600160a01b0316610b97565b34801561037c57600080fd5b5061019d610ba2565b34801561039157600080fd5b5061039a610bae565b6040805160208082528351818301528351919283929083019185019080838360005b838110156103d45781810151838201526020016103bc565b50505050905090810190601f1680156104015780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561041b57600080fd5b506101306004803603602081101561043257600080fd5b5035610bd5565b34801561044557600080fd5b50610321610e49565b34801561045a57600080fd5b5061019d610e58565b34801561046f57600080fd5b50610321610e5e565b34801561048457600080fd5b5061019d610e6d565b34801561049957600080fd5b50610321610e73565b3480156104ae57600080fd5b50610321610e82565b6007546001600160a01b031633146105005760405162461bcd60e51b81526004018080602001828103825260298152602001806115216029913960400191505060405180910390fd5b565b61050a610b6d565b6001600160a01b0316336001600160a01b031614610569576040805162461bcd60e51b815260206004820152601760248201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604482015290519081900360640190fd5b61057281610e91565b50565b60006020819052908152604090205481565b61058f6104b7565b600154600090156105c8576001546105c5906105b984670de0b6b3a764000063ffffffff610f4616565b9063ffffffff610fa616565b90505b6002546105db908263ffffffff610fe816565b600281905560408051918252517f4c56a0cf74da9899410b818edf6758c8af9b7b3070da97d2dcb6a5b1bf96317e9181900360200190a15050565b60035481565b3360009081526020819052604090205461063581611042565b600061064033611081565b9050600061064d336110ee565b905061065833611131565b83156107e757600061066a85856111a3565b9050600061067e858363ffffffff6111b916565b3360009081526020819052604090208190556001549091506106a6908363ffffffff6111b916565b600181905560408051918252517f119495b1b01a3979110ba18e2447296d0bf46ef520fc0a3af775e233d7bb12529181900360200190a16005546040805163a9059cbb60e01b81523360048201526024810185905290516001600160a01b039092169163a9059cbb916044808201926020929091908290030181600087803b15801561073157600080fd5b505af1158015610745573d6000803e3d6000fd5b505050506040513d602081101561075b57600080fd5b50516107ae576040805162461bcd60e51b815260206004820152601e60248201527f436f756c646e27742065786563757465205a555344207472616e736665720000604482015290519081900360640190fd5b60408051828152905133917f39df0e5286a3ef2f42a0bf52f32cfe2c58e5b0405f47fe512f2c2439e4cfe204919081900360200190a250505b6040805182815260208101849052815133927ff744d34ca1cb25acfa4180df5f09a67306107110a9f4b6ed99bb3be259738215928290030190a26006546040805163a9059cbb60e01b81523360048201526024810184905290516001600160a01b039092169163a9059cbb916044808201926020929091908290030181600087803b15801561087557600080fd5b505af1158015610889573d6000803e3d6000fd5b505050506040513d602081101561089f57600080fd5b50516108f2576040805162461bcd60e51b815260206004820152601e60248201527f436f756c646e27742065786563757465205a555344207472616e736665720000604482015290519081900360640190fd5b6108fb826111fb565b50505050565b6004602052600090815260409020805460019091015482565b610922610b6d565b6001600160a01b0316336001600160a01b031614610981576040805162461bcd60e51b815260206004820152601760248201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604482015290519081900360640190fd5b61098a846112c1565b610993836112c1565b61099c826112c1565b6109a5816112c1565b600580546001600160a01b038087166001600160a01b031992831681179093556006805487831690841617905560078054868316908416179055600880549185169190921617905560408051918252517f7eeded1a6761a0ca57ff60155bdd3e94fbfe5d9e8dc5013b3aa195b8d9e851ea9181900360200190a1604080516001600160a01b038516815290517f7eeded1a6761a0ca57ff60155bdd3e94fbfe5d9e8dc5013b3aa195b8d9e851ea9181900360200190a1604080516001600160a01b038416815290517f8a0d5ec55b7ba4e72b7d97dbd26e71ff52e453e626ce74a96c649e5bc026c4c89181900360200190a1604080516001600160a01b038316815290517f8f6a6e7d20a3233e0a79883272259ffbd7a243734e397bc2b4642c79d7fa8a6d9181900360200190a150505050565b610ae16104b7565b60015460009015610b0e57600154610b0b906105b984670de0b6b3a764000063ffffffff610f4616565b90505b600354610b21908263ffffffff610fe816565b600381905560408051918252517fa7ab0bde92e8afee66c7c5f3592a5b93e7415501b666f15bea395b30d399e1729181900360200190a15050565b6000610b67826110ee565b92915050565b604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205490565b6000610b6782611081565b670de0b6b3a764000081565b6040518060400160405280600b81526020016a5a45524f5374616b696e6760a81b81525081565b610bde81611370565b3360009081526020819052604081205490808215610c0d57610bff33611081565b9150610c0a336110ee565b90505b610c1633611131565b6000610c28848663ffffffff610fe816565b336000908152602081905260409020819055600154909150610c50908663ffffffff610fe816565b600181905560408051918252517f119495b1b01a3979110ba18e2447296d0bf46ef520fc0a3af775e233d7bb12529181900360200190a160055460408051631e2feecf60e11b81523360048201526024810188905290516001600160a01b0390921691633c5fdd9e9160448082019260009290919082900301818387803b158015610cda57600080fd5b505af1158015610cee573d6000803e3d6000fd5b50506040805184815290513393507f39df0e5286a3ef2f42a0bf52f32cfe2c58e5b0405f47fe512f2c2439e4cfe20492509081900360200190a26040805183815260208101859052815133927ff744d34ca1cb25acfa4180df5f09a67306107110a9f4b6ed99bb3be259738215928290030190a28315610e42576006546040805163a9059cbb60e01b81523360048201526024810185905290516001600160a01b039092169163a9059cbb916044808201926020929091908290030181600087803b158015610dbc57600080fd5b505af1158015610dd0573d6000803e3d6000fd5b505050506040513d6020811015610de657600080fd5b5051610e39576040805162461bcd60e51b815260206004820152601d60248201527f436f75646e27742065786563757465205a555344207472616e73666572000000604482015290519081900360640190fd5b610e42836111fb565b5050505050565b6008546001600160a01b031681565b60025481565b6007546001600160a01b031681565b60015481565b6006546001600160a01b031681565b6005546001600160a01b031681565b6001600160a01b038116610ed65760405162461bcd60e51b81526004018080602001828103825260228152602001806114ff6022913960400191505060405180910390fd5b806001600160a01b0316610ee8610b6d565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3604080517035b2bc9737bbb730b136329737bbb732b960791b8152905190819003601101902055565b600082610f5557506000610b67565b82820282848281610f6257fe5b0414610f9f5760405162461bcd60e51b81526004018080602001828103825260218152602001806115766021913960400191505060405180910390fd5b9392505050565b6000610f9f83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506113af565b600082820183811015610f9f576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b600081116105725760405162461bcd60e51b815260040180806020018281038252602c81526020018061154a602c913960400191505060405180910390fd5b6001600160a01b03811660009081526004602052604081205460025482906110e690670de0b6b3a7640000906105b9906110c1908663ffffffff6111b916565b6001600160a01b0388166000908152602081905260409020549063ffffffff610f4616565b949350505050565b6001600160a01b03811660009081526004602052604081206001015460035482906110e690670de0b6b3a7640000906105b9906110c1908663ffffffff6111b916565b600280546001600160a01b038316600081815260046020908152604091829020938455600354600190940184905593548151928352938201939093528083019190915290517f6b5cf27595af4428271524e0a5abd2b63f6fee1a61e31970490f5a10e257a1cd9181900360600190a150565b60008183106111b25781610f9f565b5090919050565b6000610f9f83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611451565b604080513381526020810183905281517f6109e2559dfa766aaec7118351d48a523f0a4157f49c8d68749c8ac41318ad12929181900390910190a1604051600090339083908381818185875af1925050503d8060008114611278576040519150601f19603f3d011682016040523d82523d6000602084013e61127d565b606091505b50509050806112bd5760405162461bcd60e51b815260040180806020018281038252602f8152602001806114ac602f913960400191505060405180910390fd5b5050565b6001600160a01b03811661131c576040805162461bcd60e51b815260206004820152601e60248201527f4163636f756e742063616e6e6f74206265207a65726f20616464726573730000604482015290519081900360640190fd5b803b806112bd576040805162461bcd60e51b815260206004820181905260248201527f4163636f756e7420636f64652073697a652063616e6e6f74206265207a65726f604482015290519081900360640190fd5b600081116105725760405162461bcd60e51b81526004018080602001828103825260248152602001806114db6024913960400191505060405180910390fd5b6000818361143b5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156114005781810151838201526020016113e8565b50505050905090810190601f16801561142d5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50600083858161144757fe5b0495945050505050565b600081848411156114a35760405162461bcd60e51b81526020600482018181528351602484015283519092839260449091019190850190808383600083156114005781810151838201526020016113e8565b50505090039056fe5a45524f5374616b696e673a204661696c656420746f2073656e6420616363756d756c61746564204554484761696e5a45524f5374616b696e673a20416d6f756e74206d757374206265206e6f6e2d7a65726f4f776e61626c653a3a7365744f776e65723a20696e76616c696420616464726573735a45524f5374616b696e673a2063616c6c6572206973206e6f74204665654469737472696275746f725a45524f5374616b696e673a2055736572206d75737420686176652061206e6f6e2d7a65726f207374616b65536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77a264697066735822122005ea5c1b2e30d7b818e7b6b5a8a68d8fe02ca8b773da2bafd849f769747926ed64736f6c634300060b0033", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/packages/lib-ethers/live/LQTYStakingScript.json b/packages/lib-ethers/live/ZEROStakingScript.json similarity index 84% rename from packages/lib-ethers/live/LQTYStakingScript.json rename to packages/lib-ethers/live/ZEROStakingScript.json index 8711a60e3..cc9f6f6a1 100644 --- a/packages/lib-ethers/live/LQTYStakingScript.json +++ b/packages/lib-ethers/live/ZEROStakingScript.json @@ -1,7 +1,7 @@ { "_format": "hh-sol-artifact-1", - "contractName": "LQTYStakingScript", - "sourceName": "contracts/Proxy/LQTYStakingScript.sol", + "contractName": "ZEROStakingScript", + "sourceName": "contracts/Proxy/ZEROStakingScript.sol", "abi": [ { "inputs": [ @@ -18,7 +18,7 @@ "inputs": [ { "internalType": "uint256", - "name": "_LQTYamount", + "name": "_ZEROamount", "type": "uint256" } ], @@ -28,8 +28,8 @@ "type": "function" } ], - "bytecode": "0x60a060405234801561001057600080fd5b506040516102273803806102278339818101604052602081101561003357600080fd5b5051610047816001600160e01b0361005c16565b60601b6001600160601b03191660805261010f565b6001600160a01b0381166100b7576040805162461bcd60e51b815260206004820152601e60248201527f4163636f756e742063616e6e6f74206265207a65726f20616464726573730000604482015290519081900360640190fd5b803b8061010b576040805162461bcd60e51b815260206004820181905260248201527f4163636f756e7420636f64652073697a652063616e6e6f74206265207a65726f604482015290519081900360640190fd5b5050565b60805160601c60fe61012960003980604b525060fe6000f3fe6080604052348015600f57600080fd5b506004361060285760003560e01c8063a694fc3a14602d575b600080fd5b604760048036036020811015604157600080fd5b50356049565b005b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a694fc3a826040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b15801560ae57600080fd5b505af115801560c1573d6000803e3d6000fd5b505050505056fea2646970667358221220a41ce56d5c4000ff02a45faae6f4e353c51116fb11b61001bbcfa682d25cad2964736f6c634300060b0033", - "deployedBytecode": "0x6080604052348015600f57600080fd5b506004361060285760003560e01c8063a694fc3a14602d575b600080fd5b604760048036036020811015604157600080fd5b50356049565b005b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a694fc3a826040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b15801560ae57600080fd5b505af115801560c1573d6000803e3d6000fd5b505050505056fea2646970667358221220a41ce56d5c4000ff02a45faae6f4e353c51116fb11b61001bbcfa682d25cad2964736f6c634300060b0033", + "bytecode": "0x60a060405234801561001057600080fd5b506040516102273803806102278339818101604052602081101561003357600080fd5b5051610047816001600160e01b0361005c16565b60601b6001600160601b03191660805261010f565b6001600160a01b0381166100b7576040805162461bcd60e51b815260206004820152601e60248201527f4163636f756e742063616e6e6f74206265207a65726f20616464726573730000604482015290519081900360640190fd5b803b8061010b576040805162461bcd60e51b815260206004820181905260248201527f4163636f756e7420636f64652073697a652063616e6e6f74206265207a65726f604482015290519081900360640190fd5b5050565b60805160601c60fe61012960003980604b525060fe6000f3fe6080604052348015600f57600080fd5b506004361060285760003560e01c8063a694fc3a14602d575b600080fd5b604760048036036020811015604157600080fd5b50356049565b005b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a694fc3a826040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b15801560ae57600080fd5b505af115801560c1573d6000803e3d6000fd5b505050505056fea26469706673582212204c801065953c8f8d9dfd43e80a431fc675352de7ae7da040d4d0ff10dc2c737464736f6c634300060b0033", + "deployedBytecode": "0x6080604052348015600f57600080fd5b506004361060285760003560e01c8063a694fc3a14602d575b600080fd5b604760048036036020811015604157600080fd5b50356049565b005b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a694fc3a826040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b15801560ae57600080fd5b505af115801560c1573d6000803e3d6000fd5b505050505056fea26469706673582212204c801065953c8f8d9dfd43e80a431fc675352de7ae7da040d4d0ff10dc2c737464736f6c634300060b0033", "linkReferences": {}, "deployedLinkReferences": {} } diff --git a/packages/lib-ethers/live/ZEROStakingStorage.json b/packages/lib-ethers/live/ZEROStakingStorage.json new file mode 100644 index 000000000..d742458df --- /dev/null +++ b/packages/lib-ethers/live/ZEROStakingStorage.json @@ -0,0 +1,203 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "ZEROStakingStorage", + "sourceName": "contracts/ZERO/ZEROStakingStorage.sol", + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousOwner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnershipTransferred", + "type": "event" + }, + { + "inputs": [], + "name": "F_ETH", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "F_ZUSD", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "NAME", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "activePoolAddress", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "feeDistributorAddress", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getOwner", + "outputs": [ + { + "internalType": "address", + "name": "_owner", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_owner", + "type": "address" + } + ], + "name": "setOwner", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "snapshots", + "outputs": [ + { + "internalType": "uint256", + "name": "F_ETH_Snapshot", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "F_ZUSD_Snapshot", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "stakes", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "totalZEROStaked", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "zeroToken", + "outputs": [ + { + "internalType": "contract IZEROToken", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "zusdToken", + "outputs": [ + { + "internalType": "contract IZUSDToken", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + } + ], + "bytecode": "0x608060405234801561001057600080fd5b50610023336001600160e01b0361002816565b610110565b6001600160a01b03811661006d5760405162461bcd60e51b815260040180806020018281038252602281526020018061059a6022913960400191505060405180910390fd5b6001600160a01b0381166100886001600160e01b036100e616565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3604080517035b2bc9737bbb730b136329737bbb732b960791b8152905190819003601101902055565b604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205490565b61047b8061011f6000396000f3fe608060405234801561001057600080fd5b50600436106100b45760003560e01c8063b08bc72211610071578063b08bc72214610201578063b9bbe00f14610209578063bc70cd8c14610211578063e6f7a1e714610219578063ec9f7d4614610221578063f294bd9214610229576100b4565b806313af4035146100b957806316934fc4146100e15780631f49119a1461011957806334b3081f14610121578063893d20e814610160578063a3f4df7e14610184575b600080fd5b6100df600480360360208110156100cf57600080fd5b50356001600160a01b0316610231565b005b610107600480360360208110156100f757600080fd5b50356001600160a01b03166102a4565b60408051918252519081900360200190f35b6101076102b6565b6101476004803603602081101561013757600080fd5b50356001600160a01b03166102bc565b6040805192835260208301919091528051918290030190f35b6101686102d5565b604080516001600160a01b039092168252519081900360200190f35b61018c6102ff565b6040805160208082528351818301528351919283929083019185019080838360005b838110156101c65781810151838201526020016101ae565b50505050905090810190601f1680156101f35780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b610168610326565b610107610335565b61016861033b565b61010761034a565b610168610350565b61016861035f565b6102396102d5565b6001600160a01b0316336001600160a01b031614610298576040805162461bcd60e51b815260206004820152601760248201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604482015290519081900360640190fd5b6102a18161036e565b50565b60006020819052908152604090205481565b60035481565b6004602052600090815260409020805460019091015482565b604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205490565b6040518060400160405280600b81526020016a5a45524f5374616b696e6760a81b81525081565b6008546001600160a01b031681565b60025481565b6007546001600160a01b031681565b60015481565b6006546001600160a01b031681565b6005546001600160a01b031681565b6001600160a01b0381166103b35760405162461bcd60e51b81526004018080602001828103825260228152602001806104246022913960400191505060405180910390fd5b806001600160a01b03166103c56102d5565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205556fe4f776e61626c653a3a7365744f776e65723a20696e76616c69642061646472657373a26469706673582212209b240d95256e5de14f3a6e8d35856a41eacaa1a6034c1e8cf77e72380b18114b64736f6c634300060b00334f776e61626c653a3a7365744f776e65723a20696e76616c69642061646472657373", + "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100b45760003560e01c8063b08bc72211610071578063b08bc72214610201578063b9bbe00f14610209578063bc70cd8c14610211578063e6f7a1e714610219578063ec9f7d4614610221578063f294bd9214610229576100b4565b806313af4035146100b957806316934fc4146100e15780631f49119a1461011957806334b3081f14610121578063893d20e814610160578063a3f4df7e14610184575b600080fd5b6100df600480360360208110156100cf57600080fd5b50356001600160a01b0316610231565b005b610107600480360360208110156100f757600080fd5b50356001600160a01b03166102a4565b60408051918252519081900360200190f35b6101076102b6565b6101476004803603602081101561013757600080fd5b50356001600160a01b03166102bc565b6040805192835260208301919091528051918290030190f35b6101686102d5565b604080516001600160a01b039092168252519081900360200190f35b61018c6102ff565b6040805160208082528351818301528351919283929083019185019080838360005b838110156101c65781810151838201526020016101ae565b50505050905090810190601f1680156101f35780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b610168610326565b610107610335565b61016861033b565b61010761034a565b610168610350565b61016861035f565b6102396102d5565b6001600160a01b0316336001600160a01b031614610298576040805162461bcd60e51b815260206004820152601760248201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604482015290519081900360640190fd5b6102a18161036e565b50565b60006020819052908152604090205481565b60035481565b6004602052600090815260409020805460019091015482565b604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205490565b6040518060400160405280600b81526020016a5a45524f5374616b696e6760a81b81525081565b6008546001600160a01b031681565b60025481565b6007546001600160a01b031681565b60015481565b6006546001600160a01b031681565b6005546001600160a01b031681565b6001600160a01b0381166103b35760405162461bcd60e51b81526004018080602001828103825260228152602001806104246022913960400191505060405180910390fd5b806001600160a01b03166103c56102d5565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205556fe4f776e61626c653a3a7365744f776e65723a20696e76616c69642061646472657373a26469706673582212209b240d95256e5de14f3a6e8d35856a41eacaa1a6034c1e8cf77e72380b18114b64736f6c634300060b0033", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/packages/lib-ethers/live/ZEROStakingTester.json b/packages/lib-ethers/live/ZEROStakingTester.json new file mode 100644 index 000000000..2b1744a48 --- /dev/null +++ b/packages/lib-ethers/live/ZEROStakingTester.json @@ -0,0 +1,537 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "ZEROStakingTester", + "sourceName": "contracts/TestContracts/ZEROStakingTester.sol", + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "_activePoolAddress", + "type": "address" + } + ], + "name": "ActivePoolAddressSet", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "_account", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "EtherSent", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "_F_ETH", + "type": "uint256" + } + ], + "name": "F_ETHUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "_F_ZUSD", + "type": "uint256" + } + ], + "name": "F_ZUSDUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "_feeDistributorAddress", + "type": "address" + } + ], + "name": "FeeDistributorAddressAddressSet", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "_feeDistributorAddress", + "type": "address" + } + ], + "name": "FeeDistributorAddressSet", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousOwner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnershipTransferred", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "staker", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "newStake", + "type": "uint256" + } + ], + "name": "StakeChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "_staker", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "_F_ETH", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "_F_ZUSD", + "type": "uint256" + } + ], + "name": "StakerSnapshotsUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "staker", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "ZUSDGain", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "ETHGain", + "type": "uint256" + } + ], + "name": "StakingGainsWithdrawn", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "_totalZEROStaked", + "type": "uint256" + } + ], + "name": "TotalZEROStakedUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "_zeroTokenAddress", + "type": "address" + } + ], + "name": "ZEROTokenAddressSet", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "_zusdTokenAddress", + "type": "address" + } + ], + "name": "ZUSDTokenAddressSet", + "type": "event" + }, + { + "inputs": [], + "name": "DECIMAL_PRECISION", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "F_ETH", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "F_ZUSD", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "NAME", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "activePoolAddress", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "feeDistributorAddress", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getOwner", + "outputs": [ + { + "internalType": "address", + "name": "_owner", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_user", + "type": "address" + } + ], + "name": "getPendingETHGain", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_user", + "type": "address" + } + ], + "name": "getPendingZUSDGain", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_ETHFee", + "type": "uint256" + } + ], + "name": "increaseF_ETH", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_ZUSDFee", + "type": "uint256" + } + ], + "name": "increaseF_ZUSD", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "requireCallerIsFeeDistributor", + "outputs": [], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_zeroTokenAddress", + "type": "address" + }, + { + "internalType": "address", + "name": "_zusdTokenAddress", + "type": "address" + }, + { + "internalType": "address", + "name": "_feeDistributorAddress", + "type": "address" + }, + { + "internalType": "address", + "name": "_activePoolAddress", + "type": "address" + } + ], + "name": "setAddresses", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_owner", + "type": "address" + } + ], + "name": "setOwner", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "snapshots", + "outputs": [ + { + "internalType": "uint256", + "name": "F_ETH_Snapshot", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "F_ZUSD_Snapshot", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_ZEROamount", + "type": "uint256" + } + ], + "name": "stake", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "stakes", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "totalZEROStaked", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_ZEROamount", + "type": "uint256" + } + ], + "name": "unstake", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "zeroToken", + "outputs": [ + { + "internalType": "contract IZEROToken", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "zusdToken", + "outputs": [ + { + "internalType": "contract IZUSDToken", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "stateMutability": "payable", + "type": "receive" + } + ], + "bytecode": "0x608060405234801561001057600080fd5b50610023336001600160e01b0361002816565b610110565b6001600160a01b03811661006d5760405162461bcd60e51b81526004018080602001828103825260228152602001806117136022913960400191505060405180910390fd5b6001600160a01b0381166100886001600160e01b036100e616565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3604080517035b2bc9737bbb730b136329737bbb732b960791b8152905190819003601101902055565b604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205490565b6115f48061011f6000396000f3fe60806040526004361061012e5760003560e01c8063893d20e8116100ab578063b08bc7221161006f578063b08bc72214610459578063b9bbe00f1461046e578063bc70cd8c14610483578063e6f7a1e714610498578063ec9f7d46146104ad578063f294bd92146104c25761013d565b8063893d20e81461032c5780638b9345ad1461035d578063a20baee614610390578063a3f4df7e146103a5578063a694fc3a1461042f5761013d565b80632e17de78116100f25780632e17de781461020e57806334b3081f146102385780634a945f8d1461028457806361f6ab8c146102cf578063787a149e146102f95761013d565b8063022d5d411461014257806313af40351461015757806316934fc41461018a5780631e3e2a1a146101cf5780631f49119a146101f95761013d565b3661013d5761013b6104d7565b005b600080fd5b34801561014e57600080fd5b5061013b610522565b34801561016357600080fd5b5061013b6004803603602081101561017a57600080fd5b50356001600160a01b031661052a565b34801561019657600080fd5b506101bd600480360360208110156101ad57600080fd5b50356001600160a01b031661059d565b60408051918252519081900360200190f35b3480156101db57600080fd5b5061013b600480360360208110156101f257600080fd5b50356105af565b34801561020557600080fd5b506101bd61063e565b34801561021a57600080fd5b5061013b6004803603602081101561023157600080fd5b5035610644565b34801561024457600080fd5b5061026b6004803603602081101561025b57600080fd5b50356001600160a01b0316610929565b6040805192835260208301919091528051918290030190f35b34801561029057600080fd5b5061013b600480360360808110156102a757600080fd5b506001600160a01b038135811691602081013582169160408201358116916060013516610942565b3480156102db57600080fd5b5061013b600480360360208110156102f257600080fd5b5035610b01565b34801561030557600080fd5b506101bd6004803603602081101561031c57600080fd5b50356001600160a01b0316610b84565b34801561033857600080fd5b50610341610b95565b604080516001600160a01b039092168252519081900360200190f35b34801561036957600080fd5b506101bd6004803603602081101561038057600080fd5b50356001600160a01b0316610bbf565b34801561039c57600080fd5b506101bd610bca565b3480156103b157600080fd5b506103ba610bd6565b6040805160208082528351818301528351919283929083019185019080838360005b838110156103f45781810151838201526020016103dc565b50505050905090810190601f1680156104215780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561043b57600080fd5b5061013b6004803603602081101561045257600080fd5b5035610bfd565b34801561046557600080fd5b50610341610e71565b34801561047a57600080fd5b506101bd610e80565b34801561048f57600080fd5b50610341610e86565b3480156104a457600080fd5b506101bd610e95565b3480156104b957600080fd5b50610341610e9b565b3480156104ce57600080fd5b50610341610eaa565b6007546001600160a01b031633146105205760405162461bcd60e51b81526004018080602001828103825260298152602001806115496029913960400191505060405180910390fd5b565b6105206104d7565b610532610b95565b6001600160a01b0316336001600160a01b031614610591576040805162461bcd60e51b815260206004820152601760248201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604482015290519081900360640190fd5b61059a81610eb9565b50565b60006020819052908152604090205481565b6105b76104d7565b600154600090156105f0576001546105ed906105e184670de0b6b3a764000063ffffffff610f6e16565b9063ffffffff610fce16565b90505b600254610603908263ffffffff61101016565b600281905560408051918252517f4c56a0cf74da9899410b818edf6758c8af9b7b3070da97d2dcb6a5b1bf96317e9181900360200190a15050565b60035481565b3360009081526020819052604090205461065d8161106a565b6000610668336110a9565b9050600061067533611116565b905061068033611159565b831561080f57600061069285856111cb565b905060006106a6858363ffffffff6111e116565b3360009081526020819052604090208190556001549091506106ce908363ffffffff6111e116565b600181905560408051918252517f119495b1b01a3979110ba18e2447296d0bf46ef520fc0a3af775e233d7bb12529181900360200190a16005546040805163a9059cbb60e01b81523360048201526024810185905290516001600160a01b039092169163a9059cbb916044808201926020929091908290030181600087803b15801561075957600080fd5b505af115801561076d573d6000803e3d6000fd5b505050506040513d602081101561078357600080fd5b50516107d6576040805162461bcd60e51b815260206004820152601e60248201527f436f756c646e27742065786563757465205a555344207472616e736665720000604482015290519081900360640190fd5b60408051828152905133917f39df0e5286a3ef2f42a0bf52f32cfe2c58e5b0405f47fe512f2c2439e4cfe204919081900360200190a250505b6040805182815260208101849052815133927ff744d34ca1cb25acfa4180df5f09a67306107110a9f4b6ed99bb3be259738215928290030190a26006546040805163a9059cbb60e01b81523360048201526024810184905290516001600160a01b039092169163a9059cbb916044808201926020929091908290030181600087803b15801561089d57600080fd5b505af11580156108b1573d6000803e3d6000fd5b505050506040513d60208110156108c757600080fd5b505161091a576040805162461bcd60e51b815260206004820152601e60248201527f436f756c646e27742065786563757465205a555344207472616e736665720000604482015290519081900360640190fd5b61092382611223565b50505050565b6004602052600090815260409020805460019091015482565b61094a610b95565b6001600160a01b0316336001600160a01b0316146109a9576040805162461bcd60e51b815260206004820152601760248201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604482015290519081900360640190fd5b6109b2846112e9565b6109bb836112e9565b6109c4826112e9565b6109cd816112e9565b600580546001600160a01b038087166001600160a01b031992831681179093556006805487831690841617905560078054868316908416179055600880549185169190921617905560408051918252517f7eeded1a6761a0ca57ff60155bdd3e94fbfe5d9e8dc5013b3aa195b8d9e851ea9181900360200190a1604080516001600160a01b038516815290517f7eeded1a6761a0ca57ff60155bdd3e94fbfe5d9e8dc5013b3aa195b8d9e851ea9181900360200190a1604080516001600160a01b038416815290517f8a0d5ec55b7ba4e72b7d97dbd26e71ff52e453e626ce74a96c649e5bc026c4c89181900360200190a1604080516001600160a01b038316815290517f8f6a6e7d20a3233e0a79883272259ffbd7a243734e397bc2b4642c79d7fa8a6d9181900360200190a150505050565b610b096104d7565b60015460009015610b3657600154610b33906105e184670de0b6b3a764000063ffffffff610f6e16565b90505b600354610b49908263ffffffff61101016565b600381905560408051918252517fa7ab0bde92e8afee66c7c5f3592a5b93e7415501b666f15bea395b30d399e1729181900360200190a15050565b6000610b8f82611116565b92915050565b604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205490565b6000610b8f826110a9565b670de0b6b3a764000081565b6040518060400160405280600b81526020016a5a45524f5374616b696e6760a81b81525081565b610c0681611398565b3360009081526020819052604081205490808215610c3557610c27336110a9565b9150610c3233611116565b90505b610c3e33611159565b6000610c50848663ffffffff61101016565b336000908152602081905260409020819055600154909150610c78908663ffffffff61101016565b600181905560408051918252517f119495b1b01a3979110ba18e2447296d0bf46ef520fc0a3af775e233d7bb12529181900360200190a160055460408051631e2feecf60e11b81523360048201526024810188905290516001600160a01b0390921691633c5fdd9e9160448082019260009290919082900301818387803b158015610d0257600080fd5b505af1158015610d16573d6000803e3d6000fd5b50506040805184815290513393507f39df0e5286a3ef2f42a0bf52f32cfe2c58e5b0405f47fe512f2c2439e4cfe20492509081900360200190a26040805183815260208101859052815133927ff744d34ca1cb25acfa4180df5f09a67306107110a9f4b6ed99bb3be259738215928290030190a28315610e6a576006546040805163a9059cbb60e01b81523360048201526024810185905290516001600160a01b039092169163a9059cbb916044808201926020929091908290030181600087803b158015610de457600080fd5b505af1158015610df8573d6000803e3d6000fd5b505050506040513d6020811015610e0e57600080fd5b5051610e61576040805162461bcd60e51b815260206004820152601d60248201527f436f75646e27742065786563757465205a555344207472616e73666572000000604482015290519081900360640190fd5b610e6a83611223565b5050505050565b6008546001600160a01b031681565b60025481565b6007546001600160a01b031681565b60015481565b6006546001600160a01b031681565b6005546001600160a01b031681565b6001600160a01b038116610efe5760405162461bcd60e51b81526004018080602001828103825260228152602001806115276022913960400191505060405180910390fd5b806001600160a01b0316610f10610b95565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3604080517035b2bc9737bbb730b136329737bbb732b960791b8152905190819003601101902055565b600082610f7d57506000610b8f565b82820282848281610f8a57fe5b0414610fc75760405162461bcd60e51b815260040180806020018281038252602181526020018061159e6021913960400191505060405180910390fd5b9392505050565b6000610fc783836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506113d7565b600082820183811015610fc7576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b6000811161059a5760405162461bcd60e51b815260040180806020018281038252602c815260200180611572602c913960400191505060405180910390fd5b6001600160a01b038116600090815260046020526040812054600254829061110e90670de0b6b3a7640000906105e1906110e9908663ffffffff6111e116565b6001600160a01b0388166000908152602081905260409020549063ffffffff610f6e16565b949350505050565b6001600160a01b038116600090815260046020526040812060010154600354829061110e90670de0b6b3a7640000906105e1906110e9908663ffffffff6111e116565b600280546001600160a01b038316600081815260046020908152604091829020938455600354600190940184905593548151928352938201939093528083019190915290517f6b5cf27595af4428271524e0a5abd2b63f6fee1a61e31970490f5a10e257a1cd9181900360600190a150565b60008183106111da5781610fc7565b5090919050565b6000610fc783836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611479565b604080513381526020810183905281517f6109e2559dfa766aaec7118351d48a523f0a4157f49c8d68749c8ac41318ad12929181900390910190a1604051600090339083908381818185875af1925050503d80600081146112a0576040519150601f19603f3d011682016040523d82523d6000602084013e6112a5565b606091505b50509050806112e55760405162461bcd60e51b815260040180806020018281038252602f8152602001806114d4602f913960400191505060405180910390fd5b5050565b6001600160a01b038116611344576040805162461bcd60e51b815260206004820152601e60248201527f4163636f756e742063616e6e6f74206265207a65726f20616464726573730000604482015290519081900360640190fd5b803b806112e5576040805162461bcd60e51b815260206004820181905260248201527f4163636f756e7420636f64652073697a652063616e6e6f74206265207a65726f604482015290519081900360640190fd5b6000811161059a5760405162461bcd60e51b81526004018080602001828103825260248152602001806115036024913960400191505060405180910390fd5b600081836114635760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611428578181015183820152602001611410565b50505050905090810190601f1680156114555780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50600083858161146f57fe5b0495945050505050565b600081848411156114cb5760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315611428578181015183820152602001611410565b50505090039056fe5a45524f5374616b696e673a204661696c656420746f2073656e6420616363756d756c61746564204554484761696e5a45524f5374616b696e673a20416d6f756e74206d757374206265206e6f6e2d7a65726f4f776e61626c653a3a7365744f776e65723a20696e76616c696420616464726573735a45524f5374616b696e673a2063616c6c6572206973206e6f74204665654469737472696275746f725a45524f5374616b696e673a2055736572206d75737420686176652061206e6f6e2d7a65726f207374616b65536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77a2646970667358221220549d08e1c2f7f559e0968928209fdc50ff207bce3ae52ac30ef27530781a0e8564736f6c634300060b00334f776e61626c653a3a7365744f776e65723a20696e76616c69642061646472657373", + "deployedBytecode": "0x60806040526004361061012e5760003560e01c8063893d20e8116100ab578063b08bc7221161006f578063b08bc72214610459578063b9bbe00f1461046e578063bc70cd8c14610483578063e6f7a1e714610498578063ec9f7d46146104ad578063f294bd92146104c25761013d565b8063893d20e81461032c5780638b9345ad1461035d578063a20baee614610390578063a3f4df7e146103a5578063a694fc3a1461042f5761013d565b80632e17de78116100f25780632e17de781461020e57806334b3081f146102385780634a945f8d1461028457806361f6ab8c146102cf578063787a149e146102f95761013d565b8063022d5d411461014257806313af40351461015757806316934fc41461018a5780631e3e2a1a146101cf5780631f49119a146101f95761013d565b3661013d5761013b6104d7565b005b600080fd5b34801561014e57600080fd5b5061013b610522565b34801561016357600080fd5b5061013b6004803603602081101561017a57600080fd5b50356001600160a01b031661052a565b34801561019657600080fd5b506101bd600480360360208110156101ad57600080fd5b50356001600160a01b031661059d565b60408051918252519081900360200190f35b3480156101db57600080fd5b5061013b600480360360208110156101f257600080fd5b50356105af565b34801561020557600080fd5b506101bd61063e565b34801561021a57600080fd5b5061013b6004803603602081101561023157600080fd5b5035610644565b34801561024457600080fd5b5061026b6004803603602081101561025b57600080fd5b50356001600160a01b0316610929565b6040805192835260208301919091528051918290030190f35b34801561029057600080fd5b5061013b600480360360808110156102a757600080fd5b506001600160a01b038135811691602081013582169160408201358116916060013516610942565b3480156102db57600080fd5b5061013b600480360360208110156102f257600080fd5b5035610b01565b34801561030557600080fd5b506101bd6004803603602081101561031c57600080fd5b50356001600160a01b0316610b84565b34801561033857600080fd5b50610341610b95565b604080516001600160a01b039092168252519081900360200190f35b34801561036957600080fd5b506101bd6004803603602081101561038057600080fd5b50356001600160a01b0316610bbf565b34801561039c57600080fd5b506101bd610bca565b3480156103b157600080fd5b506103ba610bd6565b6040805160208082528351818301528351919283929083019185019080838360005b838110156103f45781810151838201526020016103dc565b50505050905090810190601f1680156104215780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561043b57600080fd5b5061013b6004803603602081101561045257600080fd5b5035610bfd565b34801561046557600080fd5b50610341610e71565b34801561047a57600080fd5b506101bd610e80565b34801561048f57600080fd5b50610341610e86565b3480156104a457600080fd5b506101bd610e95565b3480156104b957600080fd5b50610341610e9b565b3480156104ce57600080fd5b50610341610eaa565b6007546001600160a01b031633146105205760405162461bcd60e51b81526004018080602001828103825260298152602001806115496029913960400191505060405180910390fd5b565b6105206104d7565b610532610b95565b6001600160a01b0316336001600160a01b031614610591576040805162461bcd60e51b815260206004820152601760248201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604482015290519081900360640190fd5b61059a81610eb9565b50565b60006020819052908152604090205481565b6105b76104d7565b600154600090156105f0576001546105ed906105e184670de0b6b3a764000063ffffffff610f6e16565b9063ffffffff610fce16565b90505b600254610603908263ffffffff61101016565b600281905560408051918252517f4c56a0cf74da9899410b818edf6758c8af9b7b3070da97d2dcb6a5b1bf96317e9181900360200190a15050565b60035481565b3360009081526020819052604090205461065d8161106a565b6000610668336110a9565b9050600061067533611116565b905061068033611159565b831561080f57600061069285856111cb565b905060006106a6858363ffffffff6111e116565b3360009081526020819052604090208190556001549091506106ce908363ffffffff6111e116565b600181905560408051918252517f119495b1b01a3979110ba18e2447296d0bf46ef520fc0a3af775e233d7bb12529181900360200190a16005546040805163a9059cbb60e01b81523360048201526024810185905290516001600160a01b039092169163a9059cbb916044808201926020929091908290030181600087803b15801561075957600080fd5b505af115801561076d573d6000803e3d6000fd5b505050506040513d602081101561078357600080fd5b50516107d6576040805162461bcd60e51b815260206004820152601e60248201527f436f756c646e27742065786563757465205a555344207472616e736665720000604482015290519081900360640190fd5b60408051828152905133917f39df0e5286a3ef2f42a0bf52f32cfe2c58e5b0405f47fe512f2c2439e4cfe204919081900360200190a250505b6040805182815260208101849052815133927ff744d34ca1cb25acfa4180df5f09a67306107110a9f4b6ed99bb3be259738215928290030190a26006546040805163a9059cbb60e01b81523360048201526024810184905290516001600160a01b039092169163a9059cbb916044808201926020929091908290030181600087803b15801561089d57600080fd5b505af11580156108b1573d6000803e3d6000fd5b505050506040513d60208110156108c757600080fd5b505161091a576040805162461bcd60e51b815260206004820152601e60248201527f436f756c646e27742065786563757465205a555344207472616e736665720000604482015290519081900360640190fd5b61092382611223565b50505050565b6004602052600090815260409020805460019091015482565b61094a610b95565b6001600160a01b0316336001600160a01b0316146109a9576040805162461bcd60e51b815260206004820152601760248201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604482015290519081900360640190fd5b6109b2846112e9565b6109bb836112e9565b6109c4826112e9565b6109cd816112e9565b600580546001600160a01b038087166001600160a01b031992831681179093556006805487831690841617905560078054868316908416179055600880549185169190921617905560408051918252517f7eeded1a6761a0ca57ff60155bdd3e94fbfe5d9e8dc5013b3aa195b8d9e851ea9181900360200190a1604080516001600160a01b038516815290517f7eeded1a6761a0ca57ff60155bdd3e94fbfe5d9e8dc5013b3aa195b8d9e851ea9181900360200190a1604080516001600160a01b038416815290517f8a0d5ec55b7ba4e72b7d97dbd26e71ff52e453e626ce74a96c649e5bc026c4c89181900360200190a1604080516001600160a01b038316815290517f8f6a6e7d20a3233e0a79883272259ffbd7a243734e397bc2b4642c79d7fa8a6d9181900360200190a150505050565b610b096104d7565b60015460009015610b3657600154610b33906105e184670de0b6b3a764000063ffffffff610f6e16565b90505b600354610b49908263ffffffff61101016565b600381905560408051918252517fa7ab0bde92e8afee66c7c5f3592a5b93e7415501b666f15bea395b30d399e1729181900360200190a15050565b6000610b8f82611116565b92915050565b604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205490565b6000610b8f826110a9565b670de0b6b3a764000081565b6040518060400160405280600b81526020016a5a45524f5374616b696e6760a81b81525081565b610c0681611398565b3360009081526020819052604081205490808215610c3557610c27336110a9565b9150610c3233611116565b90505b610c3e33611159565b6000610c50848663ffffffff61101016565b336000908152602081905260409020819055600154909150610c78908663ffffffff61101016565b600181905560408051918252517f119495b1b01a3979110ba18e2447296d0bf46ef520fc0a3af775e233d7bb12529181900360200190a160055460408051631e2feecf60e11b81523360048201526024810188905290516001600160a01b0390921691633c5fdd9e9160448082019260009290919082900301818387803b158015610d0257600080fd5b505af1158015610d16573d6000803e3d6000fd5b50506040805184815290513393507f39df0e5286a3ef2f42a0bf52f32cfe2c58e5b0405f47fe512f2c2439e4cfe20492509081900360200190a26040805183815260208101859052815133927ff744d34ca1cb25acfa4180df5f09a67306107110a9f4b6ed99bb3be259738215928290030190a28315610e6a576006546040805163a9059cbb60e01b81523360048201526024810185905290516001600160a01b039092169163a9059cbb916044808201926020929091908290030181600087803b158015610de457600080fd5b505af1158015610df8573d6000803e3d6000fd5b505050506040513d6020811015610e0e57600080fd5b5051610e61576040805162461bcd60e51b815260206004820152601d60248201527f436f75646e27742065786563757465205a555344207472616e73666572000000604482015290519081900360640190fd5b610e6a83611223565b5050505050565b6008546001600160a01b031681565b60025481565b6007546001600160a01b031681565b60015481565b6006546001600160a01b031681565b6005546001600160a01b031681565b6001600160a01b038116610efe5760405162461bcd60e51b81526004018080602001828103825260228152602001806115276022913960400191505060405180910390fd5b806001600160a01b0316610f10610b95565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3604080517035b2bc9737bbb730b136329737bbb732b960791b8152905190819003601101902055565b600082610f7d57506000610b8f565b82820282848281610f8a57fe5b0414610fc75760405162461bcd60e51b815260040180806020018281038252602181526020018061159e6021913960400191505060405180910390fd5b9392505050565b6000610fc783836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506113d7565b600082820183811015610fc7576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b6000811161059a5760405162461bcd60e51b815260040180806020018281038252602c815260200180611572602c913960400191505060405180910390fd5b6001600160a01b038116600090815260046020526040812054600254829061110e90670de0b6b3a7640000906105e1906110e9908663ffffffff6111e116565b6001600160a01b0388166000908152602081905260409020549063ffffffff610f6e16565b949350505050565b6001600160a01b038116600090815260046020526040812060010154600354829061110e90670de0b6b3a7640000906105e1906110e9908663ffffffff6111e116565b600280546001600160a01b038316600081815260046020908152604091829020938455600354600190940184905593548151928352938201939093528083019190915290517f6b5cf27595af4428271524e0a5abd2b63f6fee1a61e31970490f5a10e257a1cd9181900360600190a150565b60008183106111da5781610fc7565b5090919050565b6000610fc783836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611479565b604080513381526020810183905281517f6109e2559dfa766aaec7118351d48a523f0a4157f49c8d68749c8ac41318ad12929181900390910190a1604051600090339083908381818185875af1925050503d80600081146112a0576040519150601f19603f3d011682016040523d82523d6000602084013e6112a5565b606091505b50509050806112e55760405162461bcd60e51b815260040180806020018281038252602f8152602001806114d4602f913960400191505060405180910390fd5b5050565b6001600160a01b038116611344576040805162461bcd60e51b815260206004820152601e60248201527f4163636f756e742063616e6e6f74206265207a65726f20616464726573730000604482015290519081900360640190fd5b803b806112e5576040805162461bcd60e51b815260206004820181905260248201527f4163636f756e7420636f64652073697a652063616e6e6f74206265207a65726f604482015290519081900360640190fd5b6000811161059a5760405162461bcd60e51b81526004018080602001828103825260248152602001806115036024913960400191505060405180910390fd5b600081836114635760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611428578181015183820152602001611410565b50505050905090810190601f1680156114555780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50600083858161146f57fe5b0495945050505050565b600081848411156114cb5760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315611428578181015183820152602001611410565b50505090039056fe5a45524f5374616b696e673a204661696c656420746f2073656e6420616363756d756c61746564204554484761696e5a45524f5374616b696e673a20416d6f756e74206d757374206265206e6f6e2d7a65726f4f776e61626c653a3a7365744f776e65723a20696e76616c696420616464726573735a45524f5374616b696e673a2063616c6c6572206973206e6f74204665654469737472696275746f725a45524f5374616b696e673a2055736572206d75737420686176652061206e6f6e2d7a65726f207374616b65536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77a2646970667358221220549d08e1c2f7f559e0968928209fdc50ff207bce3ae52ac30ef27530781a0e8564736f6c634300060b0033", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/packages/lib-ethers/live/ZEROToken.json b/packages/lib-ethers/live/ZEROToken.json new file mode 100644 index 000000000..8475caa92 --- /dev/null +++ b/packages/lib-ethers/live/ZEROToken.json @@ -0,0 +1,524 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "ZEROToken", + "sourceName": "contracts/ZERO/ZEROToken.sol", + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "Approval", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "Transfer", + "type": "event" + }, + { + "inputs": [], + "name": "ONE_YEAR_IN_SECONDS", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "address", + "name": "spender", + "type": "address" + } + ], + "name": "allowance", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "approve", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "balanceOf", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "burn", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "decimals", + "outputs": [ + { + "internalType": "uint8", + "name": "", + "type": "uint8" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "subtractedValue", + "type": "uint256" + } + ], + "name": "decreaseAllowance", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "domainSeparator", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getDeploymentStartTime", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "addedValue", + "type": "uint256" + } + ], + "name": "increaseAllowance", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_zeroStakingAddress", + "type": "address" + }, + { + "internalType": "address", + "name": "_marketMakerAddress", + "type": "address" + }, + { + "internalType": "address", + "name": "_presaleAddress", + "type": "address" + } + ], + "name": "initialize", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "marketMakerAddress", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "mint", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "name", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "name": "nonces", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "deadline", + "type": "uint256" + }, + { + "internalType": "uint8", + "name": "v", + "type": "uint8" + }, + { + "internalType": "bytes32", + "name": "r", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "s", + "type": "bytes32" + } + ], + "name": "permit", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "permitTypeHash", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "presale", + "outputs": [ + { + "internalType": "contract IBalanceRedirectPresale", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_sender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "sendToZEROStaking", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "symbol", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "totalSupply", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "recipient", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "transfer", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "sender", + "type": "address" + }, + { + "internalType": "address", + "name": "recipient", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "transferFrom", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "version", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "zeroStakingAddress", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + } + ], + "bytecode": "0x608060405234801561001057600080fd5b50611074806100206000396000f3fe608060405234801561001057600080fd5b50600436106101635760003560e01c806370a08231116100ce578063c0c53b8b11610087578063c0c53b8b14610425578063cc9105881461045d578063d505accf14610465578063dd62ed3e146104b6578063e7c8fed4146104e4578063f698da25146104ec578063fdea8e0b146104f457610163565b806370a08231146103555780637ecebe001461037b57806395d89b41146101685780639dc29fac146103a1578063a457c2d7146103cd578063a9059cbb146103f957610163565b8063313ce56711610120578063313ce567146102a157806339509351146102bf5780633c5fdd9e146102eb5780633c84b7c21461031957806340c10f191461032157806354fd4d501461034d57610163565b806306fdde0314610168578063095ea7b3146101e55780630ff9a5121461022557806310ce43bd1461024957806318160ddd1461026357806323b872dd1461026b575b600080fd5b6101706104fc565b6040805160208082528351818301528351919283929083019185019080838360005b838110156101aa578181015183820152602001610192565b50505050905090810190601f1680156101d75780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b610211600480360360408110156101fb57600080fd5b506001600160a01b03813516906020013561051b565b604080519115158252519081900360200190f35b61022d610531565b604080516001600160a01b039092168252519081900360200190f35b610251610540565b60408051918252519081900360200190f35b610251610564565b6102116004803603606081101561028157600080fd5b506001600160a01b0381358116916020810135909116906040013561056a565b6102a96105e2565b6040805160ff9092168252519081900360200190f35b610211600480360360408110156102d557600080fd5b506001600160a01b0381351690602001356105e7565b6103176004803603604081101561030157600080fd5b506001600160a01b038135169060200135610623565b005b610251610647565b6103176004803603604081101561033757600080fd5b506001600160a01b03813516906020013561064d565b6101706106bc565b6102516004803603602081101561036b57600080fd5b50356001600160a01b03166106d7565b6102516004803603602081101561039157600080fd5b50356001600160a01b03166106f2565b610317600480360360408110156103b757600080fd5b506001600160a01b03813516906020013561070d565b610211600480360360408110156103e357600080fd5b506001600160a01b03813516906020013561075d565b6102116004803603604081101561040f57600080fd5b506001600160a01b0381351690602001356107b2565b6103176004803603606081101561043b57600080fd5b506001600160a01b0381358116916020810135821691604090910135166107c8565b61022d610964565b610317600480360360e081101561047b57600080fd5b506001600160a01b03813581169160208101359091169060408101359060608101359060ff6080820135169060a08101359060c00135610973565b610251600480360360408110156104cc57600080fd5b506001600160a01b0381358116916020013516610b68565b610251610b93565b610251610b9b565b61022d610bf0565b6040805180820190915260048152635a45524f60e01b60208201525b90565b6000610528338484610bff565b50600192915050565b603c546001600160a01b031681565b7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c990565b60355490565b600061057583610ceb565b610580848484610d4a565b6105d884336105d385604051806060016040528060288152602001610f4c602891396001600160a01b038a166000908152603460209081526040808320338452909152902054919063ffffffff610d4f16565b610bff565b5060019392505050565b601290565b3360008181526034602090815260408083206001600160a01b038716845290915281205490916105289185906105d3908663ffffffff610de616565b61062b610e47565b603c546106439083906001600160a01b031683610d4a565b5050565b603b5490565b603d546001600160a01b03163314806106705750603e546001600160a01b031633145b6106b2576040805162461bcd60e51b815260206004820152600e60248201526d24b73b30b634b21031b0b63632b960911b604482015290519081900360640190fd5b6106438282610e92565b6040805180820190915260018152603160f81b602082015290565b6001600160a01b031660009081526033602052604090205490565b6001600160a01b03166000908152603a602052604090205490565b603d546001600160a01b031633146106b2576040805162461bcd60e51b815260206004820152600e60248201526d24b73b30b634b21031b0b63632b960911b604482015290519081900360640190fd5b600061052833846105d38560405180606001604052806025815260200161101a602591393360009081526034602090815260408083206001600160a01b038d168452909152902054919063ffffffff610d4f16565b60006107bd83610ceb565b610528338484610d4a565b600054610100900460ff16806107e157506107e1610e97565b806107ef575060005460ff16155b61082a5760405162461bcd60e51b815260040180806020018281038252602e815260200180610f74602e913960400191505060405180910390fd5b600054610100900460ff16158015610855576000805460ff1961ff0019909116610100171660011790555b42603b55603c80546001600160a01b038087166001600160a01b031992831617909255603d8054868416908316179055603e80549285169290911691909117905560408051808201825260048152635a45524f60e01b602091820152815180830190925260018252603160f81b9101527f2f1c95f5699b1388b3fa2230461010fd3feef63c25f1cc630151d42efc1108b260388190557fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc66039819055610919610e9d565b6037556109477f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8383610ea1565b6036555050801561095e576000805461ff00191690555b50505050565b603d546001600160a01b031681565b428410156109c1576040805162461bcd60e51b81526020600482015260166024820152755a45524f3a206578706972656420646561646c696e6560501b604482015290519081900360640190fd5b60006109cb610b9b565b6001600160a01b03808a166000818152603a602090815260408083208054600180820190925582517f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98186015280840196909652958e166060860152608085018d905260a085019590955260c08085018c90528151808603909101815260e08501825280519083012061190160f01b6101008601526101028501969096526101228085019690965280518085039096018652610142840180825286519683019690962095839052610162840180825286905260ff8a166101828501526101a284018990526101c284018890525194955090936101e280840193601f198301929081900390910190855afa158015610ae6573d6000803e3d6000fd5b505050602060405103519050886001600160a01b0316816001600160a01b031614610b52576040805162461bcd60e51b81526020600482015260176024820152765a45524f3a20696e76616c6964207369676e617475726560481b604482015290519081900360640190fd5b610b5d898989610bff565b505050505050505050565b6001600160a01b03918216600090815260346020908152604080832093909416825291909152205490565b6301e1338081565b6000603754610ba8610e9d565b1415610bb75750603654610518565b610be97f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60001b603854603954610ea1565b9050610518565b603e546001600160a01b031681565b6001600160a01b038316610c445760405162461bcd60e51b8152600401808060200182810382526024815260200180610fa26024913960400191505060405180910390fd5b6001600160a01b038216610c895760405162461bcd60e51b8152600401808060200182810382526022815260200180610ef86022913960400191505060405180910390fd5b6001600160a01b03808416600081815260346020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b03811615801590610d0c57506001600160a01b0381163014155b610d475760405162461bcd60e51b8152600401808060200182810382526054815260200180610fc66054913960600191505060405180910390fd5b50565b505050565b60008184841115610dde5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610da3578181015183820152602001610d8b565b50505050905090810190601f168015610dd05780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b600082820183811015610e40576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b603c546001600160a01b03163314610e905760405162461bcd60e51b8152600401808060200182810382526032815260200180610f1a6032913960400191505060405180910390fd5b565b610643565b303b1590565b4690565b6000838383610eae610e9d565b6040805160208082019690965280820194909452606084019290925260808301523060a0808401919091528151808403909101815260c09092019052805191012094935050505056fe45524332303a20617070726f766520746f20746865207a65726f20616464726573735a45524f546f6b656e3a2063616c6c6572206d75737420626520746865205a45524f5374616b696e6720636f6e747261637445524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365436f6e747261637420696e7374616e63652068617320616c7265616479206265656e20696e697469616c697a656445524332303a20617070726f76652066726f6d20746865207a65726f20616464726573735a45524f3a2043616e6e6f74207472616e7366657220746f6b656e73206469726563746c7920746f20746865205a45524f20746f6b656e20636f6e7472616374206f7220746865207a65726f206164647265737345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa264697066735822122025c7c463a2415070379fcea62d59c20b6a6907e1a5e6a780a8468cff25a6ad5764736f6c634300060b0033", + "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106101635760003560e01c806370a08231116100ce578063c0c53b8b11610087578063c0c53b8b14610425578063cc9105881461045d578063d505accf14610465578063dd62ed3e146104b6578063e7c8fed4146104e4578063f698da25146104ec578063fdea8e0b146104f457610163565b806370a08231146103555780637ecebe001461037b57806395d89b41146101685780639dc29fac146103a1578063a457c2d7146103cd578063a9059cbb146103f957610163565b8063313ce56711610120578063313ce567146102a157806339509351146102bf5780633c5fdd9e146102eb5780633c84b7c21461031957806340c10f191461032157806354fd4d501461034d57610163565b806306fdde0314610168578063095ea7b3146101e55780630ff9a5121461022557806310ce43bd1461024957806318160ddd1461026357806323b872dd1461026b575b600080fd5b6101706104fc565b6040805160208082528351818301528351919283929083019185019080838360005b838110156101aa578181015183820152602001610192565b50505050905090810190601f1680156101d75780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b610211600480360360408110156101fb57600080fd5b506001600160a01b03813516906020013561051b565b604080519115158252519081900360200190f35b61022d610531565b604080516001600160a01b039092168252519081900360200190f35b610251610540565b60408051918252519081900360200190f35b610251610564565b6102116004803603606081101561028157600080fd5b506001600160a01b0381358116916020810135909116906040013561056a565b6102a96105e2565b6040805160ff9092168252519081900360200190f35b610211600480360360408110156102d557600080fd5b506001600160a01b0381351690602001356105e7565b6103176004803603604081101561030157600080fd5b506001600160a01b038135169060200135610623565b005b610251610647565b6103176004803603604081101561033757600080fd5b506001600160a01b03813516906020013561064d565b6101706106bc565b6102516004803603602081101561036b57600080fd5b50356001600160a01b03166106d7565b6102516004803603602081101561039157600080fd5b50356001600160a01b03166106f2565b610317600480360360408110156103b757600080fd5b506001600160a01b03813516906020013561070d565b610211600480360360408110156103e357600080fd5b506001600160a01b03813516906020013561075d565b6102116004803603604081101561040f57600080fd5b506001600160a01b0381351690602001356107b2565b6103176004803603606081101561043b57600080fd5b506001600160a01b0381358116916020810135821691604090910135166107c8565b61022d610964565b610317600480360360e081101561047b57600080fd5b506001600160a01b03813581169160208101359091169060408101359060608101359060ff6080820135169060a08101359060c00135610973565b610251600480360360408110156104cc57600080fd5b506001600160a01b0381358116916020013516610b68565b610251610b93565b610251610b9b565b61022d610bf0565b6040805180820190915260048152635a45524f60e01b60208201525b90565b6000610528338484610bff565b50600192915050565b603c546001600160a01b031681565b7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c990565b60355490565b600061057583610ceb565b610580848484610d4a565b6105d884336105d385604051806060016040528060288152602001610f4c602891396001600160a01b038a166000908152603460209081526040808320338452909152902054919063ffffffff610d4f16565b610bff565b5060019392505050565b601290565b3360008181526034602090815260408083206001600160a01b038716845290915281205490916105289185906105d3908663ffffffff610de616565b61062b610e47565b603c546106439083906001600160a01b031683610d4a565b5050565b603b5490565b603d546001600160a01b03163314806106705750603e546001600160a01b031633145b6106b2576040805162461bcd60e51b815260206004820152600e60248201526d24b73b30b634b21031b0b63632b960911b604482015290519081900360640190fd5b6106438282610e92565b6040805180820190915260018152603160f81b602082015290565b6001600160a01b031660009081526033602052604090205490565b6001600160a01b03166000908152603a602052604090205490565b603d546001600160a01b031633146106b2576040805162461bcd60e51b815260206004820152600e60248201526d24b73b30b634b21031b0b63632b960911b604482015290519081900360640190fd5b600061052833846105d38560405180606001604052806025815260200161101a602591393360009081526034602090815260408083206001600160a01b038d168452909152902054919063ffffffff610d4f16565b60006107bd83610ceb565b610528338484610d4a565b600054610100900460ff16806107e157506107e1610e97565b806107ef575060005460ff16155b61082a5760405162461bcd60e51b815260040180806020018281038252602e815260200180610f74602e913960400191505060405180910390fd5b600054610100900460ff16158015610855576000805460ff1961ff0019909116610100171660011790555b42603b55603c80546001600160a01b038087166001600160a01b031992831617909255603d8054868416908316179055603e80549285169290911691909117905560408051808201825260048152635a45524f60e01b602091820152815180830190925260018252603160f81b9101527f2f1c95f5699b1388b3fa2230461010fd3feef63c25f1cc630151d42efc1108b260388190557fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc66039819055610919610e9d565b6037556109477f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8383610ea1565b6036555050801561095e576000805461ff00191690555b50505050565b603d546001600160a01b031681565b428410156109c1576040805162461bcd60e51b81526020600482015260166024820152755a45524f3a206578706972656420646561646c696e6560501b604482015290519081900360640190fd5b60006109cb610b9b565b6001600160a01b03808a166000818152603a602090815260408083208054600180820190925582517f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98186015280840196909652958e166060860152608085018d905260a085019590955260c08085018c90528151808603909101815260e08501825280519083012061190160f01b6101008601526101028501969096526101228085019690965280518085039096018652610142840180825286519683019690962095839052610162840180825286905260ff8a166101828501526101a284018990526101c284018890525194955090936101e280840193601f198301929081900390910190855afa158015610ae6573d6000803e3d6000fd5b505050602060405103519050886001600160a01b0316816001600160a01b031614610b52576040805162461bcd60e51b81526020600482015260176024820152765a45524f3a20696e76616c6964207369676e617475726560481b604482015290519081900360640190fd5b610b5d898989610bff565b505050505050505050565b6001600160a01b03918216600090815260346020908152604080832093909416825291909152205490565b6301e1338081565b6000603754610ba8610e9d565b1415610bb75750603654610518565b610be97f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60001b603854603954610ea1565b9050610518565b603e546001600160a01b031681565b6001600160a01b038316610c445760405162461bcd60e51b8152600401808060200182810382526024815260200180610fa26024913960400191505060405180910390fd5b6001600160a01b038216610c895760405162461bcd60e51b8152600401808060200182810382526022815260200180610ef86022913960400191505060405180910390fd5b6001600160a01b03808416600081815260346020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b03811615801590610d0c57506001600160a01b0381163014155b610d475760405162461bcd60e51b8152600401808060200182810382526054815260200180610fc66054913960600191505060405180910390fd5b50565b505050565b60008184841115610dde5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610da3578181015183820152602001610d8b565b50505050905090810190601f168015610dd05780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b600082820183811015610e40576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b603c546001600160a01b03163314610e905760405162461bcd60e51b8152600401808060200182810382526032815260200180610f1a6032913960400191505060405180910390fd5b565b610643565b303b1590565b4690565b6000838383610eae610e9d565b6040805160208082019690965280820194909452606084019290925260808301523060a0808401919091528151808403909101815260c09092019052805191012094935050505056fe45524332303a20617070726f766520746f20746865207a65726f20616464726573735a45524f546f6b656e3a2063616c6c6572206d75737420626520746865205a45524f5374616b696e6720636f6e747261637445524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365436f6e747261637420696e7374616e63652068617320616c7265616479206265656e20696e697469616c697a656445524332303a20617070726f76652066726f6d20746865207a65726f20616464726573735a45524f3a2043616e6e6f74207472616e7366657220746f6b656e73206469726563746c7920746f20746865205a45524f20746f6b656e20636f6e7472616374206f7220746865207a65726f206164647265737345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa264697066735822122025c7c463a2415070379fcea62d59c20b6a6907e1a5e6a780a8468cff25a6ad5764736f6c634300060b0033", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/packages/lib-ethers/live/ZEROTokenStorage.json b/packages/lib-ethers/live/ZEROTokenStorage.json new file mode 100644 index 000000000..6d5d6a7af --- /dev/null +++ b/packages/lib-ethers/live/ZEROTokenStorage.json @@ -0,0 +1,63 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "ZEROTokenStorage", + "sourceName": "contracts/ZERO/ZEROTokenStorage.sol", + "abi": [ + { + "inputs": [], + "name": "ONE_YEAR_IN_SECONDS", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "marketMakerAddress", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "presale", + "outputs": [ + { + "internalType": "contract IBalanceRedirectPresale", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "zeroStakingAddress", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + } + ], + "bytecode": "0x608060405234801561001057600080fd5b5060fc8061001f6000396000f3fe6080604052348015600f57600080fd5b506004361060465760003560e01c80630ff9a51214604b578063cc91058814606d578063e7c8fed4146073578063fdea8e0b14608b575b600080fd5b60516091565b604080516001600160a01b039092168252519081900360200190f35b605160a0565b607960af565b60408051918252519081900360200190f35b605160b7565b603c546001600160a01b031681565b603d546001600160a01b031681565b6301e1338081565b603e546001600160a01b03168156fea264697066735822122044c0f8ee36d1b4ceeba082d8b8d86131fc1e409b5b6a430ec1e90d12b794639c64736f6c634300060b0033", + "deployedBytecode": "0x6080604052348015600f57600080fd5b506004361060465760003560e01c80630ff9a51214604b578063cc91058814606d578063e7c8fed4146073578063fdea8e0b14608b575b600080fd5b60516091565b604080516001600160a01b039092168252519081900360200190f35b605160a0565b607960af565b60408051918252519081900360200190f35b605160b7565b603c546001600160a01b031681565b603d546001600160a01b031681565b6301e1338081565b603e546001600160a01b03168156fea264697066735822122044c0f8ee36d1b4ceeba082d8b8d86131fc1e409b5b6a430ec1e90d12b794639c64736f6c634300060b0033", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/packages/lib-ethers/live/ZEROTokenTester.json b/packages/lib-ethers/live/ZEROTokenTester.json new file mode 100644 index 000000000..d6ffdbf15 --- /dev/null +++ b/packages/lib-ethers/live/ZEROTokenTester.json @@ -0,0 +1,652 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "ZEROTokenTester", + "sourceName": "contracts/TestContracts/ZEROTokenTester.sol", + "abi": [ + { + "inputs": [ + { + "internalType": "address", + "name": "_zeroStakingAddress", + "type": "address" + }, + { + "internalType": "address", + "name": "_marketMakerAddress", + "type": "address" + }, + { + "internalType": "address", + "name": "_presaleAddress", + "type": "address" + } + ], + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "Approval", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "Transfer", + "type": "event" + }, + { + "inputs": [], + "name": "ONE_YEAR_IN_SECONDS", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "address", + "name": "spender", + "type": "address" + } + ], + "name": "allowance", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "approve", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "balanceOf", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "burn", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "callInternalApprove", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "sender", + "type": "address" + }, + { + "internalType": "address", + "name": "recipient", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "callInternalTransfer", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "decimals", + "outputs": [ + { + "internalType": "uint8", + "name": "", + "type": "uint8" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "subtractedValue", + "type": "uint256" + } + ], + "name": "decreaseAllowance", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "domainSeparator", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getChainId", + "outputs": [ + { + "internalType": "uint256", + "name": "chainID", + "type": "uint256" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [], + "name": "getDeploymentStartTime", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "addedValue", + "type": "uint256" + } + ], + "name": "increaseAllowance", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_zeroStakingAddress", + "type": "address" + }, + { + "internalType": "address", + "name": "_marketMakerAddress", + "type": "address" + }, + { + "internalType": "address", + "name": "_presaleAddress", + "type": "address" + } + ], + "name": "initialize", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "marketMakerAddress", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "mint", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "name", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "name": "nonces", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "deadline", + "type": "uint256" + }, + { + "internalType": "uint8", + "name": "v", + "type": "uint8" + }, + { + "internalType": "bytes32", + "name": "r", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "s", + "type": "bytes32" + } + ], + "name": "permit", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "permitTypeHash", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "presale", + "outputs": [ + { + "internalType": "contract IBalanceRedirectPresale", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_sender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "sendToZEROStaking", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "symbol", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "totalSupply", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "recipient", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "transfer", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "sender", + "type": "address" + }, + { + "internalType": "address", + "name": "recipient", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "transferFrom", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "unprotectedMint", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_sender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "unprotectedSendToZEROStaking", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "version", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "zeroStakingAddress", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + } + ], + "bytecode": "0x60806040523480156200001157600080fd5b506040516200146438038062001464833981810160405260608110156200003757600080fd5b50805160208201516040909201519091906200005e8383836001600160e01b036200006716565b50505062000295565b600054610100900460ff16806200008c57506200008c6001600160e01b036200022a16565b806200009b575060005460ff16155b620000d85760405162461bcd60e51b815260040180806020018281038252602e81526020018062001436602e913960400191505060405180910390fd5b600054610100900460ff1615801562000104576000805460ff1961ff0019909116610100171660011790555b42603b55603c80546001600160a01b038087166001600160a01b031992831617909255603d8054868416908316179055603e80549285169290911691909117905560408051808201825260048152635a45524f60e01b602091820152815180830190925260018252603160f81b9101527f2f1c95f5699b1388b3fa2230461010fd3feef63c25f1cc630151d42efc1108b260388190557fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc66039819055620001d36001600160e01b036200023016565b6037556200020c7f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83836001600160e01b036200023416565b6036555050801562000224576000805461ff00191690555b50505050565b303b1590565b4690565b60008383836200024c6001600160e01b036200023016565b6040805160208082019690965280820194909452606084019290925260808301523060a0808401919091528151808403909101815260c090920190528051910120949350505050565b61119180620002a56000396000f3fe608060405234801561001057600080fd5b506004361061019a5760003560e01c80635099f99f116100e4578063a9059cbb11610092578063a9059cbb146104fc578063c0c53b8b14610528578063cc91058814610560578063d505accf14610568578063dd62ed3e146105b9578063e7c8fed4146105e7578063f698da25146105ef578063fdea8e0b146105f75761019a565b80635099f99f1461042457806354fd4d501461045057806370a08231146104585780637ecebe001461047e57806395d89b41146101e95780639dc29fac146104a4578063a457c2d7146104d05761019a565b80632c685c841161014c5780632c685c841461030e578063313ce5671461033c5780633408e4701461035a578063387a54d91461036257806339509351146103985780633c5fdd9e146103c45780633c84b7c2146103f057806340c10f19146103f85761019a565b806303d999461461019f57806306fdde03146101e9578063095ea7b3146102665780630ff9a5121461029257806310ce43bd146102b657806318160ddd146102d057806323b872dd146102d8575b600080fd5b6101d5600480360360608110156101b557600080fd5b506001600160a01b038135811691602081013590911690604001356105ff565b604080519115158252519081900360200190f35b6101f1610613565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561022b578181015183820152602001610213565b50505050905090810190601f1680156102585780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101d56004803603604081101561027c57600080fd5b506001600160a01b038135169060200135610632565b61029a610648565b604080516001600160a01b039092168252519081900360200190f35b6102be610657565b60408051918252519081900360200190f35b6102be61067b565b6101d5600480360360608110156102ee57600080fd5b506001600160a01b03813581169160208101359091169060400135610681565b61033a6004803603604081101561032457600080fd5b506001600160a01b0381351690602001356106f9565b005b610344610715565b6040805160ff9092168252519081900360200190f35b6102be61071a565b6101d56004803603606081101561037857600080fd5b506001600160a01b0381358116916020810135909116906040013561071e565b6101d5600480360360408110156103ae57600080fd5b506001600160a01b03813516906020013561072b565b61033a600480360360408110156103da57600080fd5b506001600160a01b038135169060200135610767565b6102be61076f565b61033a6004803603604081101561040e57600080fd5b506001600160a01b038135169060200135610775565b61033a6004803603604081101561043a57600080fd5b506001600160a01b0381351690602001356107da565b6101f16107e4565b6102be6004803603602081101561046e57600080fd5b50356001600160a01b03166107ff565b6102be6004803603602081101561049457600080fd5b50356001600160a01b031661081a565b61033a600480360360408110156104ba57600080fd5b506001600160a01b038135169060200135610835565b6101d5600480360360408110156104e657600080fd5b506001600160a01b038135169060200135610885565b6101d56004803603604081101561051257600080fd5b506001600160a01b0381351690602001356108da565b61033a6004803603606081101561053e57600080fd5b506001600160a01b0381358116916020810135821691604090910135166108f0565b61029a610a8c565b61033a600480360360e081101561057e57600080fd5b506001600160a01b03813581169160208101359091169060408101359060608101359060ff6080820135169060a08101359060c00135610a9b565b6102be600480360360408110156105cf57600080fd5b506001600160a01b0381358116916020013516610c90565b6102be610cbb565b6102be610cc3565b61029a610d18565b600061060c848484610d27565b9392505050565b6040805180820190915260048152635a45524f60e01b60208201525b90565b600061063f338484610d27565b50600192915050565b603c546001600160a01b031681565b7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c990565b60355490565b600061068c83610e13565b610697848484610e72565b6106ef84336106ea85604051806060016040528060288152602001611069602891396001600160a01b038a166000908152603460209081526040808320338452909152902054919063ffffffff610e7716565b610d27565b5060019392505050565b603c546107119083906001600160a01b031683610e72565b5050565b601290565b4690565b600061060c848484610e72565b3360008181526034602090815260408083206001600160a01b0387168452909152812054909161063f9185906106ea908663ffffffff610f0e16565b6106f9610f68565b603b5490565b603d546001600160a01b03163314806107985750603e546001600160a01b031633145b6107da576040805162461bcd60e51b815260206004820152600e60248201526d24b73b30b634b21031b0b63632b960911b604482015290519081900360640190fd5b6107118282610fb3565b6040805180820190915260018152603160f81b602082015290565b6001600160a01b031660009081526033602052604090205490565b6001600160a01b03166000908152603a602052604090205490565b603d546001600160a01b031633146107da576040805162461bcd60e51b815260206004820152600e60248201526d24b73b30b634b21031b0b63632b960911b604482015290519081900360640190fd5b600061063f33846106ea85604051806060016040528060258152602001611137602591393360009081526034602090815260408083206001600160a01b038d168452909152902054919063ffffffff610e7716565b60006108e583610e13565b61063f338484610e72565b600054610100900460ff16806109095750610909610fb8565b80610917575060005460ff16155b6109525760405162461bcd60e51b815260040180806020018281038252602e815260200180611091602e913960400191505060405180910390fd5b600054610100900460ff1615801561097d576000805460ff1961ff0019909116610100171660011790555b42603b55603c80546001600160a01b038087166001600160a01b031992831617909255603d8054868416908316179055603e80549285169290911691909117905560408051808201825260048152635a45524f60e01b602091820152815180830190925260018252603160f81b9101527f2f1c95f5699b1388b3fa2230461010fd3feef63c25f1cc630151d42efc1108b260388190557fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc66039819055610a4161071a565b603755610a6f7f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8383610fbe565b60365550508015610a86576000805461ff00191690555b50505050565b603d546001600160a01b031681565b42841015610ae9576040805162461bcd60e51b81526020600482015260166024820152755a45524f3a206578706972656420646561646c696e6560501b604482015290519081900360640190fd5b6000610af3610cc3565b6001600160a01b03808a166000818152603a602090815260408083208054600180820190925582517f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98186015280840196909652958e166060860152608085018d905260a085019590955260c08085018c90528151808603909101815260e08501825280519083012061190160f01b6101008601526101028501969096526101228085019690965280518085039096018652610142840180825286519683019690962095839052610162840180825286905260ff8a166101828501526101a284018990526101c284018890525194955090936101e280840193601f198301929081900390910190855afa158015610c0e573d6000803e3d6000fd5b505050602060405103519050886001600160a01b0316816001600160a01b031614610c7a576040805162461bcd60e51b81526020600482015260176024820152765a45524f3a20696e76616c6964207369676e617475726560481b604482015290519081900360640190fd5b610c85898989610d27565b505050505050505050565b6001600160a01b03918216600090815260346020908152604080832093909416825291909152205490565b6301e1338081565b6000603754610cd061071a565b1415610cdf575060365461062f565b610d117f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60001b603854603954610fbe565b905061062f565b603e546001600160a01b031681565b6001600160a01b038316610d6c5760405162461bcd60e51b81526004018080602001828103825260248152602001806110bf6024913960400191505060405180910390fd5b6001600160a01b038216610db15760405162461bcd60e51b81526004018080602001828103825260228152602001806110156022913960400191505060405180910390fd5b6001600160a01b03808416600081815260346020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b03811615801590610e3457506001600160a01b0381163014155b610e6f5760405162461bcd60e51b81526004018080602001828103825260548152602001806110e36054913960600191505060405180910390fd5b50565b505050565b60008184841115610f065760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610ecb578181015183820152602001610eb3565b50505050905090810190601f168015610ef85780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b60008282018381101561060c576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b603c546001600160a01b03163314610fb15760405162461bcd60e51b81526004018080602001828103825260328152602001806110376032913960400191505060405180910390fd5b565b610711565b303b1590565b6000838383610fcb61071a565b6040805160208082019690965280820194909452606084019290925260808301523060a0808401919091528151808403909101815260c09092019052805191012094935050505056fe45524332303a20617070726f766520746f20746865207a65726f20616464726573735a45524f546f6b656e3a2063616c6c6572206d75737420626520746865205a45524f5374616b696e6720636f6e747261637445524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365436f6e747261637420696e7374616e63652068617320616c7265616479206265656e20696e697469616c697a656445524332303a20617070726f76652066726f6d20746865207a65726f20616464726573735a45524f3a2043616e6e6f74207472616e7366657220746f6b656e73206469726563746c7920746f20746865205a45524f20746f6b656e20636f6e7472616374206f7220746865207a65726f206164647265737345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220db53999c1b95a2172b23c13e26af38a9485ea7e07468975fe67e731cae23dc6864736f6c634300060b0033436f6e747261637420696e7374616e63652068617320616c7265616479206265656e20696e697469616c697a6564", + "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061019a5760003560e01c80635099f99f116100e4578063a9059cbb11610092578063a9059cbb146104fc578063c0c53b8b14610528578063cc91058814610560578063d505accf14610568578063dd62ed3e146105b9578063e7c8fed4146105e7578063f698da25146105ef578063fdea8e0b146105f75761019a565b80635099f99f1461042457806354fd4d501461045057806370a08231146104585780637ecebe001461047e57806395d89b41146101e95780639dc29fac146104a4578063a457c2d7146104d05761019a565b80632c685c841161014c5780632c685c841461030e578063313ce5671461033c5780633408e4701461035a578063387a54d91461036257806339509351146103985780633c5fdd9e146103c45780633c84b7c2146103f057806340c10f19146103f85761019a565b806303d999461461019f57806306fdde03146101e9578063095ea7b3146102665780630ff9a5121461029257806310ce43bd146102b657806318160ddd146102d057806323b872dd146102d8575b600080fd5b6101d5600480360360608110156101b557600080fd5b506001600160a01b038135811691602081013590911690604001356105ff565b604080519115158252519081900360200190f35b6101f1610613565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561022b578181015183820152602001610213565b50505050905090810190601f1680156102585780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101d56004803603604081101561027c57600080fd5b506001600160a01b038135169060200135610632565b61029a610648565b604080516001600160a01b039092168252519081900360200190f35b6102be610657565b60408051918252519081900360200190f35b6102be61067b565b6101d5600480360360608110156102ee57600080fd5b506001600160a01b03813581169160208101359091169060400135610681565b61033a6004803603604081101561032457600080fd5b506001600160a01b0381351690602001356106f9565b005b610344610715565b6040805160ff9092168252519081900360200190f35b6102be61071a565b6101d56004803603606081101561037857600080fd5b506001600160a01b0381358116916020810135909116906040013561071e565b6101d5600480360360408110156103ae57600080fd5b506001600160a01b03813516906020013561072b565b61033a600480360360408110156103da57600080fd5b506001600160a01b038135169060200135610767565b6102be61076f565b61033a6004803603604081101561040e57600080fd5b506001600160a01b038135169060200135610775565b61033a6004803603604081101561043a57600080fd5b506001600160a01b0381351690602001356107da565b6101f16107e4565b6102be6004803603602081101561046e57600080fd5b50356001600160a01b03166107ff565b6102be6004803603602081101561049457600080fd5b50356001600160a01b031661081a565b61033a600480360360408110156104ba57600080fd5b506001600160a01b038135169060200135610835565b6101d5600480360360408110156104e657600080fd5b506001600160a01b038135169060200135610885565b6101d56004803603604081101561051257600080fd5b506001600160a01b0381351690602001356108da565b61033a6004803603606081101561053e57600080fd5b506001600160a01b0381358116916020810135821691604090910135166108f0565b61029a610a8c565b61033a600480360360e081101561057e57600080fd5b506001600160a01b03813581169160208101359091169060408101359060608101359060ff6080820135169060a08101359060c00135610a9b565b6102be600480360360408110156105cf57600080fd5b506001600160a01b0381358116916020013516610c90565b6102be610cbb565b6102be610cc3565b61029a610d18565b600061060c848484610d27565b9392505050565b6040805180820190915260048152635a45524f60e01b60208201525b90565b600061063f338484610d27565b50600192915050565b603c546001600160a01b031681565b7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c990565b60355490565b600061068c83610e13565b610697848484610e72565b6106ef84336106ea85604051806060016040528060288152602001611069602891396001600160a01b038a166000908152603460209081526040808320338452909152902054919063ffffffff610e7716565b610d27565b5060019392505050565b603c546107119083906001600160a01b031683610e72565b5050565b601290565b4690565b600061060c848484610e72565b3360008181526034602090815260408083206001600160a01b0387168452909152812054909161063f9185906106ea908663ffffffff610f0e16565b6106f9610f68565b603b5490565b603d546001600160a01b03163314806107985750603e546001600160a01b031633145b6107da576040805162461bcd60e51b815260206004820152600e60248201526d24b73b30b634b21031b0b63632b960911b604482015290519081900360640190fd5b6107118282610fb3565b6040805180820190915260018152603160f81b602082015290565b6001600160a01b031660009081526033602052604090205490565b6001600160a01b03166000908152603a602052604090205490565b603d546001600160a01b031633146107da576040805162461bcd60e51b815260206004820152600e60248201526d24b73b30b634b21031b0b63632b960911b604482015290519081900360640190fd5b600061063f33846106ea85604051806060016040528060258152602001611137602591393360009081526034602090815260408083206001600160a01b038d168452909152902054919063ffffffff610e7716565b60006108e583610e13565b61063f338484610e72565b600054610100900460ff16806109095750610909610fb8565b80610917575060005460ff16155b6109525760405162461bcd60e51b815260040180806020018281038252602e815260200180611091602e913960400191505060405180910390fd5b600054610100900460ff1615801561097d576000805460ff1961ff0019909116610100171660011790555b42603b55603c80546001600160a01b038087166001600160a01b031992831617909255603d8054868416908316179055603e80549285169290911691909117905560408051808201825260048152635a45524f60e01b602091820152815180830190925260018252603160f81b9101527f2f1c95f5699b1388b3fa2230461010fd3feef63c25f1cc630151d42efc1108b260388190557fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc66039819055610a4161071a565b603755610a6f7f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8383610fbe565b60365550508015610a86576000805461ff00191690555b50505050565b603d546001600160a01b031681565b42841015610ae9576040805162461bcd60e51b81526020600482015260166024820152755a45524f3a206578706972656420646561646c696e6560501b604482015290519081900360640190fd5b6000610af3610cc3565b6001600160a01b03808a166000818152603a602090815260408083208054600180820190925582517f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98186015280840196909652958e166060860152608085018d905260a085019590955260c08085018c90528151808603909101815260e08501825280519083012061190160f01b6101008601526101028501969096526101228085019690965280518085039096018652610142840180825286519683019690962095839052610162840180825286905260ff8a166101828501526101a284018990526101c284018890525194955090936101e280840193601f198301929081900390910190855afa158015610c0e573d6000803e3d6000fd5b505050602060405103519050886001600160a01b0316816001600160a01b031614610c7a576040805162461bcd60e51b81526020600482015260176024820152765a45524f3a20696e76616c6964207369676e617475726560481b604482015290519081900360640190fd5b610c85898989610d27565b505050505050505050565b6001600160a01b03918216600090815260346020908152604080832093909416825291909152205490565b6301e1338081565b6000603754610cd061071a565b1415610cdf575060365461062f565b610d117f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60001b603854603954610fbe565b905061062f565b603e546001600160a01b031681565b6001600160a01b038316610d6c5760405162461bcd60e51b81526004018080602001828103825260248152602001806110bf6024913960400191505060405180910390fd5b6001600160a01b038216610db15760405162461bcd60e51b81526004018080602001828103825260228152602001806110156022913960400191505060405180910390fd5b6001600160a01b03808416600081815260346020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b03811615801590610e3457506001600160a01b0381163014155b610e6f5760405162461bcd60e51b81526004018080602001828103825260548152602001806110e36054913960600191505060405180910390fd5b50565b505050565b60008184841115610f065760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610ecb578181015183820152602001610eb3565b50505050905090810190601f168015610ef85780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b60008282018381101561060c576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b603c546001600160a01b03163314610fb15760405162461bcd60e51b81526004018080602001828103825260328152602001806110376032913960400191505060405180910390fd5b565b610711565b303b1590565b6000838383610fcb61071a565b6040805160208082019690965280820194909452606084019290925260808301523060a0808401919091528151808403909101815260c09092019052805191012094935050505056fe45524332303a20617070726f766520746f20746865207a65726f20616464726573735a45524f546f6b656e3a2063616c6c6572206d75737420626520746865205a45524f5374616b696e6720636f6e747261637445524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365436f6e747261637420696e7374616e63652068617320616c7265616479206265656e20696e697469616c697a656445524332303a20617070726f76652066726f6d20746865207a65726f20616464726573735a45524f3a2043616e6e6f74207472616e7366657220746f6b656e73206469726563746c7920746f20746865205a45524f20746f6b656e20636f6e7472616374206f7220746865207a65726f206164647265737345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220db53999c1b95a2172b23c13e26af38a9485ea7e07468975fe67e731cae23dc6864736f6c634300060b0033", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/packages/lib-ethers/live/ZUSDToken.json b/packages/lib-ethers/live/ZUSDToken.json new file mode 100644 index 000000000..0d061cf86 --- /dev/null +++ b/packages/lib-ethers/live/ZUSDToken.json @@ -0,0 +1,590 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "ZUSDToken", + "sourceName": "contracts/ZUSDToken.sol", + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "Approval", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "_newBorrowerOperationsAddress", + "type": "address" + } + ], + "name": "BorrowerOperationsAddressChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousOwner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnershipTransferred", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "_newStabilityPoolAddress", + "type": "address" + } + ], + "name": "StabilityPoolAddressChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "Transfer", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "_troveManagerAddress", + "type": "address" + } + ], + "name": "TroveManagerAddressChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "_user", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "ZUSDTokenBalanceUpdated", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "address", + "name": "spender", + "type": "address" + } + ], + "name": "allowance", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "approve", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "balanceOf", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_account", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "burn", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "decimals", + "outputs": [ + { + "internalType": "uint8", + "name": "", + "type": "uint8" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "subtractedValue", + "type": "uint256" + } + ], + "name": "decreaseAllowance", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "domainSeparator", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getOwner", + "outputs": [ + { + "internalType": "address", + "name": "_owner", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "addedValue", + "type": "uint256" + } + ], + "name": "increaseAllowance", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_troveManagerAddress", + "type": "address" + }, + { + "internalType": "address", + "name": "_stabilityPoolAddress", + "type": "address" + }, + { + "internalType": "address", + "name": "_borrowerOperationsAddress", + "type": "address" + } + ], + "name": "initialize", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_account", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "mint", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "name", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "name": "nonces", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "deadline", + "type": "uint256" + }, + { + "internalType": "uint8", + "name": "v", + "type": "uint8" + }, + { + "internalType": "bytes32", + "name": "r", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "s", + "type": "bytes32" + } + ], + "name": "permit", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "permitTypeHash", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_poolAddress", + "type": "address" + }, + { + "internalType": "address", + "name": "_receiver", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "returnFromPool", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_sender", + "type": "address" + }, + { + "internalType": "address", + "name": "_poolAddress", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "sendToPool", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_owner", + "type": "address" + } + ], + "name": "setOwner", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "symbol", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "totalSupply", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "recipient", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "transfer", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "sender", + "type": "address" + }, + { + "internalType": "address", + "name": "recipient", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "transferFrom", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "version", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + } + ], + "bytecode": "0x608060405234801561001057600080fd5b50610023336001600160e01b0361002816565b610110565b6001600160a01b03811661006d5760405162461bcd60e51b81526004018080602001828103825260228152602001806118646022913960400191505060405180910390fd5b6001600160a01b0381166100886001600160e01b036100e616565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3604080517035b2bc9737bbb730b136329737bbb732b960791b8152905190819003601101902055565b604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205490565b6117458061011f6000396000f3fe608060405234801561001057600080fd5b506004361061014d5760003560e01c806370a08231116100c3578063a9059cbb1161007c578063a9059cbb14610413578063bb997bac1461043f578063c0c53b8b14610475578063d505accf146104ad578063dd62ed3e146104fe578063f698da251461052c5761014d565b806370a08231146103435780637ecebe0014610369578063893d20e81461038f57806395d89b41146103b35780639dc29fac146103bb578063a457c2d7146103e75761014d565b806320c582be1161011557806320c582be1461025957806323b872dd1461028f578063313ce567146102c557806339509351146102e357806340c10f191461030f57806354fd4d501461033b5761014d565b806306fdde0314610152578063095ea7b3146101cf57806310ce43bd1461020f57806313af40351461022957806318160ddd14610251575b600080fd5b61015a610534565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561019457818101518382015260200161017c565b50505050905090810190601f1680156101c15780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101fb600480360360408110156101e557600080fd5b506001600160a01b03813516906020013561055e565b604080519115158252519081900360200190f35b610217610574565b60408051918252519081900360200190f35b61024f6004803603602081101561023f57600080fd5b50356001600160a01b0316610598565b005b61021761060b565b61024f6004803603606081101561026f57600080fd5b506001600160a01b03813581169160208101359091169060400135610611565b6101fb600480360360608110156102a557600080fd5b506001600160a01b03813581169160208101359091169060400135610629565b6102cd6106a1565b6040805160ff9092168252519081900360200190f35b6101fb600480360360408110156102f957600080fd5b506001600160a01b0381351690602001356106a6565b61024f6004803603604081101561032557600080fd5b506001600160a01b0381351690602001356106e2565b61015a6106f8565b6102176004803603602081101561035957600080fd5b50356001600160a01b0316610713565b6102176004803603602081101561037f57600080fd5b50356001600160a01b031661072e565b610397610749565b604080516001600160a01b039092168252519081900360200190f35b61015a610773565b61024f600480360360408110156103d157600080fd5b506001600160a01b038135169060200135610791565b6101fb600480360360408110156103fd57600080fd5b506001600160a01b0381351690602001356107a3565b6101fb6004803603604081101561042957600080fd5b506001600160a01b0381351690602001356107f8565b61024f6004803603606081101561045557600080fd5b506001600160a01b0381358116916020810135909116906040013561080e565b61024f6004803603606081101561048b57600080fd5b506001600160a01b038135811691602081013582169160409091013516610816565b61024f600480360360e08110156104c357600080fd5b506001600160a01b03813581169160208101359091169060408101359060608101359060ff6080820135169060a08101359060c0013561092d565b6102176004803603604081101561051457600080fd5b506001600160a01b0381358116916020013516610b22565b610217610b4d565b60408051808201909152600f81526e2d2aa9a21029ba30b13632b1b7b4b760891b60208201525b90565b600061056b338484610ba2565b50600192915050565b7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c990565b6105a0610749565b6001600160a01b0316336001600160a01b0316146105ff576040805162461bcd60e51b815260206004820152601760248201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604482015290519081900360640190fd5b61060881610c24565b50565b60335490565b610619610cd9565b610624838383610d39565b505050565b600061063483610e1b565b61063f848484610d39565b61069784336106928560405180606001604052806028815260200161161a602891396001600160a01b038a166000908152603a60209081526040808320338452909152902054919063ffffffff610e7716565b610ba2565b5060019392505050565b601290565b336000818152603a602090815260408083206001600160a01b0387168452909152812054909161056b918590610692908663ffffffff610f0e16565b6106ea610f6f565b6106f48282610fb8565b5050565b6040805180820190915260018152603160f81b602082015290565b6001600160a01b031660009081526039602052604090205490565b6001600160a01b031660009081526038602052604090205490565b604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205490565b604080518082019091526004815263169554d160e21b602082015290565b61079961104d565b6106f482826110c0565b600061056b3384610692856040518060600160405280602581526020016116eb60259139336000908152603a602090815260408083206001600160a01b038d168452909152902054919063ffffffff610e7716565b600061080383610e1b565b61056b338484610d39565b610619611175565b600054610100900460ff168061082f575061082f6111be565b8061083d575060005460ff16155b6108785760405162461bcd60e51b815260040180806020018281038252602e815260200180611642602e913960400191505060405180910390fd5b600054610100900460ff161580156108a3576000805460ff1961ff0019909116610100171660011790555b6108ab610749565b6001600160a01b0316336001600160a01b03161461090a576040805162461bcd60e51b815260206004820152601760248201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604482015290519081900360640190fd5b6109158484846111c4565b8015610927576000805461ff00191690555b50505050565b4284101561097b576040805162461bcd60e51b81526020600482015260166024820152755a5553443a206578706972656420646561646c696e6560501b604482015290519081900360640190fd5b6000610985610b4d565b6001600160a01b03808a1660008181526038602090815260408083208054600180820190925582517f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98186015280840196909652958e166060860152608085018d905260a085019590955260c08085018c90528151808603909101815260e08501825280519083012061190160f01b6101008601526101028501969096526101228085019690965280518085039096018652610142840180825286519683019690962095839052610162840180825286905260ff8a166101828501526101a284018990526101c284018890525194955090936101e280840193601f198301929081900390910190855afa158015610aa0573d6000803e3d6000fd5b505050602060405103519050886001600160a01b0316816001600160a01b031614610b0c576040805162461bcd60e51b81526020600482015260176024820152765a5553443a20696e76616c6964207369676e617475726560481b604482015290519081900360640190fd5b610b17898989610ba2565b505050505050505050565b6001600160a01b039182166000908152603a6020908152604080832093909416825291909152205490565b6000603554610b5a611398565b1415610b69575060345461055b565b610b9b7f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60001b60365460375461139c565b905061055b565b6001600160a01b038316610bb257fe5b6001600160a01b038216610bc257fe5b6001600160a01b038084166000818152603a6020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b038116610c695760405162461bcd60e51b81526004018080602001828103825260228152602001806115a46022913960400191505060405180910390fd5b806001600160a01b0316610c7b610749565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3604080517035b2bc9737bbb730b136329737bbb732b960791b8152905190819003601101902055565b603b546001600160a01b0316331480610cfc5750603c546001600160a01b031633145b610d375760405162461bcd60e51b81526004018080602001828103825260368152602001806116b56036913960400191505060405180910390fd5b565b6001600160a01b038316610d4957fe5b6001600160a01b038216610d5957fe5b610d9c81604051806060016040528060268152602001611531602691396001600160a01b038616600090815260396020526040902054919063ffffffff610e7716565b6001600160a01b038085166000908152603960205260408082209390935590841681522054610dd1908263ffffffff610f0e16565b6001600160a01b03808416600081815260396020908152604091829020949094558051858152905191939287169260008051602061169583398151915292918290030190a3505050565b6001600160a01b03811615801590610e3c57506001600160a01b0381163014155b6106085760405162461bcd60e51b81526004018080602001828103825260548152602001806115c66054913960600191505060405180910390fd5b60008184841115610f065760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610ecb578181015183820152602001610eb3565b50505050905090810190601f168015610ef85780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b600082820183811015610f68576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b603d546001600160a01b03163314610d375760405162461bcd60e51b815260040180806020018281038252602b815260200180611506602b913960400191505060405180910390fd5b6001600160a01b038216610fc857fe5b603354610fdb908263ffffffff610f0e16565b6033556001600160a01b038216600090815260396020526040902054611007908263ffffffff610f0e16565b6001600160a01b03831660008181526039602090815260408083209490945583518581529351929391926000805160206116958339815191529281900390910190a35050565b603d546001600160a01b03163314806110705750603b546001600160a01b031633145b806110855750603c546001600160a01b031633145b610d375760405162461bcd60e51b815260040180806020018281038252604d815260200180611557604d913960600191505060405180910390fd5b6001600160a01b0382166110d057fe5b611113816040518060600160405280602281526020016114e4602291396001600160a01b038516600090815260396020526040902054919063ffffffff610e7716565b6001600160a01b03831660009081526039602052604090205560335461113f908263ffffffff6113f216565b6033556040805182815290516000916001600160a01b038516916000805160206116958339815191529181900360200190a35050565b603c546001600160a01b03163314610d375760405162461bcd60e51b81526004018080602001828103825260258152602001806116706025913960400191505060405180910390fd5b303b1590565b6111cd83611434565b6111d682611434565b6111df81611434565b603b80546001600160a01b0385166001600160a01b0319909116811790915560408051918252517f143219c9e69b09e07e095fcc889b43d8f46ca892bba65f08dc3a0050869a56789181900360200190a1603c80546001600160a01b0384166001600160a01b0319909116811790915560408051918252517f82966d27eea39b038ee0fa30cd16532bb24f6e65d31cb58fb227aa5766cdcc7f9181900360200190a1603d80546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f3ca631ffcd2a9b5d9ae18543fc82f58eb4ca33af9e6ab01b7a8e95331e6ed9859181900360200190a1604080518082018252600f81526e2d2aa9a21029ba30b13632b1b7b4b760891b602091820152815180830190925260018252603160f81b9101527fd28848e7c3cbededd42b8bfb722b93a1d091c2e7280388a67bb55fc505b758eb60368190557fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc66037819055611360611398565b60355561138e7f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f838361139c565b6034555050505050565b4690565b60008383836113a9611398565b6040805160208082019690965280820194909452606084019290925260808301523060a0808401919091528151808403909101815260c090920190528051910120949350505050565b6000610f6883836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610e77565b6001600160a01b03811661148f576040805162461bcd60e51b815260206004820152601e60248201527f4163636f756e742063616e6e6f74206265207a65726f20616464726573730000604482015290519081900360640190fd5b803b806106f4576040805162461bcd60e51b815260206004820181905260248201527f4163636f756e7420636f64652073697a652063616e6e6f74206265207a65726f604482015290519081900360640190fdfe45524332303a206275726e20616d6f756e7420657863656564732062616c616e63655a555344546f6b656e3a2043616c6c6572206973206e6f7420426f72726f7765724f7065726174696f6e7345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e63655a5553443a2043616c6c6572206973206e65697468657220426f72726f7765724f7065726174696f6e73206e6f722054726f76654d616e61676572206e6f722053746162696c697479506f6f6c4f776e61626c653a3a7365744f776e65723a20696e76616c696420616464726573735a5553443a2043616e6e6f74207472616e7366657220746f6b656e73206469726563746c7920746f20746865205a55534420746f6b656e20636f6e7472616374206f7220746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365436f6e747261637420696e7374616e63652068617320616c7265616479206265656e20696e697469616c697a65645a5553443a2043616c6c6572206973206e6f74207468652053746162696c697479506f6f6cddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef5a5553443a2043616c6c6572206973206e6569746865722054726f76654d616e61676572206e6f722053746162696c697479506f6f6c45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220f50801aa88b31fd77d008212bfb89f94e9589a1713a72c6a58c4d6412ee8a87f64736f6c634300060b00334f776e61626c653a3a7365744f776e65723a20696e76616c69642061646472657373", + "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061014d5760003560e01c806370a08231116100c3578063a9059cbb1161007c578063a9059cbb14610413578063bb997bac1461043f578063c0c53b8b14610475578063d505accf146104ad578063dd62ed3e146104fe578063f698da251461052c5761014d565b806370a08231146103435780637ecebe0014610369578063893d20e81461038f57806395d89b41146103b35780639dc29fac146103bb578063a457c2d7146103e75761014d565b806320c582be1161011557806320c582be1461025957806323b872dd1461028f578063313ce567146102c557806339509351146102e357806340c10f191461030f57806354fd4d501461033b5761014d565b806306fdde0314610152578063095ea7b3146101cf57806310ce43bd1461020f57806313af40351461022957806318160ddd14610251575b600080fd5b61015a610534565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561019457818101518382015260200161017c565b50505050905090810190601f1680156101c15780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101fb600480360360408110156101e557600080fd5b506001600160a01b03813516906020013561055e565b604080519115158252519081900360200190f35b610217610574565b60408051918252519081900360200190f35b61024f6004803603602081101561023f57600080fd5b50356001600160a01b0316610598565b005b61021761060b565b61024f6004803603606081101561026f57600080fd5b506001600160a01b03813581169160208101359091169060400135610611565b6101fb600480360360608110156102a557600080fd5b506001600160a01b03813581169160208101359091169060400135610629565b6102cd6106a1565b6040805160ff9092168252519081900360200190f35b6101fb600480360360408110156102f957600080fd5b506001600160a01b0381351690602001356106a6565b61024f6004803603604081101561032557600080fd5b506001600160a01b0381351690602001356106e2565b61015a6106f8565b6102176004803603602081101561035957600080fd5b50356001600160a01b0316610713565b6102176004803603602081101561037f57600080fd5b50356001600160a01b031661072e565b610397610749565b604080516001600160a01b039092168252519081900360200190f35b61015a610773565b61024f600480360360408110156103d157600080fd5b506001600160a01b038135169060200135610791565b6101fb600480360360408110156103fd57600080fd5b506001600160a01b0381351690602001356107a3565b6101fb6004803603604081101561042957600080fd5b506001600160a01b0381351690602001356107f8565b61024f6004803603606081101561045557600080fd5b506001600160a01b0381358116916020810135909116906040013561080e565b61024f6004803603606081101561048b57600080fd5b506001600160a01b038135811691602081013582169160409091013516610816565b61024f600480360360e08110156104c357600080fd5b506001600160a01b03813581169160208101359091169060408101359060608101359060ff6080820135169060a08101359060c0013561092d565b6102176004803603604081101561051457600080fd5b506001600160a01b0381358116916020013516610b22565b610217610b4d565b60408051808201909152600f81526e2d2aa9a21029ba30b13632b1b7b4b760891b60208201525b90565b600061056b338484610ba2565b50600192915050565b7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c990565b6105a0610749565b6001600160a01b0316336001600160a01b0316146105ff576040805162461bcd60e51b815260206004820152601760248201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604482015290519081900360640190fd5b61060881610c24565b50565b60335490565b610619610cd9565b610624838383610d39565b505050565b600061063483610e1b565b61063f848484610d39565b61069784336106928560405180606001604052806028815260200161161a602891396001600160a01b038a166000908152603a60209081526040808320338452909152902054919063ffffffff610e7716565b610ba2565b5060019392505050565b601290565b336000818152603a602090815260408083206001600160a01b0387168452909152812054909161056b918590610692908663ffffffff610f0e16565b6106ea610f6f565b6106f48282610fb8565b5050565b6040805180820190915260018152603160f81b602082015290565b6001600160a01b031660009081526039602052604090205490565b6001600160a01b031660009081526038602052604090205490565b604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205490565b604080518082019091526004815263169554d160e21b602082015290565b61079961104d565b6106f482826110c0565b600061056b3384610692856040518060600160405280602581526020016116eb60259139336000908152603a602090815260408083206001600160a01b038d168452909152902054919063ffffffff610e7716565b600061080383610e1b565b61056b338484610d39565b610619611175565b600054610100900460ff168061082f575061082f6111be565b8061083d575060005460ff16155b6108785760405162461bcd60e51b815260040180806020018281038252602e815260200180611642602e913960400191505060405180910390fd5b600054610100900460ff161580156108a3576000805460ff1961ff0019909116610100171660011790555b6108ab610749565b6001600160a01b0316336001600160a01b03161461090a576040805162461bcd60e51b815260206004820152601760248201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604482015290519081900360640190fd5b6109158484846111c4565b8015610927576000805461ff00191690555b50505050565b4284101561097b576040805162461bcd60e51b81526020600482015260166024820152755a5553443a206578706972656420646561646c696e6560501b604482015290519081900360640190fd5b6000610985610b4d565b6001600160a01b03808a1660008181526038602090815260408083208054600180820190925582517f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98186015280840196909652958e166060860152608085018d905260a085019590955260c08085018c90528151808603909101815260e08501825280519083012061190160f01b6101008601526101028501969096526101228085019690965280518085039096018652610142840180825286519683019690962095839052610162840180825286905260ff8a166101828501526101a284018990526101c284018890525194955090936101e280840193601f198301929081900390910190855afa158015610aa0573d6000803e3d6000fd5b505050602060405103519050886001600160a01b0316816001600160a01b031614610b0c576040805162461bcd60e51b81526020600482015260176024820152765a5553443a20696e76616c6964207369676e617475726560481b604482015290519081900360640190fd5b610b17898989610ba2565b505050505050505050565b6001600160a01b039182166000908152603a6020908152604080832093909416825291909152205490565b6000603554610b5a611398565b1415610b69575060345461055b565b610b9b7f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60001b60365460375461139c565b905061055b565b6001600160a01b038316610bb257fe5b6001600160a01b038216610bc257fe5b6001600160a01b038084166000818152603a6020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b038116610c695760405162461bcd60e51b81526004018080602001828103825260228152602001806115a46022913960400191505060405180910390fd5b806001600160a01b0316610c7b610749565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3604080517035b2bc9737bbb730b136329737bbb732b960791b8152905190819003601101902055565b603b546001600160a01b0316331480610cfc5750603c546001600160a01b031633145b610d375760405162461bcd60e51b81526004018080602001828103825260368152602001806116b56036913960400191505060405180910390fd5b565b6001600160a01b038316610d4957fe5b6001600160a01b038216610d5957fe5b610d9c81604051806060016040528060268152602001611531602691396001600160a01b038616600090815260396020526040902054919063ffffffff610e7716565b6001600160a01b038085166000908152603960205260408082209390935590841681522054610dd1908263ffffffff610f0e16565b6001600160a01b03808416600081815260396020908152604091829020949094558051858152905191939287169260008051602061169583398151915292918290030190a3505050565b6001600160a01b03811615801590610e3c57506001600160a01b0381163014155b6106085760405162461bcd60e51b81526004018080602001828103825260548152602001806115c66054913960600191505060405180910390fd5b60008184841115610f065760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610ecb578181015183820152602001610eb3565b50505050905090810190601f168015610ef85780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b600082820183811015610f68576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b603d546001600160a01b03163314610d375760405162461bcd60e51b815260040180806020018281038252602b815260200180611506602b913960400191505060405180910390fd5b6001600160a01b038216610fc857fe5b603354610fdb908263ffffffff610f0e16565b6033556001600160a01b038216600090815260396020526040902054611007908263ffffffff610f0e16565b6001600160a01b03831660008181526039602090815260408083209490945583518581529351929391926000805160206116958339815191529281900390910190a35050565b603d546001600160a01b03163314806110705750603b546001600160a01b031633145b806110855750603c546001600160a01b031633145b610d375760405162461bcd60e51b815260040180806020018281038252604d815260200180611557604d913960600191505060405180910390fd5b6001600160a01b0382166110d057fe5b611113816040518060600160405280602281526020016114e4602291396001600160a01b038516600090815260396020526040902054919063ffffffff610e7716565b6001600160a01b03831660009081526039602052604090205560335461113f908263ffffffff6113f216565b6033556040805182815290516000916001600160a01b038516916000805160206116958339815191529181900360200190a35050565b603c546001600160a01b03163314610d375760405162461bcd60e51b81526004018080602001828103825260258152602001806116706025913960400191505060405180910390fd5b303b1590565b6111cd83611434565b6111d682611434565b6111df81611434565b603b80546001600160a01b0385166001600160a01b0319909116811790915560408051918252517f143219c9e69b09e07e095fcc889b43d8f46ca892bba65f08dc3a0050869a56789181900360200190a1603c80546001600160a01b0384166001600160a01b0319909116811790915560408051918252517f82966d27eea39b038ee0fa30cd16532bb24f6e65d31cb58fb227aa5766cdcc7f9181900360200190a1603d80546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f3ca631ffcd2a9b5d9ae18543fc82f58eb4ca33af9e6ab01b7a8e95331e6ed9859181900360200190a1604080518082018252600f81526e2d2aa9a21029ba30b13632b1b7b4b760891b602091820152815180830190925260018252603160f81b9101527fd28848e7c3cbededd42b8bfb722b93a1d091c2e7280388a67bb55fc505b758eb60368190557fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc66037819055611360611398565b60355561138e7f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f838361139c565b6034555050505050565b4690565b60008383836113a9611398565b6040805160208082019690965280820194909452606084019290925260808301523060a0808401919091528151808403909101815260c090920190528051910120949350505050565b6000610f6883836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610e77565b6001600160a01b03811661148f576040805162461bcd60e51b815260206004820152601e60248201527f4163636f756e742063616e6e6f74206265207a65726f20616464726573730000604482015290519081900360640190fd5b803b806106f4576040805162461bcd60e51b815260206004820181905260248201527f4163636f756e7420636f64652073697a652063616e6e6f74206265207a65726f604482015290519081900360640190fdfe45524332303a206275726e20616d6f756e7420657863656564732062616c616e63655a555344546f6b656e3a2043616c6c6572206973206e6f7420426f72726f7765724f7065726174696f6e7345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e63655a5553443a2043616c6c6572206973206e65697468657220426f72726f7765724f7065726174696f6e73206e6f722054726f76654d616e61676572206e6f722053746162696c697479506f6f6c4f776e61626c653a3a7365744f776e65723a20696e76616c696420616464726573735a5553443a2043616e6e6f74207472616e7366657220746f6b656e73206469726563746c7920746f20746865205a55534420746f6b656e20636f6e7472616374206f7220746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365436f6e747261637420696e7374616e63652068617320616c7265616479206265656e20696e697469616c697a65645a5553443a2043616c6c6572206973206e6f74207468652053746162696c697479506f6f6cddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef5a5553443a2043616c6c6572206973206e6569746865722054726f76654d616e61676572206e6f722053746162696c697479506f6f6c45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220f50801aa88b31fd77d008212bfb89f94e9589a1713a72c6a58c4d6412ee8a87f64736f6c634300060b0033", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/packages/lib-ethers/live/ZUSDTokenCaller.json b/packages/lib-ethers/live/ZUSDTokenCaller.json new file mode 100644 index 000000000..4d01a3888 --- /dev/null +++ b/packages/lib-ethers/live/ZUSDTokenCaller.json @@ -0,0 +1,106 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "ZUSDTokenCaller", + "sourceName": "contracts/TestContracts/ZUSDTokenCaller.sol", + "abi": [ + { + "inputs": [ + { + "internalType": "contract IZUSDToken", + "name": "_ZUSD", + "type": "address" + } + ], + "name": "setZUSD", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_account", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "zusdBurn", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_account", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "zusdMint", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_poolAddress", + "type": "address" + }, + { + "internalType": "address", + "name": "_receiver", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "zusdReturnFromPool", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_sender", + "type": "address" + }, + { + "internalType": "address", + "name": "_poolAddress", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "zusdSendToPool", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "bytecode": "0x608060405234801561001057600080fd5b50610331806100206000396000f3fe608060405234801561001057600080fd5b50600436106100575760003560e01c80633703bbd01461005c57806372f2276b1461008a57806373b89e67146100b6578063b4107221146100ec578063fb4b791314610122575b600080fd5b6100886004803603604081101561007257600080fd5b506001600160a01b038135169060200135610148565b005b610088600480360360408110156100a057600080fd5b506001600160a01b0381351690602001356101b6565b610088600480360360608110156100cc57600080fd5b506001600160a01b03813581169160208101359091169060400135610208565b6100886004803603606081101561010257600080fd5b506001600160a01b0381358116916020810135909116906040013561027f565b6100886004803603602081101561013857600080fd5b50356001600160a01b03166102d9565b60008054604080516340c10f1960e01b81526001600160a01b03868116600483015260248201869052915191909216926340c10f19926044808201939182900301818387803b15801561019a57600080fd5b505af11580156101ae573d6000803e3d6000fd5b505050505050565b6000805460408051632770a7eb60e21b81526001600160a01b0386811660048301526024820186905291519190921692639dc29fac926044808201939182900301818387803b15801561019a57600080fd5b6000805460408051632ee65eeb60e21b81526001600160a01b0387811660048301528681166024830152604482018690529151919092169263bb997bac926064808201939182900301818387803b15801561026257600080fd5b505af1158015610276573d6000803e3d6000fd5b50505050505050565b6000805460408051631062c15f60e11b81526001600160a01b038781166004830152868116602483015260448201869052915191909216926320c582be926064808201939182900301818387803b15801561026257600080fd5b600080546001600160a01b0319166001600160a01b039290921691909117905556fea264697066735822122012dfd2301323a81363e6fb38928c17aaa36a218da6c3bd5925b0c712e4b8093064736f6c634300060b0033", + "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100575760003560e01c80633703bbd01461005c57806372f2276b1461008a57806373b89e67146100b6578063b4107221146100ec578063fb4b791314610122575b600080fd5b6100886004803603604081101561007257600080fd5b506001600160a01b038135169060200135610148565b005b610088600480360360408110156100a057600080fd5b506001600160a01b0381351690602001356101b6565b610088600480360360608110156100cc57600080fd5b506001600160a01b03813581169160208101359091169060400135610208565b6100886004803603606081101561010257600080fd5b506001600160a01b0381358116916020810135909116906040013561027f565b6100886004803603602081101561013857600080fd5b50356001600160a01b03166102d9565b60008054604080516340c10f1960e01b81526001600160a01b03868116600483015260248201869052915191909216926340c10f19926044808201939182900301818387803b15801561019a57600080fd5b505af11580156101ae573d6000803e3d6000fd5b505050505050565b6000805460408051632770a7eb60e21b81526001600160a01b0386811660048301526024820186905291519190921692639dc29fac926044808201939182900301818387803b15801561019a57600080fd5b6000805460408051632ee65eeb60e21b81526001600160a01b0387811660048301528681166024830152604482018690529151919092169263bb997bac926064808201939182900301818387803b15801561026257600080fd5b505af1158015610276573d6000803e3d6000fd5b50505050505050565b6000805460408051631062c15f60e11b81526001600160a01b038781166004830152868116602483015260448201869052915191909216926320c582be926064808201939182900301818387803b15801561026257600080fd5b600080546001600160a01b0319166001600160a01b039290921691909117905556fea264697066735822122012dfd2301323a81363e6fb38928c17aaa36a218da6c3bd5925b0c712e4b8093064736f6c634300060b0033", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/packages/lib-ethers/live/ZUSDTokenStorage.json b/packages/lib-ethers/live/ZUSDTokenStorage.json new file mode 100644 index 000000000..3cd45830b --- /dev/null +++ b/packages/lib-ethers/live/ZUSDTokenStorage.json @@ -0,0 +1,10 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "ZUSDTokenStorage", + "sourceName": "contracts/ZUSDTokenStorage.sol", + "abi": [], + "bytecode": "0x6080604052348015600f57600080fd5b50603f80601d6000396000f3fe6080604052600080fdfea26469706673582212209a680acea503c86ad4c6b063d1fb5f966aa9dc664b59a4560b808e353195e63b64736f6c634300060b0033", + "deployedBytecode": "0x6080604052600080fdfea26469706673582212209a680acea503c86ad4c6b063d1fb5f966aa9dc664b59a4560b808e353195e63b64736f6c634300060b0033", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/packages/lib-ethers/live/ZUSDTokenTester.json b/packages/lib-ethers/live/ZUSDTokenTester.json new file mode 100644 index 000000000..0bc06b210 --- /dev/null +++ b/packages/lib-ethers/live/ZUSDTokenTester.json @@ -0,0 +1,808 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "ZUSDTokenTester", + "sourceName": "contracts/TestContracts/ZUSDTokenTester.sol", + "abi": [ + { + "inputs": [ + { + "internalType": "address", + "name": "_troveManagerAddress", + "type": "address" + }, + { + "internalType": "address", + "name": "_stabilityPoolAddress", + "type": "address" + }, + { + "internalType": "address", + "name": "_borrowerOperationsAddress", + "type": "address" + } + ], + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "Approval", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "_newBorrowerOperationsAddress", + "type": "address" + } + ], + "name": "BorrowerOperationsAddressChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousOwner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnershipTransferred", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "_newStabilityPoolAddress", + "type": "address" + } + ], + "name": "StabilityPoolAddressChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "Transfer", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "_troveManagerAddress", + "type": "address" + } + ], + "name": "TroveManagerAddressChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "_user", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "ZUSDTokenBalanceUpdated", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "address", + "name": "spender", + "type": "address" + } + ], + "name": "allowance", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "approve", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "balanceOf", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_account", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "burn", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "callInternalApprove", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "decimals", + "outputs": [ + { + "internalType": "uint8", + "name": "", + "type": "uint8" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "subtractedValue", + "type": "uint256" + } + ], + "name": "decreaseAllowance", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "domainSeparator", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getChainId", + "outputs": [ + { + "internalType": "uint256", + "name": "chainID", + "type": "uint256" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "nonce", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "deadline", + "type": "uint256" + } + ], + "name": "getDigest", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getOwner", + "outputs": [ + { + "internalType": "address", + "name": "_owner", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "addedValue", + "type": "uint256" + } + ], + "name": "increaseAllowance", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_troveManagerAddress", + "type": "address" + }, + { + "internalType": "address", + "name": "_stabilityPoolAddress", + "type": "address" + }, + { + "internalType": "address", + "name": "_borrowerOperationsAddress", + "type": "address" + } + ], + "name": "initialize", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_account", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "mint", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "name", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "name": "nonces", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "deadline", + "type": "uint256" + }, + { + "internalType": "uint8", + "name": "v", + "type": "uint8" + }, + { + "internalType": "bytes32", + "name": "r", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "s", + "type": "bytes32" + } + ], + "name": "permit", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "permitTypeHash", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "digest", + "type": "bytes32" + }, + { + "internalType": "uint8", + "name": "v", + "type": "uint8" + }, + { + "internalType": "bytes32", + "name": "r", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "s", + "type": "bytes32" + } + ], + "name": "recoverAddress", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_poolAddress", + "type": "address" + }, + { + "internalType": "address", + "name": "_receiver", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "returnFromPool", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_sender", + "type": "address" + }, + { + "internalType": "address", + "name": "_poolAddress", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "sendToPool", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_owner", + "type": "address" + } + ], + "name": "setOwner", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "symbol", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "totalSupply", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "recipient", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "transfer", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "sender", + "type": "address" + }, + { + "internalType": "address", + "name": "recipient", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "transferFrom", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_account", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "unprotectedBurn", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_account", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "unprotectedMint", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_poolAddress", + "type": "address" + }, + { + "internalType": "address", + "name": "_receiver", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "unprotectedReturnFromPool", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_sender", + "type": "address" + }, + { + "internalType": "address", + "name": "_poolAddress", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "unprotectedSendToPool", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "version", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + } + ], + "bytecode": "0x60806040523480156200001157600080fd5b506040516200204038038062002040833981810160405260608110156200003757600080fd5b50805160208201516040909201519091906200005c336001600160e01b036200007b16565b620000728383836001600160e01b036200013d16565b505050620005d7565b6001600160a01b038116620000c25760405162461bcd60e51b815260040180806020018281038252602281526020018062001ff06022913960400191505060405180910390fd5b6001600160a01b038116620000df6001600160e01b036200028216565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3604080517035b2bc9737bbb730b136329737bbb732b960791b8152905190819003601101902055565b600054610100900460ff1680620001625750620001626001600160e01b03620002ac16565b8062000171575060005460ff16155b620001ae5760405162461bcd60e51b815260040180806020018281038252602e81526020018062002012602e913960400191505060405180910390fd5b600054610100900460ff16158015620001da576000805460ff1961ff0019909116610100171660011790555b620001ed6001600160e01b036200028216565b6001600160a01b0316336001600160a01b03161462000253576040805162461bcd60e51b815260206004820152601760248201527f4f776e61626c653a3a206163636573732064656e696564000000000000000000604482015290519081900360640190fd5b620002698484846001600160e01b03620002b216565b80156200027c576000805461ff00191690555b50505050565b604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205490565b303b1590565b620002c6836001600160e01b03620004bd16565b620002da826001600160e01b03620004bd16565b620002ee816001600160e01b03620004bd16565b603b80546001600160a01b0385166001600160a01b0319909116811790915560408051918252517f143219c9e69b09e07e095fcc889b43d8f46ca892bba65f08dc3a0050869a56789181900360200190a1603c80546001600160a01b0384166001600160a01b0319909116811790915560408051918252517f82966d27eea39b038ee0fa30cd16532bb24f6e65d31cb58fb227aa5766cdcc7f9181900360200190a1603d80546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f3ca631ffcd2a9b5d9ae18543fc82f58eb4ca33af9e6ab01b7a8e95331e6ed9859181900360200190a1604080518082018252600f81526e2d2aa9a21029ba30b13632b1b7b4b760891b602091820152815180830190925260018252603160f81b9101527fd28848e7c3cbededd42b8bfb722b93a1d091c2e7280388a67bb55fc505b758eb60368190557fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660378190556200047a6001600160e01b036200057216565b603555620004b37f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83836001600160e01b036200057616565b6034555050505050565b6001600160a01b03811662000519576040805162461bcd60e51b815260206004820152601e60248201527f4163636f756e742063616e6e6f74206265207a65726f20616464726573730000604482015290519081900360640190fd5b803b806200056e576040805162461bcd60e51b815260206004820181905260248201527f4163636f756e7420636f64652073697a652063616e6e6f74206265207a65726f604482015290519081900360640190fd5b5050565b4690565b60008383836200058e6001600160e01b036200057216565b6040805160208082019690965280820194909452606084019290925260808301523060a0808401919091528151808403909101815260c090920190528051910120949350505050565b611a0980620005e76000396000f3fe608060405234801561001057600080fd5b50600436106101a55760003560e01c8063519e2cee116100ef578063a457c2d711610092578063a457c2d71461057f578063a9059cbb146105ab578063b655c276146103d1578063bb997bac146105d7578063c0c53b8b1461060d578063d505accf14610645578063dd62ed3e14610696578063f698da25146106c4576101a5565b8063519e2cee1461045f57806354fd4d50146104a157806370a08231146104a95780637ecebe00146104cf5780638428cf83146104f5578063893d20e81461054357806395d89b411461054b5780639dc29fac14610553576101a5565b806323b872dd1161015757806323b872dd1461031d578063313ce567146103535780633408e4701461037157806339509351146103795780633ab60582146103a55780633dc2ea6d146103d157806340c10f19146104075780635099f99f14610433576101a5565b806303d99946146101aa57806306fdde03146101f4578063095ea7b31461027157806310ce43bd1461029d57806313af4035146102b757806318160ddd146102df57806320c582be146102e7575b600080fd5b6101e0600480360360608110156101c057600080fd5b506001600160a01b038135811691602081013590911690604001356106cc565b604080519115158252519081900360200190f35b6101fc6106e0565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561023657818101518382015260200161021e565b50505050905090810190601f1680156102635780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101e06004803603604081101561028757600080fd5b506001600160a01b03813516906020013561070a565b6102a5610720565b60408051918252519081900360200190f35b6102dd600480360360208110156102cd57600080fd5b50356001600160a01b0316610732565b005b6102a56107a5565b6102dd600480360360608110156102fd57600080fd5b506001600160a01b038135811691602081013590911690604001356107ab565b6101e06004803603606081101561033357600080fd5b506001600160a01b038135811691602081013590911690604001356107c3565b61035b61083b565b6040805160ff9092168252519081900360200190f35b6102a5610840565b6101e06004803603604081101561038f57600080fd5b506001600160a01b038135169060200135610844565b6102dd600480360360408110156103bb57600080fd5b506001600160a01b038135169060200135610880565b6102dd600480360360608110156103e757600080fd5b506001600160a01b038135811691602081013590911690604001356107b3565b6102dd6004803603604081101561041d57600080fd5b506001600160a01b03813516906020013561088e565b6102dd6004803603604081101561044957600080fd5b506001600160a01b038135169060200135610896565b6102a5600480360360a081101561047557600080fd5b506001600160a01b038135811691602081013590911690604081013590606081013590608001356108a0565b6101fc610957565b6102a5600480360360208110156104bf57600080fd5b50356001600160a01b0316610972565b6102a5600480360360208110156104e557600080fd5b50356001600160a01b031661098d565b6105276004803603608081101561050b57600080fd5b5080359060ff60208201351690604081013590606001356109a8565b604080516001600160a01b039092168252519081900360200190f35b610527610a14565b6101fc610a3e565b6102dd6004803603604081101561056957600080fd5b506001600160a01b038135169060200135610a5c565b6101e06004803603604081101561059557600080fd5b506001600160a01b038135169060200135610a64565b6101e0600480360360408110156105c157600080fd5b506001600160a01b038135169060200135610ab9565b6102dd600480360360608110156105ed57600080fd5b506001600160a01b03813581169160208101359091169060400135610acf565b6102dd6004803603606081101561062357600080fd5b506001600160a01b038135811691602081013582169160409091013516610ad7565b6102dd600480360360e081101561065b57600080fd5b506001600160a01b03813581169160208101359091169060408101359060608101359060ff6080820135169060a08101359060c00135610bee565b6102a5600480360360408110156106ac57600080fd5b506001600160a01b0381358116916020013516610dd1565b6102a5610dfc565b60006106d9848484610e51565b9392505050565b60408051808201909152600f81526e2d2aa9a21029ba30b13632b1b7b4b760891b60208201525b90565b6000610717338484610e51565b50600192915050565b60008051602061195983398151915290565b61073a610a14565b6001600160a01b0316336001600160a01b031614610799576040805162461bcd60e51b815260206004820152601760248201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604482015290519081900360640190fd5b6107a281610ed3565b50565b60335490565b6107b3610f88565b6107be838383610fe8565b505050565b60006107ce836110ca565b6107d9848484610fe8565b610831843361082c856040518060600160405280602881526020016118be602891396001600160a01b038a166000908152603a60209081526040808320338452909152902054919063ffffffff61112616565b610e51565b5060019392505050565b601290565b4690565b336000818152603a602090815260408083206001600160a01b0387168452909152812054909161071791859061082c908663ffffffff6111bd16565b61088a8282611217565b5050565b6108966112cc565b61088a8282611315565b60006119016108ad610dfc565b604080516000805160206119598339815191526020808301919091526001600160a01b03808c16838501528a1660608301526080820189905260a0820188905260c08083018890528351808403909101815260e0830184528051908201206001600160f01b031960f09690961b9590951661010083015261010282019390935261012280820194909452815180820390940184526101420190528151910120905095945050505050565b6040805180820190915260018152603160f81b602082015290565b6001600160a01b031660009081526039602052604090205490565b6001600160a01b031660009081526038602052604090205490565b604080516000808252602080830180855288905260ff87168385015260608301869052608083018590529251909260019260a080820193601f1981019281900390910190855afa158015610a00573d6000803e3d6000fd5b5050604051601f1901519695505050505050565b604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205490565b604080518082019091526004815263169554d160e21b602082015290565b6108806113aa565b6000610717338461082c856040518060600160405280602581526020016119af60259139336000908152603a602090815260408083206001600160a01b038d168452909152902054919063ffffffff61112616565b6000610ac4836110ca565b610717338484610fe8565b6107b361141d565b600054610100900460ff1680610af05750610af0611466565b80610afe575060005460ff16155b610b395760405162461bcd60e51b815260040180806020018281038252602e8152602001806118e6602e913960400191505060405180910390fd5b600054610100900460ff16158015610b64576000805460ff1961ff0019909116610100171660011790555b610b6c610a14565b6001600160a01b0316336001600160a01b031614610bcb576040805162461bcd60e51b815260206004820152601760248201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604482015290519081900360640190fd5b610bd684848461146c565b8015610be8576000805461ff00191690555b50505050565b42841015610c3c576040805162461bcd60e51b81526020600482015260166024820152755a5553443a206578706972656420646561646c696e6560501b604482015290519081900360640190fd5b6000610c46610dfc565b6001600160a01b03808a1660008181526038602090815260408083208054600180820190925582516000805160206119598339815191528186015280840196909652958e166060860152608085018d905260a085019590955260c08085018c90528151808603909101815260e08501825280519083012061190160f01b6101008601526101028501969096526101228085019690965280518085039096018652610142840180825286519683019690962095839052610162840180825286905260ff8a166101828501526101a284018990526101c284018890525194955090936101e280840193601f198301929081900390910190855afa158015610d4f573d6000803e3d6000fd5b505050602060405103519050886001600160a01b0316816001600160a01b031614610dbb576040805162461bcd60e51b81526020600482015260176024820152765a5553443a20696e76616c6964207369676e617475726560481b604482015290519081900360640190fd5b610dc6898989610e51565b505050505050505050565b6001600160a01b039182166000908152603a6020908152604080832093909416825291909152205490565b6000603554610e09610840565b1415610e185750603454610707565b610e4a7f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60001b603654603754611640565b9050610707565b6001600160a01b038316610e6157fe5b6001600160a01b038216610e7157fe5b6001600160a01b038084166000818152603a6020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b038116610f185760405162461bcd60e51b81526004018080602001828103825260228152602001806118486022913960400191505060405180910390fd5b806001600160a01b0316610f2a610a14565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3604080517035b2bc9737bbb730b136329737bbb732b960791b8152905190819003601101902055565b603b546001600160a01b0316331480610fab5750603c546001600160a01b031633145b610fe65760405162461bcd60e51b81526004018080602001828103825260368152602001806119796036913960400191505060405180910390fd5b565b6001600160a01b038316610ff857fe5b6001600160a01b03821661100857fe5b61104b816040518060600160405280602681526020016117d5602691396001600160a01b038616600090815260396020526040902054919063ffffffff61112616565b6001600160a01b038085166000908152603960205260408082209390935590841681522054611080908263ffffffff6111bd16565b6001600160a01b03808416600081815260396020908152604091829020949094558051858152905191939287169260008051602061193983398151915292918290030190a3505050565b6001600160a01b038116158015906110eb57506001600160a01b0381163014155b6107a25760405162461bcd60e51b815260040180806020018281038252605481526020018061186a6054913960600191505060405180910390fd5b600081848411156111b55760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561117a578181015183820152602001611162565b50505050905090810190601f1680156111a75780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b6000828201838110156106d9576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b6001600160a01b03821661122757fe5b61126a81604051806060016040528060228152602001611788602291396001600160a01b038516600090815260396020526040902054919063ffffffff61112616565b6001600160a01b038316600090815260396020526040902055603354611296908263ffffffff61169616565b6033556040805182815290516000916001600160a01b038516916000805160206119398339815191529181900360200190a35050565b603d546001600160a01b03163314610fe65760405162461bcd60e51b815260040180806020018281038252602b8152602001806117aa602b913960400191505060405180910390fd5b6001600160a01b03821661132557fe5b603354611338908263ffffffff6111bd16565b6033556001600160a01b038216600090815260396020526040902054611364908263ffffffff6111bd16565b6001600160a01b03831660008181526039602090815260408083209490945583518581529351929391926000805160206119398339815191529281900390910190a35050565b603d546001600160a01b03163314806113cd5750603b546001600160a01b031633145b806113e25750603c546001600160a01b031633145b610fe65760405162461bcd60e51b815260040180806020018281038252604d8152602001806117fb604d913960600191505060405180910390fd5b603c546001600160a01b03163314610fe65760405162461bcd60e51b81526004018080602001828103825260258152602001806119146025913960400191505060405180910390fd5b303b1590565b611475836116d8565b61147e826116d8565b611487816116d8565b603b80546001600160a01b0385166001600160a01b0319909116811790915560408051918252517f143219c9e69b09e07e095fcc889b43d8f46ca892bba65f08dc3a0050869a56789181900360200190a1603c80546001600160a01b0384166001600160a01b0319909116811790915560408051918252517f82966d27eea39b038ee0fa30cd16532bb24f6e65d31cb58fb227aa5766cdcc7f9181900360200190a1603d80546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f3ca631ffcd2a9b5d9ae18543fc82f58eb4ca33af9e6ab01b7a8e95331e6ed9859181900360200190a1604080518082018252600f81526e2d2aa9a21029ba30b13632b1b7b4b760891b602091820152815180830190925260018252603160f81b9101527fd28848e7c3cbededd42b8bfb722b93a1d091c2e7280388a67bb55fc505b758eb60368190557fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc66037819055611608610840565b6035556116367f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8383611640565b6034555050505050565b600083838361164d610840565b6040805160208082019690965280820194909452606084019290925260808301523060a0808401919091528151808403909101815260c090920190528051910120949350505050565b60006106d983836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611126565b6001600160a01b038116611733576040805162461bcd60e51b815260206004820152601e60248201527f4163636f756e742063616e6e6f74206265207a65726f20616464726573730000604482015290519081900360640190fd5b803b8061088a576040805162461bcd60e51b815260206004820181905260248201527f4163636f756e7420636f64652073697a652063616e6e6f74206265207a65726f604482015290519081900360640190fdfe45524332303a206275726e20616d6f756e7420657863656564732062616c616e63655a555344546f6b656e3a2043616c6c6572206973206e6f7420426f72726f7765724f7065726174696f6e7345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e63655a5553443a2043616c6c6572206973206e65697468657220426f72726f7765724f7065726174696f6e73206e6f722054726f76654d616e61676572206e6f722053746162696c697479506f6f6c4f776e61626c653a3a7365744f776e65723a20696e76616c696420616464726573735a5553443a2043616e6e6f74207472616e7366657220746f6b656e73206469726563746c7920746f20746865205a55534420746f6b656e20636f6e7472616374206f7220746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365436f6e747261637420696e7374616e63652068617320616c7265616479206265656e20696e697469616c697a65645a5553443a2043616c6c6572206973206e6f74207468652053746162696c697479506f6f6cddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c95a5553443a2043616c6c6572206973206e6569746865722054726f76654d616e61676572206e6f722053746162696c697479506f6f6c45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220cf94bdb6eb90c532d4c1cc0b9af6913b9d12393330e376b716cfcf8fc492447664736f6c634300060b00334f776e61626c653a3a7365744f776e65723a20696e76616c69642061646472657373436f6e747261637420696e7374616e63652068617320616c7265616479206265656e20696e697469616c697a6564", + "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106101a55760003560e01c8063519e2cee116100ef578063a457c2d711610092578063a457c2d71461057f578063a9059cbb146105ab578063b655c276146103d1578063bb997bac146105d7578063c0c53b8b1461060d578063d505accf14610645578063dd62ed3e14610696578063f698da25146106c4576101a5565b8063519e2cee1461045f57806354fd4d50146104a157806370a08231146104a95780637ecebe00146104cf5780638428cf83146104f5578063893d20e81461054357806395d89b411461054b5780639dc29fac14610553576101a5565b806323b872dd1161015757806323b872dd1461031d578063313ce567146103535780633408e4701461037157806339509351146103795780633ab60582146103a55780633dc2ea6d146103d157806340c10f19146104075780635099f99f14610433576101a5565b806303d99946146101aa57806306fdde03146101f4578063095ea7b31461027157806310ce43bd1461029d57806313af4035146102b757806318160ddd146102df57806320c582be146102e7575b600080fd5b6101e0600480360360608110156101c057600080fd5b506001600160a01b038135811691602081013590911690604001356106cc565b604080519115158252519081900360200190f35b6101fc6106e0565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561023657818101518382015260200161021e565b50505050905090810190601f1680156102635780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101e06004803603604081101561028757600080fd5b506001600160a01b03813516906020013561070a565b6102a5610720565b60408051918252519081900360200190f35b6102dd600480360360208110156102cd57600080fd5b50356001600160a01b0316610732565b005b6102a56107a5565b6102dd600480360360608110156102fd57600080fd5b506001600160a01b038135811691602081013590911690604001356107ab565b6101e06004803603606081101561033357600080fd5b506001600160a01b038135811691602081013590911690604001356107c3565b61035b61083b565b6040805160ff9092168252519081900360200190f35b6102a5610840565b6101e06004803603604081101561038f57600080fd5b506001600160a01b038135169060200135610844565b6102dd600480360360408110156103bb57600080fd5b506001600160a01b038135169060200135610880565b6102dd600480360360608110156103e757600080fd5b506001600160a01b038135811691602081013590911690604001356107b3565b6102dd6004803603604081101561041d57600080fd5b506001600160a01b03813516906020013561088e565b6102dd6004803603604081101561044957600080fd5b506001600160a01b038135169060200135610896565b6102a5600480360360a081101561047557600080fd5b506001600160a01b038135811691602081013590911690604081013590606081013590608001356108a0565b6101fc610957565b6102a5600480360360208110156104bf57600080fd5b50356001600160a01b0316610972565b6102a5600480360360208110156104e557600080fd5b50356001600160a01b031661098d565b6105276004803603608081101561050b57600080fd5b5080359060ff60208201351690604081013590606001356109a8565b604080516001600160a01b039092168252519081900360200190f35b610527610a14565b6101fc610a3e565b6102dd6004803603604081101561056957600080fd5b506001600160a01b038135169060200135610a5c565b6101e06004803603604081101561059557600080fd5b506001600160a01b038135169060200135610a64565b6101e0600480360360408110156105c157600080fd5b506001600160a01b038135169060200135610ab9565b6102dd600480360360608110156105ed57600080fd5b506001600160a01b03813581169160208101359091169060400135610acf565b6102dd6004803603606081101561062357600080fd5b506001600160a01b038135811691602081013582169160409091013516610ad7565b6102dd600480360360e081101561065b57600080fd5b506001600160a01b03813581169160208101359091169060408101359060608101359060ff6080820135169060a08101359060c00135610bee565b6102a5600480360360408110156106ac57600080fd5b506001600160a01b0381358116916020013516610dd1565b6102a5610dfc565b60006106d9848484610e51565b9392505050565b60408051808201909152600f81526e2d2aa9a21029ba30b13632b1b7b4b760891b60208201525b90565b6000610717338484610e51565b50600192915050565b60008051602061195983398151915290565b61073a610a14565b6001600160a01b0316336001600160a01b031614610799576040805162461bcd60e51b815260206004820152601760248201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604482015290519081900360640190fd5b6107a281610ed3565b50565b60335490565b6107b3610f88565b6107be838383610fe8565b505050565b60006107ce836110ca565b6107d9848484610fe8565b610831843361082c856040518060600160405280602881526020016118be602891396001600160a01b038a166000908152603a60209081526040808320338452909152902054919063ffffffff61112616565b610e51565b5060019392505050565b601290565b4690565b336000818152603a602090815260408083206001600160a01b0387168452909152812054909161071791859061082c908663ffffffff6111bd16565b61088a8282611217565b5050565b6108966112cc565b61088a8282611315565b60006119016108ad610dfc565b604080516000805160206119598339815191526020808301919091526001600160a01b03808c16838501528a1660608301526080820189905260a0820188905260c08083018890528351808403909101815260e0830184528051908201206001600160f01b031960f09690961b9590951661010083015261010282019390935261012280820194909452815180820390940184526101420190528151910120905095945050505050565b6040805180820190915260018152603160f81b602082015290565b6001600160a01b031660009081526039602052604090205490565b6001600160a01b031660009081526038602052604090205490565b604080516000808252602080830180855288905260ff87168385015260608301869052608083018590529251909260019260a080820193601f1981019281900390910190855afa158015610a00573d6000803e3d6000fd5b5050604051601f1901519695505050505050565b604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205490565b604080518082019091526004815263169554d160e21b602082015290565b6108806113aa565b6000610717338461082c856040518060600160405280602581526020016119af60259139336000908152603a602090815260408083206001600160a01b038d168452909152902054919063ffffffff61112616565b6000610ac4836110ca565b610717338484610fe8565b6107b361141d565b600054610100900460ff1680610af05750610af0611466565b80610afe575060005460ff16155b610b395760405162461bcd60e51b815260040180806020018281038252602e8152602001806118e6602e913960400191505060405180910390fd5b600054610100900460ff16158015610b64576000805460ff1961ff0019909116610100171660011790555b610b6c610a14565b6001600160a01b0316336001600160a01b031614610bcb576040805162461bcd60e51b815260206004820152601760248201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604482015290519081900360640190fd5b610bd684848461146c565b8015610be8576000805461ff00191690555b50505050565b42841015610c3c576040805162461bcd60e51b81526020600482015260166024820152755a5553443a206578706972656420646561646c696e6560501b604482015290519081900360640190fd5b6000610c46610dfc565b6001600160a01b03808a1660008181526038602090815260408083208054600180820190925582516000805160206119598339815191528186015280840196909652958e166060860152608085018d905260a085019590955260c08085018c90528151808603909101815260e08501825280519083012061190160f01b6101008601526101028501969096526101228085019690965280518085039096018652610142840180825286519683019690962095839052610162840180825286905260ff8a166101828501526101a284018990526101c284018890525194955090936101e280840193601f198301929081900390910190855afa158015610d4f573d6000803e3d6000fd5b505050602060405103519050886001600160a01b0316816001600160a01b031614610dbb576040805162461bcd60e51b81526020600482015260176024820152765a5553443a20696e76616c6964207369676e617475726560481b604482015290519081900360640190fd5b610dc6898989610e51565b505050505050505050565b6001600160a01b039182166000908152603a6020908152604080832093909416825291909152205490565b6000603554610e09610840565b1415610e185750603454610707565b610e4a7f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60001b603654603754611640565b9050610707565b6001600160a01b038316610e6157fe5b6001600160a01b038216610e7157fe5b6001600160a01b038084166000818152603a6020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b038116610f185760405162461bcd60e51b81526004018080602001828103825260228152602001806118486022913960400191505060405180910390fd5b806001600160a01b0316610f2a610a14565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3604080517035b2bc9737bbb730b136329737bbb732b960791b8152905190819003601101902055565b603b546001600160a01b0316331480610fab5750603c546001600160a01b031633145b610fe65760405162461bcd60e51b81526004018080602001828103825260368152602001806119796036913960400191505060405180910390fd5b565b6001600160a01b038316610ff857fe5b6001600160a01b03821661100857fe5b61104b816040518060600160405280602681526020016117d5602691396001600160a01b038616600090815260396020526040902054919063ffffffff61112616565b6001600160a01b038085166000908152603960205260408082209390935590841681522054611080908263ffffffff6111bd16565b6001600160a01b03808416600081815260396020908152604091829020949094558051858152905191939287169260008051602061193983398151915292918290030190a3505050565b6001600160a01b038116158015906110eb57506001600160a01b0381163014155b6107a25760405162461bcd60e51b815260040180806020018281038252605481526020018061186a6054913960600191505060405180910390fd5b600081848411156111b55760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561117a578181015183820152602001611162565b50505050905090810190601f1680156111a75780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b6000828201838110156106d9576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b6001600160a01b03821661122757fe5b61126a81604051806060016040528060228152602001611788602291396001600160a01b038516600090815260396020526040902054919063ffffffff61112616565b6001600160a01b038316600090815260396020526040902055603354611296908263ffffffff61169616565b6033556040805182815290516000916001600160a01b038516916000805160206119398339815191529181900360200190a35050565b603d546001600160a01b03163314610fe65760405162461bcd60e51b815260040180806020018281038252602b8152602001806117aa602b913960400191505060405180910390fd5b6001600160a01b03821661132557fe5b603354611338908263ffffffff6111bd16565b6033556001600160a01b038216600090815260396020526040902054611364908263ffffffff6111bd16565b6001600160a01b03831660008181526039602090815260408083209490945583518581529351929391926000805160206119398339815191529281900390910190a35050565b603d546001600160a01b03163314806113cd5750603b546001600160a01b031633145b806113e25750603c546001600160a01b031633145b610fe65760405162461bcd60e51b815260040180806020018281038252604d8152602001806117fb604d913960600191505060405180910390fd5b603c546001600160a01b03163314610fe65760405162461bcd60e51b81526004018080602001828103825260258152602001806119146025913960400191505060405180910390fd5b303b1590565b611475836116d8565b61147e826116d8565b611487816116d8565b603b80546001600160a01b0385166001600160a01b0319909116811790915560408051918252517f143219c9e69b09e07e095fcc889b43d8f46ca892bba65f08dc3a0050869a56789181900360200190a1603c80546001600160a01b0384166001600160a01b0319909116811790915560408051918252517f82966d27eea39b038ee0fa30cd16532bb24f6e65d31cb58fb227aa5766cdcc7f9181900360200190a1603d80546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f3ca631ffcd2a9b5d9ae18543fc82f58eb4ca33af9e6ab01b7a8e95331e6ed9859181900360200190a1604080518082018252600f81526e2d2aa9a21029ba30b13632b1b7b4b760891b602091820152815180830190925260018252603160f81b9101527fd28848e7c3cbededd42b8bfb722b93a1d091c2e7280388a67bb55fc505b758eb60368190557fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc66037819055611608610840565b6035556116367f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8383611640565b6034555050505050565b600083838361164d610840565b6040805160208082019690965280820194909452606084019290925260808301523060a0808401919091528151808403909101815260c090920190528051910120949350505050565b60006106d983836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611126565b6001600160a01b038116611733576040805162461bcd60e51b815260206004820152601e60248201527f4163636f756e742063616e6e6f74206265207a65726f20616464726573730000604482015290519081900360640190fd5b803b8061088a576040805162461bcd60e51b815260206004820181905260248201527f4163636f756e7420636f64652073697a652063616e6e6f74206265207a65726f604482015290519081900360640190fdfe45524332303a206275726e20616d6f756e7420657863656564732062616c616e63655a555344546f6b656e3a2043616c6c6572206973206e6f7420426f72726f7765724f7065726174696f6e7345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e63655a5553443a2043616c6c6572206973206e65697468657220426f72726f7765724f7065726174696f6e73206e6f722054726f76654d616e61676572206e6f722053746162696c697479506f6f6c4f776e61626c653a3a7365744f776e65723a20696e76616c696420616464726573735a5553443a2043616e6e6f74207472616e7366657220746f6b656e73206469726563746c7920746f20746865205a55534420746f6b656e20636f6e7472616374206f7220746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365436f6e747261637420696e7374616e63652068617320616c7265616479206265656e20696e697469616c697a65645a5553443a2043616c6c6572206973206e6f74207468652053746162696c697479506f6f6cddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c95a5553443a2043616c6c6572206973206e6569746865722054726f76654d616e61676572206e6f722053746162696c697479506f6f6c45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220cf94bdb6eb90c532d4c1cc0b9af6913b9d12393330e376b716cfcf8fc492447664736f6c634300060b0033", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/packages/lib-ethers/live/ZUSDTokenTestnet.json b/packages/lib-ethers/live/ZUSDTokenTestnet.json new file mode 100644 index 000000000..82f37e514 --- /dev/null +++ b/packages/lib-ethers/live/ZUSDTokenTestnet.json @@ -0,0 +1,590 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "ZUSDTokenTestnet", + "sourceName": "contracts/TestContracts/ZUSDTokenTestnet.sol", + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "Approval", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "_newBorrowerOperationsAddress", + "type": "address" + } + ], + "name": "BorrowerOperationsAddressChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousOwner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnershipTransferred", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "_newStabilityPoolAddress", + "type": "address" + } + ], + "name": "StabilityPoolAddressChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "Transfer", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "_troveManagerAddress", + "type": "address" + } + ], + "name": "TroveManagerAddressChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "_user", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "ZUSDTokenBalanceUpdated", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "address", + "name": "spender", + "type": "address" + } + ], + "name": "allowance", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "approve", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "balanceOf", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_account", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "burn", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "decimals", + "outputs": [ + { + "internalType": "uint8", + "name": "", + "type": "uint8" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "subtractedValue", + "type": "uint256" + } + ], + "name": "decreaseAllowance", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "domainSeparator", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getOwner", + "outputs": [ + { + "internalType": "address", + "name": "_owner", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "addedValue", + "type": "uint256" + } + ], + "name": "increaseAllowance", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_troveManagerAddress", + "type": "address" + }, + { + "internalType": "address", + "name": "_stabilityPoolAddress", + "type": "address" + }, + { + "internalType": "address", + "name": "_borrowerOperationsAddress", + "type": "address" + } + ], + "name": "initialize", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_account", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "mint", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "name", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "name": "nonces", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "deadline", + "type": "uint256" + }, + { + "internalType": "uint8", + "name": "v", + "type": "uint8" + }, + { + "internalType": "bytes32", + "name": "r", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "s", + "type": "bytes32" + } + ], + "name": "permit", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "permitTypeHash", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_poolAddress", + "type": "address" + }, + { + "internalType": "address", + "name": "_receiver", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "returnFromPool", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_sender", + "type": "address" + }, + { + "internalType": "address", + "name": "_poolAddress", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "sendToPool", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_owner", + "type": "address" + } + ], + "name": "setOwner", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "symbol", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "totalSupply", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "recipient", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "transfer", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "sender", + "type": "address" + }, + { + "internalType": "address", + "name": "recipient", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "transferFrom", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "version", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + } + ], + "bytecode": "0x608060405234801561001057600080fd5b50610023336001600160e01b0361002816565b610110565b6001600160a01b03811661006d5760405162461bcd60e51b815260040180806020018281038252602281526020018061178b6022913960400191505060405180910390fd5b6001600160a01b0381166100886001600160e01b036100e616565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3604080517035b2bc9737bbb730b136329737bbb732b960791b8152905190819003601101902055565b604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205490565b61166c8061011f6000396000f3fe608060405234801561001057600080fd5b506004361061014d5760003560e01c806370a08231116100c3578063a9059cbb1161007c578063a9059cbb14610413578063bb997bac1461043f578063c0c53b8b14610475578063d505accf146104ad578063dd62ed3e146104fe578063f698da251461052c5761014d565b806370a08231146103435780637ecebe0014610369578063893d20e81461038f57806395d89b41146103b35780639dc29fac146103bb578063a457c2d7146103e75761014d565b806320c582be1161011557806320c582be1461025957806323b872dd1461028f578063313ce567146102c557806339509351146102e357806340c10f191461030f57806354fd4d501461033b5761014d565b806306fdde0314610152578063095ea7b3146101cf57806310ce43bd1461020f57806313af40351461022957806318160ddd14610251575b600080fd5b61015a610534565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561019457818101518382015260200161017c565b50505050905090810190601f1680156101c15780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101fb600480360360408110156101e557600080fd5b506001600160a01b03813516906020013561055e565b604080519115158252519081900360200190f35b610217610574565b60408051918252519081900360200190f35b61024f6004803603602081101561023f57600080fd5b50356001600160a01b0316610598565b005b61021761060b565b61024f6004803603606081101561026f57600080fd5b506001600160a01b03813581169160208101359091169060400135610611565b6101fb600480360360608110156102a557600080fd5b506001600160a01b03813581169160208101359091169060400135610629565b6102cd6106a1565b6040805160ff9092168252519081900360200190f35b6101fb600480360360408110156102f957600080fd5b506001600160a01b0381351690602001356106a6565b61024f6004803603604081101561032557600080fd5b506001600160a01b0381351690602001356106e2565b61015a6106f8565b6102176004803603602081101561035957600080fd5b50356001600160a01b0316610713565b6102176004803603602081101561037f57600080fd5b50356001600160a01b031661072e565b610397610749565b604080516001600160a01b039092168252519081900360200190f35b61015a610773565b61024f600480360360408110156103d157600080fd5b506001600160a01b038135169060200135610791565b6101fb600480360360408110156103fd57600080fd5b506001600160a01b0381351690602001356107a3565b6101fb6004803603604081101561042957600080fd5b506001600160a01b0381351690602001356107f8565b61024f6004803603606081101561045557600080fd5b506001600160a01b0381358116916020810135909116906040013561080e565b61024f6004803603606081101561048b57600080fd5b506001600160a01b038135811691602081013582169160409091013516610816565b61024f600480360360e08110156104c357600080fd5b506001600160a01b03813581169160208101359091169060408101359060608101359060ff6080820135169060a08101359060c00135610888565b6102176004803603604081101561051457600080fd5b506001600160a01b0381358116916020013516610a7d565b610217610aa8565b60408051808201909152600f81526e2d2aa9a21029ba30b13632b1b7b4b760891b60208201525b90565b600061056b338484610afd565b50600192915050565b7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c990565b6105a0610749565b6001600160a01b0316336001600160a01b0316146105ff576040805162461bcd60e51b815260206004820152601760248201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604482015290519081900360640190fd5b61060881610b7f565b50565b60335490565b610619610c34565b610624838383610c94565b505050565b600061063483610d76565b61063f848484610c94565b61069784336106928560405180606001604052806028815260200161156f602891396001600160a01b038a166000908152603a60209081526040808320338452909152902054919063ffffffff610dd216565b610afd565b5060019392505050565b601290565b336000818152603a602090815260408083206001600160a01b0387168452909152812054909161056b918590610692908663ffffffff610e6916565b6106ea610eca565b6106f48282610f13565b5050565b6040805180820190915260018152603160f81b602082015290565b6001600160a01b031660009081526039602052604090205490565b6001600160a01b031660009081526038602052604090205490565b604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205490565b604080518082019091526004815263169554d160e21b602082015290565b610799610fa8565b6106f4828261101b565b600061056b33846106928560405180606001604052806025815260200161161260259139336000908152603a602090815260408083206001600160a01b038d168452909152902054919063ffffffff610dd216565b600061080383610d76565b61056b338484610c94565b6106196110d0565b61081e610749565b6001600160a01b0316336001600160a01b03161461087d576040805162461bcd60e51b815260206004820152601760248201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604482015290519081900360640190fd5b610624838383611119565b428410156108d6576040805162461bcd60e51b81526020600482015260166024820152755a5553443a206578706972656420646561646c696e6560501b604482015290519081900360640190fd5b60006108e0610aa8565b6001600160a01b03808a1660008181526038602090815260408083208054600180820190925582517f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98186015280840196909652958e166060860152608085018d905260a085019590955260c08085018c90528151808603909101815260e08501825280519083012061190160f01b6101008601526101028501969096526101228085019690965280518085039096018652610142840180825286519683019690962095839052610162840180825286905260ff8a166101828501526101a284018990526101c284018890525194955090936101e280840193601f198301929081900390910190855afa1580156109fb573d6000803e3d6000fd5b505050602060405103519050886001600160a01b0316816001600160a01b031614610a67576040805162461bcd60e51b81526020600482015260176024820152765a5553443a20696e76616c6964207369676e617475726560481b604482015290519081900360640190fd5b610a72898989610afd565b505050505050505050565b6001600160a01b039182166000908152603a6020908152604080832093909416825291909152205490565b6000603554610ab56112ed565b1415610ac4575060345461055b565b610af67f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60001b6036546037546112f1565b905061055b565b6001600160a01b038316610b0d57fe5b6001600160a01b038216610b1d57fe5b6001600160a01b038084166000818152603a6020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b038116610bc45760405162461bcd60e51b81526004018080602001828103825260228152602001806114f96022913960400191505060405180910390fd5b806001600160a01b0316610bd6610749565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3604080517035b2bc9737bbb730b136329737bbb732b960791b8152905190819003601101902055565b603b546001600160a01b0316331480610c575750603c546001600160a01b031633145b610c925760405162461bcd60e51b81526004018080602001828103825260368152602001806115dc6036913960400191505060405180910390fd5b565b6001600160a01b038316610ca457fe5b6001600160a01b038216610cb457fe5b610cf781604051806060016040528060268152602001611486602691396001600160a01b038616600090815260396020526040902054919063ffffffff610dd216565b6001600160a01b038085166000908152603960205260408082209390935590841681522054610d2c908263ffffffff610e6916565b6001600160a01b0380841660008181526039602090815260409182902094909455805185815290519193928716926000805160206115bc83398151915292918290030190a3505050565b6001600160a01b03811615801590610d9757506001600160a01b0381163014155b6106085760405162461bcd60e51b815260040180806020018281038252605481526020018061151b6054913960600191505060405180910390fd5b60008184841115610e615760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610e26578181015183820152602001610e0e565b50505050905090810190601f168015610e535780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b600082820183811015610ec3576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b603d546001600160a01b03163314610c925760405162461bcd60e51b815260040180806020018281038252602b81526020018061145b602b913960400191505060405180910390fd5b6001600160a01b038216610f2357fe5b603354610f36908263ffffffff610e6916565b6033556001600160a01b038216600090815260396020526040902054610f62908263ffffffff610e6916565b6001600160a01b03831660008181526039602090815260408083209490945583518581529351929391926000805160206115bc8339815191529281900390910190a35050565b603d546001600160a01b0316331480610fcb5750603b546001600160a01b031633145b80610fe05750603c546001600160a01b031633145b610c925760405162461bcd60e51b815260040180806020018281038252604d8152602001806114ac604d913960600191505060405180910390fd5b6001600160a01b03821661102b57fe5b61106e81604051806060016040528060228152602001611439602291396001600160a01b038516600090815260396020526040902054919063ffffffff610dd216565b6001600160a01b03831660009081526039602052604090205560335461109a908263ffffffff61134716565b6033556040805182815290516000916001600160a01b038516916000805160206115bc8339815191529181900360200190a35050565b603c546001600160a01b03163314610c925760405162461bcd60e51b81526004018080602001828103825260258152602001806115976025913960400191505060405180910390fd5b61112283611389565b61112b82611389565b61113481611389565b603b80546001600160a01b0385166001600160a01b0319909116811790915560408051918252517f143219c9e69b09e07e095fcc889b43d8f46ca892bba65f08dc3a0050869a56789181900360200190a1603c80546001600160a01b0384166001600160a01b0319909116811790915560408051918252517f82966d27eea39b038ee0fa30cd16532bb24f6e65d31cb58fb227aa5766cdcc7f9181900360200190a1603d80546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f3ca631ffcd2a9b5d9ae18543fc82f58eb4ca33af9e6ab01b7a8e95331e6ed9859181900360200190a1604080518082018252600f81526e2d2aa9a21029ba30b13632b1b7b4b760891b602091820152815180830190925260018252603160f81b9101527fd28848e7c3cbededd42b8bfb722b93a1d091c2e7280388a67bb55fc505b758eb60368190557fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660378190556112b56112ed565b6035556112e37f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83836112f1565b6034555050505050565b4690565b60008383836112fe6112ed565b6040805160208082019690965280820194909452606084019290925260808301523060a0808401919091528151808403909101815260c090920190528051910120949350505050565b6000610ec383836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610dd2565b6001600160a01b0381166113e4576040805162461bcd60e51b815260206004820152601e60248201527f4163636f756e742063616e6e6f74206265207a65726f20616464726573730000604482015290519081900360640190fd5b803b806106f4576040805162461bcd60e51b815260206004820181905260248201527f4163636f756e7420636f64652073697a652063616e6e6f74206265207a65726f604482015290519081900360640190fdfe45524332303a206275726e20616d6f756e7420657863656564732062616c616e63655a555344546f6b656e3a2043616c6c6572206973206e6f7420426f72726f7765724f7065726174696f6e7345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e63655a5553443a2043616c6c6572206973206e65697468657220426f72726f7765724f7065726174696f6e73206e6f722054726f76654d616e61676572206e6f722053746162696c697479506f6f6c4f776e61626c653a3a7365744f776e65723a20696e76616c696420616464726573735a5553443a2043616e6e6f74207472616e7366657220746f6b656e73206469726563746c7920746f20746865205a55534420746f6b656e20636f6e7472616374206f7220746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e63655a5553443a2043616c6c6572206973206e6f74207468652053746162696c697479506f6f6cddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef5a5553443a2043616c6c6572206973206e6569746865722054726f76654d616e61676572206e6f722053746162696c697479506f6f6c45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220ecebc177bf12b2c45ec9b4acb27c8714c0dc58e5d1ce71cfff6100f3ce1bc40864736f6c634300060b00334f776e61626c653a3a7365744f776e65723a20696e76616c69642061646472657373", + "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061014d5760003560e01c806370a08231116100c3578063a9059cbb1161007c578063a9059cbb14610413578063bb997bac1461043f578063c0c53b8b14610475578063d505accf146104ad578063dd62ed3e146104fe578063f698da251461052c5761014d565b806370a08231146103435780637ecebe0014610369578063893d20e81461038f57806395d89b41146103b35780639dc29fac146103bb578063a457c2d7146103e75761014d565b806320c582be1161011557806320c582be1461025957806323b872dd1461028f578063313ce567146102c557806339509351146102e357806340c10f191461030f57806354fd4d501461033b5761014d565b806306fdde0314610152578063095ea7b3146101cf57806310ce43bd1461020f57806313af40351461022957806318160ddd14610251575b600080fd5b61015a610534565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561019457818101518382015260200161017c565b50505050905090810190601f1680156101c15780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101fb600480360360408110156101e557600080fd5b506001600160a01b03813516906020013561055e565b604080519115158252519081900360200190f35b610217610574565b60408051918252519081900360200190f35b61024f6004803603602081101561023f57600080fd5b50356001600160a01b0316610598565b005b61021761060b565b61024f6004803603606081101561026f57600080fd5b506001600160a01b03813581169160208101359091169060400135610611565b6101fb600480360360608110156102a557600080fd5b506001600160a01b03813581169160208101359091169060400135610629565b6102cd6106a1565b6040805160ff9092168252519081900360200190f35b6101fb600480360360408110156102f957600080fd5b506001600160a01b0381351690602001356106a6565b61024f6004803603604081101561032557600080fd5b506001600160a01b0381351690602001356106e2565b61015a6106f8565b6102176004803603602081101561035957600080fd5b50356001600160a01b0316610713565b6102176004803603602081101561037f57600080fd5b50356001600160a01b031661072e565b610397610749565b604080516001600160a01b039092168252519081900360200190f35b61015a610773565b61024f600480360360408110156103d157600080fd5b506001600160a01b038135169060200135610791565b6101fb600480360360408110156103fd57600080fd5b506001600160a01b0381351690602001356107a3565b6101fb6004803603604081101561042957600080fd5b506001600160a01b0381351690602001356107f8565b61024f6004803603606081101561045557600080fd5b506001600160a01b0381358116916020810135909116906040013561080e565b61024f6004803603606081101561048b57600080fd5b506001600160a01b038135811691602081013582169160409091013516610816565b61024f600480360360e08110156104c357600080fd5b506001600160a01b03813581169160208101359091169060408101359060608101359060ff6080820135169060a08101359060c00135610888565b6102176004803603604081101561051457600080fd5b506001600160a01b0381358116916020013516610a7d565b610217610aa8565b60408051808201909152600f81526e2d2aa9a21029ba30b13632b1b7b4b760891b60208201525b90565b600061056b338484610afd565b50600192915050565b7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c990565b6105a0610749565b6001600160a01b0316336001600160a01b0316146105ff576040805162461bcd60e51b815260206004820152601760248201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604482015290519081900360640190fd5b61060881610b7f565b50565b60335490565b610619610c34565b610624838383610c94565b505050565b600061063483610d76565b61063f848484610c94565b61069784336106928560405180606001604052806028815260200161156f602891396001600160a01b038a166000908152603a60209081526040808320338452909152902054919063ffffffff610dd216565b610afd565b5060019392505050565b601290565b336000818152603a602090815260408083206001600160a01b0387168452909152812054909161056b918590610692908663ffffffff610e6916565b6106ea610eca565b6106f48282610f13565b5050565b6040805180820190915260018152603160f81b602082015290565b6001600160a01b031660009081526039602052604090205490565b6001600160a01b031660009081526038602052604090205490565b604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205490565b604080518082019091526004815263169554d160e21b602082015290565b610799610fa8565b6106f4828261101b565b600061056b33846106928560405180606001604052806025815260200161161260259139336000908152603a602090815260408083206001600160a01b038d168452909152902054919063ffffffff610dd216565b600061080383610d76565b61056b338484610c94565b6106196110d0565b61081e610749565b6001600160a01b0316336001600160a01b03161461087d576040805162461bcd60e51b815260206004820152601760248201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604482015290519081900360640190fd5b610624838383611119565b428410156108d6576040805162461bcd60e51b81526020600482015260166024820152755a5553443a206578706972656420646561646c696e6560501b604482015290519081900360640190fd5b60006108e0610aa8565b6001600160a01b03808a1660008181526038602090815260408083208054600180820190925582517f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98186015280840196909652958e166060860152608085018d905260a085019590955260c08085018c90528151808603909101815260e08501825280519083012061190160f01b6101008601526101028501969096526101228085019690965280518085039096018652610142840180825286519683019690962095839052610162840180825286905260ff8a166101828501526101a284018990526101c284018890525194955090936101e280840193601f198301929081900390910190855afa1580156109fb573d6000803e3d6000fd5b505050602060405103519050886001600160a01b0316816001600160a01b031614610a67576040805162461bcd60e51b81526020600482015260176024820152765a5553443a20696e76616c6964207369676e617475726560481b604482015290519081900360640190fd5b610a72898989610afd565b505050505050505050565b6001600160a01b039182166000908152603a6020908152604080832093909416825291909152205490565b6000603554610ab56112ed565b1415610ac4575060345461055b565b610af67f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60001b6036546037546112f1565b905061055b565b6001600160a01b038316610b0d57fe5b6001600160a01b038216610b1d57fe5b6001600160a01b038084166000818152603a6020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b038116610bc45760405162461bcd60e51b81526004018080602001828103825260228152602001806114f96022913960400191505060405180910390fd5b806001600160a01b0316610bd6610749565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3604080517035b2bc9737bbb730b136329737bbb732b960791b8152905190819003601101902055565b603b546001600160a01b0316331480610c575750603c546001600160a01b031633145b610c925760405162461bcd60e51b81526004018080602001828103825260368152602001806115dc6036913960400191505060405180910390fd5b565b6001600160a01b038316610ca457fe5b6001600160a01b038216610cb457fe5b610cf781604051806060016040528060268152602001611486602691396001600160a01b038616600090815260396020526040902054919063ffffffff610dd216565b6001600160a01b038085166000908152603960205260408082209390935590841681522054610d2c908263ffffffff610e6916565b6001600160a01b0380841660008181526039602090815260409182902094909455805185815290519193928716926000805160206115bc83398151915292918290030190a3505050565b6001600160a01b03811615801590610d9757506001600160a01b0381163014155b6106085760405162461bcd60e51b815260040180806020018281038252605481526020018061151b6054913960600191505060405180910390fd5b60008184841115610e615760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610e26578181015183820152602001610e0e565b50505050905090810190601f168015610e535780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b600082820183811015610ec3576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b603d546001600160a01b03163314610c925760405162461bcd60e51b815260040180806020018281038252602b81526020018061145b602b913960400191505060405180910390fd5b6001600160a01b038216610f2357fe5b603354610f36908263ffffffff610e6916565b6033556001600160a01b038216600090815260396020526040902054610f62908263ffffffff610e6916565b6001600160a01b03831660008181526039602090815260408083209490945583518581529351929391926000805160206115bc8339815191529281900390910190a35050565b603d546001600160a01b0316331480610fcb5750603b546001600160a01b031633145b80610fe05750603c546001600160a01b031633145b610c925760405162461bcd60e51b815260040180806020018281038252604d8152602001806114ac604d913960600191505060405180910390fd5b6001600160a01b03821661102b57fe5b61106e81604051806060016040528060228152602001611439602291396001600160a01b038516600090815260396020526040902054919063ffffffff610dd216565b6001600160a01b03831660009081526039602052604090205560335461109a908263ffffffff61134716565b6033556040805182815290516000916001600160a01b038516916000805160206115bc8339815191529181900360200190a35050565b603c546001600160a01b03163314610c925760405162461bcd60e51b81526004018080602001828103825260258152602001806115976025913960400191505060405180910390fd5b61112283611389565b61112b82611389565b61113481611389565b603b80546001600160a01b0385166001600160a01b0319909116811790915560408051918252517f143219c9e69b09e07e095fcc889b43d8f46ca892bba65f08dc3a0050869a56789181900360200190a1603c80546001600160a01b0384166001600160a01b0319909116811790915560408051918252517f82966d27eea39b038ee0fa30cd16532bb24f6e65d31cb58fb227aa5766cdcc7f9181900360200190a1603d80546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f3ca631ffcd2a9b5d9ae18543fc82f58eb4ca33af9e6ab01b7a8e95331e6ed9859181900360200190a1604080518082018252600f81526e2d2aa9a21029ba30b13632b1b7b4b760891b602091820152815180830190925260018252603160f81b9101527fd28848e7c3cbededd42b8bfb722b93a1d091c2e7280388a67bb55fc505b758eb60368190557fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660378190556112b56112ed565b6035556112e37f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83836112f1565b6034555050505050565b4690565b60008383836112fe6112ed565b6040805160208082019690965280820194909452606084019290925260808301523060a0808401919091528151808403909101815260c090920190528051910120949350505050565b6000610ec383836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610dd2565b6001600160a01b0381166113e4576040805162461bcd60e51b815260206004820152601e60248201527f4163636f756e742063616e6e6f74206265207a65726f20616464726573730000604482015290519081900360640190fd5b803b806106f4576040805162461bcd60e51b815260206004820181905260248201527f4163636f756e7420636f64652073697a652063616e6e6f74206265207a65726f604482015290519081900360640190fdfe45524332303a206275726e20616d6f756e7420657863656564732062616c616e63655a555344546f6b656e3a2043616c6c6572206973206e6f7420426f72726f7765724f7065726174696f6e7345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e63655a5553443a2043616c6c6572206973206e65697468657220426f72726f7765724f7065726174696f6e73206e6f722054726f76654d616e61676572206e6f722053746162696c697479506f6f6c4f776e61626c653a3a7365744f776e65723a20696e76616c696420616464726573735a5553443a2043616e6e6f74207472616e7366657220746f6b656e73206469726563746c7920746f20746865205a55534420746f6b656e20636f6e7472616374206f7220746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e63655a5553443a2043616c6c6572206973206e6f74207468652053746162696c697479506f6f6cddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef5a5553443a2043616c6c6572206973206e6569746865722054726f76654d616e61676572206e6f722053746162696c697479506f6f6c45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220ecebc177bf12b2c45ec9b4acb27c8714c0dc58e5d1ce71cfff6100f3ce1bc40864736f6c634300060b0033", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/packages/lib-ethers/live/console.json b/packages/lib-ethers/live/console.json index ee7ea218e..9c26cb88f 100644 --- a/packages/lib-ethers/live/console.json +++ b/packages/lib-ethers/live/console.json @@ -3,8 +3,8 @@ "contractName": "console", "sourceName": "contracts/Dependencies/console.sol", "abi": [], - "bytecode": "0x60566023600b82828239805160001a607314601657fe5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212207e606e1a3dfe31a6a48f84a2e4fff962474eeb3b34d4ffcdcd96c284e97a0aec64736f6c634300060b0033", - "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212207e606e1a3dfe31a6a48f84a2e4fff962474eeb3b34d4ffcdcd96c284e97a0aec64736f6c634300060b0033", + "bytecode": "0x60566023600b82828239805160001a607314601657fe5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212203a438388591f2c2a4431b32fe3d109ca58bf98ef135986aa09f3208024f433db64736f6c634300060b0033", + "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212203a438388591f2c2a4431b32fe3d109ca58bf98ef135986aa09f3208024f433db64736f6c634300060b0033", "linkReferences": {}, "deployedLinkReferences": {} } diff --git a/packages/lib-ethers/live/version b/packages/lib-ethers/live/version deleted file mode 100644 index 79a8d8fbb..000000000 --- a/packages/lib-ethers/live/version +++ /dev/null @@ -1 +0,0 @@ -5174ecd0da4842157aba989499200d690b7e374f diff --git a/packages/lib-ethers/package.json b/packages/lib-ethers/package.json index 2be45a5e2..2edfe0b59 100644 --- a/packages/lib-ethers/package.json +++ b/packages/lib-ethers/package.json @@ -16,7 +16,6 @@ "repository": "https://github.com/DistributedCollective/zero", "scripts": { "hardhat": "hardhat", - "check-live-version": "ts-node scripts/check-live-version.ts", "delete-dev-deployments": "ts-node scripts/delete-dev-deployments.ts", "prepare": "run-s prepare:*", "prepare:deployments": "ts-node scripts/copy-deployments.ts", @@ -26,11 +25,9 @@ "prepare:api": "api-extractor run --local", "save-live-version": "run-s save-live-version:*", "save-live-version:run": "ts-node scripts/save-live-version.ts", - "save-live-version:check": "run-s check-live-version", "scrape-eth-usd": "ts-node scripts/scrape-eth-usd.ts", "test": "hardhat test", "test-live": "run-s test-live:*", - "test-live:check-version": "run-s check-live-version", "test-live:run": "cross-env USE_LIVE_VERSION=true hardhat test", "postinstall": "patch-package" }, diff --git a/packages/lib-ethers/scripts/check-live-version.ts b/packages/lib-ethers/scripts/check-live-version.ts deleted file mode 100644 index c6a5f8ecc..000000000 --- a/packages/lib-ethers/scripts/check-live-version.ts +++ /dev/null @@ -1,51 +0,0 @@ -import fs from "fs"; -import path from "path"; -import "colors"; - -import { _LiquityDeploymentJSON } from "../src/contracts"; - -const compareDeployedVersionsTo = (version: string) => { - let match = true; - - const deployments = fs - .readdirSync("deployments", { withFileTypes: true }) - .filter(dirent => dirent.isDirectory()) - .map(deploymentDir => - fs - .readdirSync(path.join("deployments", deploymentDir.name), { withFileTypes: true }) - .filter( - dirent => dirent.isFile() && dirent.name.match(/\.json$/) && dirent.name !== "dev.json" - ) - .map(deployment => path.join("deployments", deploymentDir.name, deployment.name)) - ) - .reduce((flattenedArray, array) => flattenedArray.concat(array), []); - - for (const deploymentJson of deployments) { - const deployment = JSON.parse( - fs.readFileSync(deploymentJson).toString() - ) as _LiquityDeploymentJSON; - - if (deployment.version !== version) { - console.error(`${deploymentJson} has version ${deployment.version}`.red); - match = false; - } - } - - return match; -}; - -const savedLiveVersion = fs.readFileSync(path.join("live", "version")).toString().trim(); - -console.log(`Saved live version: ${savedLiveVersion}`.cyan); - -if (compareDeployedVersionsTo(savedLiveVersion)) { - console.log("All deployments match saved version."); -} else { - console.error( - ( - "All deployments must have the same version, " + - "and it must match the saved version in 'packages/lib/live/artifacts'." - ).red - ); - process.exitCode = 1; -} diff --git a/packages/lib-ethers/scripts/save-live-version.ts b/packages/lib-ethers/scripts/save-live-version.ts index 112c4f54c..fdcf86a78 100644 --- a/packages/lib-ethers/scripts/save-live-version.ts +++ b/packages/lib-ethers/scripts/save-live-version.ts @@ -24,5 +24,4 @@ const jsonFiles = recursivelyListFilesInDir(contractsDir).filter(([, file]) => fs.removeSync(liveDir); fs.mkdirSync(liveDir); -fs.copyFileSync(path.join(artifactsDir, "version"), path.join(liveDir, "version")); jsonFiles.forEach(([dir, file]) => fs.copyFileSync(path.join(dir, file), path.join(liveDir, file))); diff --git a/packages/lib-ethers/types/index.ts b/packages/lib-ethers/types/index.ts index 76206111b..ee196ff80 100644 --- a/packages/lib-ethers/types/index.ts +++ b/packages/lib-ethers/types/index.ts @@ -180,50 +180,42 @@ export interface CollSurplusPool } interface CommunityIssuanceCalls { - APR(_overrides?: CallOverrides): Promise; DECIMAL_PRECISION(_overrides?: CallOverrides): Promise; + ISSUANCE_FACTOR(_overrides?: CallOverrides): Promise; NAME(_overrides?: CallOverrides): Promise; + SECONDS_IN_ONE_MINUTE(_overrides?: CallOverrides): Promise; + ZEROSupplyCap(_overrides?: CallOverrides): Promise; + communityPotAddress(_overrides?: CallOverrides): Promise; + deploymentTime(_overrides?: CallOverrides): Promise; + fundingWalletAddress(_overrides?: CallOverrides): Promise; getOwner(_overrides?: CallOverrides): Promise; - lastIssuanceTime(_overrides?: CallOverrides): Promise; - priceFeed(_overrides?: CallOverrides): Promise; - rewardManager(_overrides?: CallOverrides): Promise; - sovToken(_overrides?: CallOverrides): Promise; - stabilityPoolAddress(_overrides?: CallOverrides): Promise; - totalSOVIssued(_overrides?: CallOverrides): Promise; - zusdToken(_overrides?: CallOverrides): Promise; + totalZEROIssued(_overrides?: CallOverrides): Promise; + zeroToken(_overrides?: CallOverrides): Promise; } interface CommunityIssuanceTransactions { - initialize(_sovTokenAddress: string, _zusdTokenAddress: string, _stabilityPoolAddress: string, _priceFeed: string, _APR: BigNumberish, _overrides?: Overrides): Promise; - issueSOV(_totalZUSDDeposits: BigNumberish, _overrides?: Overrides): Promise; - sendSOV(_account: string, _SOVamount: BigNumberish, _overrides?: Overrides): Promise; - setAPR(_APR: BigNumberish, _overrides?: Overrides): Promise; + initialize(_zeroTokenAddress: string, _communityPotAddress: string, _fundingWalletAddress: string, _overrides?: Overrides): Promise; + issueZERO(_overrides?: Overrides): Promise; + receiveZero(_account: string, _ZEROamount: BigNumberish, _overrides?: Overrides): Promise; + sendZERO(_account: string, _ZEROamount: BigNumberish, _overrides?: Overrides): Promise; setOwner(_owner: string, _overrides?: Overrides): Promise; - setPriceFeed(_priceFeedAddress: string, _overrides?: Overrides): Promise; - setRewardManager(_rewardManagerAddress: string, _overrides?: Overrides): Promise; } export interface CommunityIssuance extends _TypedLiquityContract { readonly address: string; readonly filters: { - APRSet(_APR?: null): EventFilter; + CommunityPotAddressSet(_communityPotAddress?: null): EventFilter; + FundingWalletAddressSet(_zeroTokenAddress?: null): EventFilter; OwnershipTransferred(previousOwner?: string | null, newOwner?: string | null): EventFilter; - PriceFeedAddressSet(_priceFeed?: null): EventFilter; - RewardManagerAddressSet(_rewardManagerAddress?: null): EventFilter; - SOVTokenAddressSet(_sovTokenAddress?: null): EventFilter; - StabilityPoolAddressSet(_stabilityPoolAddress?: null): EventFilter; - TotalSOVIssuedUpdated(_latestSOVIssued?: null): EventFilter; - ZUSDTokenAddressSet(_zusdTokenAddress?: null): EventFilter; + TotalZEROIssuedUpdated(_fundingWalletAddress?: null): EventFilter; + ZEROTokenAddressSet(_zeroTokenAddress?: null): EventFilter; }; - extractEvents(logs: Log[], name: "APRSet"): _TypedLogDescription<{ _APR: BigNumber }>[]; + extractEvents(logs: Log[], name: "CommunityPotAddressSet"): _TypedLogDescription<{ _communityPotAddress: string }>[]; + extractEvents(logs: Log[], name: "FundingWalletAddressSet"): _TypedLogDescription<{ _zeroTokenAddress: string }>[]; extractEvents(logs: Log[], name: "OwnershipTransferred"): _TypedLogDescription<{ previousOwner: string; newOwner: string }>[]; - extractEvents(logs: Log[], name: "PriceFeedAddressSet"): _TypedLogDescription<{ _priceFeed: string }>[]; - extractEvents(logs: Log[], name: "RewardManagerAddressSet"): _TypedLogDescription<{ _rewardManagerAddress: string }>[]; - extractEvents(logs: Log[], name: "SOVTokenAddressSet"): _TypedLogDescription<{ _sovTokenAddress: string }>[]; - extractEvents(logs: Log[], name: "StabilityPoolAddressSet"): _TypedLogDescription<{ _stabilityPoolAddress: string }>[]; - extractEvents(logs: Log[], name: "TotalSOVIssuedUpdated"): _TypedLogDescription<{ _latestSOVIssued: BigNumber }>[]; - extractEvents(logs: Log[], name: "ZUSDTokenAddressSet"): _TypedLogDescription<{ _zusdTokenAddress: string }>[]; + extractEvents(logs: Log[], name: "TotalZEROIssuedUpdated"): _TypedLogDescription<{ _fundingWalletAddress: BigNumber }>[]; + extractEvents(logs: Log[], name: "ZEROTokenAddressSet"): _TypedLogDescription<{ _zeroTokenAddress: string }>[]; } interface DefaultPoolCalls { @@ -638,15 +630,15 @@ interface StabilityPoolCalls { getCompoundedFrontEndStake(_frontEnd: string, _overrides?: CallOverrides): Promise; getCompoundedZUSDDeposit(_depositor: string, _overrides?: CallOverrides): Promise; getDepositorETHGain(_depositor: string, _overrides?: CallOverrides): Promise; - getDepositorSOVGain(_depositor: string, _overrides?: CallOverrides): Promise; + getDepositorZEROGain(_depositor: string, _overrides?: CallOverrides): Promise; getETH(_overrides?: CallOverrides): Promise; getEntireSystemColl(_overrides?: CallOverrides): Promise; getEntireSystemDebt(_overrides?: CallOverrides): Promise; - getFrontEndSOVGain(_frontEnd: string, _overrides?: CallOverrides): Promise; + getFrontEndZEROGain(_frontEnd: string, _overrides?: CallOverrides): Promise; getOwner(_overrides?: CallOverrides): Promise; getTotalZUSDDeposits(_overrides?: CallOverrides): Promise; lastETHError_Offset(_overrides?: CallOverrides): Promise; - lastSOVError(_overrides?: CallOverrides): Promise; + lastZEROError(_overrides?: CallOverrides): Promise; lastZUSDLossError_Offset(_overrides?: CallOverrides): Promise; liquityBaseParams(_overrides?: CallOverrides): Promise; priceFeed(_overrides?: CallOverrides): Promise; @@ -661,7 +653,6 @@ interface StabilityPoolTransactions { provideToSpFromDLLR(_dllrAmount: BigNumberish, _permitParams: { deadline: BigNumberish; v: BigNumberish; r: BytesLike; s: BytesLike }, _overrides?: Overrides): Promise; registerFrontEnd(_kickbackRate: BigNumberish, _overrides?: Overrides): Promise; setAddresses(_liquityBaseParamsAddress: string, _borrowerOperationsAddress: string, _troveManagerAddress: string, _activePoolAddress: string, _zusdTokenAddress: string, _sortedTrovesAddress: string, _priceFeedAddress: string, _communityIssuanceAddress: string, _overrides?: Overrides): Promise; - setCommunityIssuanceAddress(_communityIssuanceAddress: string, _overrides?: Overrides): Promise; setOwner(_owner: string, _overrides?: Overrides): Promise; withdrawETHGainToTrove(_upperHint: string, _lowerHint: string, _overrides?: Overrides): Promise; withdrawFromSP(_amount: BigNumberish, _overrides?: Overrides): Promise; @@ -688,8 +679,6 @@ export interface StabilityPool OwnershipTransferred(previousOwner?: string | null, newOwner?: string | null): EventFilter; P_Updated(_P?: null): EventFilter; PriceFeedAddressChanged(_newPriceFeedAddress?: null): EventFilter; - SOVPaidToDepositor(_depositor?: string | null, _SOV?: null): EventFilter; - SOVPaidToFrontEnd(_frontEnd?: string | null, _SOV?: null): EventFilter; S_Updated(_S?: null, _epoch?: null, _scale?: null): EventFilter; ScaleUpdated(_currentScale?: null): EventFilter; SortedTrovesAddressChanged(_newSortedTrovesAddress?: null): EventFilter; @@ -698,6 +687,8 @@ export interface StabilityPool TroveManagerAddressChanged(_newTroveManagerAddress?: null): EventFilter; UserDepositChanged(_depositor?: string | null, _newDeposit?: null): EventFilter; WithdrawFromSpAndConvertToDLLR(_depositor?: null, _zusdAmountRequested?: null, _dllrAmountReceived?: null): EventFilter; + ZEROPaidToDepositor(_depositor?: string | null, _ZERO?: null): EventFilter; + ZEROPaidToFrontEnd(_frontEnd?: string | null, _ZERO?: null): EventFilter; ZUSDTokenAddressChanged(_newZUSDTokenAddress?: null): EventFilter; }; extractEvents(logs: Log[], name: "ActivePoolAddressChanged"): _TypedLogDescription<{ _newActivePoolAddress: string }>[]; @@ -716,8 +707,6 @@ export interface StabilityPool extractEvents(logs: Log[], name: "OwnershipTransferred"): _TypedLogDescription<{ previousOwner: string; newOwner: string }>[]; extractEvents(logs: Log[], name: "P_Updated"): _TypedLogDescription<{ _P: BigNumber }>[]; extractEvents(logs: Log[], name: "PriceFeedAddressChanged"): _TypedLogDescription<{ _newPriceFeedAddress: string }>[]; - extractEvents(logs: Log[], name: "SOVPaidToDepositor"): _TypedLogDescription<{ _depositor: string; _SOV: BigNumber }>[]; - extractEvents(logs: Log[], name: "SOVPaidToFrontEnd"): _TypedLogDescription<{ _frontEnd: string; _SOV: BigNumber }>[]; extractEvents(logs: Log[], name: "S_Updated"): _TypedLogDescription<{ _S: BigNumber; _epoch: BigNumber; _scale: BigNumber }>[]; extractEvents(logs: Log[], name: "ScaleUpdated"): _TypedLogDescription<{ _currentScale: BigNumber }>[]; extractEvents(logs: Log[], name: "SortedTrovesAddressChanged"): _TypedLogDescription<{ _newSortedTrovesAddress: string }>[]; @@ -726,6 +715,8 @@ export interface StabilityPool extractEvents(logs: Log[], name: "TroveManagerAddressChanged"): _TypedLogDescription<{ _newTroveManagerAddress: string }>[]; extractEvents(logs: Log[], name: "UserDepositChanged"): _TypedLogDescription<{ _depositor: string; _newDeposit: BigNumber }>[]; extractEvents(logs: Log[], name: "WithdrawFromSpAndConvertToDLLR"): _TypedLogDescription<{ _depositor: string; _zusdAmountRequested: BigNumber; _dllrAmountReceived: BigNumber }>[]; + extractEvents(logs: Log[], name: "ZEROPaidToDepositor"): _TypedLogDescription<{ _depositor: string; _ZERO: BigNumber }>[]; + extractEvents(logs: Log[], name: "ZEROPaidToFrontEnd"): _TypedLogDescription<{ _frontEnd: string; _ZERO: BigNumber }>[]; extractEvents(logs: Log[], name: "ZUSDTokenAddressChanged"): _TypedLogDescription<{ _newZUSDTokenAddress: string }>[]; } From 23892dc45f8ef550a1ab2ead997d0b89d394f270 Mon Sep 17 00:00:00 2001 From: tiltom Date: Wed, 20 Sep 2023 10:59:18 +0200 Subject: [PATCH 02/10] Use new deployment location in lib-ethers/contracts.ts --- packages/lib-ethers/src/contracts.ts | 81 ++++++++++++++-------------- 1 file changed, 42 insertions(+), 39 deletions(-) diff --git a/packages/lib-ethers/src/contracts.ts b/packages/lib-ethers/src/contracts.ts index feafec3e8..d116d2557 100644 --- a/packages/lib-ethers/src/contracts.ts +++ b/packages/lib-ethers/src/contracts.ts @@ -12,26 +12,27 @@ import { ContractTransaction } from "@ethersproject/contracts"; -import activePoolAbi from "../abi/ActivePool.json"; -import borrowerOperationsAbi from "../abi/BorrowerOperations.json"; -import troveManagerAbi from "../abi/TroveManager.json"; -import troveManagerRedeemOpsAbi from "../abi/TroveManagerRedeemOps.json"; -import zusdTokenAbi from "../abi/ZUSDToken.json"; -import nueTokenAbi from "../abi/IERC20.json"; -import collSurplusPoolAbi from "../abi/CollSurplusPool.json"; -import communityIssuanceAbi from "../abi/CommunityIssuance.json"; -import defaultPoolAbi from "../abi/DefaultPool.json"; -import zeroTokenAbi from "../abi/ZEROToken.json"; -import hintHelpersAbi from "../abi/HintHelpers.json"; -import zeroStakingAbi from "../abi/ZEROStaking.json"; -import multiTroveGetterAbi from "../abi/MultiTroveGetter.json"; -import priceFeedAbi from "../abi/PriceFeed.json"; -import priceFeedTestnetAbi from "../abi/PriceFeedTestnet.json"; -import sortedTrovesAbi from "../abi/SortedTroves.json"; -import stabilityPoolAbi from "../abi/StabilityPool.json"; -import gasPoolAbi from "../abi/GasPool.json"; -import liquityBaseParamsAbi from "../abi/LiquityBaseParams.json"; -import feeDistributorAbi from "../abi/FeeDistributor.json"; +import activePool from "../../contracts/deployment/deployments/rskSovrynMainnet/ActivePool.json"; +import borrowerOperations from "../../contracts/deployment/deployments/rskSovrynMainnet/BorrowerOperations.json"; +import troveManager from "../../contracts/deployment/deployments/rskSovrynMainnet/TroveManager.json"; +import troveManagerRedeemOps from "../../contracts/deployment/deployments/rskSovrynMainnet/TroveManagerRedeemOps.json"; +import zusdToken from "../../contracts/deployment/deployments/rskSovrynMainnet/ZUSDToken.json"; +//import nueTokenAbi from "../../contracts/deployment/deployments/rskSovrynMainnet/IERC20.json"; +import nueToken from "../../contracts/artifacts/contracts/Dependencies/IERC20.sol/IERC20.json" +import collSurplusPool from "../../contracts/deployment/deployments/rskSovrynMainnet/CollSurplusPool.json"; +import communityIssuance from "../../contracts/deployment/deployments/rskSovrynMainnet/CommunityIssuance.json"; +import defaultPool from "../../contracts/deployment/deployments/rskSovrynMainnet/DefaultPool.json"; +import zeroToken from "../../contracts/deployment/deployments/rskSovrynMainnet/ZEROToken.json"; +import hintHelpers from "../../contracts/deployment/deployments/rskSovrynMainnet/HintHelpers.json"; +import zeroStaking from "../../contracts/deployment/deployments/rskSovrynMainnet/ZEROStaking.json"; +import multiTroveGetter from "../../contracts/deployment/deployments/rskSovrynMainnet/MultiTroveGetter.json"; +import priceFeed from "../../contracts/deployment/deployments/rskSovrynMainnet/PriceFeed.json"; +import priceFeedTestnet from "../../contracts/deployment/deployments/rskSovrynTestnet/PriceFeedTestnet.json"; +import sortedTroves from "../../contracts/deployment/deployments/rskSovrynMainnet/SortedTroves.json"; +import stabilityPool from "../../contracts/deployment/deployments/rskSovrynMainnet/StabilityPool.json"; +import gasPool from "../../contracts/deployment/deployments/rskSovrynMainnet/GasPool.json"; +import liquityBaseParams from "../../contracts/deployment/deployments/rskSovrynMainnet/LiquityBaseParams.json"; +import feeDistributor from "../../contracts/deployment/deployments/rskSovrynMainnet/FeeDistributor.json"; import { ActivePool, @@ -56,6 +57,8 @@ import { FeeDistributor } from "../types"; +// import { ActivePool } from "../../contracts/types/generated/artifacts/contracts/ActivePool"; + import { EthersProvider, EthersSigner } from "./types"; export interface _TypedLogDescription extends Omit { @@ -186,25 +189,25 @@ export type _LiquityContractAddresses = Record; type LiquityContractAbis = Record; const getAbi = (priceFeedIsTestnet: boolean): LiquityContractAbis => ({ - activePool: activePoolAbi, - borrowerOperations: borrowerOperationsAbi, - troveManager: troveManagerAbi, - troveManagerRedeemOps: troveManagerRedeemOpsAbi, - zusdToken: zusdTokenAbi, - nueToken: nueTokenAbi, - communityIssuance: communityIssuanceAbi, - defaultPool: defaultPoolAbi, - zeroToken: zeroTokenAbi, - hintHelpers: hintHelpersAbi, - zeroStaking: zeroStakingAbi, - multiTroveGetter: multiTroveGetterAbi, - priceFeed: priceFeedIsTestnet ? priceFeedTestnetAbi : priceFeedAbi, - sortedTroves: sortedTrovesAbi, - stabilityPool: stabilityPoolAbi, - gasPool: gasPoolAbi, - collSurplusPool: collSurplusPoolAbi, - liquityBaseParams: liquityBaseParamsAbi, - feeDistributor: feeDistributorAbi, + activePool: activePool.abi, + borrowerOperations: borrowerOperations.abi, + troveManager: troveManager.abi, + troveManagerRedeemOps: troveManagerRedeemOps.abi, + zusdToken: zusdToken.abi, + nueToken: nueToken.abi, + communityIssuance: communityIssuance.abi, + defaultPool: defaultPool.abi, + zeroToken: zeroToken.abi, + hintHelpers: hintHelpers.abi, + zeroStaking: zeroStaking.abi, + multiTroveGetter: multiTroveGetter.abi, + priceFeed: priceFeedIsTestnet ? priceFeedTestnet.abi : priceFeed.abi, + sortedTroves: sortedTroves.abi, + stabilityPool: stabilityPool.abi, + gasPool: gasPool.abi, + collSurplusPool: collSurplusPool.abi, + liquityBaseParams: liquityBaseParams.abi, + feeDistributor: feeDistributor.abi, }); const mapLiquityContracts = ( From 6f4d3702f8901467e245ad177ad339d002857328 Mon Sep 17 00:00:00 2001 From: tiltom Date: Wed, 20 Sep 2023 13:35:26 +0200 Subject: [PATCH 03/10] Adjust generate-types --- packages/lib-ethers/scripts/generate-types.ts | 43 ++++++++----------- 1 file changed, 19 insertions(+), 24 deletions(-) diff --git a/packages/lib-ethers/scripts/generate-types.ts b/packages/lib-ethers/scripts/generate-types.ts index 8a93cce29..7a933ff15 100644 --- a/packages/lib-ethers/scripts/generate-types.ts +++ b/packages/lib-ethers/scripts/generate-types.ts @@ -3,28 +3,28 @@ import path from "path"; import { Interface, ParamType } from "@ethersproject/abi"; -import ActivePool from "../../contracts/artifacts/contracts/ActivePool.sol/ActivePool.json"; -import BorrowerOperations from "../../contracts/artifacts/contracts/BorrowerOperations.sol/BorrowerOperations.json"; -import CollSurplusPool from "../../contracts/artifacts/contracts/CollSurplusPool.sol/CollSurplusPool.json"; -import CommunityIssuance from "../../contracts/artifacts/contracts/ZERO/CommunityIssuance.sol/CommunityIssuance.json"; -import DefaultPool from "../../contracts/artifacts/contracts/DefaultPool.sol/DefaultPool.json"; -import GasPool from "../../contracts/artifacts/contracts/GasPool.sol/GasPool.json"; -import HintHelpers from "../../contracts/artifacts/contracts/HintHelpers.sol/HintHelpers.json"; +import ActivePool from "../../contracts/deployment/deployments/rskSovrynMainnet/ActivePool.json"; +import BorrowerOperations from "../../contracts/deployment/deployments/rskSovrynMainnet/BorrowerOperations.json"; +import CollSurplusPool from "../../contracts/deployment/deployments/rskSovrynMainnet/CollSurplusPool.json"; +import CommunityIssuance from "../../contracts/deployment/deployments/rskSovrynMainnet/CommunityIssuance.json"; +import DefaultPool from "../../contracts/deployment/deployments/rskSovrynMainnet/DefaultPool.json"; +import GasPool from "../../contracts/deployment/deployments/rskSovrynMainnet/GasPool.json"; +import HintHelpers from "../../contracts/deployment/deployments/rskSovrynMainnet/HintHelpers.json"; import IERC20 from "../../contracts/artifacts/contracts/Dependencies/IERC20.sol/IERC20.json"; -import ZUSDToken from "../../contracts/artifacts/contracts/ZUSDToken.sol/ZUSDToken.json"; -import ZEROStaking from "../../contracts/artifacts/contracts/ZERO/ZEROStaking.sol/ZEROStaking.json"; -import ZEROToken from "../../contracts/artifacts/contracts/ZERO/ZEROToken.sol/ZEROToken.json"; -import MultiTroveGetter from "../../contracts/artifacts/contracts/MultiTroveGetter.sol/MultiTroveGetter.json"; -import PriceFeed from "../../contracts/artifacts/contracts/PriceFeed.sol/PriceFeed.json"; -import PriceFeedTestnet from "../../contracts/artifacts/contracts/TestContracts/PriceFeedTestnet.sol/PriceFeedTestnet.json"; -import SortedTroves from "../../contracts/artifacts/contracts/SortedTroves.sol/SortedTroves.json"; -import StabilityPool from "../../contracts/artifacts/contracts/StabilityPool.sol/StabilityPool.json"; -import TroveManager from "../../contracts/artifacts/contracts/TroveManager.sol/TroveManager.json"; +import ZUSDToken from "../../contracts/deployment/deployments/rskSovrynMainnet/ZUSDToken.json"; +import ZEROStaking from "../../contracts/deployment/deployments/rskSovrynMainnet/ZEROStaking.json"; +import ZEROToken from "../../contracts/deployment/deployments/rskSovrynMainnet/ZEROToken.json"; +import MultiTroveGetter from "../../contracts/deployment/deployments/rskSovrynMainnet/MultiTroveGetter.json"; +import PriceFeed from "../../contracts/deployment/deployments/rskSovrynMainnet/PriceFeed.json"; +import PriceFeedTestnet from "../../contracts/deployment/deployments/rskSovrynTestnet/PriceFeedTestnet.json"; +import SortedTroves from "../../contracts/deployment/deployments/rskSovrynMainnet/SortedTroves.json"; +import StabilityPool from "../../contracts/deployment/deployments/rskSovrynMainnet/StabilityPool.json"; +import TroveManager from "../../contracts/deployment/deployments/rskSovrynMainnet/TroveManager.json"; import UpgradeableProxy from "../../contracts/artifacts/contracts/Proxy/UpgradableProxy.sol/UpgradableProxy.json"; -import LiquityBaseParams from "../../contracts/artifacts/contracts/LiquityBaseParams.sol/LiquityBaseParams.json"; -import TroveManagerRedeemOps from "../../contracts/artifacts/contracts/Dependencies/TroveManagerRedeemOps.sol/TroveManagerRedeemOps.json"; +import LiquityBaseParams from "../../contracts/deployment/deployments/rskSovrynMainnet/LiquityBaseParams.json"; +import TroveManagerRedeemOps from "../../contracts/deployment/deployments/rskSovrynMainnet/TroveManagerRedeemOps.json"; import MockBalanceRedirectPresale from "../../contracts/artifacts/contracts/TestContracts/MockBalanceRedirectPresale.sol/MockBalanceRedirectPresale.json"; -import FeeDistributor from "../../contracts/artifacts/contracts/FeeDistributor.sol/FeeDistributor.json"; +import FeeDistributor from "../../contracts/deployment/deployments/rskSovrynMainnet/FeeDistributor.json"; import Ownable from "../../contracts/artifacts/contracts/Dependencies/Ownable.sol/Ownable.json"; const getTupleType = (components: ParamType[], flexible: boolean) => { @@ -195,8 +195,3 @@ ${contracts.map(declareInterface).join("\n\n")} fs.mkdirSync("types", { recursive: true }); fs.writeFileSync(path.join("types", "index.ts"), output); -fs.removeSync("abi"); -fs.mkdirSync("abi", { recursive: true }); -contractArtifacts.forEach(({ contractName, abi }) => - fs.writeFileSync(path.join("abi", `${contractName}.json`), JSON.stringify(abi, undefined, 2)) -); From 9b3a5388ed0f48da3701f6b82f1472788f74c1c5 Mon Sep 17 00:00:00 2001 From: tiltom Date: Wed, 20 Sep 2023 14:08:51 +0200 Subject: [PATCH 04/10] Adjust generate-types --- packages/lib-ethers/abi/ActivePool.json | 350 --- .../lib-ethers/abi/BorrowerOperations.json | 1045 --------- packages/lib-ethers/abi/CollSurplusPool.json | 266 --- .../lib-ethers/abi/CommunityIssuance.json | 301 --- packages/lib-ethers/abi/DefaultPool.json | 296 --- packages/lib-ethers/abi/FeeDistributor.json | 348 --- packages/lib-ethers/abi/GasPool.json | 1 - packages/lib-ethers/abi/HintHelpers.json | 396 ---- packages/lib-ethers/abi/IERC20.json | 553 ++--- .../lib-ethers/abi/LiquityBaseParams.json | 223 -- .../abi/MockBalanceRedirectPresale.json | 67 +- packages/lib-ethers/abi/MultiTroveGetter.json | 147 -- packages/lib-ethers/abi/Ownable.json | 103 +- packages/lib-ethers/abi/PriceFeed.json | 179 -- packages/lib-ethers/abi/PriceFeedTestnet.json | 60 - packages/lib-ethers/abi/SortedTroves.json | 475 ---- packages/lib-ethers/abi/StabilityPool.json | 1309 ----------- packages/lib-ethers/abi/TroveManager.json | 1953 ----------------- .../lib-ethers/abi/TroveManagerRedeemOps.json | 1008 --------- packages/lib-ethers/abi/UpgradableProxy.json | 209 +- packages/lib-ethers/abi/ZEROStaking.json | 521 ----- packages/lib-ethers/abi/ZEROToken.json | 515 ----- packages/lib-ethers/abi/ZUSDToken.json | 581 ----- packages/lib-ethers/scripts/generate-types.ts | 8 +- 24 files changed, 488 insertions(+), 10426 deletions(-) delete mode 100644 packages/lib-ethers/abi/ActivePool.json delete mode 100644 packages/lib-ethers/abi/BorrowerOperations.json delete mode 100644 packages/lib-ethers/abi/CollSurplusPool.json delete mode 100644 packages/lib-ethers/abi/CommunityIssuance.json delete mode 100644 packages/lib-ethers/abi/DefaultPool.json delete mode 100644 packages/lib-ethers/abi/FeeDistributor.json delete mode 100644 packages/lib-ethers/abi/GasPool.json delete mode 100644 packages/lib-ethers/abi/HintHelpers.json delete mode 100644 packages/lib-ethers/abi/LiquityBaseParams.json delete mode 100644 packages/lib-ethers/abi/MultiTroveGetter.json delete mode 100644 packages/lib-ethers/abi/PriceFeed.json delete mode 100644 packages/lib-ethers/abi/PriceFeedTestnet.json delete mode 100644 packages/lib-ethers/abi/SortedTroves.json delete mode 100644 packages/lib-ethers/abi/StabilityPool.json delete mode 100644 packages/lib-ethers/abi/TroveManager.json delete mode 100644 packages/lib-ethers/abi/TroveManagerRedeemOps.json delete mode 100644 packages/lib-ethers/abi/ZEROStaking.json delete mode 100644 packages/lib-ethers/abi/ZEROToken.json delete mode 100644 packages/lib-ethers/abi/ZUSDToken.json diff --git a/packages/lib-ethers/abi/ActivePool.json b/packages/lib-ethers/abi/ActivePool.json deleted file mode 100644 index 8b8e6edac..000000000 --- a/packages/lib-ethers/abi/ActivePool.json +++ /dev/null @@ -1,350 +0,0 @@ -[ - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_newActivePoolAddress", - "type": "address" - } - ], - "name": "ActivePoolAddressChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "_ETH", - "type": "uint256" - } - ], - "name": "ActivePoolETHBalanceUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "_ZUSDDebt", - "type": "uint256" - } - ], - "name": "ActivePoolZUSDDebtUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_newBorrowerOperationsAddress", - "type": "address" - } - ], - "name": "BorrowerOperationsAddressChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_newDefaultPoolAddress", - "type": "address" - } - ], - "name": "DefaultPoolAddressChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "_newBalance", - "type": "uint256" - } - ], - "name": "ETHBalanceUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_to", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "name": "EtherSent", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "previousOwner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnershipTransferred", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_newStabilityPoolAddress", - "type": "address" - } - ], - "name": "StabilityPoolAddressChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_newTroveManagerAddress", - "type": "address" - } - ], - "name": "TroveManagerAddressChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "_newBalance", - "type": "uint256" - } - ], - "name": "ZUSDBalanceUpdated", - "type": "event" - }, - { - "inputs": [], - "name": "NAME", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "borrowerOperationsAddress", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "name": "decreaseZUSDDebt", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "defaultPoolAddress", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getETH", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getOwner", - "outputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getZUSDDebt", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "name": "increaseZUSDDebt", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_account", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "name": "sendETH", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_borrowerOperationsAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_troveManagerAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_stabilityPoolAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_defaultPoolAddress", - "type": "address" - } - ], - "name": "setAddresses", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - } - ], - "name": "setOwner", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "stabilityPoolAddress", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "troveManagerAddress", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "stateMutability": "payable", - "type": "receive" - } -] \ No newline at end of file diff --git a/packages/lib-ethers/abi/BorrowerOperations.json b/packages/lib-ethers/abi/BorrowerOperations.json deleted file mode 100644 index 9ab4f2c24..000000000 --- a/packages/lib-ethers/abi/BorrowerOperations.json +++ /dev/null @@ -1,1045 +0,0 @@ -[ - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_activePoolAddress", - "type": "address" - } - ], - "name": "ActivePoolAddressChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_collSurplusPoolAddress", - "type": "address" - } - ], - "name": "CollSurplusPoolAddressChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_defaultPoolAddress", - "type": "address" - } - ], - "name": "DefaultPoolAddressChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_feeDistributorAddress", - "type": "address" - } - ], - "name": "FeeDistributorAddressChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_gasPoolAddress", - "type": "address" - } - ], - "name": "GasPoolAddressChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_massetManagerAddress", - "type": "address" - } - ], - "name": "MassetManagerAddressChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "previousOwner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnershipTransferred", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_newPriceFeedAddress", - "type": "address" - } - ], - "name": "PriceFeedAddressChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_sortedTrovesAddress", - "type": "address" - } - ], - "name": "SortedTrovesAddressChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_stabilityPoolAddress", - "type": "address" - } - ], - "name": "StabilityPoolAddressChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "_borrower", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "arrayIndex", - "type": "uint256" - } - ], - "name": "TroveCreated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_newTroveManagerAddress", - "type": "address" - } - ], - "name": "TroveManagerAddressChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "_borrower", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_debt", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_coll", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "stake", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "enum BorrowerOperations.BorrowerOperation", - "name": "operation", - "type": "uint8" - } - ], - "name": "TroveUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_zeroStakingAddress", - "type": "address" - } - ], - "name": "ZEROStakingAddressChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "_borrower", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_ZUSDFee", - "type": "uint256" - } - ], - "name": "ZUSDBorrowingFeePaid", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_zusdTokenAddress", - "type": "address" - } - ], - "name": "ZUSDTokenAddressChanged", - "type": "event" - }, - { - "inputs": [], - "name": "BORROWING_FEE_FLOOR", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "DECIMAL_PRECISION", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "MIN_NET_DEBT", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "NAME", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "ZUSD_GAS_COMPENSATION", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_100pct", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "activePool", - "outputs": [ - { - "internalType": "contract IActivePool", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_upperHint", - "type": "address" - }, - { - "internalType": "address", - "name": "_lowerHint", - "type": "address" - } - ], - "name": "addColl", - "outputs": [], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_maxFeePercentage", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_collWithdrawal", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_ZUSDChange", - "type": "uint256" - }, - { - "internalType": "bool", - "name": "_isDebtIncrease", - "type": "bool" - }, - { - "internalType": "address", - "name": "_upperHint", - "type": "address" - }, - { - "internalType": "address", - "name": "_lowerHint", - "type": "address" - }, - { - "components": [ - { - "internalType": "uint256", - "name": "deadline", - "type": "uint256" - }, - { - "internalType": "uint8", - "name": "v", - "type": "uint8" - }, - { - "internalType": "bytes32", - "name": "r", - "type": "bytes32" - }, - { - "internalType": "bytes32", - "name": "s", - "type": "bytes32" - } - ], - "internalType": "struct IMassetManager.PermitParams", - "name": "_permitParams", - "type": "tuple" - } - ], - "name": "adjustNueTrove", - "outputs": [], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_maxFeePercentage", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_collWithdrawal", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_ZUSDChange", - "type": "uint256" - }, - { - "internalType": "bool", - "name": "_isDebtIncrease", - "type": "bool" - }, - { - "internalType": "address", - "name": "_upperHint", - "type": "address" - }, - { - "internalType": "address", - "name": "_lowerHint", - "type": "address" - } - ], - "name": "adjustTrove", - "outputs": [], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [], - "name": "claimCollateral", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "components": [ - { - "internalType": "uint256", - "name": "deadline", - "type": "uint256" - }, - { - "internalType": "uint8", - "name": "v", - "type": "uint8" - }, - { - "internalType": "bytes32", - "name": "r", - "type": "bytes32" - }, - { - "internalType": "bytes32", - "name": "s", - "type": "bytes32" - } - ], - "internalType": "struct IMassetManager.PermitParams", - "name": "_permitParams", - "type": "tuple" - } - ], - "name": "closeNueTrove", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "closeTrove", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "defaultPool", - "outputs": [ - { - "internalType": "contract IDefaultPool", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "feeDistributor", - "outputs": [ - { - "internalType": "contract IFeeDistributor", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_debt", - "type": "uint256" - } - ], - "name": "getCompositeDebt", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getEntireSystemColl", - "outputs": [ - { - "internalType": "uint256", - "name": "entireSystemColl", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getEntireSystemDebt", - "outputs": [ - { - "internalType": "uint256", - "name": "entireSystemDebt", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getMassetManager", - "outputs": [ - { - "internalType": "contract IMassetManager", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getOwner", - "outputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "liquityBaseParams", - "outputs": [ - { - "internalType": "contract ILiquityBaseParams", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "massetManager", - "outputs": [ - { - "internalType": "contract IMassetManager", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_borrower", - "type": "address" - }, - { - "internalType": "address", - "name": "_upperHint", - "type": "address" - }, - { - "internalType": "address", - "name": "_lowerHint", - "type": "address" - } - ], - "name": "moveETHGainToTrove", - "outputs": [], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_maxFeePercentage", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_ZUSDAmount", - "type": "uint256" - }, - { - "internalType": "address", - "name": "_upperHint", - "type": "address" - }, - { - "internalType": "address", - "name": "_lowerHint", - "type": "address" - } - ], - "name": "openNueTrove", - "outputs": [], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_maxFeePercentage", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_ZUSDAmount", - "type": "uint256" - }, - { - "internalType": "address", - "name": "_upperHint", - "type": "address" - }, - { - "internalType": "address", - "name": "_lowerHint", - "type": "address" - } - ], - "name": "openTrove", - "outputs": [], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [], - "name": "priceFeed", - "outputs": [ - { - "internalType": "contract IPriceFeed", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_ZUSDAmount", - "type": "uint256" - }, - { - "internalType": "address", - "name": "_upperHint", - "type": "address" - }, - { - "internalType": "address", - "name": "_lowerHint", - "type": "address" - } - ], - "name": "repayZUSD", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_dllrAmount", - "type": "uint256" - }, - { - "internalType": "address", - "name": "_upperHint", - "type": "address" - }, - { - "internalType": "address", - "name": "_lowerHint", - "type": "address" - }, - { - "components": [ - { - "internalType": "uint256", - "name": "deadline", - "type": "uint256" - }, - { - "internalType": "uint8", - "name": "v", - "type": "uint8" - }, - { - "internalType": "bytes32", - "name": "r", - "type": "bytes32" - }, - { - "internalType": "bytes32", - "name": "s", - "type": "bytes32" - } - ], - "internalType": "struct IMassetManager.PermitParams", - "name": "_permitParams", - "type": "tuple" - } - ], - "name": "repayZusdFromDLLR", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_feeDistributorAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_liquityBaseParamsAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_troveManagerAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_activePoolAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_defaultPoolAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_stabilityPoolAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_gasPoolAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_collSurplusPoolAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_priceFeedAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_sortedTrovesAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_zusdTokenAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_zeroStakingAddress", - "type": "address" - } - ], - "name": "setAddresses", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_massetManagerAddress", - "type": "address" - } - ], - "name": "setMassetManagerAddress", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - } - ], - "name": "setOwner", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "sortedTroves", - "outputs": [ - { - "internalType": "contract ISortedTroves", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "troveManager", - "outputs": [ - { - "internalType": "contract ITroveManager", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_collWithdrawal", - "type": "uint256" - }, - { - "internalType": "address", - "name": "_upperHint", - "type": "address" - }, - { - "internalType": "address", - "name": "_lowerHint", - "type": "address" - } - ], - "name": "withdrawColl", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_maxFeePercentage", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_ZUSDAmount", - "type": "uint256" - }, - { - "internalType": "address", - "name": "_upperHint", - "type": "address" - }, - { - "internalType": "address", - "name": "_lowerHint", - "type": "address" - } - ], - "name": "withdrawZUSD", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_maxFeePercentage", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_ZUSDAmount", - "type": "uint256" - }, - { - "internalType": "address", - "name": "_upperHint", - "type": "address" - }, - { - "internalType": "address", - "name": "_lowerHint", - "type": "address" - } - ], - "name": "withdrawZusdAndConvertToDLLR", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "zeroStaking", - "outputs": [ - { - "internalType": "contract IZEROStaking", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "zeroStakingAddress", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "zusdToken", - "outputs": [ - { - "internalType": "contract IZUSDToken", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - } -] \ No newline at end of file diff --git a/packages/lib-ethers/abi/CollSurplusPool.json b/packages/lib-ethers/abi/CollSurplusPool.json deleted file mode 100644 index 6f60b54fa..000000000 --- a/packages/lib-ethers/abi/CollSurplusPool.json +++ /dev/null @@ -1,266 +0,0 @@ -[ - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_newActivePoolAddress", - "type": "address" - } - ], - "name": "ActivePoolAddressChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_newBorrowerOperationsAddress", - "type": "address" - } - ], - "name": "BorrowerOperationsAddressChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "_account", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_newBalance", - "type": "uint256" - } - ], - "name": "CollBalanceUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_to", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "name": "EtherSent", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "previousOwner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnershipTransferred", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_newTroveManagerAddress", - "type": "address" - } - ], - "name": "TroveManagerAddressChanged", - "type": "event" - }, - { - "inputs": [], - "name": "NAME", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_account", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "name": "accountSurplus", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "activePoolAddress", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "borrowerOperationsAddress", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_account", - "type": "address" - } - ], - "name": "claimColl", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_account", - "type": "address" - } - ], - "name": "getCollateral", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getETH", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getOwner", - "outputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_borrowerOperationsAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_troveManagerAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_activePoolAddress", - "type": "address" - } - ], - "name": "setAddresses", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - } - ], - "name": "setOwner", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "troveManagerAddress", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "stateMutability": "payable", - "type": "receive" - } -] \ No newline at end of file diff --git a/packages/lib-ethers/abi/CommunityIssuance.json b/packages/lib-ethers/abi/CommunityIssuance.json deleted file mode 100644 index f165e24dd..000000000 --- a/packages/lib-ethers/abi/CommunityIssuance.json +++ /dev/null @@ -1,301 +0,0 @@ -[ - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_communityPotAddress", - "type": "address" - } - ], - "name": "CommunityPotAddressSet", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_zeroTokenAddress", - "type": "address" - } - ], - "name": "FundingWalletAddressSet", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "previousOwner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnershipTransferred", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "_fundingWalletAddress", - "type": "uint256" - } - ], - "name": "TotalZEROIssuedUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_zeroTokenAddress", - "type": "address" - } - ], - "name": "ZEROTokenAddressSet", - "type": "event" - }, - { - "inputs": [], - "name": "DECIMAL_PRECISION", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "ISSUANCE_FACTOR", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "NAME", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "SECONDS_IN_ONE_MINUTE", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "ZEROSupplyCap", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "communityPotAddress", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "deploymentTime", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "fundingWalletAddress", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getOwner", - "outputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_zeroTokenAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_communityPotAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_fundingWalletAddress", - "type": "address" - } - ], - "name": "initialize", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "issueZERO", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_account", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_ZEROamount", - "type": "uint256" - } - ], - "name": "receiveZero", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_account", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_ZEROamount", - "type": "uint256" - } - ], - "name": "sendZERO", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - } - ], - "name": "setOwner", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "totalZEROIssued", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "zeroToken", - "outputs": [ - { - "internalType": "contract IZEROToken", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - } -] \ No newline at end of file diff --git a/packages/lib-ethers/abi/DefaultPool.json b/packages/lib-ethers/abi/DefaultPool.json deleted file mode 100644 index 3f4b20fb4..000000000 --- a/packages/lib-ethers/abi/DefaultPool.json +++ /dev/null @@ -1,296 +0,0 @@ -[ - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_newActivePoolAddress", - "type": "address" - } - ], - "name": "ActivePoolAddressChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_newDefaultPoolAddress", - "type": "address" - } - ], - "name": "DefaultPoolAddressChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "_ETH", - "type": "uint256" - } - ], - "name": "DefaultPoolETHBalanceUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "_ZUSDDebt", - "type": "uint256" - } - ], - "name": "DefaultPoolZUSDDebtUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "_newBalance", - "type": "uint256" - } - ], - "name": "ETHBalanceUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_to", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "name": "EtherSent", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "previousOwner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnershipTransferred", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_newStabilityPoolAddress", - "type": "address" - } - ], - "name": "StabilityPoolAddressChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_newTroveManagerAddress", - "type": "address" - } - ], - "name": "TroveManagerAddressChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "_newBalance", - "type": "uint256" - } - ], - "name": "ZUSDBalanceUpdated", - "type": "event" - }, - { - "inputs": [], - "name": "NAME", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "activePoolAddress", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "name": "decreaseZUSDDebt", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "getETH", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getOwner", - "outputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getZUSDDebt", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "name": "increaseZUSDDebt", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "name": "sendETHToActivePool", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_troveManagerAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_activePoolAddress", - "type": "address" - } - ], - "name": "setAddresses", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - } - ], - "name": "setOwner", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "troveManagerAddress", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "stateMutability": "payable", - "type": "receive" - } -] \ No newline at end of file diff --git a/packages/lib-ethers/abi/FeeDistributor.json b/packages/lib-ethers/abi/FeeDistributor.json deleted file mode 100644 index 083cac5a8..000000000 --- a/packages/lib-ethers/abi/FeeDistributor.json +++ /dev/null @@ -1,348 +0,0 @@ -[ - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_activePoolAddress", - "type": "address" - } - ], - "name": "ActivePoolAddressSet", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_borrowerOperationsAddress", - "type": "address" - } - ], - "name": "BorrowerOperationsAddressChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_feeSharingCollectorAddress", - "type": "address" - } - ], - "name": "FeeSharingCollectorAddressChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "previousOwner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnershipTransferred", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "_rbtcDistributedAmount", - "type": "uint256" - } - ], - "name": "RBTCistributed", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_troveManagerAddress", - "type": "address" - } - ], - "name": "TroveManagerAddressChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_wrbtcAddress", - "type": "address" - } - ], - "name": "WrbtcAddressChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "_zusdDistributedAmount", - "type": "uint256" - } - ], - "name": "ZUSDDistributed", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_zusdTokenAddress", - "type": "address" - } - ], - "name": "ZUSDTokenAddressChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_zeroStakingAddress", - "type": "address" - } - ], - "name": "ZeroStakingAddressChanged", - "type": "event" - }, - { - "inputs": [], - "name": "FEE_TO_FEE_SHARING_COLLECTOR", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "NAME", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "activePoolAddress", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "borrowerOperations", - "outputs": [ - { - "internalType": "contract IBorrowerOperations", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "distributeFees", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "feeSharingCollector", - "outputs": [ - { - "internalType": "contract IFeeSharingCollector", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getOwner", - "outputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_feeSharingCollectorAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_zeroStakingAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_borrowerOperationsAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_troveManagerAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_wrbtcAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_zusdTokenAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_activePoolAddress", - "type": "address" - } - ], - "name": "setAddresses", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "FEE_TO_FEE_SHARING_COLLECTOR_", - "type": "uint256" - } - ], - "name": "setFeeToFeeSharingCollector", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - } - ], - "name": "setOwner", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "troveManager", - "outputs": [ - { - "internalType": "contract ITroveManager", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "wrbtc", - "outputs": [ - { - "internalType": "contract IWrbtc", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "zeroStaking", - "outputs": [ - { - "internalType": "contract IZEROStaking", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "zusdToken", - "outputs": [ - { - "internalType": "contract IZUSDToken", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "stateMutability": "payable", - "type": "receive" - } -] \ No newline at end of file diff --git a/packages/lib-ethers/abi/GasPool.json b/packages/lib-ethers/abi/GasPool.json deleted file mode 100644 index 0637a088a..000000000 --- a/packages/lib-ethers/abi/GasPool.json +++ /dev/null @@ -1 +0,0 @@ -[] \ No newline at end of file diff --git a/packages/lib-ethers/abi/HintHelpers.json b/packages/lib-ethers/abi/HintHelpers.json deleted file mode 100644 index ff6be3548..000000000 --- a/packages/lib-ethers/abi/HintHelpers.json +++ /dev/null @@ -1,396 +0,0 @@ -[ - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "previousOwner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnershipTransferred", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_sortedTrovesAddress", - "type": "address" - } - ], - "name": "SortedTrovesAddressChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_troveManagerAddress", - "type": "address" - } - ], - "name": "TroveManagerAddressChanged", - "type": "event" - }, - { - "inputs": [], - "name": "DECIMAL_PRECISION", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "MIN_NET_DEBT", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "NAME", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "ZUSD_GAS_COMPENSATION", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_100pct", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "activePool", - "outputs": [ - { - "internalType": "contract IActivePool", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_coll", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_debt", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_price", - "type": "uint256" - } - ], - "name": "computeCR", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "pure", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_coll", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_debt", - "type": "uint256" - } - ], - "name": "computeNominalCR", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "pure", - "type": "function" - }, - { - "inputs": [], - "name": "defaultPool", - "outputs": [ - { - "internalType": "contract IDefaultPool", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_CR", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_numTrials", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_inputRandomSeed", - "type": "uint256" - } - ], - "name": "getApproxHint", - "outputs": [ - { - "internalType": "address", - "name": "hintAddress", - "type": "address" - }, - { - "internalType": "uint256", - "name": "diff", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "latestRandomSeed", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getEntireSystemColl", - "outputs": [ - { - "internalType": "uint256", - "name": "entireSystemColl", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getEntireSystemDebt", - "outputs": [ - { - "internalType": "uint256", - "name": "entireSystemDebt", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getOwner", - "outputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_ZUSDamount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_price", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_maxIterations", - "type": "uint256" - } - ], - "name": "getRedemptionHints", - "outputs": [ - { - "internalType": "address", - "name": "firstRedemptionHint", - "type": "address" - }, - { - "internalType": "uint256", - "name": "partialRedemptionHintNICR", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "truncatedZUSDamount", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "liquityBaseParams", - "outputs": [ - { - "internalType": "contract ILiquityBaseParams", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "priceFeed", - "outputs": [ - { - "internalType": "contract IPriceFeed", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_liquityBaseParamsAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_sortedTrovesAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_troveManagerAddress", - "type": "address" - } - ], - "name": "setAddresses", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - } - ], - "name": "setOwner", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "sortedTroves", - "outputs": [ - { - "internalType": "contract ISortedTroves", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "troveManager", - "outputs": [ - { - "internalType": "contract ITroveManager", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - } -] \ No newline at end of file diff --git a/packages/lib-ethers/abi/IERC20.json b/packages/lib-ethers/abi/IERC20.json index 6672b2e12..e0c9599a6 100644 --- a/packages/lib-ethers/abi/IERC20.json +++ b/packages/lib-ethers/abi/IERC20.json @@ -1,272 +1,281 @@ -[ - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "Approval", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "Transfer", - "type": "event" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "address", - "name": "spender", - "type": "address" - } - ], - "name": "allowance", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "approve", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "balanceOf", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "decimals", - "outputs": [ - { - "internalType": "uint8", - "name": "", - "type": "uint8" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "subtractedValue", - "type": "uint256" - } - ], - "name": "decreaseAllowance", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "addedValue", - "type": "uint256" - } - ], - "name": "increaseAllowance", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "name", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "symbol", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "totalSupply", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "transfer", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "transferFrom", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - } -] \ No newline at end of file +{ + "_format": "hh-sol-artifact-1", + "contractName": "IERC20", + "sourceName": "contracts/Dependencies/IERC20.sol", + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "Approval", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "Transfer", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "address", + "name": "spender", + "type": "address" + } + ], + "name": "allowance", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "approve", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "balanceOf", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "decimals", + "outputs": [ + { + "internalType": "uint8", + "name": "", + "type": "uint8" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "subtractedValue", + "type": "uint256" + } + ], + "name": "decreaseAllowance", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "addedValue", + "type": "uint256" + } + ], + "name": "increaseAllowance", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "name", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "symbol", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "totalSupply", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "recipient", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "transfer", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "sender", + "type": "address" + }, + { + "internalType": "address", + "name": "recipient", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "transferFrom", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "bytecode": "0x", + "deployedBytecode": "0x", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/packages/lib-ethers/abi/LiquityBaseParams.json b/packages/lib-ethers/abi/LiquityBaseParams.json deleted file mode 100644 index 307ab7e69..000000000 --- a/packages/lib-ethers/abi/LiquityBaseParams.json +++ /dev/null @@ -1,223 +0,0 @@ -[ - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "previousOwner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnershipTransferred", - "type": "event" - }, - { - "inputs": [], - "name": "BORROWING_FEE_FLOOR", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "CCR", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "DECIMAL_PRECISION", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "MAX_BORROWING_FEE", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "MCR", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "PERCENT_DIVISOR", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "REDEMPTION_FEE_FLOOR", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getOwner", - "outputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "initialize", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "BORROWING_FEE_FLOOR_", - "type": "uint256" - } - ], - "name": "setBorrowingFeeFloor", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "CCR_", - "type": "uint256" - } - ], - "name": "setCCR", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "MCR_", - "type": "uint256" - } - ], - "name": "setMCR", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "MAX_BORROWING_FEE_", - "type": "uint256" - } - ], - "name": "setMaxBorrowingFee", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - } - ], - "name": "setOwner", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "PERCENT_DIVISOR_", - "type": "uint256" - } - ], - "name": "setPercentDivisor", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "REDEMPTION_FEE_FLOOR_", - "type": "uint256" - } - ], - "name": "setRedemptionFeeFloor", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } -] \ No newline at end of file diff --git a/packages/lib-ethers/abi/MockBalanceRedirectPresale.json b/packages/lib-ethers/abi/MockBalanceRedirectPresale.json index fa871a75a..aa028ca47 100644 --- a/packages/lib-ethers/abi/MockBalanceRedirectPresale.json +++ b/packages/lib-ethers/abi/MockBalanceRedirectPresale.json @@ -1,29 +1,38 @@ -[ - { - "inputs": [], - "name": "closePresale", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "isClosed", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "openPresale", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } -] \ No newline at end of file +{ + "_format": "hh-sol-artifact-1", + "contractName": "MockBalanceRedirectPresale", + "sourceName": "contracts/TestContracts/MockBalanceRedirectPresale.sol", + "abi": [ + { + "inputs": [], + "name": "closePresale", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "isClosed", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "openPresale", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "bytecode": "0x608060405234801561001057600080fd5b5060c38061001f6000396000f3fe6080604052348015600f57600080fd5b5060043610603c5760003560e01c806363cea4501460415780638dd98312146049578063c2b6b58c14604f575b600080fd5b60476069565b005b60476078565b60556084565b604080519115158252519081900360200190f35b6000805460ff19166001179055565b6000805460ff19169055565b60005460ff168156fea2646970667358221220fc2bed8e7b2d3230624b64c8532ad1cf8f5f34c5745b0b66bc2692d7c887c09e64736f6c634300060b0033", + "deployedBytecode": "0x6080604052348015600f57600080fd5b5060043610603c5760003560e01c806363cea4501460415780638dd98312146049578063c2b6b58c14604f575b600080fd5b60476069565b005b60476078565b60556084565b604080519115158252519081900360200190f35b6000805460ff19166001179055565b6000805460ff19169055565b60005460ff168156fea2646970667358221220fc2bed8e7b2d3230624b64c8532ad1cf8f5f34c5745b0b66bc2692d7c887c09e64736f6c634300060b0033", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/packages/lib-ethers/abi/MultiTroveGetter.json b/packages/lib-ethers/abi/MultiTroveGetter.json deleted file mode 100644 index 935880199..000000000 --- a/packages/lib-ethers/abi/MultiTroveGetter.json +++ /dev/null @@ -1,147 +0,0 @@ -[ - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "previousOwner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnershipTransferred", - "type": "event" - }, - { - "inputs": [ - { - "internalType": "int256", - "name": "_startIdx", - "type": "int256" - }, - { - "internalType": "uint256", - "name": "_count", - "type": "uint256" - } - ], - "name": "getMultipleSortedTroves", - "outputs": [ - { - "components": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "uint256", - "name": "debt", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "coll", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "stake", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "snapshotETH", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "snapshotZUSDDebt", - "type": "uint256" - } - ], - "internalType": "struct MultiTroveGetter.CombinedTroveData[]", - "name": "_troves", - "type": "tuple[]" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getOwner", - "outputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "contract TroveManager", - "name": "_troveManager", - "type": "address" - }, - { - "internalType": "contract ISortedTroves", - "name": "_sortedTroves", - "type": "address" - } - ], - "name": "setAddresses", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - } - ], - "name": "setOwner", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "sortedTroves", - "outputs": [ - { - "internalType": "contract ISortedTroves", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "troveManager", - "outputs": [ - { - "internalType": "contract TroveManager", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - } -] \ No newline at end of file diff --git a/packages/lib-ethers/abi/Ownable.json b/packages/lib-ethers/abi/Ownable.json index 9dcf787c5..89ace3e79 100644 --- a/packages/lib-ethers/abi/Ownable.json +++ b/packages/lib-ethers/abi/Ownable.json @@ -1,47 +1,56 @@ -[ - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "previousOwner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnershipTransferred", - "type": "event" - }, - { - "inputs": [], - "name": "getOwner", - "outputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - } - ], - "name": "setOwner", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } -] \ No newline at end of file +{ + "_format": "hh-sol-artifact-1", + "contractName": "Ownable", + "sourceName": "contracts/Dependencies/Ownable.sol", + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousOwner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnershipTransferred", + "type": "event" + }, + { + "inputs": [], + "name": "getOwner", + "outputs": [ + { + "internalType": "address", + "name": "_owner", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_owner", + "type": "address" + } + ], + "name": "setOwner", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "bytecode": "0x", + "deployedBytecode": "0x", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/packages/lib-ethers/abi/PriceFeed.json b/packages/lib-ethers/abi/PriceFeed.json deleted file mode 100644 index 6ce56a8b9..000000000 --- a/packages/lib-ethers/abi/PriceFeed.json +++ /dev/null @@ -1,179 +0,0 @@ -[ - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "_lastGoodPrice", - "type": "uint256" - } - ], - "name": "LastGoodPriceUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "previousOwner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnershipTransferred", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint8", - "name": "index", - "type": "uint8" - }, - { - "indexed": false, - "internalType": "address", - "name": "priceFeedAddress", - "type": "address" - } - ], - "name": "PriceFeedBroken", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint8", - "name": "index", - "type": "uint8" - }, - { - "indexed": false, - "internalType": "address", - "name": "newPriceFeedAddress", - "type": "address" - } - ], - "name": "PriceFeedUpdated", - "type": "event" - }, - { - "inputs": [], - "name": "NAME", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "fetchPrice", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "getOwner", - "outputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "lastGoodPrice", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint8", - "name": "_index", - "type": "uint8" - }, - { - "internalType": "address", - "name": "_newPriceFeed", - "type": "address" - } - ], - "name": "setAddress", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_mainPriceFeed", - "type": "address" - }, - { - "internalType": "address", - "name": "_backupPriceFeed", - "type": "address" - } - ], - "name": "setAddresses", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - } - ], - "name": "setOwner", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } -] \ No newline at end of file diff --git a/packages/lib-ethers/abi/PriceFeedTestnet.json b/packages/lib-ethers/abi/PriceFeedTestnet.json deleted file mode 100644 index 3c7248576..000000000 --- a/packages/lib-ethers/abi/PriceFeedTestnet.json +++ /dev/null @@ -1,60 +0,0 @@ -[ - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "_lastGoodPrice", - "type": "uint256" - } - ], - "name": "LastGoodPriceUpdated", - "type": "event" - }, - { - "inputs": [], - "name": "fetchPrice", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "getPrice", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "price", - "type": "uint256" - } - ], - "name": "setPrice", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - } -] \ No newline at end of file diff --git a/packages/lib-ethers/abi/SortedTroves.json b/packages/lib-ethers/abi/SortedTroves.json deleted file mode 100644 index 0c876c7f0..000000000 --- a/packages/lib-ethers/abi/SortedTroves.json +++ /dev/null @@ -1,475 +0,0 @@ -[ - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_borrowerOperationsAddress", - "type": "address" - } - ], - "name": "BorrowerOperationsAddressChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_id", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_NICR", - "type": "uint256" - } - ], - "name": "NodeAdded", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_id", - "type": "address" - } - ], - "name": "NodeRemoved", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "previousOwner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnershipTransferred", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_sortedDoublyLLAddress", - "type": "address" - } - ], - "name": "SortedTrovesAddressChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_troveManagerAddress", - "type": "address" - } - ], - "name": "TroveManagerAddressChanged", - "type": "event" - }, - { - "inputs": [], - "name": "NAME", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "borrowerOperationsAddress", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_id", - "type": "address" - } - ], - "name": "contains", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "data", - "outputs": [ - { - "internalType": "address", - "name": "head", - "type": "address" - }, - { - "internalType": "address", - "name": "tail", - "type": "address" - }, - { - "internalType": "uint256", - "name": "maxSize", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "size", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_NICR", - "type": "uint256" - }, - { - "internalType": "address", - "name": "_prevId", - "type": "address" - }, - { - "internalType": "address", - "name": "_nextId", - "type": "address" - } - ], - "name": "findInsertPosition", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getFirst", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getLast", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getMaxSize", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_id", - "type": "address" - } - ], - "name": "getNext", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getOwner", - "outputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_id", - "type": "address" - } - ], - "name": "getPrev", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getSize", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_id", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_NICR", - "type": "uint256" - }, - { - "internalType": "address", - "name": "_prevId", - "type": "address" - }, - { - "internalType": "address", - "name": "_nextId", - "type": "address" - } - ], - "name": "insert", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "isEmpty", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "isFull", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_id", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_newNICR", - "type": "uint256" - }, - { - "internalType": "address", - "name": "_prevId", - "type": "address" - }, - { - "internalType": "address", - "name": "_nextId", - "type": "address" - } - ], - "name": "reInsert", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_id", - "type": "address" - } - ], - "name": "remove", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - } - ], - "name": "setOwner", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_size", - "type": "uint256" - }, - { - "internalType": "address", - "name": "_troveManagerAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_borrowerOperationsAddress", - "type": "address" - } - ], - "name": "setParams", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "troveManager", - "outputs": [ - { - "internalType": "contract ITroveManager", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_NICR", - "type": "uint256" - }, - { - "internalType": "address", - "name": "_prevId", - "type": "address" - }, - { - "internalType": "address", - "name": "_nextId", - "type": "address" - } - ], - "name": "validInsertPosition", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - } -] \ No newline at end of file diff --git a/packages/lib-ethers/abi/StabilityPool.json b/packages/lib-ethers/abi/StabilityPool.json deleted file mode 100644 index 6b4eb08c1..000000000 --- a/packages/lib-ethers/abi/StabilityPool.json +++ /dev/null @@ -1,1309 +0,0 @@ -[ - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_newActivePoolAddress", - "type": "address" - } - ], - "name": "ActivePoolAddressChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_newBorrowerOperationsAddress", - "type": "address" - } - ], - "name": "BorrowerOperationsAddressChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_newCommunityIssuanceAddress", - "type": "address" - } - ], - "name": "CommunityIssuanceAddressChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_newDefaultPoolAddress", - "type": "address" - } - ], - "name": "DefaultPoolAddressChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "_depositor", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_P", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_S", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_G", - "type": "uint256" - } - ], - "name": "DepositSnapshotUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "_depositor", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_ETH", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_ZUSDLoss", - "type": "uint256" - } - ], - "name": "ETHGainWithdrawn", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint128", - "name": "_currentEpoch", - "type": "uint128" - } - ], - "name": "EpochUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_to", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "name": "EtherSent", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "_frontEnd", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_kickbackRate", - "type": "uint256" - } - ], - "name": "FrontEndRegistered", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "_frontEnd", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_P", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_G", - "type": "uint256" - } - ], - "name": "FrontEndSnapshotUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "_frontEnd", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_newFrontEndStake", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "address", - "name": "_depositor", - "type": "address" - } - ], - "name": "FrontEndStakeChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "_depositor", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "_frontEnd", - "type": "address" - } - ], - "name": "FrontEndTagSet", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "_G", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint128", - "name": "_epoch", - "type": "uint128" - }, - { - "indexed": false, - "internalType": "uint128", - "name": "_scale", - "type": "uint128" - } - ], - "name": "G_Updated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "previousOwner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnershipTransferred", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "_P", - "type": "uint256" - } - ], - "name": "P_Updated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_newPriceFeedAddress", - "type": "address" - } - ], - "name": "PriceFeedAddressChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "_S", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint128", - "name": "_epoch", - "type": "uint128" - }, - { - "indexed": false, - "internalType": "uint128", - "name": "_scale", - "type": "uint128" - } - ], - "name": "S_Updated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint128", - "name": "_currentScale", - "type": "uint128" - } - ], - "name": "ScaleUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_newSortedTrovesAddress", - "type": "address" - } - ], - "name": "SortedTrovesAddressChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "_newBalance", - "type": "uint256" - } - ], - "name": "StabilityPoolETHBalanceUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "_newBalance", - "type": "uint256" - } - ], - "name": "StabilityPoolZUSDBalanceUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_newTroveManagerAddress", - "type": "address" - } - ], - "name": "TroveManagerAddressChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "_depositor", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_newDeposit", - "type": "uint256" - } - ], - "name": "UserDepositChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_depositor", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_zusdAmountRequested", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_dllrAmountReceived", - "type": "uint256" - } - ], - "name": "WithdrawFromSpAndConvertToDLLR", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "_depositor", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_ZERO", - "type": "uint256" - } - ], - "name": "ZEROPaidToDepositor", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "_frontEnd", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_ZERO", - "type": "uint256" - } - ], - "name": "ZEROPaidToFrontEnd", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_newZUSDTokenAddress", - "type": "address" - } - ], - "name": "ZUSDTokenAddressChanged", - "type": "event" - }, - { - "inputs": [], - "name": "DECIMAL_PRECISION", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "MIN_NET_DEBT", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "NAME", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "P", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "SCALE_FACTOR", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "ZUSD_GAS_COMPENSATION", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_100pct", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "activePool", - "outputs": [ - { - "internalType": "contract IActivePool", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "borrowerOperations", - "outputs": [ - { - "internalType": "contract IBorrowerOperations", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "communityIssuance", - "outputs": [ - { - "internalType": "contract ICommunityIssuance", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "currentEpoch", - "outputs": [ - { - "internalType": "uint128", - "name": "", - "type": "uint128" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "currentScale", - "outputs": [ - { - "internalType": "uint128", - "name": "", - "type": "uint128" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "defaultPool", - "outputs": [ - { - "internalType": "contract IDefaultPool", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "depositSnapshots", - "outputs": [ - { - "internalType": "uint256", - "name": "S", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "P", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "G", - "type": "uint256" - }, - { - "internalType": "uint128", - "name": "scale", - "type": "uint128" - }, - { - "internalType": "uint128", - "name": "epoch", - "type": "uint128" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "deposits", - "outputs": [ - { - "internalType": "uint256", - "name": "initialValue", - "type": "uint256" - }, - { - "internalType": "address", - "name": "frontEndTag", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint128", - "name": "", - "type": "uint128" - }, - { - "internalType": "uint128", - "name": "", - "type": "uint128" - } - ], - "name": "epochToScaleToG", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint128", - "name": "", - "type": "uint128" - }, - { - "internalType": "uint128", - "name": "", - "type": "uint128" - } - ], - "name": "epochToScaleToSum", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "frontEndSnapshots", - "outputs": [ - { - "internalType": "uint256", - "name": "S", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "P", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "G", - "type": "uint256" - }, - { - "internalType": "uint128", - "name": "scale", - "type": "uint128" - }, - { - "internalType": "uint128", - "name": "epoch", - "type": "uint128" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "frontEndStakes", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "frontEnds", - "outputs": [ - { - "internalType": "uint256", - "name": "kickbackRate", - "type": "uint256" - }, - { - "internalType": "bool", - "name": "registered", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_frontEnd", - "type": "address" - } - ], - "name": "getCompoundedFrontEndStake", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_depositor", - "type": "address" - } - ], - "name": "getCompoundedZUSDDeposit", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_depositor", - "type": "address" - } - ], - "name": "getDepositorETHGain", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_depositor", - "type": "address" - } - ], - "name": "getDepositorZEROGain", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getETH", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getEntireSystemColl", - "outputs": [ - { - "internalType": "uint256", - "name": "entireSystemColl", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getEntireSystemDebt", - "outputs": [ - { - "internalType": "uint256", - "name": "entireSystemDebt", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_frontEnd", - "type": "address" - } - ], - "name": "getFrontEndZEROGain", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getOwner", - "outputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getTotalZUSDDeposits", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "lastETHError_Offset", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "lastZEROError", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "lastZUSDLossError_Offset", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "liquityBaseParams", - "outputs": [ - { - "internalType": "contract ILiquityBaseParams", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_debtToOffset", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_collToAdd", - "type": "uint256" - } - ], - "name": "offset", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "priceFeed", - "outputs": [ - { - "internalType": "contract IPriceFeed", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - }, - { - "internalType": "address", - "name": "_frontEndTag", - "type": "address" - } - ], - "name": "provideToSP", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_dllrAmount", - "type": "uint256" - }, - { - "components": [ - { - "internalType": "uint256", - "name": "deadline", - "type": "uint256" - }, - { - "internalType": "uint8", - "name": "v", - "type": "uint8" - }, - { - "internalType": "bytes32", - "name": "r", - "type": "bytes32" - }, - { - "internalType": "bytes32", - "name": "s", - "type": "bytes32" - } - ], - "internalType": "struct IMassetManager.PermitParams", - "name": "_permitParams", - "type": "tuple" - } - ], - "name": "provideToSpFromDLLR", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_kickbackRate", - "type": "uint256" - } - ], - "name": "registerFrontEnd", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_liquityBaseParamsAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_borrowerOperationsAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_troveManagerAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_activePoolAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_zusdTokenAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_sortedTrovesAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_priceFeedAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_communityIssuanceAddress", - "type": "address" - } - ], - "name": "setAddresses", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - } - ], - "name": "setOwner", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "sortedTroves", - "outputs": [ - { - "internalType": "contract ISortedTroves", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "troveManager", - "outputs": [ - { - "internalType": "contract ITroveManager", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_upperHint", - "type": "address" - }, - { - "internalType": "address", - "name": "_lowerHint", - "type": "address" - } - ], - "name": "withdrawETHGainToTrove", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "name": "withdrawFromSP", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_zusdAmountRequested", - "type": "uint256" - } - ], - "name": "withdrawFromSpAndConvertToDLLR", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "zusdToken", - "outputs": [ - { - "internalType": "contract IZUSDToken", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "stateMutability": "payable", - "type": "receive" - } -] \ No newline at end of file diff --git a/packages/lib-ethers/abi/TroveManager.json b/packages/lib-ethers/abi/TroveManager.json deleted file mode 100644 index fad7aaa44..000000000 --- a/packages/lib-ethers/abi/TroveManager.json +++ /dev/null @@ -1,1953 +0,0 @@ -[ - { - "inputs": [ - { - "internalType": "uint256", - "name": "_bootstrapPeriod", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_activePoolAddress", - "type": "address" - } - ], - "name": "ActivePoolAddressChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "_baseRate", - "type": "uint256" - } - ], - "name": "BaseRateUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_newBorrowerOperationsAddress", - "type": "address" - } - ], - "name": "BorrowerOperationsAddressChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_collSurplusPoolAddress", - "type": "address" - } - ], - "name": "CollSurplusPoolAddressChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_defaultPoolAddress", - "type": "address" - } - ], - "name": "DefaultPoolAddressChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_feeDistributorAddress", - "type": "address" - } - ], - "name": "FeeDistributorAddressChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_gasPoolAddress", - "type": "address" - } - ], - "name": "GasPoolAddressChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "_L_ETH", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_L_ZUSDDebt", - "type": "uint256" - } - ], - "name": "LTermsUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "_lastFeeOpTime", - "type": "uint256" - } - ], - "name": "LastFeeOpTimeUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "_liquidatedDebt", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_liquidatedColl", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_collGasCompensation", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_ZUSDGasCompensation", - "type": "uint256" - } - ], - "name": "Liquidation", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_borrowerOperationsAddress", - "type": "address" - } - ], - "name": "LiquityBaseParamsAddressChanges", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "previousOwner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnershipTransferred", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_newPriceFeedAddress", - "type": "address" - } - ], - "name": "PriceFeedAddressChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "_attemptedZUSDAmount", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_actualZUSDAmount", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_ETHSent", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_ETHFee", - "type": "uint256" - } - ], - "name": "Redemption", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_sortedTrovesAddress", - "type": "address" - } - ], - "name": "SortedTrovesAddressChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_stabilityPoolAddress", - "type": "address" - } - ], - "name": "StabilityPoolAddressChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "_totalStakesSnapshot", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_totalCollateralSnapshot", - "type": "uint256" - } - ], - "name": "SystemSnapshotsUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "_newTotalStakes", - "type": "uint256" - } - ], - "name": "TotalStakesUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_borrower", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_newIndex", - "type": "uint256" - } - ], - "name": "TroveIndexUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "_borrower", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_debt", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_coll", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint8", - "name": "operation", - "type": "uint8" - } - ], - "name": "TroveLiquidated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_troveManagerRedeemOps", - "type": "address" - } - ], - "name": "TroveManagerRedeemOpsAddressChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "_L_ETH", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_L_ZUSDDebt", - "type": "uint256" - } - ], - "name": "TroveSnapshotsUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "_borrower", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_debt", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_coll", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "stake", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint8", - "name": "operation", - "type": "uint8" - } - ], - "name": "TroveUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_zeroStakingAddress", - "type": "address" - } - ], - "name": "ZEROStakingAddressChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_zeroTokenAddress", - "type": "address" - } - ], - "name": "ZEROTokenAddressChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_newZUSDTokenAddress", - "type": "address" - } - ], - "name": "ZUSDTokenAddressChanged", - "type": "event" - }, - { - "inputs": [], - "name": "BETA", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "BOOTSTRAP_PERIOD", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "CCR", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "DECIMAL_PRECISION", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "L_ETH", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "L_ZUSDDebt", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "MCR", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "MINUTE_DECAY_FACTOR", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "MIN_NET_DEBT", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "NAME", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "SECONDS_IN_ONE_MINUTE", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "TroveOwners", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "Troves", - "outputs": [ - { - "internalType": "uint256", - "name": "debt", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "coll", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "stake", - "type": "uint256" - }, - { - "internalType": "enum TroveManagerStorage.Status", - "name": "status", - "type": "uint8" - }, - { - "internalType": "uint128", - "name": "arrayIndex", - "type": "uint128" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "ZUSD_GAS_COMPENSATION", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_100pct", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_borrower", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_price", - "type": "uint256" - } - ], - "name": "_getCurrentICR", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_borrower", - "type": "address" - } - ], - "name": "_getPendingETHReward", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_borrower", - "type": "address" - } - ], - "name": "_getPendingZUSDDebtReward", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_getRedemptionRate", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_borrower", - "type": "address" - } - ], - "name": "_hasPendingRewards", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_stabilityPool", - "outputs": [ - { - "internalType": "contract IStabilityPool", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_zeroStaking", - "outputs": [ - { - "internalType": "contract IZEROStaking", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_zeroToken", - "outputs": [ - { - "internalType": "contract IZEROToken", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_zusdToken", - "outputs": [ - { - "internalType": "contract IZUSDToken", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "activePool", - "outputs": [ - { - "internalType": "contract IActivePool", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_borrower", - "type": "address" - } - ], - "name": "addTroveOwnerToArray", - "outputs": [ - { - "internalType": "uint256", - "name": "index", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_borrower", - "type": "address" - } - ], - "name": "applyPendingRewards", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "baseRate", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address[]", - "name": "_troveArray", - "type": "address[]" - } - ], - "name": "batchLiquidateTroves", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "borrowerOperationsAddress", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_price", - "type": "uint256" - } - ], - "name": "checkRecoveryMode", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_borrower", - "type": "address" - } - ], - "name": "closeTrove", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "decayBaseRateFromBorrowing", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_borrower", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_collDecrease", - "type": "uint256" - } - ], - "name": "decreaseTroveColl", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_borrower", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_debtDecrease", - "type": "uint256" - } - ], - "name": "decreaseTroveDebt", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "defaultPool", - "outputs": [ - { - "internalType": "contract IDefaultPool", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "feeDistributor", - "outputs": [ - { - "internalType": "contract IFeeDistributor", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_ZUSDDebt", - "type": "uint256" - } - ], - "name": "getBorrowingFee", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_ZUSDDebt", - "type": "uint256" - } - ], - "name": "getBorrowingFeeWithDecay", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getBorrowingRate", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getBorrowingRateWithDecay", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_borrower", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_price", - "type": "uint256" - } - ], - "name": "getCurrentICR", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_borrower", - "type": "address" - } - ], - "name": "getEntireDebtAndColl", - "outputs": [ - { - "internalType": "uint256", - "name": "debt", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "coll", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "pendingZUSDDebtReward", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "pendingETHReward", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getEntireSystemColl", - "outputs": [ - { - "internalType": "uint256", - "name": "entireSystemColl", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getEntireSystemDebt", - "outputs": [ - { - "internalType": "uint256", - "name": "entireSystemDebt", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_borrower", - "type": "address" - } - ], - "name": "getNominalICR", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getOwner", - "outputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_borrower", - "type": "address" - } - ], - "name": "getPendingETHReward", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_borrower", - "type": "address" - } - ], - "name": "getPendingZUSDDebtReward", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_ETHDrawn", - "type": "uint256" - } - ], - "name": "getRedemptionFeeWithDecay", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getRedemptionRate", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getRedemptionRateWithDecay", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_price", - "type": "uint256" - } - ], - "name": "getTCR", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_borrower", - "type": "address" - } - ], - "name": "getTroveColl", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_borrower", - "type": "address" - } - ], - "name": "getTroveDebt", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_index", - "type": "uint256" - } - ], - "name": "getTroveFromTroveOwnersArray", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getTroveOwnersCount", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_borrower", - "type": "address" - } - ], - "name": "getTroveStake", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_borrower", - "type": "address" - } - ], - "name": "getTroveStatus", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_borrower", - "type": "address" - } - ], - "name": "hasPendingRewards", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_borrower", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_collIncrease", - "type": "uint256" - } - ], - "name": "increaseTroveColl", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_borrower", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_debtIncrease", - "type": "uint256" - } - ], - "name": "increaseTroveDebt", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "lastETHError_Redistribution", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "lastFeeOperationTime", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "lastZUSDDebtError_Redistribution", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_borrower", - "type": "address" - } - ], - "name": "liquidate", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_n", - "type": "uint256" - } - ], - "name": "liquidateTroves", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "liquityBaseParams", - "outputs": [ - { - "internalType": "contract ILiquityBaseParams", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "priceFeed", - "outputs": [ - { - "internalType": "contract IPriceFeed", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_ZUSDamount", - "type": "uint256" - }, - { - "internalType": "address", - "name": "_firstRedemptionHint", - "type": "address" - }, - { - "internalType": "address", - "name": "_upperPartialRedemptionHint", - "type": "address" - }, - { - "internalType": "address", - "name": "_lowerPartialRedemptionHint", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_partialRedemptionHintNICR", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_maxIterations", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_maxFeePercentage", - "type": "uint256" - } - ], - "name": "redeemCollateral", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_dllrAmount", - "type": "uint256" - }, - { - "internalType": "address", - "name": "_firstRedemptionHint", - "type": "address" - }, - { - "internalType": "address", - "name": "_upperPartialRedemptionHint", - "type": "address" - }, - { - "internalType": "address", - "name": "_lowerPartialRedemptionHint", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_partialRedemptionHintNICR", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_maxIterations", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_maxFeePercentage", - "type": "uint256" - }, - { - "components": [ - { - "internalType": "uint256", - "name": "deadline", - "type": "uint256" - }, - { - "internalType": "uint8", - "name": "v", - "type": "uint8" - }, - { - "internalType": "bytes32", - "name": "r", - "type": "bytes32" - }, - { - "internalType": "bytes32", - "name": "s", - "type": "bytes32" - } - ], - "internalType": "struct IMassetManager.PermitParams", - "name": "_permitParams", - "type": "tuple" - } - ], - "name": "redeemCollateralViaDLLR", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_borrower", - "type": "address" - } - ], - "name": "removeStake", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "rewardSnapshots", - "outputs": [ - { - "internalType": "uint256", - "name": "ETH", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "ZUSDDebt", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "components": [ - { - "internalType": "address", - "name": "_feeDistributorAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_troveManagerRedeemOps", - "type": "address" - }, - { - "internalType": "address", - "name": "_liquityBaseParamsAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_borrowerOperationsAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_activePoolAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_defaultPoolAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_stabilityPoolAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_gasPoolAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_collSurplusPoolAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_priceFeedAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_zusdTokenAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_sortedTrovesAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_zeroTokenAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_zeroStakingAddress", - "type": "address" - } - ], - "internalType": "struct ITroveManager.TroveManagerInitAddressesParams", - "name": "_troveManagerInitAddressesParams", - "type": "tuple" - } - ], - "name": "setAddresses", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - } - ], - "name": "setOwner", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_troveManagerRedeemOps", - "type": "address" - } - ], - "name": "setTroveManagerRedeemOps", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_borrower", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_num", - "type": "uint256" - } - ], - "name": "setTroveStatus", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "sortedTroves", - "outputs": [ - { - "internalType": "contract ISortedTroves", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "totalCollateralSnapshot", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "totalStakes", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "totalStakesSnapshot", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "troveManagerRedeemOps", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_borrower", - "type": "address" - } - ], - "name": "updateStakeAndTotalStakes", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_borrower", - "type": "address" - } - ], - "name": "updateTroveRewardSnapshots", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } -] \ No newline at end of file diff --git a/packages/lib-ethers/abi/TroveManagerRedeemOps.json b/packages/lib-ethers/abi/TroveManagerRedeemOps.json deleted file mode 100644 index 06de5f5f0..000000000 --- a/packages/lib-ethers/abi/TroveManagerRedeemOps.json +++ /dev/null @@ -1,1008 +0,0 @@ -[ - { - "inputs": [ - { - "internalType": "uint256", - "name": "_bootstrapPeriod", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "_baseRate", - "type": "uint256" - } - ], - "name": "BaseRateUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "_L_ETH", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_L_ZUSDDebt", - "type": "uint256" - } - ], - "name": "LTermsUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "_lastFeeOpTime", - "type": "uint256" - } - ], - "name": "LastFeeOpTimeUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "_liquidatedDebt", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_liquidatedColl", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_collGasCompensation", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_ZUSDGasCompensation", - "type": "uint256" - } - ], - "name": "Liquidation", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "previousOwner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnershipTransferred", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "_attemptedZUSDAmount", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_actualZUSDAmount", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_ETHSent", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_ETHFee", - "type": "uint256" - } - ], - "name": "Redemption", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "_totalStakesSnapshot", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_totalCollateralSnapshot", - "type": "uint256" - } - ], - "name": "SystemSnapshotsUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "_newTotalStakes", - "type": "uint256" - } - ], - "name": "TotalStakesUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_borrower", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_newIndex", - "type": "uint256" - } - ], - "name": "TroveIndexUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "_borrower", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_debt", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_coll", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "enum TroveManagerBase.TroveManagerOperation", - "name": "_operation", - "type": "uint8" - } - ], - "name": "TroveLiquidated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "_L_ETH", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_L_ZUSDDebt", - "type": "uint256" - } - ], - "name": "TroveSnapshotsUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "_borrower", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_debt", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_coll", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_stake", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "enum TroveManagerBase.TroveManagerOperation", - "name": "_operation", - "type": "uint8" - } - ], - "name": "TroveUpdated", - "type": "event" - }, - { - "inputs": [], - "name": "BETA", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "BOOTSTRAP_PERIOD", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "DECIMAL_PRECISION", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "L_ETH", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "L_ZUSDDebt", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "MINUTE_DECAY_FACTOR", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "MIN_NET_DEBT", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "NAME", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "SECONDS_IN_ONE_MINUTE", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "TroveOwners", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "Troves", - "outputs": [ - { - "internalType": "uint256", - "name": "debt", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "coll", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "stake", - "type": "uint256" - }, - { - "internalType": "enum TroveManagerStorage.Status", - "name": "status", - "type": "uint8" - }, - { - "internalType": "uint128", - "name": "arrayIndex", - "type": "uint128" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "ZUSD_GAS_COMPENSATION", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_100pct", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_borrower", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_price", - "type": "uint256" - } - ], - "name": "_getCurrentICR", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_borrower", - "type": "address" - } - ], - "name": "_getPendingETHReward", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_borrower", - "type": "address" - } - ], - "name": "_getPendingZUSDDebtReward", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_getRedemptionRate", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_borrower", - "type": "address" - } - ], - "name": "_hasPendingRewards", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_stabilityPool", - "outputs": [ - { - "internalType": "contract IStabilityPool", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_zeroStaking", - "outputs": [ - { - "internalType": "contract IZEROStaking", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_zeroToken", - "outputs": [ - { - "internalType": "contract IZEROToken", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_zusdToken", - "outputs": [ - { - "internalType": "contract IZUSDToken", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "activePool", - "outputs": [ - { - "internalType": "contract IActivePool", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "baseRate", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "borrowerOperationsAddress", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "defaultPool", - "outputs": [ - { - "internalType": "contract IDefaultPool", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "feeDistributor", - "outputs": [ - { - "internalType": "contract IFeeDistributor", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getEntireSystemColl", - "outputs": [ - { - "internalType": "uint256", - "name": "entireSystemColl", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getEntireSystemDebt", - "outputs": [ - { - "internalType": "uint256", - "name": "entireSystemDebt", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getOwner", - "outputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "lastETHError_Redistribution", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "lastFeeOperationTime", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "lastZUSDDebtError_Redistribution", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "liquityBaseParams", - "outputs": [ - { - "internalType": "contract ILiquityBaseParams", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "priceFeed", - "outputs": [ - { - "internalType": "contract IPriceFeed", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_ZUSDamount", - "type": "uint256" - }, - { - "internalType": "address", - "name": "_firstRedemptionHint", - "type": "address" - }, - { - "internalType": "address", - "name": "_upperPartialRedemptionHint", - "type": "address" - }, - { - "internalType": "address", - "name": "_lowerPartialRedemptionHint", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_partialRedemptionHintNICR", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_maxIterations", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_maxFeePercentage", - "type": "uint256" - } - ], - "name": "redeemCollateral", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_dllrAmount", - "type": "uint256" - }, - { - "internalType": "address", - "name": "_firstRedemptionHint", - "type": "address" - }, - { - "internalType": "address", - "name": "_upperPartialRedemptionHint", - "type": "address" - }, - { - "internalType": "address", - "name": "_lowerPartialRedemptionHint", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_partialRedemptionHintNICR", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_maxIterations", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_maxFeePercentage", - "type": "uint256" - }, - { - "components": [ - { - "internalType": "uint256", - "name": "deadline", - "type": "uint256" - }, - { - "internalType": "uint8", - "name": "v", - "type": "uint8" - }, - { - "internalType": "bytes32", - "name": "r", - "type": "bytes32" - }, - { - "internalType": "bytes32", - "name": "s", - "type": "bytes32" - } - ], - "internalType": "struct IMassetManager.PermitParams", - "name": "_permitParams", - "type": "tuple" - } - ], - "name": "redeemCollateralViaDLLR", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "rewardSnapshots", - "outputs": [ - { - "internalType": "uint256", - "name": "ETH", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "ZUSDDebt", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - } - ], - "name": "setOwner", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "sortedTroves", - "outputs": [ - { - "internalType": "contract ISortedTroves", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "totalCollateralSnapshot", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "totalStakes", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "totalStakesSnapshot", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "troveManagerRedeemOps", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - } -] \ No newline at end of file diff --git a/packages/lib-ethers/abi/UpgradableProxy.json b/packages/lib-ethers/abi/UpgradableProxy.json index b587acfd6..3f6b3de2d 100644 --- a/packages/lib-ethers/abi/UpgradableProxy.json +++ b/packages/lib-ethers/abi/UpgradableProxy.json @@ -1,100 +1,109 @@ -[ - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "_oldImplementation", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "_newImplementation", - "type": "address" - } - ], - "name": "ImplementationChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "previousOwner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnershipTransferred", - "type": "event" - }, - { - "stateMutability": "payable", - "type": "fallback" - }, - { - "inputs": [], - "name": "getImplementation", - "outputs": [ - { - "internalType": "address", - "name": "_implementation", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getOwner", - "outputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_implementation", - "type": "address" - } - ], - "name": "setImplementation", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - } - ], - "name": "setOwner", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "stateMutability": "payable", - "type": "receive" - } -] \ No newline at end of file +{ + "_format": "hh-sol-artifact-1", + "contractName": "UpgradableProxy", + "sourceName": "contracts/Proxy/UpgradableProxy.sol", + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "_oldImplementation", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "_newImplementation", + "type": "address" + } + ], + "name": "ImplementationChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousOwner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnershipTransferred", + "type": "event" + }, + { + "stateMutability": "payable", + "type": "fallback" + }, + { + "inputs": [], + "name": "getImplementation", + "outputs": [ + { + "internalType": "address", + "name": "_implementation", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getOwner", + "outputs": [ + { + "internalType": "address", + "name": "_owner", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_implementation", + "type": "address" + } + ], + "name": "setImplementation", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_owner", + "type": "address" + } + ], + "name": "setOwner", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "stateMutability": "payable", + "type": "receive" + } + ], + "bytecode": "0x608060405234801561001057600080fd5b50610023336001600160e01b0361002816565b610110565b6001600160a01b03811661006d5760405162461bcd60e51b81526004018080602001828103825260228152602001806105e26022913960400191505060405180910390fd5b6001600160a01b0381166100886001600160e01b036100e616565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3604080517035b2bc9737bbb730b136329737bbb732b960791b8152905190819003601101902055565b604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205490565b6104c38061011f6000396000f3fe6080604052600436106100435760003560e01c806313af40351461005a578063893d20e81461008d578063aaf10f42146100be578063d784d426146100d357610052565b3661005257610050610106565b005b610050610106565b34801561006657600080fd5b506100506004803603602081101561007d57600080fd5b50356001600160a01b031661017c565b34801561009957600080fd5b506100a26101ef565b604080516001600160a01b039092168252519081900360200190f35b3480156100ca57600080fd5b506100a2610219565b3480156100df57600080fd5b50610050600480360360208110156100f657600080fd5b50356001600160a01b0316610244565b6000610110610219565b90506001600160a01b0381166101575760405162461bcd60e51b815260040180806020018281038252602381526020018061046b6023913960400191505060405180910390fd5b60405136600082376000803683855af43d806000843e818015610178578184f35b8184fd5b6101846101ef565b6001600160a01b0316336001600160a01b0316146101e3576040805162461bcd60e51b815260206004820152601760248201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604482015290519081900360640190fd5b6101ec816102b4565b50565b604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205490565b604080517135b2bc9734b6b83632b6b2b73a30ba34b7b760711b815290519081900360120190205490565b61024c6101ef565b6001600160a01b0316336001600160a01b0316146102ab576040805162461bcd60e51b815260206004820152601760248201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604482015290519081900360640190fd5b6101ec81610369565b6001600160a01b0381166102f95760405162461bcd60e51b81526004018080602001828103825260228152602001806104206022913960400191505060405180910390fd5b806001600160a01b031661030b6101ef565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3604080517035b2bc9737bbb730b136329737bbb732b960791b8152905190819003601101902055565b6001600160a01b0381166103ae5760405162461bcd60e51b81526004018080602001828103825260298152602001806104426029913960400191505060405180910390fd5b806001600160a01b03166103c0610219565b6001600160a01b03167fcfbf4028add9318bbf716f08c348595afb063b0e9feed1f86d33681a4b3ed4d360405160405180910390a3604080517135b2bc9734b6b83632b6b2b73a30ba34b7b760711b815290519081900360120190205556fe4f776e61626c653a3a7365744f776e65723a20696e76616c6964206164647265737350726f78793a3a736574496d706c656d656e746174696f6e3a20696e76616c6964206164647265737350726f78793a3a28293a20696d706c656d656e746174696f6e206e6f7420666f756e64a2646970667358221220f84db5b0f5dd60cbb7d66141de13219d0da4edbe3006d54bb4d362cbc0da0dfa64736f6c634300060b00334f776e61626c653a3a7365744f776e65723a20696e76616c69642061646472657373", + "deployedBytecode": "0x6080604052600436106100435760003560e01c806313af40351461005a578063893d20e81461008d578063aaf10f42146100be578063d784d426146100d357610052565b3661005257610050610106565b005b610050610106565b34801561006657600080fd5b506100506004803603602081101561007d57600080fd5b50356001600160a01b031661017c565b34801561009957600080fd5b506100a26101ef565b604080516001600160a01b039092168252519081900360200190f35b3480156100ca57600080fd5b506100a2610219565b3480156100df57600080fd5b50610050600480360360208110156100f657600080fd5b50356001600160a01b0316610244565b6000610110610219565b90506001600160a01b0381166101575760405162461bcd60e51b815260040180806020018281038252602381526020018061046b6023913960400191505060405180910390fd5b60405136600082376000803683855af43d806000843e818015610178578184f35b8184fd5b6101846101ef565b6001600160a01b0316336001600160a01b0316146101e3576040805162461bcd60e51b815260206004820152601760248201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604482015290519081900360640190fd5b6101ec816102b4565b50565b604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205490565b604080517135b2bc9734b6b83632b6b2b73a30ba34b7b760711b815290519081900360120190205490565b61024c6101ef565b6001600160a01b0316336001600160a01b0316146102ab576040805162461bcd60e51b815260206004820152601760248201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604482015290519081900360640190fd5b6101ec81610369565b6001600160a01b0381166102f95760405162461bcd60e51b81526004018080602001828103825260228152602001806104206022913960400191505060405180910390fd5b806001600160a01b031661030b6101ef565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3604080517035b2bc9737bbb730b136329737bbb732b960791b8152905190819003601101902055565b6001600160a01b0381166103ae5760405162461bcd60e51b81526004018080602001828103825260298152602001806104426029913960400191505060405180910390fd5b806001600160a01b03166103c0610219565b6001600160a01b03167fcfbf4028add9318bbf716f08c348595afb063b0e9feed1f86d33681a4b3ed4d360405160405180910390a3604080517135b2bc9734b6b83632b6b2b73a30ba34b7b760711b815290519081900360120190205556fe4f776e61626c653a3a7365744f776e65723a20696e76616c6964206164647265737350726f78793a3a736574496d706c656d656e746174696f6e3a20696e76616c6964206164647265737350726f78793a3a28293a20696d706c656d656e746174696f6e206e6f7420666f756e64a2646970667358221220f84db5b0f5dd60cbb7d66141de13219d0da4edbe3006d54bb4d362cbc0da0dfa64736f6c634300060b0033", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/packages/lib-ethers/abi/ZEROStaking.json b/packages/lib-ethers/abi/ZEROStaking.json deleted file mode 100644 index 22450ba69..000000000 --- a/packages/lib-ethers/abi/ZEROStaking.json +++ /dev/null @@ -1,521 +0,0 @@ -[ - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_activePoolAddress", - "type": "address" - } - ], - "name": "ActivePoolAddressSet", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_account", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "name": "EtherSent", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "_F_ETH", - "type": "uint256" - } - ], - "name": "F_ETHUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "_F_ZUSD", - "type": "uint256" - } - ], - "name": "F_ZUSDUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_feeDistributorAddress", - "type": "address" - } - ], - "name": "FeeDistributorAddressAddressSet", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_feeDistributorAddress", - "type": "address" - } - ], - "name": "FeeDistributorAddressSet", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "previousOwner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnershipTransferred", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "staker", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "newStake", - "type": "uint256" - } - ], - "name": "StakeChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_staker", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_F_ETH", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_F_ZUSD", - "type": "uint256" - } - ], - "name": "StakerSnapshotsUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "staker", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "ZUSDGain", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "ETHGain", - "type": "uint256" - } - ], - "name": "StakingGainsWithdrawn", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "_totalZEROStaked", - "type": "uint256" - } - ], - "name": "TotalZEROStakedUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_zeroTokenAddress", - "type": "address" - } - ], - "name": "ZEROTokenAddressSet", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_zusdTokenAddress", - "type": "address" - } - ], - "name": "ZUSDTokenAddressSet", - "type": "event" - }, - { - "inputs": [], - "name": "DECIMAL_PRECISION", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "F_ETH", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "F_ZUSD", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "NAME", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "activePoolAddress", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "feeDistributorAddress", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getOwner", - "outputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_user", - "type": "address" - } - ], - "name": "getPendingETHGain", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_user", - "type": "address" - } - ], - "name": "getPendingZUSDGain", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_ETHFee", - "type": "uint256" - } - ], - "name": "increaseF_ETH", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_ZUSDFee", - "type": "uint256" - } - ], - "name": "increaseF_ZUSD", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_zeroTokenAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_zusdTokenAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_feeDistributorAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_activePoolAddress", - "type": "address" - } - ], - "name": "setAddresses", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - } - ], - "name": "setOwner", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "snapshots", - "outputs": [ - { - "internalType": "uint256", - "name": "F_ETH_Snapshot", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "F_ZUSD_Snapshot", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_ZEROamount", - "type": "uint256" - } - ], - "name": "stake", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "stakes", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "totalZEROStaked", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_ZEROamount", - "type": "uint256" - } - ], - "name": "unstake", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "zeroToken", - "outputs": [ - { - "internalType": "contract IZEROToken", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "zusdToken", - "outputs": [ - { - "internalType": "contract IZUSDToken", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "stateMutability": "payable", - "type": "receive" - } -] \ No newline at end of file diff --git a/packages/lib-ethers/abi/ZEROToken.json b/packages/lib-ethers/abi/ZEROToken.json deleted file mode 100644 index 8e967bb61..000000000 --- a/packages/lib-ethers/abi/ZEROToken.json +++ /dev/null @@ -1,515 +0,0 @@ -[ - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "Approval", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "Transfer", - "type": "event" - }, - { - "inputs": [], - "name": "ONE_YEAR_IN_SECONDS", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "address", - "name": "spender", - "type": "address" - } - ], - "name": "allowance", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "approve", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "balanceOf", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "burn", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "decimals", - "outputs": [ - { - "internalType": "uint8", - "name": "", - "type": "uint8" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "subtractedValue", - "type": "uint256" - } - ], - "name": "decreaseAllowance", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "domainSeparator", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getDeploymentStartTime", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "addedValue", - "type": "uint256" - } - ], - "name": "increaseAllowance", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_zeroStakingAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_marketMakerAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_presaleAddress", - "type": "address" - } - ], - "name": "initialize", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "marketMakerAddress", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "mint", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "name", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - } - ], - "name": "nonces", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "deadline", - "type": "uint256" - }, - { - "internalType": "uint8", - "name": "v", - "type": "uint8" - }, - { - "internalType": "bytes32", - "name": "r", - "type": "bytes32" - }, - { - "internalType": "bytes32", - "name": "s", - "type": "bytes32" - } - ], - "name": "permit", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "permitTypeHash", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "presale", - "outputs": [ - { - "internalType": "contract IBalanceRedirectPresale", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_sender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "name": "sendToZEROStaking", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "symbol", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "totalSupply", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "transfer", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "transferFrom", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "version", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "zeroStakingAddress", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - } -] \ No newline at end of file diff --git a/packages/lib-ethers/abi/ZUSDToken.json b/packages/lib-ethers/abi/ZUSDToken.json deleted file mode 100644 index 1a6618300..000000000 --- a/packages/lib-ethers/abi/ZUSDToken.json +++ /dev/null @@ -1,581 +0,0 @@ -[ - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "Approval", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_newBorrowerOperationsAddress", - "type": "address" - } - ], - "name": "BorrowerOperationsAddressChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "previousOwner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnershipTransferred", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_newStabilityPoolAddress", - "type": "address" - } - ], - "name": "StabilityPoolAddressChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "Transfer", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_troveManagerAddress", - "type": "address" - } - ], - "name": "TroveManagerAddressChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_user", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "name": "ZUSDTokenBalanceUpdated", - "type": "event" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "address", - "name": "spender", - "type": "address" - } - ], - "name": "allowance", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "approve", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "balanceOf", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_account", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "name": "burn", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "decimals", - "outputs": [ - { - "internalType": "uint8", - "name": "", - "type": "uint8" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "subtractedValue", - "type": "uint256" - } - ], - "name": "decreaseAllowance", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "domainSeparator", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getOwner", - "outputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "addedValue", - "type": "uint256" - } - ], - "name": "increaseAllowance", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_troveManagerAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_stabilityPoolAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_borrowerOperationsAddress", - "type": "address" - } - ], - "name": "initialize", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_account", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "name": "mint", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "name", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - } - ], - "name": "nonces", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "deadline", - "type": "uint256" - }, - { - "internalType": "uint8", - "name": "v", - "type": "uint8" - }, - { - "internalType": "bytes32", - "name": "r", - "type": "bytes32" - }, - { - "internalType": "bytes32", - "name": "s", - "type": "bytes32" - } - ], - "name": "permit", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "permitTypeHash", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_poolAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_receiver", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "name": "returnFromPool", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_sender", - "type": "address" - }, - { - "internalType": "address", - "name": "_poolAddress", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "name": "sendToPool", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - } - ], - "name": "setOwner", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "symbol", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "totalSupply", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "transfer", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "transferFrom", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "version", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - } -] \ No newline at end of file diff --git a/packages/lib-ethers/scripts/generate-types.ts b/packages/lib-ethers/scripts/generate-types.ts index 7a933ff15..0c546684f 100644 --- a/packages/lib-ethers/scripts/generate-types.ts +++ b/packages/lib-ethers/scripts/generate-types.ts @@ -10,7 +10,7 @@ import CommunityIssuance from "../../contracts/deployment/deployments/rskSovrynM import DefaultPool from "../../contracts/deployment/deployments/rskSovrynMainnet/DefaultPool.json"; import GasPool from "../../contracts/deployment/deployments/rskSovrynMainnet/GasPool.json"; import HintHelpers from "../../contracts/deployment/deployments/rskSovrynMainnet/HintHelpers.json"; -import IERC20 from "../../contracts/artifacts/contracts/Dependencies/IERC20.sol/IERC20.json"; +import IERC20 from "../abi/IERC20.json"; import ZUSDToken from "../../contracts/deployment/deployments/rskSovrynMainnet/ZUSDToken.json"; import ZEROStaking from "../../contracts/deployment/deployments/rskSovrynMainnet/ZEROStaking.json"; import ZEROToken from "../../contracts/deployment/deployments/rskSovrynMainnet/ZEROToken.json"; @@ -20,12 +20,12 @@ import PriceFeedTestnet from "../../contracts/deployment/deployments/rskSovrynTe import SortedTroves from "../../contracts/deployment/deployments/rskSovrynMainnet/SortedTroves.json"; import StabilityPool from "../../contracts/deployment/deployments/rskSovrynMainnet/StabilityPool.json"; import TroveManager from "../../contracts/deployment/deployments/rskSovrynMainnet/TroveManager.json"; -import UpgradeableProxy from "../../contracts/artifacts/contracts/Proxy/UpgradableProxy.sol/UpgradableProxy.json"; +import UpgradeableProxy from "../abi/UpgradableProxy.json"; import LiquityBaseParams from "../../contracts/deployment/deployments/rskSovrynMainnet/LiquityBaseParams.json"; import TroveManagerRedeemOps from "../../contracts/deployment/deployments/rskSovrynMainnet/TroveManagerRedeemOps.json"; -import MockBalanceRedirectPresale from "../../contracts/artifacts/contracts/TestContracts/MockBalanceRedirectPresale.sol/MockBalanceRedirectPresale.json"; +import MockBalanceRedirectPresale from "../abi/MockBalanceRedirectPresale.json"; import FeeDistributor from "../../contracts/deployment/deployments/rskSovrynMainnet/FeeDistributor.json"; -import Ownable from "../../contracts/artifacts/contracts/Dependencies/Ownable.sol/Ownable.json"; +import Ownable from "../abi/Ownable.json"; const getTupleType = (components: ParamType[], flexible: boolean) => { if (components.every(component => component.name)) { From 42be8c56c3a0b0c7d92cd17de20556f980cb7c65 Mon Sep 17 00:00:00 2001 From: tiltom Date: Wed, 27 Sep 2023 11:35:03 +0200 Subject: [PATCH 05/10] Use @sovryn-zero/contracts package --- packages/lib-ethers/abi/IERC20.json | 281 ------------------ .../abi/MockBalanceRedirectPresale.json | 38 --- packages/lib-ethers/abi/Ownable.json | 56 ---- packages/lib-ethers/abi/UpgradableProxy.json | 109 ------- packages/lib-ethers/package.json | 3 +- packages/lib-ethers/scripts/generate-types.ts | 46 +-- packages/lib-ethers/src/contracts.ts | 43 ++- yarn.lock | 5 + 8 files changed, 50 insertions(+), 531 deletions(-) delete mode 100644 packages/lib-ethers/abi/IERC20.json delete mode 100644 packages/lib-ethers/abi/MockBalanceRedirectPresale.json delete mode 100644 packages/lib-ethers/abi/Ownable.json delete mode 100644 packages/lib-ethers/abi/UpgradableProxy.json diff --git a/packages/lib-ethers/abi/IERC20.json b/packages/lib-ethers/abi/IERC20.json deleted file mode 100644 index e0c9599a6..000000000 --- a/packages/lib-ethers/abi/IERC20.json +++ /dev/null @@ -1,281 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "IERC20", - "sourceName": "contracts/Dependencies/IERC20.sol", - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "Approval", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "Transfer", - "type": "event" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "address", - "name": "spender", - "type": "address" - } - ], - "name": "allowance", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "approve", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "balanceOf", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "decimals", - "outputs": [ - { - "internalType": "uint8", - "name": "", - "type": "uint8" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "subtractedValue", - "type": "uint256" - } - ], - "name": "decreaseAllowance", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "addedValue", - "type": "uint256" - } - ], - "name": "increaseAllowance", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "name", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "symbol", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "totalSupply", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "transfer", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "transferFrom", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": "0x", - "deployedBytecode": "0x", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/packages/lib-ethers/abi/MockBalanceRedirectPresale.json b/packages/lib-ethers/abi/MockBalanceRedirectPresale.json deleted file mode 100644 index aa028ca47..000000000 --- a/packages/lib-ethers/abi/MockBalanceRedirectPresale.json +++ /dev/null @@ -1,38 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "MockBalanceRedirectPresale", - "sourceName": "contracts/TestContracts/MockBalanceRedirectPresale.sol", - "abi": [ - { - "inputs": [], - "name": "closePresale", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "isClosed", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "openPresale", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": "0x608060405234801561001057600080fd5b5060c38061001f6000396000f3fe6080604052348015600f57600080fd5b5060043610603c5760003560e01c806363cea4501460415780638dd98312146049578063c2b6b58c14604f575b600080fd5b60476069565b005b60476078565b60556084565b604080519115158252519081900360200190f35b6000805460ff19166001179055565b6000805460ff19169055565b60005460ff168156fea2646970667358221220fc2bed8e7b2d3230624b64c8532ad1cf8f5f34c5745b0b66bc2692d7c887c09e64736f6c634300060b0033", - "deployedBytecode": "0x6080604052348015600f57600080fd5b5060043610603c5760003560e01c806363cea4501460415780638dd98312146049578063c2b6b58c14604f575b600080fd5b60476069565b005b60476078565b60556084565b604080519115158252519081900360200190f35b6000805460ff19166001179055565b6000805460ff19169055565b60005460ff168156fea2646970667358221220fc2bed8e7b2d3230624b64c8532ad1cf8f5f34c5745b0b66bc2692d7c887c09e64736f6c634300060b0033", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/packages/lib-ethers/abi/Ownable.json b/packages/lib-ethers/abi/Ownable.json deleted file mode 100644 index 89ace3e79..000000000 --- a/packages/lib-ethers/abi/Ownable.json +++ /dev/null @@ -1,56 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "Ownable", - "sourceName": "contracts/Dependencies/Ownable.sol", - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "previousOwner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnershipTransferred", - "type": "event" - }, - { - "inputs": [], - "name": "getOwner", - "outputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - } - ], - "name": "setOwner", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": "0x", - "deployedBytecode": "0x", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/packages/lib-ethers/abi/UpgradableProxy.json b/packages/lib-ethers/abi/UpgradableProxy.json deleted file mode 100644 index 3f6b3de2d..000000000 --- a/packages/lib-ethers/abi/UpgradableProxy.json +++ /dev/null @@ -1,109 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "UpgradableProxy", - "sourceName": "contracts/Proxy/UpgradableProxy.sol", - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "_oldImplementation", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "_newImplementation", - "type": "address" - } - ], - "name": "ImplementationChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "previousOwner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnershipTransferred", - "type": "event" - }, - { - "stateMutability": "payable", - "type": "fallback" - }, - { - "inputs": [], - "name": "getImplementation", - "outputs": [ - { - "internalType": "address", - "name": "_implementation", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getOwner", - "outputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_implementation", - "type": "address" - } - ], - "name": "setImplementation", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - } - ], - "name": "setOwner", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "stateMutability": "payable", - "type": "receive" - } - ], - "bytecode": "0x608060405234801561001057600080fd5b50610023336001600160e01b0361002816565b610110565b6001600160a01b03811661006d5760405162461bcd60e51b81526004018080602001828103825260228152602001806105e26022913960400191505060405180910390fd5b6001600160a01b0381166100886001600160e01b036100e616565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3604080517035b2bc9737bbb730b136329737bbb732b960791b8152905190819003601101902055565b604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205490565b6104c38061011f6000396000f3fe6080604052600436106100435760003560e01c806313af40351461005a578063893d20e81461008d578063aaf10f42146100be578063d784d426146100d357610052565b3661005257610050610106565b005b610050610106565b34801561006657600080fd5b506100506004803603602081101561007d57600080fd5b50356001600160a01b031661017c565b34801561009957600080fd5b506100a26101ef565b604080516001600160a01b039092168252519081900360200190f35b3480156100ca57600080fd5b506100a2610219565b3480156100df57600080fd5b50610050600480360360208110156100f657600080fd5b50356001600160a01b0316610244565b6000610110610219565b90506001600160a01b0381166101575760405162461bcd60e51b815260040180806020018281038252602381526020018061046b6023913960400191505060405180910390fd5b60405136600082376000803683855af43d806000843e818015610178578184f35b8184fd5b6101846101ef565b6001600160a01b0316336001600160a01b0316146101e3576040805162461bcd60e51b815260206004820152601760248201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604482015290519081900360640190fd5b6101ec816102b4565b50565b604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205490565b604080517135b2bc9734b6b83632b6b2b73a30ba34b7b760711b815290519081900360120190205490565b61024c6101ef565b6001600160a01b0316336001600160a01b0316146102ab576040805162461bcd60e51b815260206004820152601760248201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604482015290519081900360640190fd5b6101ec81610369565b6001600160a01b0381166102f95760405162461bcd60e51b81526004018080602001828103825260228152602001806104206022913960400191505060405180910390fd5b806001600160a01b031661030b6101ef565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3604080517035b2bc9737bbb730b136329737bbb732b960791b8152905190819003601101902055565b6001600160a01b0381166103ae5760405162461bcd60e51b81526004018080602001828103825260298152602001806104426029913960400191505060405180910390fd5b806001600160a01b03166103c0610219565b6001600160a01b03167fcfbf4028add9318bbf716f08c348595afb063b0e9feed1f86d33681a4b3ed4d360405160405180910390a3604080517135b2bc9734b6b83632b6b2b73a30ba34b7b760711b815290519081900360120190205556fe4f776e61626c653a3a7365744f776e65723a20696e76616c6964206164647265737350726f78793a3a736574496d706c656d656e746174696f6e3a20696e76616c6964206164647265737350726f78793a3a28293a20696d706c656d656e746174696f6e206e6f7420666f756e64a2646970667358221220f84db5b0f5dd60cbb7d66141de13219d0da4edbe3006d54bb4d362cbc0da0dfa64736f6c634300060b00334f776e61626c653a3a7365744f776e65723a20696e76616c69642061646472657373", - "deployedBytecode": "0x6080604052600436106100435760003560e01c806313af40351461005a578063893d20e81461008d578063aaf10f42146100be578063d784d426146100d357610052565b3661005257610050610106565b005b610050610106565b34801561006657600080fd5b506100506004803603602081101561007d57600080fd5b50356001600160a01b031661017c565b34801561009957600080fd5b506100a26101ef565b604080516001600160a01b039092168252519081900360200190f35b3480156100ca57600080fd5b506100a2610219565b3480156100df57600080fd5b50610050600480360360208110156100f657600080fd5b50356001600160a01b0316610244565b6000610110610219565b90506001600160a01b0381166101575760405162461bcd60e51b815260040180806020018281038252602381526020018061046b6023913960400191505060405180910390fd5b60405136600082376000803683855af43d806000843e818015610178578184f35b8184fd5b6101846101ef565b6001600160a01b0316336001600160a01b0316146101e3576040805162461bcd60e51b815260206004820152601760248201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604482015290519081900360640190fd5b6101ec816102b4565b50565b604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205490565b604080517135b2bc9734b6b83632b6b2b73a30ba34b7b760711b815290519081900360120190205490565b61024c6101ef565b6001600160a01b0316336001600160a01b0316146102ab576040805162461bcd60e51b815260206004820152601760248201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604482015290519081900360640190fd5b6101ec81610369565b6001600160a01b0381166102f95760405162461bcd60e51b81526004018080602001828103825260228152602001806104206022913960400191505060405180910390fd5b806001600160a01b031661030b6101ef565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3604080517035b2bc9737bbb730b136329737bbb732b960791b8152905190819003601101902055565b6001600160a01b0381166103ae5760405162461bcd60e51b81526004018080602001828103825260298152602001806104426029913960400191505060405180910390fd5b806001600160a01b03166103c0610219565b6001600160a01b03167fcfbf4028add9318bbf716f08c348595afb063b0e9feed1f86d33681a4b3ed4d360405160405180910390a3604080517135b2bc9734b6b83632b6b2b73a30ba34b7b760711b815290519081900360120190205556fe4f776e61626c653a3a7365744f776e65723a20696e76616c6964206164647265737350726f78793a3a736574496d706c656d656e746174696f6e3a20696e76616c6964206164647265737350726f78793a3a28293a20696d706c656d656e746174696f6e206e6f7420666f756e64a2646970667358221220f84db5b0f5dd60cbb7d66141de13219d0da4edbe3006d54bb4d362cbc0da0dfa64736f6c634300060b0033", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/packages/lib-ethers/package.json b/packages/lib-ethers/package.json index 2edfe0b59..0bdf2bd61 100644 --- a/packages/lib-ethers/package.json +++ b/packages/lib-ethers/package.json @@ -60,6 +60,7 @@ "npm-run-all": "4.1.5", "patch-package": "^6.5.0", "ts-node": "9.1.1", - "typescript": "4.1.5" + "typescript": "4.1.5", + "@sovryn-zero/contracts": "0.3.0" } } diff --git a/packages/lib-ethers/scripts/generate-types.ts b/packages/lib-ethers/scripts/generate-types.ts index 0c546684f..cb9833f71 100644 --- a/packages/lib-ethers/scripts/generate-types.ts +++ b/packages/lib-ethers/scripts/generate-types.ts @@ -3,29 +3,29 @@ import path from "path"; import { Interface, ParamType } from "@ethersproject/abi"; -import ActivePool from "../../contracts/deployment/deployments/rskSovrynMainnet/ActivePool.json"; -import BorrowerOperations from "../../contracts/deployment/deployments/rskSovrynMainnet/BorrowerOperations.json"; -import CollSurplusPool from "../../contracts/deployment/deployments/rskSovrynMainnet/CollSurplusPool.json"; -import CommunityIssuance from "../../contracts/deployment/deployments/rskSovrynMainnet/CommunityIssuance.json"; -import DefaultPool from "../../contracts/deployment/deployments/rskSovrynMainnet/DefaultPool.json"; -import GasPool from "../../contracts/deployment/deployments/rskSovrynMainnet/GasPool.json"; -import HintHelpers from "../../contracts/deployment/deployments/rskSovrynMainnet/HintHelpers.json"; -import IERC20 from "../abi/IERC20.json"; -import ZUSDToken from "../../contracts/deployment/deployments/rskSovrynMainnet/ZUSDToken.json"; -import ZEROStaking from "../../contracts/deployment/deployments/rskSovrynMainnet/ZEROStaking.json"; -import ZEROToken from "../../contracts/deployment/deployments/rskSovrynMainnet/ZEROToken.json"; -import MultiTroveGetter from "../../contracts/deployment/deployments/rskSovrynMainnet/MultiTroveGetter.json"; -import PriceFeed from "../../contracts/deployment/deployments/rskSovrynMainnet/PriceFeed.json"; -import PriceFeedTestnet from "../../contracts/deployment/deployments/rskSovrynTestnet/PriceFeedTestnet.json"; -import SortedTroves from "../../contracts/deployment/deployments/rskSovrynMainnet/SortedTroves.json"; -import StabilityPool from "../../contracts/deployment/deployments/rskSovrynMainnet/StabilityPool.json"; -import TroveManager from "../../contracts/deployment/deployments/rskSovrynMainnet/TroveManager.json"; -import UpgradeableProxy from "../abi/UpgradableProxy.json"; -import LiquityBaseParams from "../../contracts/deployment/deployments/rskSovrynMainnet/LiquityBaseParams.json"; -import TroveManagerRedeemOps from "../../contracts/deployment/deployments/rskSovrynMainnet/TroveManagerRedeemOps.json"; -import MockBalanceRedirectPresale from "../abi/MockBalanceRedirectPresale.json"; -import FeeDistributor from "../../contracts/deployment/deployments/rskSovrynMainnet/FeeDistributor.json"; -import Ownable from "../abi/Ownable.json"; +import ActivePool from "@sovryn-zero/contracts/artifacts/contracts/ActivePool.sol/ActivePool.json" +import BorrowerOperations from "@sovryn-zero/contracts/artifacts/contracts/BorrowerOperations.sol/BorrowerOperations.json"; +import CollSurplusPool from "@sovryn-zero/contracts/artifacts/contracts/CollSurplusPool.sol/CollSurplusPool.json"; +import CommunityIssuance from "@sovryn-zero/contracts/artifacts/contracts/ZERO/CommunityIssuance.sol/CommunityIssuance.json"; +import DefaultPool from "@sovryn-zero/contracts/artifacts/contracts/DefaultPool.sol/DefaultPool.json"; +import GasPool from "@sovryn-zero/contracts/artifacts/contracts/GasPool.sol/GasPool.json"; +import HintHelpers from "@sovryn-zero/contracts/artifacts/contracts/HintHelpers.sol/HintHelpers.json"; +import IERC20 from "@sovryn-zero/contracts/artifacts/contracts/Dependencies/IERC20.sol/IERC20.json"; +import ZUSDToken from "@sovryn-zero/contracts/artifacts/contracts/ZUSDToken.sol/ZUSDToken.json"; +import ZEROStaking from "@sovryn-zero/contracts/artifacts/contracts/ZERO/ZEROStaking.sol/ZEROStaking.json"; +import ZEROToken from "@sovryn-zero/contracts/artifacts/contracts/ZERO/ZEROToken.sol/ZEROToken.json"; +import MultiTroveGetter from "@sovryn-zero/contracts/artifacts/contracts/MultiTroveGetter.sol/MultiTroveGetter.json"; +import PriceFeed from "@sovryn-zero/contracts/artifacts/contracts/PriceFeed.sol/PriceFeed.json"; +import PriceFeedTestnet from "@sovryn-zero/contracts/artifacts/contracts/TestContracts/PriceFeedTestnet.sol/PriceFeedTestnet.json"; +import SortedTroves from "@sovryn-zero/contracts/artifacts/contracts/SortedTroves.sol/SortedTroves.json"; +import StabilityPool from "@sovryn-zero/contracts/artifacts/contracts/StabilityPool.sol/StabilityPool.json"; +import TroveManager from "@sovryn-zero/contracts/artifacts/contracts/TroveManager.sol/TroveManager.json"; +import UpgradeableProxy from "@sovryn-zero/contracts/artifacts/contracts/Proxy/UpgradableProxy.sol/UpgradableProxy.json"; +import LiquityBaseParams from "@sovryn-zero/contracts/artifacts/contracts/LiquityBaseParams.sol/LiquityBaseParams.json"; +import TroveManagerRedeemOps from "@sovryn-zero/contracts/artifacts/contracts/Dependencies/TroveManagerRedeemOps.sol/TroveManagerRedeemOps.json"; +import MockBalanceRedirectPresale from "@sovryn-zero/contracts/artifacts/contracts/TestContracts/MockFeeSharingCollector.sol/MockFeeSharingCollector.json"; +import FeeDistributor from "@sovryn-zero/contracts/artifacts/contracts/FeeDistributor.sol/FeeDistributor.json"; +import Ownable from "@sovryn-zero/contracts/artifacts/contracts/Dependencies/Ownable.sol/Ownable.json"; const getTupleType = (components: ParamType[], flexible: boolean) => { if (components.every(component => component.name)) { diff --git a/packages/lib-ethers/src/contracts.ts b/packages/lib-ethers/src/contracts.ts index d116d2557..a643df3fd 100644 --- a/packages/lib-ethers/src/contracts.ts +++ b/packages/lib-ethers/src/contracts.ts @@ -12,27 +12,26 @@ import { ContractTransaction } from "@ethersproject/contracts"; -import activePool from "../../contracts/deployment/deployments/rskSovrynMainnet/ActivePool.json"; -import borrowerOperations from "../../contracts/deployment/deployments/rskSovrynMainnet/BorrowerOperations.json"; -import troveManager from "../../contracts/deployment/deployments/rskSovrynMainnet/TroveManager.json"; -import troveManagerRedeemOps from "../../contracts/deployment/deployments/rskSovrynMainnet/TroveManagerRedeemOps.json"; -import zusdToken from "../../contracts/deployment/deployments/rskSovrynMainnet/ZUSDToken.json"; -//import nueTokenAbi from "../../contracts/deployment/deployments/rskSovrynMainnet/IERC20.json"; -import nueToken from "../../contracts/artifacts/contracts/Dependencies/IERC20.sol/IERC20.json" -import collSurplusPool from "../../contracts/deployment/deployments/rskSovrynMainnet/CollSurplusPool.json"; -import communityIssuance from "../../contracts/deployment/deployments/rskSovrynMainnet/CommunityIssuance.json"; -import defaultPool from "../../contracts/deployment/deployments/rskSovrynMainnet/DefaultPool.json"; -import zeroToken from "../../contracts/deployment/deployments/rskSovrynMainnet/ZEROToken.json"; -import hintHelpers from "../../contracts/deployment/deployments/rskSovrynMainnet/HintHelpers.json"; -import zeroStaking from "../../contracts/deployment/deployments/rskSovrynMainnet/ZEROStaking.json"; -import multiTroveGetter from "../../contracts/deployment/deployments/rskSovrynMainnet/MultiTroveGetter.json"; -import priceFeed from "../../contracts/deployment/deployments/rskSovrynMainnet/PriceFeed.json"; -import priceFeedTestnet from "../../contracts/deployment/deployments/rskSovrynTestnet/PriceFeedTestnet.json"; -import sortedTroves from "../../contracts/deployment/deployments/rskSovrynMainnet/SortedTroves.json"; -import stabilityPool from "../../contracts/deployment/deployments/rskSovrynMainnet/StabilityPool.json"; -import gasPool from "../../contracts/deployment/deployments/rskSovrynMainnet/GasPool.json"; -import liquityBaseParams from "../../contracts/deployment/deployments/rskSovrynMainnet/LiquityBaseParams.json"; -import feeDistributor from "../../contracts/deployment/deployments/rskSovrynMainnet/FeeDistributor.json"; +import activePool from "@sovryn-zero/contracts/deployment/deployments/rskSovrynMainnet/ActivePool.json"; +import borrowerOperations from "@sovryn-zero/contracts/deployment/deployments/rskSovrynMainnet/BorrowerOperations.json"; +import troveManager from "@sovryn-zero/contracts/deployment/deployments/rskSovrynMainnet/TroveManager.json"; +import troveManagerRedeemOps from "@sovryn-zero/contracts/deployment/deployments/rskSovrynMainnet/TroveManagerRedeemOps.json"; +import zusdToken from "@sovryn-zero/contracts/deployment/deployments/rskSovrynMainnet/ZUSDToken.json"; +import nueToken from "@sovryn-zero/contracts/artifacts/contracts/Dependencies/IERC20.sol/IERC20.json" +import collSurplusPool from "@sovryn-zero/contracts/deployment/deployments/rskSovrynMainnet/CollSurplusPool.json"; +import communityIssuance from "@sovryn-zero/contracts/deployment/deployments/rskSovrynMainnet/CommunityIssuance.json"; +import defaultPool from "@sovryn-zero/contracts/deployment/deployments/rskSovrynMainnet/DefaultPool.json"; +import zeroToken from "@sovryn-zero/contracts/deployment/deployments/rskSovrynMainnet/ZEROToken.json"; +import hintHelpers from "@sovryn-zero/contracts/deployment/deployments/rskSovrynMainnet/HintHelpers.json"; +import zeroStaking from "@sovryn-zero/contracts/deployment/deployments/rskSovrynMainnet/ZEROStaking.json"; +import multiTroveGetter from "@sovryn-zero/contracts/deployment/deployments/rskSovrynMainnet/MultiTroveGetter.json"; +import priceFeed from "@sovryn-zero/contracts/deployment/deployments/rskSovrynMainnet/PriceFeed.json"; +import priceFeedTestnet from "@sovryn-zero/contracts/deployment/deployments/rskSovrynTestnet/PriceFeedTestnet.json"; +import sortedTroves from "@sovryn-zero/contracts/deployment/deployments/rskSovrynMainnet/SortedTroves.json"; +import stabilityPool from "@sovryn-zero/contracts/deployment/deployments/rskSovrynMainnet/StabilityPool.json"; +import gasPool from "@sovryn-zero/contracts/deployment/deployments/rskSovrynMainnet/GasPool.json"; +import liquityBaseParams from "@sovryn-zero/contracts/deployment/deployments/rskSovrynMainnet/LiquityBaseParams.json"; +import feeDistributor from "@sovryn-zero/contracts/deployment/deployments/rskSovrynMainnet/FeeDistributor.json"; import { ActivePool, @@ -57,8 +56,6 @@ import { FeeDistributor } from "../types"; -// import { ActivePool } from "../../contracts/types/generated/artifacts/contracts/ActivePool"; - import { EthersProvider, EthersSigner } from "./types"; export interface _TypedLogDescription extends Omit { diff --git a/yarn.lock b/yarn.lock index e28c0e9e4..70131d398 100644 --- a/yarn.lock +++ b/yarn.lock @@ -5161,6 +5161,11 @@ dependencies: antlr4ts "^0.5.0-alpha.4" +"@sovryn-zero/contracts@0.3.0": + version "0.3.0" + resolved "https://registry.yarnpkg.com/@sovryn-zero/contracts/-/contracts-0.3.0.tgz#7b54176243c2cd08f0badf380c0a45ac70bdb08c" + integrity sha512-cQJsDqHccA1F+7hZGx1aquwqpTcEhgt4jzmKzVXoe44Ga4oDtb6pVHkuZGB4l2qsU56MJ8BWcPHqbCk6va3v6Q== + "@styled-system/background@^5.1.2": version "5.1.2" resolved "https://registry.yarnpkg.com/@styled-system/background/-/background-5.1.2.tgz#75c63d06b497ab372b70186c0bf608d62847a2ba" From 270cd8269e7ea1fdf82432d249dd107447197096 Mon Sep 17 00:00:00 2001 From: tiltom Date: Wed, 27 Sep 2023 11:36:32 +0200 Subject: [PATCH 06/10] New typings --- packages/lib-ethers/types/index.ts | 76 +++++++++++++++++------------- 1 file changed, 42 insertions(+), 34 deletions(-) diff --git a/packages/lib-ethers/types/index.ts b/packages/lib-ethers/types/index.ts index ee196ff80..e99ae99d6 100644 --- a/packages/lib-ethers/types/index.ts +++ b/packages/lib-ethers/types/index.ts @@ -180,42 +180,50 @@ export interface CollSurplusPool } interface CommunityIssuanceCalls { + APR(_overrides?: CallOverrides): Promise; DECIMAL_PRECISION(_overrides?: CallOverrides): Promise; - ISSUANCE_FACTOR(_overrides?: CallOverrides): Promise; NAME(_overrides?: CallOverrides): Promise; - SECONDS_IN_ONE_MINUTE(_overrides?: CallOverrides): Promise; - ZEROSupplyCap(_overrides?: CallOverrides): Promise; - communityPotAddress(_overrides?: CallOverrides): Promise; - deploymentTime(_overrides?: CallOverrides): Promise; - fundingWalletAddress(_overrides?: CallOverrides): Promise; getOwner(_overrides?: CallOverrides): Promise; - totalZEROIssued(_overrides?: CallOverrides): Promise; - zeroToken(_overrides?: CallOverrides): Promise; + lastIssuanceTime(_overrides?: CallOverrides): Promise; + priceFeed(_overrides?: CallOverrides): Promise; + rewardManager(_overrides?: CallOverrides): Promise; + sovToken(_overrides?: CallOverrides): Promise; + stabilityPoolAddress(_overrides?: CallOverrides): Promise; + totalSOVIssued(_overrides?: CallOverrides): Promise; + zusdToken(_overrides?: CallOverrides): Promise; } interface CommunityIssuanceTransactions { - initialize(_zeroTokenAddress: string, _communityPotAddress: string, _fundingWalletAddress: string, _overrides?: Overrides): Promise; - issueZERO(_overrides?: Overrides): Promise; - receiveZero(_account: string, _ZEROamount: BigNumberish, _overrides?: Overrides): Promise; - sendZERO(_account: string, _ZEROamount: BigNumberish, _overrides?: Overrides): Promise; + initialize(_sovTokenAddress: string, _zusdTokenAddress: string, _stabilityPoolAddress: string, _priceFeed: string, _APR: BigNumberish, _overrides?: Overrides): Promise; + issueSOV(_totalZUSDDeposits: BigNumberish, _overrides?: Overrides): Promise; + sendSOV(_account: string, _SOVamount: BigNumberish, _overrides?: Overrides): Promise; + setAPR(_APR: BigNumberish, _overrides?: Overrides): Promise; setOwner(_owner: string, _overrides?: Overrides): Promise; + setPriceFeed(_priceFeedAddress: string, _overrides?: Overrides): Promise; + setRewardManager(_rewardManagerAddress: string, _overrides?: Overrides): Promise; } export interface CommunityIssuance extends _TypedLiquityContract { readonly address: string; readonly filters: { - CommunityPotAddressSet(_communityPotAddress?: null): EventFilter; - FundingWalletAddressSet(_zeroTokenAddress?: null): EventFilter; + APRSet(_APR?: null): EventFilter; OwnershipTransferred(previousOwner?: string | null, newOwner?: string | null): EventFilter; - TotalZEROIssuedUpdated(_fundingWalletAddress?: null): EventFilter; - ZEROTokenAddressSet(_zeroTokenAddress?: null): EventFilter; + PriceFeedAddressSet(_priceFeed?: null): EventFilter; + RewardManagerAddressSet(_rewardManagerAddress?: null): EventFilter; + SOVTokenAddressSet(_sovTokenAddress?: null): EventFilter; + StabilityPoolAddressSet(_stabilityPoolAddress?: null): EventFilter; + TotalSOVIssuedUpdated(_latestSOVIssued?: null): EventFilter; + ZUSDTokenAddressSet(_zusdTokenAddress?: null): EventFilter; }; - extractEvents(logs: Log[], name: "CommunityPotAddressSet"): _TypedLogDescription<{ _communityPotAddress: string }>[]; - extractEvents(logs: Log[], name: "FundingWalletAddressSet"): _TypedLogDescription<{ _zeroTokenAddress: string }>[]; + extractEvents(logs: Log[], name: "APRSet"): _TypedLogDescription<{ _APR: BigNumber }>[]; extractEvents(logs: Log[], name: "OwnershipTransferred"): _TypedLogDescription<{ previousOwner: string; newOwner: string }>[]; - extractEvents(logs: Log[], name: "TotalZEROIssuedUpdated"): _TypedLogDescription<{ _fundingWalletAddress: BigNumber }>[]; - extractEvents(logs: Log[], name: "ZEROTokenAddressSet"): _TypedLogDescription<{ _zeroTokenAddress: string }>[]; + extractEvents(logs: Log[], name: "PriceFeedAddressSet"): _TypedLogDescription<{ _priceFeed: string }>[]; + extractEvents(logs: Log[], name: "RewardManagerAddressSet"): _TypedLogDescription<{ _rewardManagerAddress: string }>[]; + extractEvents(logs: Log[], name: "SOVTokenAddressSet"): _TypedLogDescription<{ _sovTokenAddress: string }>[]; + extractEvents(logs: Log[], name: "StabilityPoolAddressSet"): _TypedLogDescription<{ _stabilityPoolAddress: string }>[]; + extractEvents(logs: Log[], name: "TotalSOVIssuedUpdated"): _TypedLogDescription<{ _latestSOVIssued: BigNumber }>[]; + extractEvents(logs: Log[], name: "ZUSDTokenAddressSet"): _TypedLogDescription<{ _zusdTokenAddress: string }>[]; } interface DefaultPoolCalls { @@ -630,15 +638,15 @@ interface StabilityPoolCalls { getCompoundedFrontEndStake(_frontEnd: string, _overrides?: CallOverrides): Promise; getCompoundedZUSDDeposit(_depositor: string, _overrides?: CallOverrides): Promise; getDepositorETHGain(_depositor: string, _overrides?: CallOverrides): Promise; - getDepositorZEROGain(_depositor: string, _overrides?: CallOverrides): Promise; + getDepositorSOVGain(_depositor: string, _overrides?: CallOverrides): Promise; getETH(_overrides?: CallOverrides): Promise; getEntireSystemColl(_overrides?: CallOverrides): Promise; getEntireSystemDebt(_overrides?: CallOverrides): Promise; - getFrontEndZEROGain(_frontEnd: string, _overrides?: CallOverrides): Promise; + getFrontEndSOVGain(_frontEnd: string, _overrides?: CallOverrides): Promise; getOwner(_overrides?: CallOverrides): Promise; getTotalZUSDDeposits(_overrides?: CallOverrides): Promise; lastETHError_Offset(_overrides?: CallOverrides): Promise; - lastZEROError(_overrides?: CallOverrides): Promise; + lastSOVError(_overrides?: CallOverrides): Promise; lastZUSDLossError_Offset(_overrides?: CallOverrides): Promise; liquityBaseParams(_overrides?: CallOverrides): Promise; priceFeed(_overrides?: CallOverrides): Promise; @@ -653,6 +661,7 @@ interface StabilityPoolTransactions { provideToSpFromDLLR(_dllrAmount: BigNumberish, _permitParams: { deadline: BigNumberish; v: BigNumberish; r: BytesLike; s: BytesLike }, _overrides?: Overrides): Promise; registerFrontEnd(_kickbackRate: BigNumberish, _overrides?: Overrides): Promise; setAddresses(_liquityBaseParamsAddress: string, _borrowerOperationsAddress: string, _troveManagerAddress: string, _activePoolAddress: string, _zusdTokenAddress: string, _sortedTrovesAddress: string, _priceFeedAddress: string, _communityIssuanceAddress: string, _overrides?: Overrides): Promise; + setCommunityIssuanceAddress(_communityIssuanceAddress: string, _overrides?: Overrides): Promise; setOwner(_owner: string, _overrides?: Overrides): Promise; withdrawETHGainToTrove(_upperHint: string, _lowerHint: string, _overrides?: Overrides): Promise; withdrawFromSP(_amount: BigNumberish, _overrides?: Overrides): Promise; @@ -679,6 +688,8 @@ export interface StabilityPool OwnershipTransferred(previousOwner?: string | null, newOwner?: string | null): EventFilter; P_Updated(_P?: null): EventFilter; PriceFeedAddressChanged(_newPriceFeedAddress?: null): EventFilter; + SOVPaidToDepositor(_depositor?: string | null, _SOV?: null): EventFilter; + SOVPaidToFrontEnd(_frontEnd?: string | null, _SOV?: null): EventFilter; S_Updated(_S?: null, _epoch?: null, _scale?: null): EventFilter; ScaleUpdated(_currentScale?: null): EventFilter; SortedTrovesAddressChanged(_newSortedTrovesAddress?: null): EventFilter; @@ -687,8 +698,6 @@ export interface StabilityPool TroveManagerAddressChanged(_newTroveManagerAddress?: null): EventFilter; UserDepositChanged(_depositor?: string | null, _newDeposit?: null): EventFilter; WithdrawFromSpAndConvertToDLLR(_depositor?: null, _zusdAmountRequested?: null, _dllrAmountReceived?: null): EventFilter; - ZEROPaidToDepositor(_depositor?: string | null, _ZERO?: null): EventFilter; - ZEROPaidToFrontEnd(_frontEnd?: string | null, _ZERO?: null): EventFilter; ZUSDTokenAddressChanged(_newZUSDTokenAddress?: null): EventFilter; }; extractEvents(logs: Log[], name: "ActivePoolAddressChanged"): _TypedLogDescription<{ _newActivePoolAddress: string }>[]; @@ -707,6 +716,8 @@ export interface StabilityPool extractEvents(logs: Log[], name: "OwnershipTransferred"): _TypedLogDescription<{ previousOwner: string; newOwner: string }>[]; extractEvents(logs: Log[], name: "P_Updated"): _TypedLogDescription<{ _P: BigNumber }>[]; extractEvents(logs: Log[], name: "PriceFeedAddressChanged"): _TypedLogDescription<{ _newPriceFeedAddress: string }>[]; + extractEvents(logs: Log[], name: "SOVPaidToDepositor"): _TypedLogDescription<{ _depositor: string; _SOV: BigNumber }>[]; + extractEvents(logs: Log[], name: "SOVPaidToFrontEnd"): _TypedLogDescription<{ _frontEnd: string; _SOV: BigNumber }>[]; extractEvents(logs: Log[], name: "S_Updated"): _TypedLogDescription<{ _S: BigNumber; _epoch: BigNumber; _scale: BigNumber }>[]; extractEvents(logs: Log[], name: "ScaleUpdated"): _TypedLogDescription<{ _currentScale: BigNumber }>[]; extractEvents(logs: Log[], name: "SortedTrovesAddressChanged"): _TypedLogDescription<{ _newSortedTrovesAddress: string }>[]; @@ -715,8 +726,6 @@ export interface StabilityPool extractEvents(logs: Log[], name: "TroveManagerAddressChanged"): _TypedLogDescription<{ _newTroveManagerAddress: string }>[]; extractEvents(logs: Log[], name: "UserDepositChanged"): _TypedLogDescription<{ _depositor: string; _newDeposit: BigNumber }>[]; extractEvents(logs: Log[], name: "WithdrawFromSpAndConvertToDLLR"): _TypedLogDescription<{ _depositor: string; _zusdAmountRequested: BigNumber; _dllrAmountReceived: BigNumber }>[]; - extractEvents(logs: Log[], name: "ZEROPaidToDepositor"): _TypedLogDescription<{ _depositor: string; _ZERO: BigNumber }>[]; - extractEvents(logs: Log[], name: "ZEROPaidToFrontEnd"): _TypedLogDescription<{ _frontEnd: string; _ZERO: BigNumber }>[]; extractEvents(logs: Log[], name: "ZUSDTokenAddressChanged"): _TypedLogDescription<{ _newZUSDTokenAddress: string }>[]; } @@ -1002,17 +1011,16 @@ export interface LiquityBaseParams extractEvents(logs: Log[], name: "OwnershipTransferred"): _TypedLogDescription<{ previousOwner: string; newOwner: string }>[]; } -interface MockBalanceRedirectPresaleCalls { - isClosed(_overrides?: CallOverrides): Promise; +interface MockFeeSharingCollectorCalls { } -interface MockBalanceRedirectPresaleTransactions { - closePresale(_overrides?: Overrides): Promise; - openPresale(_overrides?: Overrides): Promise; +interface MockFeeSharingCollectorTransactions { + transferRBTC(_overrides?: PayableOverrides): Promise; + transferTokens(_token: string, _amount: BigNumberish, _overrides?: Overrides): Promise; } -export interface MockBalanceRedirectPresale - extends _TypedLiquityContract { +export interface MockFeeSharingCollector + extends _TypedLiquityContract { readonly address: string; readonly filters: { }; From 3203894cf99ef30dded3e32471b7b20eb32214df Mon Sep 17 00:00:00 2001 From: tiltom Date: Wed, 27 Sep 2023 14:47:57 +0200 Subject: [PATCH 07/10] Get rid of save-live-version script --- .../lib-ethers/scripts/save-live-version.ts | 27 ------------------- 1 file changed, 27 deletions(-) delete mode 100644 packages/lib-ethers/scripts/save-live-version.ts diff --git a/packages/lib-ethers/scripts/save-live-version.ts b/packages/lib-ethers/scripts/save-live-version.ts deleted file mode 100644 index fdcf86a78..000000000 --- a/packages/lib-ethers/scripts/save-live-version.ts +++ /dev/null @@ -1,27 +0,0 @@ -import fs from "fs-extra"; -import path from "path"; - -const artifactsDir = path.join("..", "contracts", "artifacts"); -const contractsDir = path.join(artifactsDir, "contracts"); -const liveDir = "live"; - -// *.json, except *.dbg.json -const jsonFileFilter = /(? - fs - .readdirSync(dir, { withFileTypes: true }) - .flatMap(dirent => - dirent.isDirectory() - ? recursivelyListFilesInDir(path.join(dir, dirent.name)) - : [[dir, dirent.name]] - ); - -const jsonFiles = recursivelyListFilesInDir(contractsDir).filter(([, file]) => - jsonFileFilter.test(file) -); - -fs.removeSync(liveDir); -fs.mkdirSync(liveDir); - -jsonFiles.forEach(([dir, file]) => fs.copyFileSync(path.join(dir, file), path.join(liveDir, file))); From d6ac5e67a0658a3ddac518a102dbf04c9fd21e51 Mon Sep 17 00:00:00 2001 From: tiltom Date: Wed, 27 Sep 2023 14:54:51 +0200 Subject: [PATCH 08/10] Delete the folder with live deployment --- packages/lib-ethers/live/ActivePool.json | 359 --- .../lib-ethers/live/ActivePoolStorage.json | 121 - .../lib-ethers/live/ActivePoolTester.json | 379 --- packages/lib-ethers/live/BaseMath.json | 24 - .../lib-ethers/live/BorrowerOperations.json | 1054 -------- .../live/BorrowerOperationsScript.json | 194 -- .../live/BorrowerOperationsStorage.json | 160 -- .../live/BorrowerOperationsTester.json | 1208 ---------- .../live/BorrowerWrappersScript.json | 348 --- packages/lib-ethers/live/CheckContract.json | 10 - packages/lib-ethers/live/CollSurplusPool.json | 275 --- .../live/CollSurplusPoolStorage.json | 108 - .../lib-ethers/live/CommunityIssuance.json | 310 --- .../live/CommunityIssuanceStorage.json | 173 -- .../live/CommunityIssuanceTester.json | 349 --- packages/lib-ethers/live/DSAuth.json | 94 - packages/lib-ethers/live/DSAuthEvents.json | 37 - packages/lib-ethers/live/DSAuthority.json | 40 - packages/lib-ethers/live/DSNote.json | 54 - packages/lib-ethers/live/DSProxy.json | 217 -- packages/lib-ethers/live/DSProxyCache.json | 49 - packages/lib-ethers/live/DSProxyFactory.json | 106 - packages/lib-ethers/live/DefaultPool.json | 305 --- .../lib-ethers/live/DefaultPoolStorage.json | 95 - .../lib-ethers/live/DefaultPoolTester.json | 325 --- packages/lib-ethers/live/Destructible.json | 28 - .../lib-ethers/live/ETHTransferScript.json | 35 - packages/lib-ethers/live/EchidnaProxy.json | 459 ---- packages/lib-ethers/live/EchidnaTester.json | 842 ------- .../live/ExternalPriceFeedTester.json | 47 - packages/lib-ethers/live/FeeDistributor.json | 357 --- .../live/FeeDistributorStorage.json | 173 -- packages/lib-ethers/live/FunctionCaller.json | 147 -- packages/lib-ethers/live/GasPool.json | 10 - packages/lib-ethers/live/HintHelpers.json | 405 ---- .../lib-ethers/live/HintHelpersStorage.json | 95 - packages/lib-ethers/live/IActivePool.json | 217 -- .../live/IBalanceRedirectPresale.json | 24 - .../lib-ethers/live/IBorrowerOperations.json | 749 ------ .../lib-ethers/live/ICollSurplusPool.json | 174 -- .../lib-ethers/live/ICommunityIssuance.json | 122 - packages/lib-ethers/live/IDLLR.json | 347 --- packages/lib-ethers/live/IDefaultPool.json | 199 -- packages/lib-ethers/live/IERC20.json | 281 --- packages/lib-ethers/live/IERC2612.json | 112 - .../lib-ethers/live/IExternalPriceFeed.json | 29 - packages/lib-ethers/live/IFeeDistributor.json | 178 -- .../lib-ethers/live/IFeeSharingCollector.json | 72 - packages/lib-ethers/live/ILiquityBase.json | 37 - .../lib-ethers/live/ILiquityBaseParams.json | 89 - packages/lib-ethers/live/IMassetManager.json | 82 - packages/lib-ethers/live/IMoCBaseOracle.json | 29 - packages/lib-ethers/live/IPool.json | 147 -- packages/lib-ethers/live/IPriceFeed.json | 37 - packages/lib-ethers/live/IRSKOracle.json | 29 - packages/lib-ethers/live/ISortedTroves.json | 359 --- packages/lib-ethers/live/IStabilityPool.json | 777 ------ packages/lib-ethers/live/ITroveManager.json | 1340 ----------- packages/lib-ethers/live/IWrbtc.json | 301 --- packages/lib-ethers/live/IZEROStaking.json | 308 --- packages/lib-ethers/live/IZEROToken.json | 413 ---- packages/lib-ethers/live/IZUSDToken.json | 522 ---- packages/lib-ethers/live/Initializable.json | 10 - packages/lib-ethers/live/LiquityBase.json | 141 -- .../lib-ethers/live/LiquityBaseParams.json | 232 -- packages/lib-ethers/live/LiquityMath.json | 10 - .../lib-ethers/live/LiquityMathTester.json | 83 - .../lib-ethers/live/LiquitySafeMath128.json | 10 - .../live/LiquitySafeMath128Tester.json | 59 - .../lib-ethers/live/MassetManagerTester.json | 100 - packages/lib-ethers/live/MoCMedianizer.json | 40 - .../live/MockBalanceRedirectPresale.json | 38 - .../live/MockFeeSharingCollector.json | 36 - .../live/MockIFeeSharingCollector.json | 29 - .../lib-ethers/live/MultiTroveGetter.json | 156 -- .../live/MultiTroveGetterStorage.json | 82 - packages/lib-ethers/live/MyntLib.json | 10 - packages/lib-ethers/live/NonPayable.json | 46 - packages/lib-ethers/live/NueMockToken.json | 498 ---- packages/lib-ethers/live/Ownable.json | 56 - packages/lib-ethers/live/PriceFeed.json | 188 -- .../lib-ethers/live/PriceFeedStorage.json | 82 - packages/lib-ethers/live/PriceFeedTester.json | 201 -- .../lib-ethers/live/PriceFeedTestnet.json | 69 - .../lib-ethers/live/ProxiableContract.json | 37 - .../lib-ethers/live/ProxiableContract2.json | 76 - packages/lib-ethers/live/Proxy.json | 96 - packages/lib-ethers/live/RskOracle.json | 40 - packages/lib-ethers/live/SafeMath.json | 10 - packages/lib-ethers/live/SortedTroves.json | 484 ---- .../lib-ethers/live/SortedTrovesStorage.json | 123 - .../lib-ethers/live/SortedTrovesTester.json | 136 -- packages/lib-ethers/live/StabilityPool.json | 1318 ---------- .../lib-ethers/live/StabilityPoolScript.json | 84 - .../lib-ethers/live/StabilityPoolStorage.json | 431 ---- .../lib-ethers/live/StabilityPoolTester.json | 1325 ---------- packages/lib-ethers/live/Storage.json | 10 - packages/lib-ethers/live/Storage2.json | 10 - packages/lib-ethers/live/TokenScript.json | 184 -- packages/lib-ethers/live/TroveManager.json | 1962 --------------- .../lib-ethers/live/TroveManagerBase.json | 904 ------- .../live/TroveManagerRedeemOps.json | 1017 -------- .../lib-ethers/live/TroveManagerScript.json | 84 - .../lib-ethers/live/TroveManagerStorage.json | 385 --- .../lib-ethers/live/TroveManagerTester.json | 2128 ----------------- packages/lib-ethers/live/UpgradableProxy.json | 109 - .../live/UpgradableProxyTester.json | 109 - .../lib-ethers/live/WRBTCTokenTester.json | 331 --- packages/lib-ethers/live/ZEROStaking.json | 530 ---- .../lib-ethers/live/ZEROStakingScript.json | 35 - .../lib-ethers/live/ZEROStakingStorage.json | 203 -- .../lib-ethers/live/ZEROStakingTester.json | 537 ----- packages/lib-ethers/live/ZEROToken.json | 524 ---- .../lib-ethers/live/ZEROTokenStorage.json | 63 - packages/lib-ethers/live/ZEROTokenTester.json | 652 ----- packages/lib-ethers/live/ZUSDToken.json | 590 ----- packages/lib-ethers/live/ZUSDTokenCaller.json | 106 - .../lib-ethers/live/ZUSDTokenStorage.json | 10 - packages/lib-ethers/live/ZUSDTokenTester.json | 808 ------- .../lib-ethers/live/ZUSDTokenTestnet.json | 590 ----- packages/lib-ethers/live/console.json | 10 - 121 files changed, 34193 deletions(-) delete mode 100644 packages/lib-ethers/live/ActivePool.json delete mode 100644 packages/lib-ethers/live/ActivePoolStorage.json delete mode 100644 packages/lib-ethers/live/ActivePoolTester.json delete mode 100644 packages/lib-ethers/live/BaseMath.json delete mode 100644 packages/lib-ethers/live/BorrowerOperations.json delete mode 100644 packages/lib-ethers/live/BorrowerOperationsScript.json delete mode 100644 packages/lib-ethers/live/BorrowerOperationsStorage.json delete mode 100644 packages/lib-ethers/live/BorrowerOperationsTester.json delete mode 100644 packages/lib-ethers/live/BorrowerWrappersScript.json delete mode 100644 packages/lib-ethers/live/CheckContract.json delete mode 100644 packages/lib-ethers/live/CollSurplusPool.json delete mode 100644 packages/lib-ethers/live/CollSurplusPoolStorage.json delete mode 100644 packages/lib-ethers/live/CommunityIssuance.json delete mode 100644 packages/lib-ethers/live/CommunityIssuanceStorage.json delete mode 100644 packages/lib-ethers/live/CommunityIssuanceTester.json delete mode 100644 packages/lib-ethers/live/DSAuth.json delete mode 100644 packages/lib-ethers/live/DSAuthEvents.json delete mode 100644 packages/lib-ethers/live/DSAuthority.json delete mode 100644 packages/lib-ethers/live/DSNote.json delete mode 100644 packages/lib-ethers/live/DSProxy.json delete mode 100644 packages/lib-ethers/live/DSProxyCache.json delete mode 100644 packages/lib-ethers/live/DSProxyFactory.json delete mode 100644 packages/lib-ethers/live/DefaultPool.json delete mode 100644 packages/lib-ethers/live/DefaultPoolStorage.json delete mode 100644 packages/lib-ethers/live/DefaultPoolTester.json delete mode 100644 packages/lib-ethers/live/Destructible.json delete mode 100644 packages/lib-ethers/live/ETHTransferScript.json delete mode 100644 packages/lib-ethers/live/EchidnaProxy.json delete mode 100644 packages/lib-ethers/live/EchidnaTester.json delete mode 100644 packages/lib-ethers/live/ExternalPriceFeedTester.json delete mode 100644 packages/lib-ethers/live/FeeDistributor.json delete mode 100644 packages/lib-ethers/live/FeeDistributorStorage.json delete mode 100644 packages/lib-ethers/live/FunctionCaller.json delete mode 100644 packages/lib-ethers/live/GasPool.json delete mode 100644 packages/lib-ethers/live/HintHelpers.json delete mode 100644 packages/lib-ethers/live/HintHelpersStorage.json delete mode 100644 packages/lib-ethers/live/IActivePool.json delete mode 100644 packages/lib-ethers/live/IBalanceRedirectPresale.json delete mode 100644 packages/lib-ethers/live/IBorrowerOperations.json delete mode 100644 packages/lib-ethers/live/ICollSurplusPool.json delete mode 100644 packages/lib-ethers/live/ICommunityIssuance.json delete mode 100644 packages/lib-ethers/live/IDLLR.json delete mode 100644 packages/lib-ethers/live/IDefaultPool.json delete mode 100644 packages/lib-ethers/live/IERC20.json delete mode 100644 packages/lib-ethers/live/IERC2612.json delete mode 100644 packages/lib-ethers/live/IExternalPriceFeed.json delete mode 100644 packages/lib-ethers/live/IFeeDistributor.json delete mode 100644 packages/lib-ethers/live/IFeeSharingCollector.json delete mode 100644 packages/lib-ethers/live/ILiquityBase.json delete mode 100644 packages/lib-ethers/live/ILiquityBaseParams.json delete mode 100644 packages/lib-ethers/live/IMassetManager.json delete mode 100644 packages/lib-ethers/live/IMoCBaseOracle.json delete mode 100644 packages/lib-ethers/live/IPool.json delete mode 100644 packages/lib-ethers/live/IPriceFeed.json delete mode 100644 packages/lib-ethers/live/IRSKOracle.json delete mode 100644 packages/lib-ethers/live/ISortedTroves.json delete mode 100644 packages/lib-ethers/live/IStabilityPool.json delete mode 100644 packages/lib-ethers/live/ITroveManager.json delete mode 100644 packages/lib-ethers/live/IWrbtc.json delete mode 100644 packages/lib-ethers/live/IZEROStaking.json delete mode 100644 packages/lib-ethers/live/IZEROToken.json delete mode 100644 packages/lib-ethers/live/IZUSDToken.json delete mode 100644 packages/lib-ethers/live/Initializable.json delete mode 100644 packages/lib-ethers/live/LiquityBase.json delete mode 100644 packages/lib-ethers/live/LiquityBaseParams.json delete mode 100644 packages/lib-ethers/live/LiquityMath.json delete mode 100644 packages/lib-ethers/live/LiquityMathTester.json delete mode 100644 packages/lib-ethers/live/LiquitySafeMath128.json delete mode 100644 packages/lib-ethers/live/LiquitySafeMath128Tester.json delete mode 100644 packages/lib-ethers/live/MassetManagerTester.json delete mode 100644 packages/lib-ethers/live/MoCMedianizer.json delete mode 100644 packages/lib-ethers/live/MockBalanceRedirectPresale.json delete mode 100644 packages/lib-ethers/live/MockFeeSharingCollector.json delete mode 100644 packages/lib-ethers/live/MockIFeeSharingCollector.json delete mode 100644 packages/lib-ethers/live/MultiTroveGetter.json delete mode 100644 packages/lib-ethers/live/MultiTroveGetterStorage.json delete mode 100644 packages/lib-ethers/live/MyntLib.json delete mode 100644 packages/lib-ethers/live/NonPayable.json delete mode 100644 packages/lib-ethers/live/NueMockToken.json delete mode 100644 packages/lib-ethers/live/Ownable.json delete mode 100644 packages/lib-ethers/live/PriceFeed.json delete mode 100644 packages/lib-ethers/live/PriceFeedStorage.json delete mode 100644 packages/lib-ethers/live/PriceFeedTester.json delete mode 100644 packages/lib-ethers/live/PriceFeedTestnet.json delete mode 100644 packages/lib-ethers/live/ProxiableContract.json delete mode 100644 packages/lib-ethers/live/ProxiableContract2.json delete mode 100644 packages/lib-ethers/live/Proxy.json delete mode 100644 packages/lib-ethers/live/RskOracle.json delete mode 100644 packages/lib-ethers/live/SafeMath.json delete mode 100644 packages/lib-ethers/live/SortedTroves.json delete mode 100644 packages/lib-ethers/live/SortedTrovesStorage.json delete mode 100644 packages/lib-ethers/live/SortedTrovesTester.json delete mode 100644 packages/lib-ethers/live/StabilityPool.json delete mode 100644 packages/lib-ethers/live/StabilityPoolScript.json delete mode 100644 packages/lib-ethers/live/StabilityPoolStorage.json delete mode 100644 packages/lib-ethers/live/StabilityPoolTester.json delete mode 100644 packages/lib-ethers/live/Storage.json delete mode 100644 packages/lib-ethers/live/Storage2.json delete mode 100644 packages/lib-ethers/live/TokenScript.json delete mode 100644 packages/lib-ethers/live/TroveManager.json delete mode 100644 packages/lib-ethers/live/TroveManagerBase.json delete mode 100644 packages/lib-ethers/live/TroveManagerRedeemOps.json delete mode 100644 packages/lib-ethers/live/TroveManagerScript.json delete mode 100644 packages/lib-ethers/live/TroveManagerStorage.json delete mode 100644 packages/lib-ethers/live/TroveManagerTester.json delete mode 100644 packages/lib-ethers/live/UpgradableProxy.json delete mode 100644 packages/lib-ethers/live/UpgradableProxyTester.json delete mode 100644 packages/lib-ethers/live/WRBTCTokenTester.json delete mode 100644 packages/lib-ethers/live/ZEROStaking.json delete mode 100644 packages/lib-ethers/live/ZEROStakingScript.json delete mode 100644 packages/lib-ethers/live/ZEROStakingStorage.json delete mode 100644 packages/lib-ethers/live/ZEROStakingTester.json delete mode 100644 packages/lib-ethers/live/ZEROToken.json delete mode 100644 packages/lib-ethers/live/ZEROTokenStorage.json delete mode 100644 packages/lib-ethers/live/ZEROTokenTester.json delete mode 100644 packages/lib-ethers/live/ZUSDToken.json delete mode 100644 packages/lib-ethers/live/ZUSDTokenCaller.json delete mode 100644 packages/lib-ethers/live/ZUSDTokenStorage.json delete mode 100644 packages/lib-ethers/live/ZUSDTokenTester.json delete mode 100644 packages/lib-ethers/live/ZUSDTokenTestnet.json delete mode 100644 packages/lib-ethers/live/console.json diff --git a/packages/lib-ethers/live/ActivePool.json b/packages/lib-ethers/live/ActivePool.json deleted file mode 100644 index 38d1fb666..000000000 --- a/packages/lib-ethers/live/ActivePool.json +++ /dev/null @@ -1,359 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "ActivePool", - "sourceName": "contracts/ActivePool.sol", - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_newActivePoolAddress", - "type": "address" - } - ], - "name": "ActivePoolAddressChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "_ETH", - "type": "uint256" - } - ], - "name": "ActivePoolETHBalanceUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "_ZUSDDebt", - "type": "uint256" - } - ], - "name": "ActivePoolZUSDDebtUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_newBorrowerOperationsAddress", - "type": "address" - } - ], - "name": "BorrowerOperationsAddressChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_newDefaultPoolAddress", - "type": "address" - } - ], - "name": "DefaultPoolAddressChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "_newBalance", - "type": "uint256" - } - ], - "name": "ETHBalanceUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_to", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "name": "EtherSent", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "previousOwner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnershipTransferred", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_newStabilityPoolAddress", - "type": "address" - } - ], - "name": "StabilityPoolAddressChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_newTroveManagerAddress", - "type": "address" - } - ], - "name": "TroveManagerAddressChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "_newBalance", - "type": "uint256" - } - ], - "name": "ZUSDBalanceUpdated", - "type": "event" - }, - { - "inputs": [], - "name": "NAME", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "borrowerOperationsAddress", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "name": "decreaseZUSDDebt", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "defaultPoolAddress", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getETH", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getOwner", - "outputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getZUSDDebt", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "name": "increaseZUSDDebt", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_account", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "name": "sendETH", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_borrowerOperationsAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_troveManagerAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_stabilityPoolAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_defaultPoolAddress", - "type": "address" - } - ], - "name": "setAddresses", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - } - ], - "name": "setOwner", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "stabilityPoolAddress", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "troveManagerAddress", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "stateMutability": "payable", - "type": "receive" - } - ], - "bytecode": "0x608060405234801561001057600080fd5b50610023336001600160e01b0361002816565b610110565b6001600160a01b03811661006d5760405162461bcd60e51b8152600401808060200182810382526022815260200180610df66022913960400191505060405180910390fd5b6001600160a01b0381166100886001600160e01b036100e616565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3604080517035b2bc9737bbb730b136329737bbb732b960791b8152905190819003601101902055565b604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205490565b610cd78061011f6000396000f3fe6080604052600436106100b65760003560e01c80635a4d28bb1161006f5780635a4d28bb1461022b57806364a197f314610240578063893d20e814610279578063a3f4df7e1461028e578063aac1846f14610318578063b7f8cf9b1461032d578063f2e91d71146103425761010f565b80630b622ab21461011457806313af40351461014557806314f6c3be1461017a5780632439789a146101a15780633963e980146101cb5780634a945f8d146101e05761010f565b3661010f576100c361036c565b6004546100d6903463ffffffff6103cc16565b600481905560408051918252517fca232b5abb988c540b959ff6c3bfae3e97fff964fd098c508f9613c0a6bf1a809181900360200190a1005b600080fd5b34801561012057600080fd5b5061012961042d565b604080516001600160a01b039092168252519081900360200190f35b34801561015157600080fd5b506101786004803603602081101561016857600080fd5b50356001600160a01b031661043c565b005b34801561018657600080fd5b5061018f6104af565b60408051918252519081900360200190f35b3480156101ad57600080fd5b50610178600480360360208110156101c457600080fd5b50356104b5565b3480156101d757600080fd5b5061018f61050a565b3480156101ec57600080fd5b506101786004803603608081101561020357600080fd5b506001600160a01b038135811691602081013582169160408201358116916060013516610510565b34801561023757600080fd5b506101296106cf565b34801561024c57600080fd5b506101786004803603604081101561026357600080fd5b506001600160a01b0381351690602001356106de565b34801561028557600080fd5b5061012961081f565b34801561029a57600080fd5b506102a3610849565b6040805160208082528351818301528351919283929083019185019080838360005b838110156102dd5781810151838201526020016102c5565b50505050905090810190601f16801561030a5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561032457600080fd5b5061012961086f565b34801561033957600080fd5b5061012961087e565b34801561034e57600080fd5b506101786004803603602081101561036557600080fd5b503561088d565b6000546001600160a01b031633148061038f57506003546001600160a01b031633145b6103ca5760405162461bcd60e51b8152600401808060200182810382526031815260200180610c716031913960400191505060405180910390fd5b565b600082820183811015610426576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b6002546001600160a01b031681565b61044461081f565b6001600160a01b0316336001600160a01b0316146104a3576040805162461bcd60e51b815260206004820152601760248201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604482015290519081900360640190fd5b6104ac816108a8565b50565b60045490565b6104bd61095d565b6005546104d0908263ffffffff6109d016565b600581905560408051918252517fc179e77847def189a2838a920a4d2d78f966467c47494a7fb5fbd1477a2cf4f59181900360200190a150565b60055490565b61051861081f565b6001600160a01b0316336001600160a01b031614610577576040805162461bcd60e51b815260206004820152601760248201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604482015290519081900360640190fd5b61058084610a12565b61058983610a12565b61059282610a12565b61059b81610a12565b600080546001600160a01b038087166001600160a01b031992831681179093556001805487831690841617905560028054868316908416179055600380549185169190921617905560408051918252517f3ca631ffcd2a9b5d9ae18543fc82f58eb4ca33af9e6ab01b7a8e95331e6ed9859181900360200190a1604080516001600160a01b038516815290517f143219c9e69b09e07e095fcc889b43d8f46ca892bba65f08dc3a0050869a56789181900360200190a1604080516001600160a01b038416815290517f82966d27eea39b038ee0fa30cd16532bb24f6e65d31cb58fb227aa5766cdcc7f9181900360200190a1604080516001600160a01b038316815290517f5ee0cae2f063ed938bb55046f6a932fb6ae792bf43624806bb90abe68a50be9b9181900360200190a150505050565b6001546001600160a01b031681565b6106e661095d565b6004546106f9908263ffffffff6109d016565b600481905560408051918252517fca232b5abb988c540b959ff6c3bfae3e97fff964fd098c508f9613c0a6bf1a809181900360200190a1604080516001600160a01b03841681526020810183905281517f6109e2559dfa766aaec7118351d48a523f0a4157f49c8d68749c8ac41318ad12929181900390910190a16040516000906001600160a01b0384169083908381818185875af1925050503d80600081146107bf576040519150601f19603f3d011682016040523d82523d6000602084013e6107c4565b606091505b505090508061081a576040805162461bcd60e51b815260206004820152601e60248201527f416374697665506f6f6c3a2073656e64696e6720455448206661696c65640000604482015290519081900360640190fd5b505050565b604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205490565b6040518060400160405280600a8152602001691058dd1a5d99541bdbdb60b21b81525081565b6003546001600160a01b031681565b6000546001600160a01b031681565b610895610ac5565b6005546104d0908263ffffffff6103cc16565b6001600160a01b0381166108ed5760405162461bcd60e51b8152600401808060200182810382526022815260200180610bfc6022913960400191505060405180910390fd5b806001600160a01b03166108ff61081f565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3604080517035b2bc9737bbb730b136329737bbb732b960791b8152905190819003601101902055565b6000546001600160a01b031633148061098057506001546001600160a01b031633145b8061099557506002546001600160a01b031633145b6103ca5760405162461bcd60e51b8152600401808060200182810382526053815260200180610c1e6053913960600191505060405180910390fd5b600061042683836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610b23565b6001600160a01b038116610a6d576040805162461bcd60e51b815260206004820152601e60248201527f4163636f756e742063616e6e6f74206265207a65726f20616464726573730000604482015290519081900360640190fd5b803b80610ac1576040805162461bcd60e51b815260206004820181905260248201527f4163636f756e7420636f64652073697a652063616e6e6f74206265207a65726f604482015290519081900360640190fd5b5050565b6000546001600160a01b0316331480610ae857506001546001600160a01b031633145b6103ca5760405162461bcd60e51b8152600401808060200182810382526041815260200180610bbb6041913960600191505060405180910390fd5b60008184841115610bb25760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610b77578181015183820152602001610b5f565b50505050905090810190601f168015610ba45780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50505090039056fe416374697665506f6f6c3a2043616c6c6572206973206e65697468657220426f72726f7765724f7065726174696f6e73206e6f722054726f76654d616e616765724f776e61626c653a3a7365744f776e65723a20696e76616c69642061646472657373416374697665506f6f6c3a2043616c6c6572206973206e65697468657220426f72726f7765724f7065726174696f6e73206e6f722054726f76654d616e61676572206e6f722053746162696c697479506f6f6c416374697665506f6f6c3a2043616c6c6572206973206e65697468657220424f206e6f722044656661756c7420506f6f6ca26469706673582212209b05c372200c8127ca513fb34ec2474a15cb2a4151e9268b0749f3eb662cb88b64736f6c634300060b00334f776e61626c653a3a7365744f776e65723a20696e76616c69642061646472657373", - "deployedBytecode": "0x6080604052600436106100b65760003560e01c80635a4d28bb1161006f5780635a4d28bb1461022b57806364a197f314610240578063893d20e814610279578063a3f4df7e1461028e578063aac1846f14610318578063b7f8cf9b1461032d578063f2e91d71146103425761010f565b80630b622ab21461011457806313af40351461014557806314f6c3be1461017a5780632439789a146101a15780633963e980146101cb5780634a945f8d146101e05761010f565b3661010f576100c361036c565b6004546100d6903463ffffffff6103cc16565b600481905560408051918252517fca232b5abb988c540b959ff6c3bfae3e97fff964fd098c508f9613c0a6bf1a809181900360200190a1005b600080fd5b34801561012057600080fd5b5061012961042d565b604080516001600160a01b039092168252519081900360200190f35b34801561015157600080fd5b506101786004803603602081101561016857600080fd5b50356001600160a01b031661043c565b005b34801561018657600080fd5b5061018f6104af565b60408051918252519081900360200190f35b3480156101ad57600080fd5b50610178600480360360208110156101c457600080fd5b50356104b5565b3480156101d757600080fd5b5061018f61050a565b3480156101ec57600080fd5b506101786004803603608081101561020357600080fd5b506001600160a01b038135811691602081013582169160408201358116916060013516610510565b34801561023757600080fd5b506101296106cf565b34801561024c57600080fd5b506101786004803603604081101561026357600080fd5b506001600160a01b0381351690602001356106de565b34801561028557600080fd5b5061012961081f565b34801561029a57600080fd5b506102a3610849565b6040805160208082528351818301528351919283929083019185019080838360005b838110156102dd5781810151838201526020016102c5565b50505050905090810190601f16801561030a5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561032457600080fd5b5061012961086f565b34801561033957600080fd5b5061012961087e565b34801561034e57600080fd5b506101786004803603602081101561036557600080fd5b503561088d565b6000546001600160a01b031633148061038f57506003546001600160a01b031633145b6103ca5760405162461bcd60e51b8152600401808060200182810382526031815260200180610c716031913960400191505060405180910390fd5b565b600082820183811015610426576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b6002546001600160a01b031681565b61044461081f565b6001600160a01b0316336001600160a01b0316146104a3576040805162461bcd60e51b815260206004820152601760248201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604482015290519081900360640190fd5b6104ac816108a8565b50565b60045490565b6104bd61095d565b6005546104d0908263ffffffff6109d016565b600581905560408051918252517fc179e77847def189a2838a920a4d2d78f966467c47494a7fb5fbd1477a2cf4f59181900360200190a150565b60055490565b61051861081f565b6001600160a01b0316336001600160a01b031614610577576040805162461bcd60e51b815260206004820152601760248201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604482015290519081900360640190fd5b61058084610a12565b61058983610a12565b61059282610a12565b61059b81610a12565b600080546001600160a01b038087166001600160a01b031992831681179093556001805487831690841617905560028054868316908416179055600380549185169190921617905560408051918252517f3ca631ffcd2a9b5d9ae18543fc82f58eb4ca33af9e6ab01b7a8e95331e6ed9859181900360200190a1604080516001600160a01b038516815290517f143219c9e69b09e07e095fcc889b43d8f46ca892bba65f08dc3a0050869a56789181900360200190a1604080516001600160a01b038416815290517f82966d27eea39b038ee0fa30cd16532bb24f6e65d31cb58fb227aa5766cdcc7f9181900360200190a1604080516001600160a01b038316815290517f5ee0cae2f063ed938bb55046f6a932fb6ae792bf43624806bb90abe68a50be9b9181900360200190a150505050565b6001546001600160a01b031681565b6106e661095d565b6004546106f9908263ffffffff6109d016565b600481905560408051918252517fca232b5abb988c540b959ff6c3bfae3e97fff964fd098c508f9613c0a6bf1a809181900360200190a1604080516001600160a01b03841681526020810183905281517f6109e2559dfa766aaec7118351d48a523f0a4157f49c8d68749c8ac41318ad12929181900390910190a16040516000906001600160a01b0384169083908381818185875af1925050503d80600081146107bf576040519150601f19603f3d011682016040523d82523d6000602084013e6107c4565b606091505b505090508061081a576040805162461bcd60e51b815260206004820152601e60248201527f416374697665506f6f6c3a2073656e64696e6720455448206661696c65640000604482015290519081900360640190fd5b505050565b604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205490565b6040518060400160405280600a8152602001691058dd1a5d99541bdbdb60b21b81525081565b6003546001600160a01b031681565b6000546001600160a01b031681565b610895610ac5565b6005546104d0908263ffffffff6103cc16565b6001600160a01b0381166108ed5760405162461bcd60e51b8152600401808060200182810382526022815260200180610bfc6022913960400191505060405180910390fd5b806001600160a01b03166108ff61081f565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3604080517035b2bc9737bbb730b136329737bbb732b960791b8152905190819003601101902055565b6000546001600160a01b031633148061098057506001546001600160a01b031633145b8061099557506002546001600160a01b031633145b6103ca5760405162461bcd60e51b8152600401808060200182810382526053815260200180610c1e6053913960600191505060405180910390fd5b600061042683836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610b23565b6001600160a01b038116610a6d576040805162461bcd60e51b815260206004820152601e60248201527f4163636f756e742063616e6e6f74206265207a65726f20616464726573730000604482015290519081900360640190fd5b803b80610ac1576040805162461bcd60e51b815260206004820181905260248201527f4163636f756e7420636f64652073697a652063616e6e6f74206265207a65726f604482015290519081900360640190fd5b5050565b6000546001600160a01b0316331480610ae857506001546001600160a01b031633145b6103ca5760405162461bcd60e51b8152600401808060200182810382526041815260200180610bbb6041913960600191505060405180910390fd5b60008184841115610bb25760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610b77578181015183820152602001610b5f565b50505050905090810190601f168015610ba45780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50505090039056fe416374697665506f6f6c3a2043616c6c6572206973206e65697468657220426f72726f7765724f7065726174696f6e73206e6f722054726f76654d616e616765724f776e61626c653a3a7365744f776e65723a20696e76616c69642061646472657373416374697665506f6f6c3a2043616c6c6572206973206e65697468657220426f72726f7765724f7065726174696f6e73206e6f722054726f76654d616e61676572206e6f722053746162696c697479506f6f6c416374697665506f6f6c3a2043616c6c6572206973206e65697468657220424f206e6f722044656661756c7420506f6f6ca26469706673582212209b05c372200c8127ca513fb34ec2474a15cb2a4151e9268b0749f3eb662cb88b64736f6c634300060b0033", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/packages/lib-ethers/live/ActivePoolStorage.json b/packages/lib-ethers/live/ActivePoolStorage.json deleted file mode 100644 index cc3d86d86..000000000 --- a/packages/lib-ethers/live/ActivePoolStorage.json +++ /dev/null @@ -1,121 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "ActivePoolStorage", - "sourceName": "contracts/ActivePoolStorage.sol", - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "previousOwner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnershipTransferred", - "type": "event" - }, - { - "inputs": [], - "name": "NAME", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "borrowerOperationsAddress", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "defaultPoolAddress", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getOwner", - "outputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - } - ], - "name": "setOwner", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "stabilityPoolAddress", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "troveManagerAddress", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": "0x608060405234801561001057600080fd5b50610023336001600160e01b0361002816565b610110565b6001600160a01b03811661006d5760405162461bcd60e51b81526004018080602001828103825260228152602001806104866022913960400191505060405180910390fd5b6001600160a01b0381166100886001600160e01b036100e616565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3604080517035b2bc9737bbb730b136329737bbb732b960791b8152905190819003601101902055565b604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205490565b6103678061011f6000396000f3fe608060405234801561001057600080fd5b506004361061006d5760003560e01c80630b622ab21461007257806313af4035146100965780635a4d28bb146100be578063893d20e8146100c6578063a3f4df7e146100ce578063aac1846f1461014b578063b7f8cf9b14610153575b600080fd5b61007a61015b565b604080516001600160a01b039092168252519081900360200190f35b6100bc600480360360208110156100ac57600080fd5b50356001600160a01b031661016a565b005b61007a6101dd565b61007a6101ec565b6100d6610216565b6040805160208082528351818301528351919283929083019185019080838360005b838110156101105781810151838201526020016100f8565b50505050905090810190601f16801561013d5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61007a61023c565b61007a61024b565b6002546001600160a01b031681565b6101726101ec565b6001600160a01b0316336001600160a01b0316146101d1576040805162461bcd60e51b815260206004820152601760248201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604482015290519081900360640190fd5b6101da8161025a565b50565b6001546001600160a01b031681565b604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205490565b6040518060400160405280600a8152602001691058dd1a5d99541bdbdb60b21b81525081565b6003546001600160a01b031681565b6000546001600160a01b031681565b6001600160a01b03811661029f5760405162461bcd60e51b81526004018080602001828103825260228152602001806103106022913960400191505060405180910390fd5b806001600160a01b03166102b16101ec565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205556fe4f776e61626c653a3a7365744f776e65723a20696e76616c69642061646472657373a2646970667358221220e3bab5859254037e945d50fb7c134fa429d0e2120d7757cdb71244649ed9971864736f6c634300060b00334f776e61626c653a3a7365744f776e65723a20696e76616c69642061646472657373", - "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061006d5760003560e01c80630b622ab21461007257806313af4035146100965780635a4d28bb146100be578063893d20e8146100c6578063a3f4df7e146100ce578063aac1846f1461014b578063b7f8cf9b14610153575b600080fd5b61007a61015b565b604080516001600160a01b039092168252519081900360200190f35b6100bc600480360360208110156100ac57600080fd5b50356001600160a01b031661016a565b005b61007a6101dd565b61007a6101ec565b6100d6610216565b6040805160208082528351818301528351919283929083019185019080838360005b838110156101105781810151838201526020016100f8565b50505050905090810190601f16801561013d5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61007a61023c565b61007a61024b565b6002546001600160a01b031681565b6101726101ec565b6001600160a01b0316336001600160a01b0316146101d1576040805162461bcd60e51b815260206004820152601760248201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604482015290519081900360640190fd5b6101da8161025a565b50565b6001546001600160a01b031681565b604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205490565b6040518060400160405280600a8152602001691058dd1a5d99541bdbdb60b21b81525081565b6003546001600160a01b031681565b6000546001600160a01b031681565b6001600160a01b03811661029f5760405162461bcd60e51b81526004018080602001828103825260228152602001806103106022913960400191505060405180910390fd5b806001600160a01b03166102b16101ec565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205556fe4f776e61626c653a3a7365744f776e65723a20696e76616c69642061646472657373a2646970667358221220e3bab5859254037e945d50fb7c134fa429d0e2120d7757cdb71244649ed9971864736f6c634300060b0033", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/packages/lib-ethers/live/ActivePoolTester.json b/packages/lib-ethers/live/ActivePoolTester.json deleted file mode 100644 index f38686123..000000000 --- a/packages/lib-ethers/live/ActivePoolTester.json +++ /dev/null @@ -1,379 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "ActivePoolTester", - "sourceName": "contracts/TestContracts/ActivePoolTester.sol", - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_newActivePoolAddress", - "type": "address" - } - ], - "name": "ActivePoolAddressChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "_ETH", - "type": "uint256" - } - ], - "name": "ActivePoolETHBalanceUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "_ZUSDDebt", - "type": "uint256" - } - ], - "name": "ActivePoolZUSDDebtUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_newBorrowerOperationsAddress", - "type": "address" - } - ], - "name": "BorrowerOperationsAddressChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_newDefaultPoolAddress", - "type": "address" - } - ], - "name": "DefaultPoolAddressChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "_newBalance", - "type": "uint256" - } - ], - "name": "ETHBalanceUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_to", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "name": "EtherSent", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "previousOwner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnershipTransferred", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_newStabilityPoolAddress", - "type": "address" - } - ], - "name": "StabilityPoolAddressChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_newTroveManagerAddress", - "type": "address" - } - ], - "name": "TroveManagerAddressChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "_newBalance", - "type": "uint256" - } - ], - "name": "ZUSDBalanceUpdated", - "type": "event" - }, - { - "inputs": [], - "name": "NAME", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "borrowerOperationsAddress", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "name": "decreaseZUSDDebt", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "defaultPoolAddress", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getETH", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getOwner", - "outputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getZUSDDebt", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "name": "increaseZUSDDebt", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_account", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "name": "sendETH", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_borrowerOperationsAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_troveManagerAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_stabilityPoolAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_defaultPoolAddress", - "type": "address" - } - ], - "name": "setAddresses", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - } - ], - "name": "setOwner", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "stabilityPoolAddress", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "troveManagerAddress", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "name": "unprotectedIncreaseZUSDDebt", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "unprotectedPayable", - "outputs": [], - "stateMutability": "payable", - "type": "function" - }, - { - "stateMutability": "payable", - "type": "receive" - } - ], - "bytecode": "0x608060405234801561001057600080fd5b50610023336001600160e01b0361002816565b610110565b6001600160a01b03811661006d5760405162461bcd60e51b8152600401808060200182810382526022815260200180610e6f6022913960400191505060405180910390fd5b6001600160a01b0381166100886001600160e01b036100e616565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3604080517035b2bc9737bbb730b136329737bbb732b960791b8152905190819003601101902055565b604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205490565b610d508061011f6000396000f3fe6080604052600436106100cc5760003560e01c806364a197f31161007a57806364a197f314610256578063893d20e81461028f57806393eaa714146102a4578063a3f4df7e146102ce578063aac1846f14610358578063b7f8cf9b1461036d578063f2e91d7114610382578063f3af7c3b146103ac57610125565b80630b622ab21461012a57806313af40351461015b57806314f6c3be146101905780632439789a146101b75780633963e980146101e15780634a945f8d146101f65780635a4d28bb1461024157610125565b36610125576100d96103b4565b6004546100ec903463ffffffff61041416565b600481905560408051918252517fca232b5abb988c540b959ff6c3bfae3e97fff964fd098c508f9613c0a6bf1a809181900360200190a1005b600080fd5b34801561013657600080fd5b5061013f610475565b604080516001600160a01b039092168252519081900360200190f35b34801561016757600080fd5b5061018e6004803603602081101561017e57600080fd5b50356001600160a01b0316610484565b005b34801561019c57600080fd5b506101a56104f7565b60408051918252519081900360200190f35b3480156101c357600080fd5b5061018e600480360360208110156101da57600080fd5b50356104fd565b3480156101ed57600080fd5b506101a5610552565b34801561020257600080fd5b5061018e6004803603608081101561021957600080fd5b506001600160a01b038135811691602081013582169160408201358116916060013516610558565b34801561024d57600080fd5b5061013f610717565b34801561026257600080fd5b5061018e6004803603604081101561027957600080fd5b506001600160a01b038135169060200135610726565b34801561029b57600080fd5b5061013f610867565b3480156102b057600080fd5b5061018e600480360360208110156102c757600080fd5b5035610891565b3480156102da57600080fd5b506102e36108aa565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561031d578181015183820152602001610305565b50505050905090810190601f16801561034a5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561036457600080fd5b5061013f6108d0565b34801561037957600080fd5b5061013f6108df565b34801561038e57600080fd5b5061018e600480360360208110156103a557600080fd5b50356108ee565b61018e610909565b6000546001600160a01b03163314806103d757506003546001600160a01b031633145b6104125760405162461bcd60e51b8152600401808060200182810382526031815260200180610cea6031913960400191505060405180910390fd5b565b60008282018381101561046e576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b6002546001600160a01b031681565b61048c610867565b6001600160a01b0316336001600160a01b0316146104eb576040805162461bcd60e51b815260206004820152601760248201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604482015290519081900360640190fd5b6104f481610921565b50565b60045490565b6105056109d6565b600554610518908263ffffffff610a4916565b600581905560408051918252517fc179e77847def189a2838a920a4d2d78f966467c47494a7fb5fbd1477a2cf4f59181900360200190a150565b60055490565b610560610867565b6001600160a01b0316336001600160a01b0316146105bf576040805162461bcd60e51b815260206004820152601760248201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604482015290519081900360640190fd5b6105c884610a8b565b6105d183610a8b565b6105da82610a8b565b6105e381610a8b565b600080546001600160a01b038087166001600160a01b031992831681179093556001805487831690841617905560028054868316908416179055600380549185169190921617905560408051918252517f3ca631ffcd2a9b5d9ae18543fc82f58eb4ca33af9e6ab01b7a8e95331e6ed9859181900360200190a1604080516001600160a01b038516815290517f143219c9e69b09e07e095fcc889b43d8f46ca892bba65f08dc3a0050869a56789181900360200190a1604080516001600160a01b038416815290517f82966d27eea39b038ee0fa30cd16532bb24f6e65d31cb58fb227aa5766cdcc7f9181900360200190a1604080516001600160a01b038316815290517f5ee0cae2f063ed938bb55046f6a932fb6ae792bf43624806bb90abe68a50be9b9181900360200190a150505050565b6001546001600160a01b031681565b61072e6109d6565b600454610741908263ffffffff610a4916565b600481905560408051918252517fca232b5abb988c540b959ff6c3bfae3e97fff964fd098c508f9613c0a6bf1a809181900360200190a1604080516001600160a01b03841681526020810183905281517f6109e2559dfa766aaec7118351d48a523f0a4157f49c8d68749c8ac41318ad12929181900390910190a16040516000906001600160a01b0384169083908381818185875af1925050503d8060008114610807576040519150601f19603f3d011682016040523d82523d6000602084013e61080c565b606091505b5050905080610862576040805162461bcd60e51b815260206004820152601e60248201527f416374697665506f6f6c3a2073656e64696e6720455448206661696c65640000604482015290519081900360640190fd5b505050565b604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205490565b6005546108a4908263ffffffff61041416565b60055550565b6040518060400160405280600a8152602001691058dd1a5d99541bdbdb60b21b81525081565b6003546001600160a01b031681565b6000546001600160a01b031681565b6108f6610b3e565b600554610518908263ffffffff61041416565b60045461091c903463ffffffff61041416565b600455565b6001600160a01b0381166109665760405162461bcd60e51b8152600401808060200182810382526022815260200180610c756022913960400191505060405180910390fd5b806001600160a01b0316610978610867565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3604080517035b2bc9737bbb730b136329737bbb732b960791b8152905190819003601101902055565b6000546001600160a01b03163314806109f957506001546001600160a01b031633145b80610a0e57506002546001600160a01b031633145b6104125760405162461bcd60e51b8152600401808060200182810382526053815260200180610c976053913960600191505060405180910390fd5b600061046e83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610b9c565b6001600160a01b038116610ae6576040805162461bcd60e51b815260206004820152601e60248201527f4163636f756e742063616e6e6f74206265207a65726f20616464726573730000604482015290519081900360640190fd5b803b80610b3a576040805162461bcd60e51b815260206004820181905260248201527f4163636f756e7420636f64652073697a652063616e6e6f74206265207a65726f604482015290519081900360640190fd5b5050565b6000546001600160a01b0316331480610b6157506001546001600160a01b031633145b6104125760405162461bcd60e51b8152600401808060200182810382526041815260200180610c346041913960600191505060405180910390fd5b60008184841115610c2b5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610bf0578181015183820152602001610bd8565b50505050905090810190601f168015610c1d5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50505090039056fe416374697665506f6f6c3a2043616c6c6572206973206e65697468657220426f72726f7765724f7065726174696f6e73206e6f722054726f76654d616e616765724f776e61626c653a3a7365744f776e65723a20696e76616c69642061646472657373416374697665506f6f6c3a2043616c6c6572206973206e65697468657220426f72726f7765724f7065726174696f6e73206e6f722054726f76654d616e61676572206e6f722053746162696c697479506f6f6c416374697665506f6f6c3a2043616c6c6572206973206e65697468657220424f206e6f722044656661756c7420506f6f6ca2646970667358221220db86a41ab5529a43b6289c9b0e6fefdd5940acbc72fe4f717b6917db5ba6c9f264736f6c634300060b00334f776e61626c653a3a7365744f776e65723a20696e76616c69642061646472657373", - "deployedBytecode": "0x6080604052600436106100cc5760003560e01c806364a197f31161007a57806364a197f314610256578063893d20e81461028f57806393eaa714146102a4578063a3f4df7e146102ce578063aac1846f14610358578063b7f8cf9b1461036d578063f2e91d7114610382578063f3af7c3b146103ac57610125565b80630b622ab21461012a57806313af40351461015b57806314f6c3be146101905780632439789a146101b75780633963e980146101e15780634a945f8d146101f65780635a4d28bb1461024157610125565b36610125576100d96103b4565b6004546100ec903463ffffffff61041416565b600481905560408051918252517fca232b5abb988c540b959ff6c3bfae3e97fff964fd098c508f9613c0a6bf1a809181900360200190a1005b600080fd5b34801561013657600080fd5b5061013f610475565b604080516001600160a01b039092168252519081900360200190f35b34801561016757600080fd5b5061018e6004803603602081101561017e57600080fd5b50356001600160a01b0316610484565b005b34801561019c57600080fd5b506101a56104f7565b60408051918252519081900360200190f35b3480156101c357600080fd5b5061018e600480360360208110156101da57600080fd5b50356104fd565b3480156101ed57600080fd5b506101a5610552565b34801561020257600080fd5b5061018e6004803603608081101561021957600080fd5b506001600160a01b038135811691602081013582169160408201358116916060013516610558565b34801561024d57600080fd5b5061013f610717565b34801561026257600080fd5b5061018e6004803603604081101561027957600080fd5b506001600160a01b038135169060200135610726565b34801561029b57600080fd5b5061013f610867565b3480156102b057600080fd5b5061018e600480360360208110156102c757600080fd5b5035610891565b3480156102da57600080fd5b506102e36108aa565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561031d578181015183820152602001610305565b50505050905090810190601f16801561034a5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561036457600080fd5b5061013f6108d0565b34801561037957600080fd5b5061013f6108df565b34801561038e57600080fd5b5061018e600480360360208110156103a557600080fd5b50356108ee565b61018e610909565b6000546001600160a01b03163314806103d757506003546001600160a01b031633145b6104125760405162461bcd60e51b8152600401808060200182810382526031815260200180610cea6031913960400191505060405180910390fd5b565b60008282018381101561046e576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b6002546001600160a01b031681565b61048c610867565b6001600160a01b0316336001600160a01b0316146104eb576040805162461bcd60e51b815260206004820152601760248201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604482015290519081900360640190fd5b6104f481610921565b50565b60045490565b6105056109d6565b600554610518908263ffffffff610a4916565b600581905560408051918252517fc179e77847def189a2838a920a4d2d78f966467c47494a7fb5fbd1477a2cf4f59181900360200190a150565b60055490565b610560610867565b6001600160a01b0316336001600160a01b0316146105bf576040805162461bcd60e51b815260206004820152601760248201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604482015290519081900360640190fd5b6105c884610a8b565b6105d183610a8b565b6105da82610a8b565b6105e381610a8b565b600080546001600160a01b038087166001600160a01b031992831681179093556001805487831690841617905560028054868316908416179055600380549185169190921617905560408051918252517f3ca631ffcd2a9b5d9ae18543fc82f58eb4ca33af9e6ab01b7a8e95331e6ed9859181900360200190a1604080516001600160a01b038516815290517f143219c9e69b09e07e095fcc889b43d8f46ca892bba65f08dc3a0050869a56789181900360200190a1604080516001600160a01b038416815290517f82966d27eea39b038ee0fa30cd16532bb24f6e65d31cb58fb227aa5766cdcc7f9181900360200190a1604080516001600160a01b038316815290517f5ee0cae2f063ed938bb55046f6a932fb6ae792bf43624806bb90abe68a50be9b9181900360200190a150505050565b6001546001600160a01b031681565b61072e6109d6565b600454610741908263ffffffff610a4916565b600481905560408051918252517fca232b5abb988c540b959ff6c3bfae3e97fff964fd098c508f9613c0a6bf1a809181900360200190a1604080516001600160a01b03841681526020810183905281517f6109e2559dfa766aaec7118351d48a523f0a4157f49c8d68749c8ac41318ad12929181900390910190a16040516000906001600160a01b0384169083908381818185875af1925050503d8060008114610807576040519150601f19603f3d011682016040523d82523d6000602084013e61080c565b606091505b5050905080610862576040805162461bcd60e51b815260206004820152601e60248201527f416374697665506f6f6c3a2073656e64696e6720455448206661696c65640000604482015290519081900360640190fd5b505050565b604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205490565b6005546108a4908263ffffffff61041416565b60055550565b6040518060400160405280600a8152602001691058dd1a5d99541bdbdb60b21b81525081565b6003546001600160a01b031681565b6000546001600160a01b031681565b6108f6610b3e565b600554610518908263ffffffff61041416565b60045461091c903463ffffffff61041416565b600455565b6001600160a01b0381166109665760405162461bcd60e51b8152600401808060200182810382526022815260200180610c756022913960400191505060405180910390fd5b806001600160a01b0316610978610867565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3604080517035b2bc9737bbb730b136329737bbb732b960791b8152905190819003601101902055565b6000546001600160a01b03163314806109f957506001546001600160a01b031633145b80610a0e57506002546001600160a01b031633145b6104125760405162461bcd60e51b8152600401808060200182810382526053815260200180610c976053913960600191505060405180910390fd5b600061046e83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610b9c565b6001600160a01b038116610ae6576040805162461bcd60e51b815260206004820152601e60248201527f4163636f756e742063616e6e6f74206265207a65726f20616464726573730000604482015290519081900360640190fd5b803b80610b3a576040805162461bcd60e51b815260206004820181905260248201527f4163636f756e7420636f64652073697a652063616e6e6f74206265207a65726f604482015290519081900360640190fd5b5050565b6000546001600160a01b0316331480610b6157506001546001600160a01b031633145b6104125760405162461bcd60e51b8152600401808060200182810382526041815260200180610c346041913960600191505060405180910390fd5b60008184841115610c2b5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610bf0578181015183820152602001610bd8565b50505050905090810190601f168015610c1d5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50505090039056fe416374697665506f6f6c3a2043616c6c6572206973206e65697468657220426f72726f7765724f7065726174696f6e73206e6f722054726f76654d616e616765724f776e61626c653a3a7365744f776e65723a20696e76616c69642061646472657373416374697665506f6f6c3a2043616c6c6572206973206e65697468657220426f72726f7765724f7065726174696f6e73206e6f722054726f76654d616e61676572206e6f722053746162696c697479506f6f6c416374697665506f6f6c3a2043616c6c6572206973206e65697468657220424f206e6f722044656661756c7420506f6f6ca2646970667358221220db86a41ab5529a43b6289c9b0e6fefdd5940acbc72fe4f717b6917db5ba6c9f264736f6c634300060b0033", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/packages/lib-ethers/live/BaseMath.json b/packages/lib-ethers/live/BaseMath.json deleted file mode 100644 index 1fd9eafb5..000000000 --- a/packages/lib-ethers/live/BaseMath.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "BaseMath", - "sourceName": "contracts/Dependencies/BaseMath.sol", - "abi": [ - { - "inputs": [], - "name": "DECIMAL_PRECISION", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": "0x6080604052348015600f57600080fd5b5060878061001e6000396000f3fe6080604052348015600f57600080fd5b506004361060285760003560e01c8063a20baee614602d575b600080fd5b60336045565b60408051918252519081900360200190f35b670de0b6b3a76400008156fea2646970667358221220157e3ea15bcb1769d56dddedf125e3b0aecc073b0ad1dd73256964871b1337ed64736f6c634300060b0033", - "deployedBytecode": "0x6080604052348015600f57600080fd5b506004361060285760003560e01c8063a20baee614602d575b600080fd5b60336045565b60408051918252519081900360200190f35b670de0b6b3a76400008156fea2646970667358221220157e3ea15bcb1769d56dddedf125e3b0aecc073b0ad1dd73256964871b1337ed64736f6c634300060b0033", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/packages/lib-ethers/live/BorrowerOperations.json b/packages/lib-ethers/live/BorrowerOperations.json deleted file mode 100644 index 8bb5979cf..000000000 --- a/packages/lib-ethers/live/BorrowerOperations.json +++ /dev/null @@ -1,1054 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "BorrowerOperations", - "sourceName": "contracts/BorrowerOperations.sol", - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_activePoolAddress", - "type": "address" - } - ], - "name": "ActivePoolAddressChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_collSurplusPoolAddress", - "type": "address" - } - ], - "name": "CollSurplusPoolAddressChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_defaultPoolAddress", - "type": "address" - } - ], - "name": "DefaultPoolAddressChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_feeDistributorAddress", - "type": "address" - } - ], - "name": "FeeDistributorAddressChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_gasPoolAddress", - "type": "address" - } - ], - "name": "GasPoolAddressChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_massetManagerAddress", - "type": "address" - } - ], - "name": "MassetManagerAddressChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "previousOwner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnershipTransferred", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_newPriceFeedAddress", - "type": "address" - } - ], - "name": "PriceFeedAddressChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_sortedTrovesAddress", - "type": "address" - } - ], - "name": "SortedTrovesAddressChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_stabilityPoolAddress", - "type": "address" - } - ], - "name": "StabilityPoolAddressChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "_borrower", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "arrayIndex", - "type": "uint256" - } - ], - "name": "TroveCreated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_newTroveManagerAddress", - "type": "address" - } - ], - "name": "TroveManagerAddressChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "_borrower", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_debt", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_coll", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "stake", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "enum BorrowerOperations.BorrowerOperation", - "name": "operation", - "type": "uint8" - } - ], - "name": "TroveUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_zeroStakingAddress", - "type": "address" - } - ], - "name": "ZEROStakingAddressChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "_borrower", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_ZUSDFee", - "type": "uint256" - } - ], - "name": "ZUSDBorrowingFeePaid", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_zusdTokenAddress", - "type": "address" - } - ], - "name": "ZUSDTokenAddressChanged", - "type": "event" - }, - { - "inputs": [], - "name": "BORROWING_FEE_FLOOR", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "DECIMAL_PRECISION", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "MIN_NET_DEBT", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "NAME", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "ZUSD_GAS_COMPENSATION", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_100pct", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "activePool", - "outputs": [ - { - "internalType": "contract IActivePool", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_upperHint", - "type": "address" - }, - { - "internalType": "address", - "name": "_lowerHint", - "type": "address" - } - ], - "name": "addColl", - "outputs": [], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_maxFeePercentage", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_collWithdrawal", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_ZUSDChange", - "type": "uint256" - }, - { - "internalType": "bool", - "name": "_isDebtIncrease", - "type": "bool" - }, - { - "internalType": "address", - "name": "_upperHint", - "type": "address" - }, - { - "internalType": "address", - "name": "_lowerHint", - "type": "address" - }, - { - "components": [ - { - "internalType": "uint256", - "name": "deadline", - "type": "uint256" - }, - { - "internalType": "uint8", - "name": "v", - "type": "uint8" - }, - { - "internalType": "bytes32", - "name": "r", - "type": "bytes32" - }, - { - "internalType": "bytes32", - "name": "s", - "type": "bytes32" - } - ], - "internalType": "struct IMassetManager.PermitParams", - "name": "_permitParams", - "type": "tuple" - } - ], - "name": "adjustNueTrove", - "outputs": [], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_maxFeePercentage", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_collWithdrawal", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_ZUSDChange", - "type": "uint256" - }, - { - "internalType": "bool", - "name": "_isDebtIncrease", - "type": "bool" - }, - { - "internalType": "address", - "name": "_upperHint", - "type": "address" - }, - { - "internalType": "address", - "name": "_lowerHint", - "type": "address" - } - ], - "name": "adjustTrove", - "outputs": [], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [], - "name": "claimCollateral", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "components": [ - { - "internalType": "uint256", - "name": "deadline", - "type": "uint256" - }, - { - "internalType": "uint8", - "name": "v", - "type": "uint8" - }, - { - "internalType": "bytes32", - "name": "r", - "type": "bytes32" - }, - { - "internalType": "bytes32", - "name": "s", - "type": "bytes32" - } - ], - "internalType": "struct IMassetManager.PermitParams", - "name": "_permitParams", - "type": "tuple" - } - ], - "name": "closeNueTrove", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "closeTrove", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "defaultPool", - "outputs": [ - { - "internalType": "contract IDefaultPool", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "feeDistributor", - "outputs": [ - { - "internalType": "contract IFeeDistributor", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_debt", - "type": "uint256" - } - ], - "name": "getCompositeDebt", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getEntireSystemColl", - "outputs": [ - { - "internalType": "uint256", - "name": "entireSystemColl", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getEntireSystemDebt", - "outputs": [ - { - "internalType": "uint256", - "name": "entireSystemDebt", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getMassetManager", - "outputs": [ - { - "internalType": "contract IMassetManager", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getOwner", - "outputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "liquityBaseParams", - "outputs": [ - { - "internalType": "contract ILiquityBaseParams", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "massetManager", - "outputs": [ - { - "internalType": "contract IMassetManager", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_borrower", - "type": "address" - }, - { - "internalType": "address", - "name": "_upperHint", - "type": "address" - }, - { - "internalType": "address", - "name": "_lowerHint", - "type": "address" - } - ], - "name": "moveETHGainToTrove", - "outputs": [], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_maxFeePercentage", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_ZUSDAmount", - "type": "uint256" - }, - { - "internalType": "address", - "name": "_upperHint", - "type": "address" - }, - { - "internalType": "address", - "name": "_lowerHint", - "type": "address" - } - ], - "name": "openNueTrove", - "outputs": [], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_maxFeePercentage", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_ZUSDAmount", - "type": "uint256" - }, - { - "internalType": "address", - "name": "_upperHint", - "type": "address" - }, - { - "internalType": "address", - "name": "_lowerHint", - "type": "address" - } - ], - "name": "openTrove", - "outputs": [], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [], - "name": "priceFeed", - "outputs": [ - { - "internalType": "contract IPriceFeed", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_ZUSDAmount", - "type": "uint256" - }, - { - "internalType": "address", - "name": "_upperHint", - "type": "address" - }, - { - "internalType": "address", - "name": "_lowerHint", - "type": "address" - } - ], - "name": "repayZUSD", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_dllrAmount", - "type": "uint256" - }, - { - "internalType": "address", - "name": "_upperHint", - "type": "address" - }, - { - "internalType": "address", - "name": "_lowerHint", - "type": "address" - }, - { - "components": [ - { - "internalType": "uint256", - "name": "deadline", - "type": "uint256" - }, - { - "internalType": "uint8", - "name": "v", - "type": "uint8" - }, - { - "internalType": "bytes32", - "name": "r", - "type": "bytes32" - }, - { - "internalType": "bytes32", - "name": "s", - "type": "bytes32" - } - ], - "internalType": "struct IMassetManager.PermitParams", - "name": "_permitParams", - "type": "tuple" - } - ], - "name": "repayZusdFromDLLR", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_feeDistributorAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_liquityBaseParamsAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_troveManagerAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_activePoolAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_defaultPoolAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_stabilityPoolAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_gasPoolAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_collSurplusPoolAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_priceFeedAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_sortedTrovesAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_zusdTokenAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_zeroStakingAddress", - "type": "address" - } - ], - "name": "setAddresses", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_massetManagerAddress", - "type": "address" - } - ], - "name": "setMassetManagerAddress", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - } - ], - "name": "setOwner", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "sortedTroves", - "outputs": [ - { - "internalType": "contract ISortedTroves", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "troveManager", - "outputs": [ - { - "internalType": "contract ITroveManager", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_collWithdrawal", - "type": "uint256" - }, - { - "internalType": "address", - "name": "_upperHint", - "type": "address" - }, - { - "internalType": "address", - "name": "_lowerHint", - "type": "address" - } - ], - "name": "withdrawColl", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_maxFeePercentage", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_ZUSDAmount", - "type": "uint256" - }, - { - "internalType": "address", - "name": "_upperHint", - "type": "address" - }, - { - "internalType": "address", - "name": "_lowerHint", - "type": "address" - } - ], - "name": "withdrawZUSD", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_maxFeePercentage", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_ZUSDAmount", - "type": "uint256" - }, - { - "internalType": "address", - "name": "_upperHint", - "type": "address" - }, - { - "internalType": "address", - "name": "_lowerHint", - "type": "address" - } - ], - "name": "withdrawZusdAndConvertToDLLR", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "zeroStaking", - "outputs": [ - { - "internalType": "contract IZEROStaking", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "zeroStakingAddress", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "zusdToken", - "outputs": [ - { - "internalType": "contract IZUSDToken", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": "0x60806040523480156200001157600080fd5b5062000026336001600160e01b036200002c16565b62000150565b6001600160a01b0381166200005e5760405162461bcd60e51b815260040162000055906200010e565b60405180910390fd5b6001600160a01b0381166200007b6001600160e01b03620000d016565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000604051620000c090620000f1565b6040519081900390209190915550565b600080604051620000e190620000f1565b6040519081900390205492915050565b7035b2bc9737bbb730b136329737bbb732b960791b815260110190565b60208082526022908201527f4f776e61626c653a3a7365744f776e65723a20696e76616c6964206164647265604082015261737360f01b606082015260800190565b614a7880620001606000396000f3fe6080604052600436106102205760003560e01c80637778a3db1161012e578063a3f4df7e116100ab578063e9fc34611161006f578063e9fc346114610570578063ea9638bf14610585578063ec5472fd14610598578063ec9f7d46146105ad578063f92d3433146105c257610220565b8063a3f4df7e146104f1578063ae91875414610513578063afbc74b514610528578063b5c89bab14610548578063c6a6cf201461055d57610220565b8063887105d3116100f2578063887105d31461049f578063893d20e8146104b45780638d5c3dc1146104c95780639f070670146104dc578063a20baee6146103c357610220565b80637778a3db14610422578063795d26c3146104425780637e3eefdc146104575780637f7dde4a14610477578063860665b31461048c57610220565b8063485f190f116101bc5780636f0b0c1c116101805780636f0b0c1c146103ae57806372fe25aa146103c3578063734f622d146103d8578063741bef1a146103f8578063759b30341461040d57610220565b8063485f190f146103285780634ff814431461033b5780635530273c1461035b57806368647db11461037b5780636ea569601461038e57610220565b80630d43e8ad146102255780630e704d50146102505780630ff9a5121461026757806313af40351461027c5780631a7777171461029c5780631bf43555146102bc5780632771510a146102de5780633cc74225146102fe5780633d83908a14610313575b600080fd5b34801561023157600080fd5b5061023a6105d7565b6040516102479190613fe0565b60405180910390f35b34801561025c57600080fd5b506102656105e6565b005b34801561027357600080fd5b5061023a6105f0565b34801561028857600080fd5b50610265610297366004613bf3565b6105ff565b3480156102a857600080fd5b506102656102b7366004613e27565b61064c565b3480156102c857600080fd5b506102d1610663565b60405161024791906149eb565b3480156102ea57600080fd5b506102656102f9366004613bf3565b610670565b34801561030a57600080fd5b5061023a6106fe565b34801561031f57600080fd5b5061023a61070d565b610265610336366004613e78565b61071c565b34801561034757600080fd5b506102d1610356366004613dd1565b610886565b34801561036757600080fd5b50610265610376366004613e01565b610899565b610265610389366004613c2b565b6108af565b34801561039a57600080fd5b506102656103a9366004613e78565b6108c5565b3480156103ba57600080fd5b506102656108d6565b3480156103cf57600080fd5b506102d1610934565b3480156103e457600080fd5b506102656103f3366004613cad565b610940565b34801561040457600080fd5b5061023a610d04565b34801561041957600080fd5b506102d1610d13565b34801561042e57600080fd5b5061026561043d366004613db6565b610d20565b34801561044e57600080fd5b506102d1610e11565b34801561046357600080fd5b506102d1610472366004613e78565b610f30565b34801561048357600080fd5b5061023a6111ab565b61026561049a366004613e78565b6111ba565b3480156104ab57600080fd5b506102d16111c7565b3480156104c057600080fd5b5061023a611296565b6102656104d7366004613f27565b6112b5565b3480156104e857600080fd5b5061023a6112cd565b3480156104fd57600080fd5b506105066112dc565b60405161024791906140c8565b34801561051f57600080fd5b5061023a61130a565b34801561053457600080fd5b50610265610543366004613e01565b611319565b34801561055457600080fd5b5061023a61132b565b61026561056b366004613ec1565b61133a565b34801561057c57600080fd5b5061023a611351565b610265610593366004613c63565b611360565b3480156105a457600080fd5b5061023a61137a565b3480156105b957600080fd5b5061023a611389565b3480156105ce57600080fd5b506102d1611398565b600d546001600160a01b031681565b6105ee61141a565b565b6009546001600160a01b031681565b610607611296565b6001600160a01b0316336001600160a01b0316146106405760405162461bcd60e51b8152600401610637906145b1565b60405180910390fd5b61064981611809565b50565b61065d600080866000878787611894565b50505050565b6809c2007651b250000081565b610678611296565b6001600160a01b0316336001600160a01b0316146106a85760405162461bcd60e51b8152600401610637906145b1565b600c80546001600160a01b0319166001600160a01b0383161790556040517f6926b3375b54960080b7d8a184061f39a02e8c3bf64aa9df7e75359fdc00d814906106f3908390613fe0565b60405180910390a150565b6001546001600160a01b031681565b6004546001600160a01b031681565b600c546001600160a01b03166107445760405162461bcd60e51b8152600401610637906149bb565b6107518484848430611a4a565b600a54600c5460405163095ea7b360e01b81526001600160a01b039283169263095ea7b392610787929116908790600401614035565b602060405180830381600087803b1580156107a157600080fd5b505af11580156107b5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107d99190613d9a565b6107f55760405162461bcd60e51b81526004016106379061463f565b600c54600a5460405163438b1b4b60e01b81526001600160a01b039283169263438b1b4b9261082d9291169087903390600401614079565b602060405180830381600087803b15801561084757600080fd5b505af115801561085b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061087f9190613de9565b5050505050565b600061089182612075565b90505b919050565b6108aa338460008086866000612090565b505050565b6108c133600080600086866000612090565b5050565b61065d33600085600186868a612090565b60075460405163b32beb5b60e01b81526001600160a01b039091169063b32beb5b90610906903390600401613fe0565b600060405180830381600087803b15801561092057600080fd5b505af115801561065d573d6000803e3d6000fd5b670de0b6b3a764000081565b610948611296565b6001600160a01b0316336001600160a01b0316146109785760405162461bcd60e51b8152600401610637906145b1565b6109818c6120a0565b61098a8b6120a0565b6109938a6120a0565b61099c896120a0565b6109a5886120a0565b6109ae876120a0565b6109b7866120a0565b6109c0856120a0565b6109c9846120a0565b6109d2836120a0565b6109db826120a0565b6109e4816120a0565b600d80546001600160a01b03199081166001600160a01b038f8116919091179092556003805482168e84161790556004805482168d84161790556000805482168c84161790556001805482168b84161790556005805482168a8416179055600680548216898416179055600780548216888416179055600280548216878416179055600b80548216868416179055600a8054821685841617905560098054821692841692831790556008805490911690911790556040517f84861842e6a98dd759145eb5e7b48279d0f02ebeabc8a69e5196b2f4c5023db990610ac8908e90613fe0565b60405180910390a17f143219c9e69b09e07e095fcc889b43d8f46ca892bba65f08dc3a0050869a56788a604051610aff9190613fe0565b60405180910390a17f78f058b189175430c48dc02699e3a0031ea4ff781536dc2fab847de4babdd88289604051610b369190613fe0565b60405180910390a17f5ee0cae2f063ed938bb55046f6a932fb6ae792bf43624806bb90abe68a50be9b88604051610b6d9190613fe0565b60405180910390a17f82966d27eea39b038ee0fa30cd16532bb24f6e65d31cb58fb227aa5766cdcc7f87604051610ba49190613fe0565b60405180910390a17fcfb07d791fcafc032b35837b50eb84b74df518cf4cc287e8084f47630fa70fa086604051610bdb9190613fe0565b60405180910390a17fe67f36a6e961157d6eff83b91f3af5a62131ceb6f04954ef74f51c1c05e7f88d85604051610c129190613fe0565b60405180910390a17f8c537274438aa850a330284665d81a85dd38267d09e4050d416bfc94142db26484604051610c499190613fe0565b60405180910390a17f65f4cf077bc01e4742eb5ad98326f6e95b63548ea24b17f8d5e823111fe7880083604051610c809190613fe0565b60405180910390a17fcdf33850c44a1a874b5fefb51dae615ac6afebd581ef90d571f81b06541d8e9d82604051610cb79190613fe0565b60405180910390a17f7624075ed781e3aa34b0f492d70d1bb5a6fcde04534165e20f990d2e546be4dd81604051610cee9190613fe0565b60405180910390a1505050505050505050505050565b6002546001600160a01b031681565b6801158e460913d0000081565b600c546001600160a01b0316610d485760405162461bcd60e51b8152600401610637906149bb565b6004805460405163d66a255360e01b81526000926001600160a01b039092169163d66a255391610d7a91339101613fe0565b60206040518083038186803b158015610d9257600080fd5b505afa158015610da6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610dca9190613de9565b600c54909150610e08906001600160a01b0316610df6836801158e460913d0000063ffffffff6120e516565b600a546001600160a01b031685612130565b506108c161141a565b60008054604080516272c7d360e71b8152905183926001600160a01b031691633963e980916004808301926020929190829003018186803b158015610e5557600080fd5b505afa158015610e69573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e8d9190613de9565b90506000600160009054906101000a90046001600160a01b03166001600160a01b0316633963e9806040518163ffffffff1660e01b815260040160206040518083038186803b158015610edf57600080fd5b505afa158015610ef3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f179190613de9565b9050610f29828263ffffffff6123e116565b9250505090565b600a546040516370a0823160e01b8152600091309183916001600160a01b0316906370a0823190610f65908590600401613fe0565b60206040518083038186803b158015610f7d57600080fd5b505afa158015610f91573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fb59190613de9565b9050610fc533838888888c612406565b610fd5818763ffffffff6123e116565b600a546040516370a0823160e01b81526001600160a01b03909116906370a0823190611005908690600401613fe0565b60206040518083038186803b15801561101d57600080fd5b505afa158015611031573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110559190613de9565b146110725760405162461bcd60e51b815260040161063790614245565b600a54600c5460405163095ea7b360e01b81526001600160a01b039283169263095ea7b3926110a8929116908a90600401614035565b602060405180830381600087803b1580156110c257600080fd5b505af11580156110d6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110fa9190613d9a565b6111165760405162461bcd60e51b81526004016106379061463f565b600c54600a5460405163438b1b4b60e01b81526001600160a01b039283169263438b1b4b9261114e929116908a903390600401614079565b602060405180830381600087803b15801561116857600080fd5b505af115801561117c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111a09190613de9565b979650505050505050565b6000546001600160a01b031681565b61065d8484848433611a4a565b6000805460408051630a7b61df60e11b8152905183926001600160a01b0316916314f6c3be916004808301926020929190829003018186803b15801561120c57600080fd5b505afa158015611220573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112449190613de9565b90506000600160009054906101000a90046001600160a01b03166001600160a01b03166314f6c3be6040518163ffffffff1660e01b815260040160206040518083038186803b158015610edf57600080fd5b6000806040516112a590613fc3565b6040519081900390205492915050565b6112c487878787878787611894565b50505050505050565b6003546001600160a01b031681565b60405180604001604052806012815260200171426f72726f7765724f7065726174696f6e7360701b81525081565b600b546001600160a01b031681565b6108aa33600085600086866000612090565b600c546001600160a01b031681565b6113493386868686868c612090565b505050505050565b600c546001600160a01b031690565b611368612418565b6108aa83600080600086866000612090565b6008546001600160a01b031681565b600a546001600160a01b031681565b6003546040805163f92d343360e01b815290516000926001600160a01b03169163f92d3433916004808301926020929190829003018186803b1580156113dd57600080fd5b505afa1580156113f1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114159190613de9565b905090565b600454600054600a546001600160a01b0392831692918216911661143e8333612442565b60025460408051630fdb11cf60e01b815290516000926001600160a01b031691630fdb11cf91600480830192602092919082900301818787803b15801561148457600080fd5b505af1158015611498573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114bc9190613de9565b90506114c7816124e3565b604051630b07655760e01b81526001600160a01b03851690630b076557906114f3903390600401613fe0565b600060405180830381600087803b15801561150d57600080fd5b505af1158015611521573d6000803e3d6000fd5b50506040516309019aaf60e31b8152600092506001600160a01b038716915063480cd57890611554903390600401613fe0565b60206040518083038186803b15801561156c57600080fd5b505afa158015611580573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115a49190613de9565b90506000856001600160a01b031663d66a2553336040518263ffffffff1660e01b81526004016115d49190613fe0565b60206040518083038186803b1580156115ec57600080fd5b505afa158015611600573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116249190613de9565b90506116498433611644846801158e460913d0000063ffffffff6120e516565b612509565b600061165a836000846000886125a5565b905061166581612630565b604051631fc5750960e31b81526001600160a01b0388169063fe2ba84890611691903390600401613fe0565b600060405180830381600087803b1580156116ab57600080fd5b505af11580156116bf573d6000803e3d6000fd5b50506040516365e89c5760e11b81526001600160a01b038a16925063cbd138ae91506116ef903390600401613fe0565b600060405180830381600087803b15801561170957600080fd5b505af115801561171d573d6000803e3d6000fd5b50505050336001600160a01b0316600080516020614a2383398151915260008060006001604051611751949392919061409c565b60405180910390a261177d868633611778866801158e460913d0000063ffffffff6120e516565b6126d5565b6006546117a090879087906001600160a01b03166801158e460913d000006126d5565b6040516364a197f360e01b81526001600160a01b038716906364a197f3906117ce9033908790600401614035565b600060405180830381600087803b1580156117e857600080fd5b505af11580156117fc573d6000803e3d6000fd5b5050505050505050505050565b6001600160a01b03811661182f5760405162461bcd60e51b81526004016106379061427c565b806001600160a01b0316611841611296565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3600060405161188490613fc3565b6040519081900390209190915550565b600c546001600160a01b03166118bc5760405162461bcd60e51b8152600401610637906149bb565b831580156118ca5750600085115b156118f057600c54600a546118ee916001600160a01b039081169188911684612130565b505b6119003387878787878d3061278f565b83801561190d5750600085115b156112c457600a54600c5460405163095ea7b360e01b81526001600160a01b039283169263095ea7b392611948929116908990600401614035565b602060405180830381600087803b15801561196257600080fd5b505af1158015611976573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061199a9190613d9a565b6119b65760405162461bcd60e51b81526004016106379061463f565b600c54600a5460405163438b1b4b60e01b81526001600160a01b039283169263438b1b4b926119ee9291169089903390600401614079565b602060405180830381600087803b158015611a0857600080fd5b505af1158015611a1c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a409190613de9565b5050505050505050565b611a52613af2565b50604080516060810182526004546001600160a01b03908116825260005481166020830152600a541691810191909152611a8a613b12565b600260009054906101000a90046001600160a01b03166001600160a01b0316630fdb11cf6040518163ffffffff1660e01b8152600401602060405180830381600087803b158015611ada57600080fd5b505af1158015611aee573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b129190613de9565b808252600090611b2190612d73565b9050611b2d8882612e0e565b8251611b399033612efa565b6040820187905280611b7a57611b5983600001518460400151898b612f9c565b602083018190526040830151611b749163ffffffff6123e116565b60408301525b611b878260400151613155565b611b948260400151612075565b60608301819052611ba157fe5b611bb4348360600151846000015161317e565b60808301526060820151611bc99034906131bd565b60a08301528015611be657611be182608001516131f2565b611c19565b611bf38260800151613297565b6000611c0c3460018560600151600187600001516125a5565b9050611c1781612630565b505b8251604051635d6b480f60e01b81526001600160a01b0390911690635d6b480f90611c4b903390600190600401614035565b600060405180830381600087803b158015611c6557600080fd5b505af1158015611c79573d6000803e3d6000fd5b505084516040516372423c1760e01b81526001600160a01b0390911692506372423c179150611cae9033903490600401614035565b602060405180830381600087803b158015611cc857600080fd5b505af1158015611cdc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d009190613de9565b5082516060830151604051639976cf4560e01b81526001600160a01b0390921691639976cf4591611d3691339190600401614035565b602060405180830381600087803b158015611d5057600080fd5b505af1158015611d64573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d889190613de9565b5082516040516382fe3eb960e01b81526001600160a01b03909116906382fe3eb990611db8903390600401613fe0565b600060405180830381600087803b158015611dd257600080fd5b505af1158015611de6573d6000803e3d6000fd5b50508451604051630c7940bd60e11b81526001600160a01b0390911692506318f2817a9150611e19903390600401613fe0565b602060405180830381600087803b158015611e3357600080fd5b505af1158015611e47573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e6b9190613de9565b60c0830152600b5460a08301516040516346f7cf8760e01b81526001600160a01b03909216916346f7cf8791611eaa913391908b908b9060040161404e565b600060405180830381600087803b158015611ec457600080fd5b505af1158015611ed8573d6000803e3d6000fd5b505084516040516315d549f160e01b81526001600160a01b0390911692506315d549f19150611f0b903390600401613fe0565b602060405180830381600087803b158015611f2557600080fd5b505af1158015611f39573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f5d9190613de9565b60e0830181905260405133917f59cfd0cd754bc5748b6770e94a4ffa5f678d885cb899dcfadc5734edb97c67ab91611f9591906149eb565b60405180910390a2611fab83602001513461333c565b611fc483602001518460400151868a86604001516133b8565b60208301516040840151600654611ff09291906001600160a01b03166801158e460913d00000806133b8565b606082015160c08301516040513392600080516020614a238339815191529261201e9234919060009061409c565b60405180910390a2336001600160a01b03167f71457d8a5ab7e4561ed49d05338674b73ac3b83b0b315f165f5b12bcc0022741836020015160405161206391906149eb565b60405180910390a25050505050505050565b6000610891826801158e460913d0000063ffffffff6123e116565b6112c4878787878787873361278f565b6001600160a01b0381166120c65760405162461bcd60e51b8152600401610637906143be565b803b806108c15760405162461bcd60e51b815260040161063790614762565b600061212783836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061347d565b90505b92915050565b600080856001600160a01b03166321df0da76040518163ffffffff1660e01b815260040160206040518083038186803b15801561216c57600080fd5b505afa158015612180573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121a49190613c0f565b90506000816001600160a01b03166370a08231306040518263ffffffff1660e01b81526004016121d49190613fe0565b60206040518083038186803b1580156121ec57600080fd5b505afa158015612200573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122249190613de9565b9050306001600160a01b03831663605629d633838a893561224b60408c0160208d01613f9f565b8b604001358c606001356040518863ffffffff1660e01b81526004016122779796959493929190613ff4565b600060405180830381600087803b15801561229157600080fd5b505af11580156122a5573d6000803e3d6000fd5b505050508661233683856001600160a01b03166370a08231856040518263ffffffff1660e01b81526004016122da9190613fe0565b60206040518083038186803b1580156122f257600080fd5b505afa158015612306573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061232a9190613de9565b9063ffffffff6120e516565b146123535760405162461bcd60e51b8152600401610637906141c5565b60405163fb2c922360e01b81526001600160a01b0389169063fb2c9223906123839089908b903390600401614079565b602060405180830381600087803b15801561239d57600080fd5b505af11580156123b1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123d59190613de9565b98975050505050505050565b6000828201838110156121275760405162461bcd60e51b81526004016106379061420e565b6113498660008660018787878c61278f565b6005546001600160a01b031633146105ee5760405162461bcd60e51b815260040161063790614800565b6040516321e3780160e01b81526000906001600160a01b038416906321e3780190612471908590600401613fe0565b60206040518083038186803b15801561248957600080fd5b505afa15801561249d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124c19190613de9565b9050806001146108aa5760405162461bcd60e51b815260040161063790614563565b6124ec81612d73565b156106495760405162461bcd60e51b81526004016106379061430e565b6040516370a0823160e01b815281906001600160a01b038516906370a0823190612537908690600401613fe0565b60206040518083038186803b15801561254f57600080fd5b505afa158015612563573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125879190613de9565b10156108aa5760405162461bcd60e51b81526004016106379061411b565b6000806125b06111c7565b905060006125bc610e11565b9050866125d8576125d3828963ffffffff6120e516565b6125e8565b6125e8828963ffffffff6123e116565b915084612604576125ff818763ffffffff6120e516565b612614565b612614818763ffffffff6123e116565b9050600061262383838761317e565b9998505050505050505050565b600360009054906101000a90046001600160a01b03166001600160a01b0316635733d58f6040518163ffffffff1660e01b815260040160206040518083038186803b15801561267e57600080fd5b505afa158015612692573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906126b69190613de9565b8110156106495760405162461bcd60e51b8152600401610637906144f4565b60405163121cbc4d60e11b81526001600160a01b03851690632439789a906127019084906004016149eb565b600060405180830381600087803b15801561271b57600080fd5b505af115801561272f573d6000803e3d6000fd5b5050604051632770a7eb60e21b81526001600160a01b0386169250639dc29fac91506127619085908590600401614035565b600060405180830381600087803b15801561277b57600080fd5b505af1158015611a40573d6000803e3d6000fd5b612797613af2565b50604080516060810182526004546001600160a01b03908116825260005481166020830152600a5416918101919091526127cf613b57565b600260009054906101000a90046001600160a01b03166001600160a01b0316630fdb11cf6040518163ffffffff1660e01b8152600401602060405180830381600087803b15801561281f57600080fd5b505af1158015612833573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906128579190613de9565b80825261286390612d73565b15156101c082015286156128895761288084826101c00151612e0e565b612889886134a9565b612892896134c9565b61289c89896134f0565b81516128a8908b612442565b336001600160a01b038b1614806128de57506005546001600160a01b0316331480156128d45750600034115b80156128de575087155b6128e457fe5b8151604051630b07655760e01b81526001600160a01b0390911690630b07655790612913908d90600401613fe0565b600060405180830381600087803b15801561292d57600080fd5b505af1158015612941573d6000803e3d6000fd5b5050505061294f348a613523565b151560608301526020820152604081018890528680156129725750806101c00151155b156129ad5761298b826000015183604001518a87612f9c565b610120820181905260408201516129a79163ffffffff6123e116565b60408201525b815160405163d66a255360e01b81526001600160a01b039091169063d66a2553906129dc908d90600401613fe0565b60206040518083038186803b1580156129f457600080fd5b505afa158015612a08573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612a2c9190613de9565b608082015281516040516309019aaf60e31b81526001600160a01b039091169063480cd57890612a60908d90600401613fe0565b60206040518083038186803b158015612a7857600080fd5b505afa158015612a8c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612ab09190613de9565b60a0820181905260808201518251612ac992919061317e565b8160c0018181525050612af98160a0015182608001518360200151846060015185604001518c8760000151613542565b60e082015260a0810151891115612b0c57fe5b612b1d816101c001518a8984613575565b86158015612b2b5750600088115b15612b7257612b4d612b48826040015161232a84608001516135e9565b613155565b612b5f81608001518260400151613604565b612b7282604001518b8360400151612509565b612b9082600001518b8360200151846060015185604001518c61363c565b6101408301526101608201528151604051630c7940bd60e11b81526001600160a01b03909116906318f2817a90612bcb908d90600401613fe0565b602060405180830381600087803b158015612be557600080fd5b505af1158015612bf9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612c1d9190613de9565b81610180018181525050612c498160a0015182608001518360200151846060015185604001518c61386a565b6101a08201819052600b5460405163015f109360e51b81526001600160a01b0390911691632be2126091612c85918e918b908b9060040161404e565b600060405180830381600087803b158015612c9f57600080fd5b505af1158015612cb3573d6000803e3d6000fd5b50505050896001600160a01b0316600080516020614a238339815191528261014001518361016001518461018001516002604051612cf4949392919061409c565b60405180910390a2336001600160a01b03167f71457d8a5ab7e4561ed49d05338674b73ac3b83b0b315f165f5b12bcc0022741826101200151604051612d3a91906149eb565b60405180910390a2612d678260200151836040015133846020015185606001518d8d88604001518b61389b565b50505050505050505050565b600080612d7f8361393f565b9050600360009054906101000a90046001600160a01b03166001600160a01b0316635733d58f6040518163ffffffff1660e01b815260040160206040518083038186803b158015612dcf57600080fd5b505afa158015612de3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612e079190613de9565b1192915050565b8015612e4157670de0b6b3a7640000821115612e3c5760405162461bcd60e51b8152600401610637906143f5565b6108c1565b600360009054906101000a90046001600160a01b03166001600160a01b031663f92d34336040518163ffffffff1660e01b815260040160206040518083038186803b158015612e8f57600080fd5b505afa158015612ea3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612ec79190613de9565b8210158015612ede5750670de0b6b3a76400008211155b6108c15760405162461bcd60e51b815260040161063790614849565b6040516321e3780160e01b81526000906001600160a01b038416906321e3780190612f29908590600401613fe0565b60206040518083038186803b158015612f4157600080fd5b505afa158015612f55573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612f799190613de9565b905080600114156108aa5760405162461bcd60e51b815260040161063790614899565b6000846001600160a01b0316635dba4c4a6040518163ffffffff1660e01b8152600401600060405180830381600087803b158015612fd957600080fd5b505af1158015612fed573d6000803e3d6000fd5b5050604051630631203b60e41b8152600092506001600160a01b038816915063631203b0906130209087906004016149eb565b60206040518083038186803b15801561303857600080fd5b505afa15801561304c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906130709190613de9565b905061307d81858561396b565b600d546040516340c10f1960e01b81526001600160a01b03878116926340c10f19926130b192909116908590600401614035565b600060405180830381600087803b1580156130cb57600080fd5b505af11580156130df573d6000803e3d6000fd5b50505050600d60009054906101000a90046001600160a01b03166001600160a01b031663bb57ad206040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561313357600080fd5b505af1158015613147573d6000803e3d6000fd5b509298975050505050505050565b6809c2007651b25000008110156106495760405162461bcd60e51b815260040161063790614705565b600082156131b15760006131a88461319c878663ffffffff6139ab16565b9063ffffffff6139e516565b91506131b69050565b506000195b9392505050565b600081156131e9576131e28261319c8568056bc75e2d6310000063ffffffff6139ab16565b905061212a565b5060001961212a565b600360009054906101000a90046001600160a01b03166001600160a01b0316635733d58f6040518163ffffffff1660e01b815260040160206040518083038186803b15801561324057600080fd5b505afa158015613254573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906132789190613de9565b8110156106495760405162461bcd60e51b815260040161063790614367565b600360009054906101000a90046001600160a01b03166001600160a01b031663794e57246040518163ffffffff1660e01b815260040160206040518083038186803b1580156132e557600080fd5b505afa1580156132f9573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061331d9190613de9565b8110156106495760405162461bcd60e51b815260040161063790614696565b6000826001600160a01b03168260405161335590613fc0565b60006040518083038185875af1925050503d8060008114613392576040519150601f19603f3d011682016040523d82523d6000602084013e613397565b606091505b50509050806108aa5760405162461bcd60e51b815260040161063790614178565b60405163f2e91d7160e01b81526001600160a01b0386169063f2e91d71906133e49084906004016149eb565b600060405180830381600087803b1580156133fe57600080fd5b505af1158015613412573d6000803e3d6000fd5b50506040516340c10f1960e01b81526001600160a01b03871692506340c10f1991506134449086908690600401614035565b600060405180830381600087803b15801561345e57600080fd5b505af1158015613472573d6000803e3d6000fd5b505050505050505050565b600081848411156134a15760405162461bcd60e51b815260040161063791906140c8565b505050900390565b600081116106495760405162461bcd60e51b8152600401610637906148d0565b3415806134d4575080155b6106495760405162461bcd60e51b8152600401610637906142be565b341515806134fd57508115155b8061350757508015155b6108c15760405162461bcd60e51b815260040161063790614447565b60008083156135375750829050600161353b565b8291505b9250929050565b60008060006135558a8a8a8a8a8a613a27565b91509150600061356683838761317e565b9b9a5050505050505050505050565b83156135ae5761358483613a7d565b81156135a9576135978160e001516131f2565b6135a98160e001518260c00151613a9b565b61065d565b6135bb8160e00151613297565b6135d88160200151826060015183604001518585600001516125a5565b610100820181905261065d90612630565b6000610891826801158e460913d0000063ffffffff6120e516565b61361d826801158e460913d0000063ffffffff6120e516565b8111156108c15760405162461bcd60e51b815260040161063790614797565b6000806000856136cb5760405163d3d6f84360e01b81526001600160a01b038a169063d3d6f84390613674908b908b90600401614035565b602060405180830381600087803b15801561368e57600080fd5b505af11580156136a2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906136c69190613de9565b61374b565b6040516372423c1760e01b81526001600160a01b038a16906372423c17906136f9908b908b90600401614035565b602060405180830381600087803b15801561371357600080fd5b505af1158015613727573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061374b9190613de9565b90506000846137d957604051630930874960e11b81526001600160a01b038b16906312610e9290613782908c908a90600401614035565b602060405180830381600087803b15801561379c57600080fd5b505af11580156137b0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906137d49190613de9565b613859565b604051639976cf4560e01b81526001600160a01b038b1690639976cf4590613807908c908a90600401614035565b602060405180830381600087803b15801561382157600080fd5b505af1158015613835573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906138599190613de9565b919a91995090975050505050505050565b600080600061387d898989898989613a27565b91509150600061388d83836131bd565b9a9950505050505050505050565b82156138b3576138ae89898387866133b8565b6138bf565b6138bf898989876126d5565b84156138d4576138cf898761333c565b613472565b6040516364a197f360e01b81526001600160a01b038a16906364a197f390613902908a908a90600401614035565b600060405180830381600087803b15801561391c57600080fd5b505af1158015613930573d6000803e3d6000fd5b50505050505050505050505050565b60008061394a6111c7565b90506000613956610e11565b905061396382828661317e565b949350505050565b60006139898361319c86670de0b6b3a764000063ffffffff6139ab16565b90508181111561065d5760405162461bcd60e51b815260040161063790614984565b6000826139ba5750600061212a565b828202828482816139c757fe5b04146121275760405162461bcd60e51b8152600401610637906144b3565b600061212783836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250613abb565b600080878786613a4657613a418a8963ffffffff6120e516565b613a56565b613a568a8963ffffffff6123e116565b915084613a6d576137d4898763ffffffff6120e516565b613859898763ffffffff6123e116565b80156106495760405162461bcd60e51b8152600401610637906145e2565b808210156108c15760405162461bcd60e51b815260040161063790614927565b60008183613adc5760405162461bcd60e51b815260040161063791906140c8565b506000838581613ae857fe5b0495945050505050565b604080516060810182526000808252602082018190529181019190915290565b60405180610100016040528060008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081525090565b604051806101e00160405280600081526020016000815260200160008152602001600015158152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000151581525090565b803561212a816149ff565b600060808284031215613bed578081fd5b50919050565b600060208284031215613c04578081fd5b8135612127816149ff565b600060208284031215613c20578081fd5b8151612127816149ff565b60008060408385031215613c3d578081fd5b8235613c48816149ff565b91506020830135613c58816149ff565b809150509250929050565b600080600060608486031215613c77578081fd5b8335613c82816149ff565b92506020840135613c92816149ff565b91506040840135613ca2816149ff565b809150509250925092565b6000806000806000806000806000806000806101808d8f031215613ccf578788fd5b8c35613cda816149ff565b9b5060208d0135613cea816149ff565b9a5060408d0135613cfa816149ff565b995060608d0135613d0a816149ff565b985060808d0135613d1a816149ff565b975060a08d0135613d2a816149ff565b9650613d398e60c08f01613bd1565b9550613d488e60e08f01613bd1565b9450613d588e6101008f01613bd1565b9350613d688e6101208f01613bd1565b9250613d788e6101408f01613bd1565b9150613d888e6101608f01613bd1565b90509295989b509295989b509295989b565b600060208284031215613dab578081fd5b815161212781614a14565b600060808284031215613dc7578081fd5b6121278383613bdc565b600060208284031215613de2578081fd5b5035919050565b600060208284031215613dfa578081fd5b5051919050565b600080600060608486031215613e15578283fd5b833592506020840135613c92816149ff565b60008060008060e08587031215613e3c578384fd5b843593506020850135613e4e816149ff565b92506040850135613e5e816149ff565b9150613e6d8660608701613bdc565b905092959194509250565b60008060008060808587031215613e8d578384fd5b84359350602085013592506040850135613ea6816149ff565b91506060850135613eb6816149ff565b939692955090935050565b60008060008060008060c08789031215613ed9578384fd5b8635955060208701359450604087013593506060870135613ef981614a14565b92506080870135613f09816149ff565b915060a0870135613f19816149ff565b809150509295509295509295565b6000806000806000806000610140888a031215613f42578081fd5b8735965060208801359550604088013594506060880135613f6281614a14565b93506080880135613f72816149ff565b925060a0880135613f82816149ff565b9150613f918960c08a01613bdc565b905092959891949750929550565b600060208284031215613fb0578081fd5b813560ff81168114612127578182fd5b90565b7035b2bc9737bbb730b136329737bbb732b960791b815260110190565b6001600160a01b0391909116815260200190565b6001600160a01b0397881681529590961660208601526040850193909352606084019190915260ff16608083015260a082015260c081019190915260e00190565b6001600160a01b03929092168252602082015260400190565b6001600160a01b03948516815260208101939093529083166040830152909116606082015260800190565b6001600160a01b0393841681526020810192909252909116604082015260600190565b8481526020810184905260408101839052608081016140ba836149f4565b606083015295945050505050565b6000602080835283518082850152825b818110156140f4578581018301518582016040015282016140d8565b818111156141055783604083870101525b50601f01601f1916929092016040019392505050565b6020808252603d908201527f426f72726f7765724f70733a2043616c6c657220646f65736e7420686176652060408201527f656e6f756768205a55534420746f206d616b652072657061796d656e74000000606082015260800190565b6020808252602d908201527f426f72726f7765724f70733a2053656e64696e672045544820746f204163746960408201526c1d99541bdbdb0819985a5b1959609a1b606082015260800190565b60208082526029908201527f444c4c52207472616e7366657272656420616d6f756e742076616c69646174696040820152681bdb8819985a5b195960ba1b606082015260800190565b6020808252601b908201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604082015260600190565b6020808252601e908201527f5a555344206973206e6f7420626f72726f77656420636f72726563746c790000604082015260600190565b60208082526022908201527f4f776e61626c653a3a7365744f776e65723a20696e76616c6964206164647265604082015261737360f01b606082015260800190565b60208082526030908201527f426f72726f7765724f7065726174696f6e733a2043616e6e6f7420776974686460408201526f1c985dc8185b99081859190818dbdb1b60821b606082015260800190565b60208082526039908201527f426f72726f7765724f70733a204f7065726174696f6e206e6f74207065726d696040820152787474656420647572696e67205265636f76657279204d6f646560381b606082015260800190565b60208082526037908201527f426f72726f7765724f70733a204f7065726174696f6e206d757374206c65617660408201527632903a3937bb32903bb4ba341024a1a9101f1e9021a1a960491b606082015260800190565b6020808252601e908201527f4163636f756e742063616e6e6f74206265207a65726f20616464726573730000604082015260600190565b60208082526032908201527f4d6178206665652070657263656e74616765206d757374206c657373207468616040820152716e206f7220657175616c20746f203130302560701b606082015260800190565b60208082526046908201527f426f72726f7765724f70733a205468657265206d75737420626520656974686560408201527f72206120636f6c6c61746572616c206368616e6765206f7220612064656274206060820152656368616e676560d01b608082015260a00190565b60208082526021908201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6040820152607760f81b606082015260800190565b60208082526049908201527f426f72726f7765724f70733a20416e206f7065726174696f6e2074686174207760408201527f6f756c6420726573756c7420696e20544352203c20434352206973206e6f74206060820152681c195c9b5a5d1d195960ba1b608082015260a00190565b6020808252602e908201527f426f72726f7765724f70733a2054726f766520646f6573206e6f74206578697360408201526d1d081bdc881a5cc818db1bdcd95960921b606082015260800190565b60208082526017908201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604082015260600190565b6020808252603e908201527f426f72726f7765724f70733a20436f6c6c61746572616c20776974686472617760408201527f616c206e6f74207065726d6974746564205265636f76657279204d6f64650000606082015260800190565b60208082526037908201527f4661696c656420746f20617070726f7665205a55534420616d6f756e7420666f60408201527672204d796e74206d417373657420746f2072656465656d60481b606082015260800190565b60208082526049908201527f426f72726f7765724f70733a20416e206f7065726174696f6e2074686174207760408201527f6f756c6420726573756c7420696e20494352203c204d4352206973206e6f74206060820152681c195c9b5a5d1d195960ba1b608082015260a00190565b6020808252603a908201527f426f72726f7765724f70733a2054726f76652773206e65742064656274206d7560408201527f73742062652067726561746572207468616e206d696e696d756d000000000000606082015260800190565b6020808252818101527f4163636f756e7420636f64652073697a652063616e6e6f74206265207a65726f604082015260600190565b60208082526043908201527f426f72726f7765724f70733a20416d6f756e7420726570616964206d7573742060408201527f6e6f74206265206c6172676572207468616e207468652054726f76652773206460608201526219589d60ea1b608082015260a00190565b60208082526029908201527f426f72726f7765724f70733a2043616c6c6572206973206e6f742053746162696040820152681b1a5d1e48141bdbdb60ba1b606082015260800190565b60208082526030908201527f4d6178206665652070657263656e74616765206d75737420626520626574776560408201526f656e20302e352520616e64203130302560801b606082015260800190565b6020808252601c908201527f426f72726f7765724f70733a2054726f76652069732061637469766500000000604082015260600190565b60208082526037908201527f426f72726f7765724f70733a204465627420696e637265617365207265717569604082015276726573206e6f6e2d7a65726f20646562744368616e676560481b606082015260800190565b6020808252603e908201527f426f72726f7765724f70733a2043616e6e6f7420646563726561736520796f7560408201527f722054726f766527732049435220696e205265636f76657279204d6f64650000606082015260800190565b6020808252601d908201527f4665652065786365656465642070726f7669646564206d6178696d756d000000604082015260600190565b60208082526016908201527513585cdcd95d081859191c995cdcc81b9bdd081cd95d60521b604082015260600190565b90815260200190565b806003811061089457fe5b6001600160a01b038116811461064957600080fd5b801515811461064957600080fdfec3770d654ed33aeea6bf11ac8ef05d02a6a04ed4686dd2f624d853bbec43cc8ba26469706673582212203cec7d4c5337979a752ab4f1b8da0cc607bc2508b28986739fefcae556b2e90264736f6c634300060b0033", - "deployedBytecode": "0x6080604052600436106102205760003560e01c80637778a3db1161012e578063a3f4df7e116100ab578063e9fc34611161006f578063e9fc346114610570578063ea9638bf14610585578063ec5472fd14610598578063ec9f7d46146105ad578063f92d3433146105c257610220565b8063a3f4df7e146104f1578063ae91875414610513578063afbc74b514610528578063b5c89bab14610548578063c6a6cf201461055d57610220565b8063887105d3116100f2578063887105d31461049f578063893d20e8146104b45780638d5c3dc1146104c95780639f070670146104dc578063a20baee6146103c357610220565b80637778a3db14610422578063795d26c3146104425780637e3eefdc146104575780637f7dde4a14610477578063860665b31461048c57610220565b8063485f190f116101bc5780636f0b0c1c116101805780636f0b0c1c146103ae57806372fe25aa146103c3578063734f622d146103d8578063741bef1a146103f8578063759b30341461040d57610220565b8063485f190f146103285780634ff814431461033b5780635530273c1461035b57806368647db11461037b5780636ea569601461038e57610220565b80630d43e8ad146102255780630e704d50146102505780630ff9a5121461026757806313af40351461027c5780631a7777171461029c5780631bf43555146102bc5780632771510a146102de5780633cc74225146102fe5780633d83908a14610313575b600080fd5b34801561023157600080fd5b5061023a6105d7565b6040516102479190613fe0565b60405180910390f35b34801561025c57600080fd5b506102656105e6565b005b34801561027357600080fd5b5061023a6105f0565b34801561028857600080fd5b50610265610297366004613bf3565b6105ff565b3480156102a857600080fd5b506102656102b7366004613e27565b61064c565b3480156102c857600080fd5b506102d1610663565b60405161024791906149eb565b3480156102ea57600080fd5b506102656102f9366004613bf3565b610670565b34801561030a57600080fd5b5061023a6106fe565b34801561031f57600080fd5b5061023a61070d565b610265610336366004613e78565b61071c565b34801561034757600080fd5b506102d1610356366004613dd1565b610886565b34801561036757600080fd5b50610265610376366004613e01565b610899565b610265610389366004613c2b565b6108af565b34801561039a57600080fd5b506102656103a9366004613e78565b6108c5565b3480156103ba57600080fd5b506102656108d6565b3480156103cf57600080fd5b506102d1610934565b3480156103e457600080fd5b506102656103f3366004613cad565b610940565b34801561040457600080fd5b5061023a610d04565b34801561041957600080fd5b506102d1610d13565b34801561042e57600080fd5b5061026561043d366004613db6565b610d20565b34801561044e57600080fd5b506102d1610e11565b34801561046357600080fd5b506102d1610472366004613e78565b610f30565b34801561048357600080fd5b5061023a6111ab565b61026561049a366004613e78565b6111ba565b3480156104ab57600080fd5b506102d16111c7565b3480156104c057600080fd5b5061023a611296565b6102656104d7366004613f27565b6112b5565b3480156104e857600080fd5b5061023a6112cd565b3480156104fd57600080fd5b506105066112dc565b60405161024791906140c8565b34801561051f57600080fd5b5061023a61130a565b34801561053457600080fd5b50610265610543366004613e01565b611319565b34801561055457600080fd5b5061023a61132b565b61026561056b366004613ec1565b61133a565b34801561057c57600080fd5b5061023a611351565b610265610593366004613c63565b611360565b3480156105a457600080fd5b5061023a61137a565b3480156105b957600080fd5b5061023a611389565b3480156105ce57600080fd5b506102d1611398565b600d546001600160a01b031681565b6105ee61141a565b565b6009546001600160a01b031681565b610607611296565b6001600160a01b0316336001600160a01b0316146106405760405162461bcd60e51b8152600401610637906145b1565b60405180910390fd5b61064981611809565b50565b61065d600080866000878787611894565b50505050565b6809c2007651b250000081565b610678611296565b6001600160a01b0316336001600160a01b0316146106a85760405162461bcd60e51b8152600401610637906145b1565b600c80546001600160a01b0319166001600160a01b0383161790556040517f6926b3375b54960080b7d8a184061f39a02e8c3bf64aa9df7e75359fdc00d814906106f3908390613fe0565b60405180910390a150565b6001546001600160a01b031681565b6004546001600160a01b031681565b600c546001600160a01b03166107445760405162461bcd60e51b8152600401610637906149bb565b6107518484848430611a4a565b600a54600c5460405163095ea7b360e01b81526001600160a01b039283169263095ea7b392610787929116908790600401614035565b602060405180830381600087803b1580156107a157600080fd5b505af11580156107b5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107d99190613d9a565b6107f55760405162461bcd60e51b81526004016106379061463f565b600c54600a5460405163438b1b4b60e01b81526001600160a01b039283169263438b1b4b9261082d9291169087903390600401614079565b602060405180830381600087803b15801561084757600080fd5b505af115801561085b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061087f9190613de9565b5050505050565b600061089182612075565b90505b919050565b6108aa338460008086866000612090565b505050565b6108c133600080600086866000612090565b5050565b61065d33600085600186868a612090565b60075460405163b32beb5b60e01b81526001600160a01b039091169063b32beb5b90610906903390600401613fe0565b600060405180830381600087803b15801561092057600080fd5b505af115801561065d573d6000803e3d6000fd5b670de0b6b3a764000081565b610948611296565b6001600160a01b0316336001600160a01b0316146109785760405162461bcd60e51b8152600401610637906145b1565b6109818c6120a0565b61098a8b6120a0565b6109938a6120a0565b61099c896120a0565b6109a5886120a0565b6109ae876120a0565b6109b7866120a0565b6109c0856120a0565b6109c9846120a0565b6109d2836120a0565b6109db826120a0565b6109e4816120a0565b600d80546001600160a01b03199081166001600160a01b038f8116919091179092556003805482168e84161790556004805482168d84161790556000805482168c84161790556001805482168b84161790556005805482168a8416179055600680548216898416179055600780548216888416179055600280548216878416179055600b80548216868416179055600a8054821685841617905560098054821692841692831790556008805490911690911790556040517f84861842e6a98dd759145eb5e7b48279d0f02ebeabc8a69e5196b2f4c5023db990610ac8908e90613fe0565b60405180910390a17f143219c9e69b09e07e095fcc889b43d8f46ca892bba65f08dc3a0050869a56788a604051610aff9190613fe0565b60405180910390a17f78f058b189175430c48dc02699e3a0031ea4ff781536dc2fab847de4babdd88289604051610b369190613fe0565b60405180910390a17f5ee0cae2f063ed938bb55046f6a932fb6ae792bf43624806bb90abe68a50be9b88604051610b6d9190613fe0565b60405180910390a17f82966d27eea39b038ee0fa30cd16532bb24f6e65d31cb58fb227aa5766cdcc7f87604051610ba49190613fe0565b60405180910390a17fcfb07d791fcafc032b35837b50eb84b74df518cf4cc287e8084f47630fa70fa086604051610bdb9190613fe0565b60405180910390a17fe67f36a6e961157d6eff83b91f3af5a62131ceb6f04954ef74f51c1c05e7f88d85604051610c129190613fe0565b60405180910390a17f8c537274438aa850a330284665d81a85dd38267d09e4050d416bfc94142db26484604051610c499190613fe0565b60405180910390a17f65f4cf077bc01e4742eb5ad98326f6e95b63548ea24b17f8d5e823111fe7880083604051610c809190613fe0565b60405180910390a17fcdf33850c44a1a874b5fefb51dae615ac6afebd581ef90d571f81b06541d8e9d82604051610cb79190613fe0565b60405180910390a17f7624075ed781e3aa34b0f492d70d1bb5a6fcde04534165e20f990d2e546be4dd81604051610cee9190613fe0565b60405180910390a1505050505050505050505050565b6002546001600160a01b031681565b6801158e460913d0000081565b600c546001600160a01b0316610d485760405162461bcd60e51b8152600401610637906149bb565b6004805460405163d66a255360e01b81526000926001600160a01b039092169163d66a255391610d7a91339101613fe0565b60206040518083038186803b158015610d9257600080fd5b505afa158015610da6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610dca9190613de9565b600c54909150610e08906001600160a01b0316610df6836801158e460913d0000063ffffffff6120e516565b600a546001600160a01b031685612130565b506108c161141a565b60008054604080516272c7d360e71b8152905183926001600160a01b031691633963e980916004808301926020929190829003018186803b158015610e5557600080fd5b505afa158015610e69573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e8d9190613de9565b90506000600160009054906101000a90046001600160a01b03166001600160a01b0316633963e9806040518163ffffffff1660e01b815260040160206040518083038186803b158015610edf57600080fd5b505afa158015610ef3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f179190613de9565b9050610f29828263ffffffff6123e116565b9250505090565b600a546040516370a0823160e01b8152600091309183916001600160a01b0316906370a0823190610f65908590600401613fe0565b60206040518083038186803b158015610f7d57600080fd5b505afa158015610f91573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fb59190613de9565b9050610fc533838888888c612406565b610fd5818763ffffffff6123e116565b600a546040516370a0823160e01b81526001600160a01b03909116906370a0823190611005908690600401613fe0565b60206040518083038186803b15801561101d57600080fd5b505afa158015611031573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110559190613de9565b146110725760405162461bcd60e51b815260040161063790614245565b600a54600c5460405163095ea7b360e01b81526001600160a01b039283169263095ea7b3926110a8929116908a90600401614035565b602060405180830381600087803b1580156110c257600080fd5b505af11580156110d6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110fa9190613d9a565b6111165760405162461bcd60e51b81526004016106379061463f565b600c54600a5460405163438b1b4b60e01b81526001600160a01b039283169263438b1b4b9261114e929116908a903390600401614079565b602060405180830381600087803b15801561116857600080fd5b505af115801561117c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111a09190613de9565b979650505050505050565b6000546001600160a01b031681565b61065d8484848433611a4a565b6000805460408051630a7b61df60e11b8152905183926001600160a01b0316916314f6c3be916004808301926020929190829003018186803b15801561120c57600080fd5b505afa158015611220573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112449190613de9565b90506000600160009054906101000a90046001600160a01b03166001600160a01b03166314f6c3be6040518163ffffffff1660e01b815260040160206040518083038186803b158015610edf57600080fd5b6000806040516112a590613fc3565b6040519081900390205492915050565b6112c487878787878787611894565b50505050505050565b6003546001600160a01b031681565b60405180604001604052806012815260200171426f72726f7765724f7065726174696f6e7360701b81525081565b600b546001600160a01b031681565b6108aa33600085600086866000612090565b600c546001600160a01b031681565b6113493386868686868c612090565b505050505050565b600c546001600160a01b031690565b611368612418565b6108aa83600080600086866000612090565b6008546001600160a01b031681565b600a546001600160a01b031681565b6003546040805163f92d343360e01b815290516000926001600160a01b03169163f92d3433916004808301926020929190829003018186803b1580156113dd57600080fd5b505afa1580156113f1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114159190613de9565b905090565b600454600054600a546001600160a01b0392831692918216911661143e8333612442565b60025460408051630fdb11cf60e01b815290516000926001600160a01b031691630fdb11cf91600480830192602092919082900301818787803b15801561148457600080fd5b505af1158015611498573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114bc9190613de9565b90506114c7816124e3565b604051630b07655760e01b81526001600160a01b03851690630b076557906114f3903390600401613fe0565b600060405180830381600087803b15801561150d57600080fd5b505af1158015611521573d6000803e3d6000fd5b50506040516309019aaf60e31b8152600092506001600160a01b038716915063480cd57890611554903390600401613fe0565b60206040518083038186803b15801561156c57600080fd5b505afa158015611580573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115a49190613de9565b90506000856001600160a01b031663d66a2553336040518263ffffffff1660e01b81526004016115d49190613fe0565b60206040518083038186803b1580156115ec57600080fd5b505afa158015611600573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116249190613de9565b90506116498433611644846801158e460913d0000063ffffffff6120e516565b612509565b600061165a836000846000886125a5565b905061166581612630565b604051631fc5750960e31b81526001600160a01b0388169063fe2ba84890611691903390600401613fe0565b600060405180830381600087803b1580156116ab57600080fd5b505af11580156116bf573d6000803e3d6000fd5b50506040516365e89c5760e11b81526001600160a01b038a16925063cbd138ae91506116ef903390600401613fe0565b600060405180830381600087803b15801561170957600080fd5b505af115801561171d573d6000803e3d6000fd5b50505050336001600160a01b0316600080516020614a2383398151915260008060006001604051611751949392919061409c565b60405180910390a261177d868633611778866801158e460913d0000063ffffffff6120e516565b6126d5565b6006546117a090879087906001600160a01b03166801158e460913d000006126d5565b6040516364a197f360e01b81526001600160a01b038716906364a197f3906117ce9033908790600401614035565b600060405180830381600087803b1580156117e857600080fd5b505af11580156117fc573d6000803e3d6000fd5b5050505050505050505050565b6001600160a01b03811661182f5760405162461bcd60e51b81526004016106379061427c565b806001600160a01b0316611841611296565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3600060405161188490613fc3565b6040519081900390209190915550565b600c546001600160a01b03166118bc5760405162461bcd60e51b8152600401610637906149bb565b831580156118ca5750600085115b156118f057600c54600a546118ee916001600160a01b039081169188911684612130565b505b6119003387878787878d3061278f565b83801561190d5750600085115b156112c457600a54600c5460405163095ea7b360e01b81526001600160a01b039283169263095ea7b392611948929116908990600401614035565b602060405180830381600087803b15801561196257600080fd5b505af1158015611976573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061199a9190613d9a565b6119b65760405162461bcd60e51b81526004016106379061463f565b600c54600a5460405163438b1b4b60e01b81526001600160a01b039283169263438b1b4b926119ee9291169089903390600401614079565b602060405180830381600087803b158015611a0857600080fd5b505af1158015611a1c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a409190613de9565b5050505050505050565b611a52613af2565b50604080516060810182526004546001600160a01b03908116825260005481166020830152600a541691810191909152611a8a613b12565b600260009054906101000a90046001600160a01b03166001600160a01b0316630fdb11cf6040518163ffffffff1660e01b8152600401602060405180830381600087803b158015611ada57600080fd5b505af1158015611aee573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b129190613de9565b808252600090611b2190612d73565b9050611b2d8882612e0e565b8251611b399033612efa565b6040820187905280611b7a57611b5983600001518460400151898b612f9c565b602083018190526040830151611b749163ffffffff6123e116565b60408301525b611b878260400151613155565b611b948260400151612075565b60608301819052611ba157fe5b611bb4348360600151846000015161317e565b60808301526060820151611bc99034906131bd565b60a08301528015611be657611be182608001516131f2565b611c19565b611bf38260800151613297565b6000611c0c3460018560600151600187600001516125a5565b9050611c1781612630565b505b8251604051635d6b480f60e01b81526001600160a01b0390911690635d6b480f90611c4b903390600190600401614035565b600060405180830381600087803b158015611c6557600080fd5b505af1158015611c79573d6000803e3d6000fd5b505084516040516372423c1760e01b81526001600160a01b0390911692506372423c179150611cae9033903490600401614035565b602060405180830381600087803b158015611cc857600080fd5b505af1158015611cdc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d009190613de9565b5082516060830151604051639976cf4560e01b81526001600160a01b0390921691639976cf4591611d3691339190600401614035565b602060405180830381600087803b158015611d5057600080fd5b505af1158015611d64573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d889190613de9565b5082516040516382fe3eb960e01b81526001600160a01b03909116906382fe3eb990611db8903390600401613fe0565b600060405180830381600087803b158015611dd257600080fd5b505af1158015611de6573d6000803e3d6000fd5b50508451604051630c7940bd60e11b81526001600160a01b0390911692506318f2817a9150611e19903390600401613fe0565b602060405180830381600087803b158015611e3357600080fd5b505af1158015611e47573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e6b9190613de9565b60c0830152600b5460a08301516040516346f7cf8760e01b81526001600160a01b03909216916346f7cf8791611eaa913391908b908b9060040161404e565b600060405180830381600087803b158015611ec457600080fd5b505af1158015611ed8573d6000803e3d6000fd5b505084516040516315d549f160e01b81526001600160a01b0390911692506315d549f19150611f0b903390600401613fe0565b602060405180830381600087803b158015611f2557600080fd5b505af1158015611f39573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f5d9190613de9565b60e0830181905260405133917f59cfd0cd754bc5748b6770e94a4ffa5f678d885cb899dcfadc5734edb97c67ab91611f9591906149eb565b60405180910390a2611fab83602001513461333c565b611fc483602001518460400151868a86604001516133b8565b60208301516040840151600654611ff09291906001600160a01b03166801158e460913d00000806133b8565b606082015160c08301516040513392600080516020614a238339815191529261201e9234919060009061409c565b60405180910390a2336001600160a01b03167f71457d8a5ab7e4561ed49d05338674b73ac3b83b0b315f165f5b12bcc0022741836020015160405161206391906149eb565b60405180910390a25050505050505050565b6000610891826801158e460913d0000063ffffffff6123e116565b6112c4878787878787873361278f565b6001600160a01b0381166120c65760405162461bcd60e51b8152600401610637906143be565b803b806108c15760405162461bcd60e51b815260040161063790614762565b600061212783836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061347d565b90505b92915050565b600080856001600160a01b03166321df0da76040518163ffffffff1660e01b815260040160206040518083038186803b15801561216c57600080fd5b505afa158015612180573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121a49190613c0f565b90506000816001600160a01b03166370a08231306040518263ffffffff1660e01b81526004016121d49190613fe0565b60206040518083038186803b1580156121ec57600080fd5b505afa158015612200573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122249190613de9565b9050306001600160a01b03831663605629d633838a893561224b60408c0160208d01613f9f565b8b604001358c606001356040518863ffffffff1660e01b81526004016122779796959493929190613ff4565b600060405180830381600087803b15801561229157600080fd5b505af11580156122a5573d6000803e3d6000fd5b505050508661233683856001600160a01b03166370a08231856040518263ffffffff1660e01b81526004016122da9190613fe0565b60206040518083038186803b1580156122f257600080fd5b505afa158015612306573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061232a9190613de9565b9063ffffffff6120e516565b146123535760405162461bcd60e51b8152600401610637906141c5565b60405163fb2c922360e01b81526001600160a01b0389169063fb2c9223906123839089908b903390600401614079565b602060405180830381600087803b15801561239d57600080fd5b505af11580156123b1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123d59190613de9565b98975050505050505050565b6000828201838110156121275760405162461bcd60e51b81526004016106379061420e565b6113498660008660018787878c61278f565b6005546001600160a01b031633146105ee5760405162461bcd60e51b815260040161063790614800565b6040516321e3780160e01b81526000906001600160a01b038416906321e3780190612471908590600401613fe0565b60206040518083038186803b15801561248957600080fd5b505afa15801561249d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124c19190613de9565b9050806001146108aa5760405162461bcd60e51b815260040161063790614563565b6124ec81612d73565b156106495760405162461bcd60e51b81526004016106379061430e565b6040516370a0823160e01b815281906001600160a01b038516906370a0823190612537908690600401613fe0565b60206040518083038186803b15801561254f57600080fd5b505afa158015612563573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125879190613de9565b10156108aa5760405162461bcd60e51b81526004016106379061411b565b6000806125b06111c7565b905060006125bc610e11565b9050866125d8576125d3828963ffffffff6120e516565b6125e8565b6125e8828963ffffffff6123e116565b915084612604576125ff818763ffffffff6120e516565b612614565b612614818763ffffffff6123e116565b9050600061262383838761317e565b9998505050505050505050565b600360009054906101000a90046001600160a01b03166001600160a01b0316635733d58f6040518163ffffffff1660e01b815260040160206040518083038186803b15801561267e57600080fd5b505afa158015612692573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906126b69190613de9565b8110156106495760405162461bcd60e51b8152600401610637906144f4565b60405163121cbc4d60e11b81526001600160a01b03851690632439789a906127019084906004016149eb565b600060405180830381600087803b15801561271b57600080fd5b505af115801561272f573d6000803e3d6000fd5b5050604051632770a7eb60e21b81526001600160a01b0386169250639dc29fac91506127619085908590600401614035565b600060405180830381600087803b15801561277b57600080fd5b505af1158015611a40573d6000803e3d6000fd5b612797613af2565b50604080516060810182526004546001600160a01b03908116825260005481166020830152600a5416918101919091526127cf613b57565b600260009054906101000a90046001600160a01b03166001600160a01b0316630fdb11cf6040518163ffffffff1660e01b8152600401602060405180830381600087803b15801561281f57600080fd5b505af1158015612833573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906128579190613de9565b80825261286390612d73565b15156101c082015286156128895761288084826101c00151612e0e565b612889886134a9565b612892896134c9565b61289c89896134f0565b81516128a8908b612442565b336001600160a01b038b1614806128de57506005546001600160a01b0316331480156128d45750600034115b80156128de575087155b6128e457fe5b8151604051630b07655760e01b81526001600160a01b0390911690630b07655790612913908d90600401613fe0565b600060405180830381600087803b15801561292d57600080fd5b505af1158015612941573d6000803e3d6000fd5b5050505061294f348a613523565b151560608301526020820152604081018890528680156129725750806101c00151155b156129ad5761298b826000015183604001518a87612f9c565b610120820181905260408201516129a79163ffffffff6123e116565b60408201525b815160405163d66a255360e01b81526001600160a01b039091169063d66a2553906129dc908d90600401613fe0565b60206040518083038186803b1580156129f457600080fd5b505afa158015612a08573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612a2c9190613de9565b608082015281516040516309019aaf60e31b81526001600160a01b039091169063480cd57890612a60908d90600401613fe0565b60206040518083038186803b158015612a7857600080fd5b505afa158015612a8c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612ab09190613de9565b60a0820181905260808201518251612ac992919061317e565b8160c0018181525050612af98160a0015182608001518360200151846060015185604001518c8760000151613542565b60e082015260a0810151891115612b0c57fe5b612b1d816101c001518a8984613575565b86158015612b2b5750600088115b15612b7257612b4d612b48826040015161232a84608001516135e9565b613155565b612b5f81608001518260400151613604565b612b7282604001518b8360400151612509565b612b9082600001518b8360200151846060015185604001518c61363c565b6101408301526101608201528151604051630c7940bd60e11b81526001600160a01b03909116906318f2817a90612bcb908d90600401613fe0565b602060405180830381600087803b158015612be557600080fd5b505af1158015612bf9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612c1d9190613de9565b81610180018181525050612c498160a0015182608001518360200151846060015185604001518c61386a565b6101a08201819052600b5460405163015f109360e51b81526001600160a01b0390911691632be2126091612c85918e918b908b9060040161404e565b600060405180830381600087803b158015612c9f57600080fd5b505af1158015612cb3573d6000803e3d6000fd5b50505050896001600160a01b0316600080516020614a238339815191528261014001518361016001518461018001516002604051612cf4949392919061409c565b60405180910390a2336001600160a01b03167f71457d8a5ab7e4561ed49d05338674b73ac3b83b0b315f165f5b12bcc0022741826101200151604051612d3a91906149eb565b60405180910390a2612d678260200151836040015133846020015185606001518d8d88604001518b61389b565b50505050505050505050565b600080612d7f8361393f565b9050600360009054906101000a90046001600160a01b03166001600160a01b0316635733d58f6040518163ffffffff1660e01b815260040160206040518083038186803b158015612dcf57600080fd5b505afa158015612de3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612e079190613de9565b1192915050565b8015612e4157670de0b6b3a7640000821115612e3c5760405162461bcd60e51b8152600401610637906143f5565b6108c1565b600360009054906101000a90046001600160a01b03166001600160a01b031663f92d34336040518163ffffffff1660e01b815260040160206040518083038186803b158015612e8f57600080fd5b505afa158015612ea3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612ec79190613de9565b8210158015612ede5750670de0b6b3a76400008211155b6108c15760405162461bcd60e51b815260040161063790614849565b6040516321e3780160e01b81526000906001600160a01b038416906321e3780190612f29908590600401613fe0565b60206040518083038186803b158015612f4157600080fd5b505afa158015612f55573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612f799190613de9565b905080600114156108aa5760405162461bcd60e51b815260040161063790614899565b6000846001600160a01b0316635dba4c4a6040518163ffffffff1660e01b8152600401600060405180830381600087803b158015612fd957600080fd5b505af1158015612fed573d6000803e3d6000fd5b5050604051630631203b60e41b8152600092506001600160a01b038816915063631203b0906130209087906004016149eb565b60206040518083038186803b15801561303857600080fd5b505afa15801561304c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906130709190613de9565b905061307d81858561396b565b600d546040516340c10f1960e01b81526001600160a01b03878116926340c10f19926130b192909116908590600401614035565b600060405180830381600087803b1580156130cb57600080fd5b505af11580156130df573d6000803e3d6000fd5b50505050600d60009054906101000a90046001600160a01b03166001600160a01b031663bb57ad206040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561313357600080fd5b505af1158015613147573d6000803e3d6000fd5b509298975050505050505050565b6809c2007651b25000008110156106495760405162461bcd60e51b815260040161063790614705565b600082156131b15760006131a88461319c878663ffffffff6139ab16565b9063ffffffff6139e516565b91506131b69050565b506000195b9392505050565b600081156131e9576131e28261319c8568056bc75e2d6310000063ffffffff6139ab16565b905061212a565b5060001961212a565b600360009054906101000a90046001600160a01b03166001600160a01b0316635733d58f6040518163ffffffff1660e01b815260040160206040518083038186803b15801561324057600080fd5b505afa158015613254573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906132789190613de9565b8110156106495760405162461bcd60e51b815260040161063790614367565b600360009054906101000a90046001600160a01b03166001600160a01b031663794e57246040518163ffffffff1660e01b815260040160206040518083038186803b1580156132e557600080fd5b505afa1580156132f9573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061331d9190613de9565b8110156106495760405162461bcd60e51b815260040161063790614696565b6000826001600160a01b03168260405161335590613fc0565b60006040518083038185875af1925050503d8060008114613392576040519150601f19603f3d011682016040523d82523d6000602084013e613397565b606091505b50509050806108aa5760405162461bcd60e51b815260040161063790614178565b60405163f2e91d7160e01b81526001600160a01b0386169063f2e91d71906133e49084906004016149eb565b600060405180830381600087803b1580156133fe57600080fd5b505af1158015613412573d6000803e3d6000fd5b50506040516340c10f1960e01b81526001600160a01b03871692506340c10f1991506134449086908690600401614035565b600060405180830381600087803b15801561345e57600080fd5b505af1158015613472573d6000803e3d6000fd5b505050505050505050565b600081848411156134a15760405162461bcd60e51b815260040161063791906140c8565b505050900390565b600081116106495760405162461bcd60e51b8152600401610637906148d0565b3415806134d4575080155b6106495760405162461bcd60e51b8152600401610637906142be565b341515806134fd57508115155b8061350757508015155b6108c15760405162461bcd60e51b815260040161063790614447565b60008083156135375750829050600161353b565b8291505b9250929050565b60008060006135558a8a8a8a8a8a613a27565b91509150600061356683838761317e565b9b9a5050505050505050505050565b83156135ae5761358483613a7d565b81156135a9576135978160e001516131f2565b6135a98160e001518260c00151613a9b565b61065d565b6135bb8160e00151613297565b6135d88160200151826060015183604001518585600001516125a5565b610100820181905261065d90612630565b6000610891826801158e460913d0000063ffffffff6120e516565b61361d826801158e460913d0000063ffffffff6120e516565b8111156108c15760405162461bcd60e51b815260040161063790614797565b6000806000856136cb5760405163d3d6f84360e01b81526001600160a01b038a169063d3d6f84390613674908b908b90600401614035565b602060405180830381600087803b15801561368e57600080fd5b505af11580156136a2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906136c69190613de9565b61374b565b6040516372423c1760e01b81526001600160a01b038a16906372423c17906136f9908b908b90600401614035565b602060405180830381600087803b15801561371357600080fd5b505af1158015613727573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061374b9190613de9565b90506000846137d957604051630930874960e11b81526001600160a01b038b16906312610e9290613782908c908a90600401614035565b602060405180830381600087803b15801561379c57600080fd5b505af11580156137b0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906137d49190613de9565b613859565b604051639976cf4560e01b81526001600160a01b038b1690639976cf4590613807908c908a90600401614035565b602060405180830381600087803b15801561382157600080fd5b505af1158015613835573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906138599190613de9565b919a91995090975050505050505050565b600080600061387d898989898989613a27565b91509150600061388d83836131bd565b9a9950505050505050505050565b82156138b3576138ae89898387866133b8565b6138bf565b6138bf898989876126d5565b84156138d4576138cf898761333c565b613472565b6040516364a197f360e01b81526001600160a01b038a16906364a197f390613902908a908a90600401614035565b600060405180830381600087803b15801561391c57600080fd5b505af1158015613930573d6000803e3d6000fd5b50505050505050505050505050565b60008061394a6111c7565b90506000613956610e11565b905061396382828661317e565b949350505050565b60006139898361319c86670de0b6b3a764000063ffffffff6139ab16565b90508181111561065d5760405162461bcd60e51b815260040161063790614984565b6000826139ba5750600061212a565b828202828482816139c757fe5b04146121275760405162461bcd60e51b8152600401610637906144b3565b600061212783836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250613abb565b600080878786613a4657613a418a8963ffffffff6120e516565b613a56565b613a568a8963ffffffff6123e116565b915084613a6d576137d4898763ffffffff6120e516565b613859898763ffffffff6123e116565b80156106495760405162461bcd60e51b8152600401610637906145e2565b808210156108c15760405162461bcd60e51b815260040161063790614927565b60008183613adc5760405162461bcd60e51b815260040161063791906140c8565b506000838581613ae857fe5b0495945050505050565b604080516060810182526000808252602082018190529181019190915290565b60405180610100016040528060008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081525090565b604051806101e00160405280600081526020016000815260200160008152602001600015158152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000151581525090565b803561212a816149ff565b600060808284031215613bed578081fd5b50919050565b600060208284031215613c04578081fd5b8135612127816149ff565b600060208284031215613c20578081fd5b8151612127816149ff565b60008060408385031215613c3d578081fd5b8235613c48816149ff565b91506020830135613c58816149ff565b809150509250929050565b600080600060608486031215613c77578081fd5b8335613c82816149ff565b92506020840135613c92816149ff565b91506040840135613ca2816149ff565b809150509250925092565b6000806000806000806000806000806000806101808d8f031215613ccf578788fd5b8c35613cda816149ff565b9b5060208d0135613cea816149ff565b9a5060408d0135613cfa816149ff565b995060608d0135613d0a816149ff565b985060808d0135613d1a816149ff565b975060a08d0135613d2a816149ff565b9650613d398e60c08f01613bd1565b9550613d488e60e08f01613bd1565b9450613d588e6101008f01613bd1565b9350613d688e6101208f01613bd1565b9250613d788e6101408f01613bd1565b9150613d888e6101608f01613bd1565b90509295989b509295989b509295989b565b600060208284031215613dab578081fd5b815161212781614a14565b600060808284031215613dc7578081fd5b6121278383613bdc565b600060208284031215613de2578081fd5b5035919050565b600060208284031215613dfa578081fd5b5051919050565b600080600060608486031215613e15578283fd5b833592506020840135613c92816149ff565b60008060008060e08587031215613e3c578384fd5b843593506020850135613e4e816149ff565b92506040850135613e5e816149ff565b9150613e6d8660608701613bdc565b905092959194509250565b60008060008060808587031215613e8d578384fd5b84359350602085013592506040850135613ea6816149ff565b91506060850135613eb6816149ff565b939692955090935050565b60008060008060008060c08789031215613ed9578384fd5b8635955060208701359450604087013593506060870135613ef981614a14565b92506080870135613f09816149ff565b915060a0870135613f19816149ff565b809150509295509295509295565b6000806000806000806000610140888a031215613f42578081fd5b8735965060208801359550604088013594506060880135613f6281614a14565b93506080880135613f72816149ff565b925060a0880135613f82816149ff565b9150613f918960c08a01613bdc565b905092959891949750929550565b600060208284031215613fb0578081fd5b813560ff81168114612127578182fd5b90565b7035b2bc9737bbb730b136329737bbb732b960791b815260110190565b6001600160a01b0391909116815260200190565b6001600160a01b0397881681529590961660208601526040850193909352606084019190915260ff16608083015260a082015260c081019190915260e00190565b6001600160a01b03929092168252602082015260400190565b6001600160a01b03948516815260208101939093529083166040830152909116606082015260800190565b6001600160a01b0393841681526020810192909252909116604082015260600190565b8481526020810184905260408101839052608081016140ba836149f4565b606083015295945050505050565b6000602080835283518082850152825b818110156140f4578581018301518582016040015282016140d8565b818111156141055783604083870101525b50601f01601f1916929092016040019392505050565b6020808252603d908201527f426f72726f7765724f70733a2043616c6c657220646f65736e7420686176652060408201527f656e6f756768205a55534420746f206d616b652072657061796d656e74000000606082015260800190565b6020808252602d908201527f426f72726f7765724f70733a2053656e64696e672045544820746f204163746960408201526c1d99541bdbdb0819985a5b1959609a1b606082015260800190565b60208082526029908201527f444c4c52207472616e7366657272656420616d6f756e742076616c69646174696040820152681bdb8819985a5b195960ba1b606082015260800190565b6020808252601b908201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604082015260600190565b6020808252601e908201527f5a555344206973206e6f7420626f72726f77656420636f72726563746c790000604082015260600190565b60208082526022908201527f4f776e61626c653a3a7365744f776e65723a20696e76616c6964206164647265604082015261737360f01b606082015260800190565b60208082526030908201527f426f72726f7765724f7065726174696f6e733a2043616e6e6f7420776974686460408201526f1c985dc8185b99081859190818dbdb1b60821b606082015260800190565b60208082526039908201527f426f72726f7765724f70733a204f7065726174696f6e206e6f74207065726d696040820152787474656420647572696e67205265636f76657279204d6f646560381b606082015260800190565b60208082526037908201527f426f72726f7765724f70733a204f7065726174696f6e206d757374206c65617660408201527632903a3937bb32903bb4ba341024a1a9101f1e9021a1a960491b606082015260800190565b6020808252601e908201527f4163636f756e742063616e6e6f74206265207a65726f20616464726573730000604082015260600190565b60208082526032908201527f4d6178206665652070657263656e74616765206d757374206c657373207468616040820152716e206f7220657175616c20746f203130302560701b606082015260800190565b60208082526046908201527f426f72726f7765724f70733a205468657265206d75737420626520656974686560408201527f72206120636f6c6c61746572616c206368616e6765206f7220612064656274206060820152656368616e676560d01b608082015260a00190565b60208082526021908201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6040820152607760f81b606082015260800190565b60208082526049908201527f426f72726f7765724f70733a20416e206f7065726174696f6e2074686174207760408201527f6f756c6420726573756c7420696e20544352203c20434352206973206e6f74206060820152681c195c9b5a5d1d195960ba1b608082015260a00190565b6020808252602e908201527f426f72726f7765724f70733a2054726f766520646f6573206e6f74206578697360408201526d1d081bdc881a5cc818db1bdcd95960921b606082015260800190565b60208082526017908201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604082015260600190565b6020808252603e908201527f426f72726f7765724f70733a20436f6c6c61746572616c20776974686472617760408201527f616c206e6f74207065726d6974746564205265636f76657279204d6f64650000606082015260800190565b60208082526037908201527f4661696c656420746f20617070726f7665205a55534420616d6f756e7420666f60408201527672204d796e74206d417373657420746f2072656465656d60481b606082015260800190565b60208082526049908201527f426f72726f7765724f70733a20416e206f7065726174696f6e2074686174207760408201527f6f756c6420726573756c7420696e20494352203c204d4352206973206e6f74206060820152681c195c9b5a5d1d195960ba1b608082015260a00190565b6020808252603a908201527f426f72726f7765724f70733a2054726f76652773206e65742064656274206d7560408201527f73742062652067726561746572207468616e206d696e696d756d000000000000606082015260800190565b6020808252818101527f4163636f756e7420636f64652073697a652063616e6e6f74206265207a65726f604082015260600190565b60208082526043908201527f426f72726f7765724f70733a20416d6f756e7420726570616964206d7573742060408201527f6e6f74206265206c6172676572207468616e207468652054726f76652773206460608201526219589d60ea1b608082015260a00190565b60208082526029908201527f426f72726f7765724f70733a2043616c6c6572206973206e6f742053746162696040820152681b1a5d1e48141bdbdb60ba1b606082015260800190565b60208082526030908201527f4d6178206665652070657263656e74616765206d75737420626520626574776560408201526f656e20302e352520616e64203130302560801b606082015260800190565b6020808252601c908201527f426f72726f7765724f70733a2054726f76652069732061637469766500000000604082015260600190565b60208082526037908201527f426f72726f7765724f70733a204465627420696e637265617365207265717569604082015276726573206e6f6e2d7a65726f20646562744368616e676560481b606082015260800190565b6020808252603e908201527f426f72726f7765724f70733a2043616e6e6f7420646563726561736520796f7560408201527f722054726f766527732049435220696e205265636f76657279204d6f64650000606082015260800190565b6020808252601d908201527f4665652065786365656465642070726f7669646564206d6178696d756d000000604082015260600190565b60208082526016908201527513585cdcd95d081859191c995cdcc81b9bdd081cd95d60521b604082015260600190565b90815260200190565b806003811061089457fe5b6001600160a01b038116811461064957600080fd5b801515811461064957600080fdfec3770d654ed33aeea6bf11ac8ef05d02a6a04ed4686dd2f624d853bbec43cc8ba26469706673582212203cec7d4c5337979a752ab4f1b8da0cc607bc2508b28986739fefcae556b2e90264736f6c634300060b0033", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/packages/lib-ethers/live/BorrowerOperationsScript.json b/packages/lib-ethers/live/BorrowerOperationsScript.json deleted file mode 100644 index 44a864564..000000000 --- a/packages/lib-ethers/live/BorrowerOperationsScript.json +++ /dev/null @@ -1,194 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "BorrowerOperationsScript", - "sourceName": "contracts/Proxy/BorrowerOperationsScript.sol", - "abi": [ - { - "inputs": [ - { - "internalType": "contract IBorrowerOperations", - "name": "_borrowerOperations", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_upperHint", - "type": "address" - }, - { - "internalType": "address", - "name": "_lowerHint", - "type": "address" - } - ], - "name": "addColl", - "outputs": [], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_maxFee", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_collWithdrawal", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_debtChange", - "type": "uint256" - }, - { - "internalType": "bool", - "name": "isDebtIncrease", - "type": "bool" - }, - { - "internalType": "address", - "name": "_upperHint", - "type": "address" - }, - { - "internalType": "address", - "name": "_lowerHint", - "type": "address" - } - ], - "name": "adjustTrove", - "outputs": [], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [], - "name": "claimCollateral", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "closeTrove", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_maxFee", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_ZUSDAmount", - "type": "uint256" - }, - { - "internalType": "address", - "name": "_upperHint", - "type": "address" - }, - { - "internalType": "address", - "name": "_lowerHint", - "type": "address" - } - ], - "name": "openTrove", - "outputs": [], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - }, - { - "internalType": "address", - "name": "_upperHint", - "type": "address" - }, - { - "internalType": "address", - "name": "_lowerHint", - "type": "address" - } - ], - "name": "repayZUSD", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - }, - { - "internalType": "address", - "name": "_upperHint", - "type": "address" - }, - { - "internalType": "address", - "name": "_lowerHint", - "type": "address" - } - ], - "name": "withdrawColl", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_maxFee", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - }, - { - "internalType": "address", - "name": "_upperHint", - "type": "address" - }, - { - "internalType": "address", - "name": "_lowerHint", - "type": "address" - } - ], - "name": "withdrawZUSD", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": "0x60a060405234801561001057600080fd5b506040516107e73803806107e78339818101604052602081101561003357600080fd5b5051610047816001600160e01b0361005c16565b60601b6001600160601b03191660805261010f565b6001600160a01b0381166100b7576040805162461bcd60e51b815260206004820152601e60248201527f4163636f756e742063616e6e6f74206265207a65726f20616464726573730000604482015290519081900360640190fd5b803b8061010b576040805162461bcd60e51b815260206004820181905260248201527f4163636f756e7420636f64652073697a652063616e6e6f74206265207a65726f604482015290519081900360640190fd5b5050565b60805160601c61069861014f6000398061021752806102bb528061034c52806103cf528061043952806104ca528061056552806105f652506106986000f3fe60806040526004361061006b5760003560e01c80630e704d50146100705780635530273c1461008757806368647db1146100c85780636ea56960146100f65780636f0b0c1c1461013d578063860665b314610152578063afbc74b51461018c578063c6a6cf20146101cd575b600080fd5b34801561007c57600080fd5b50610085610215565b005b34801561009357600080fd5b50610085600480360360608110156100aa57600080fd5b508035906001600160a01b036020820135811691604001351661028a565b610085600480360360408110156100de57600080fd5b506001600160a01b0381358116916020013516610322565b34801561010257600080fd5b506100856004803603608081101561011957600080fd5b508035906020810135906001600160a01b0360408201358116916060013516610397565b34801561014957600080fd5b50610085610437565b6100856004803603608081101561016857600080fd5b508035906020810135906001600160a01b0360408201358116916060013516610492565b34801561019857600080fd5b50610085600480360360608110156101af57600080fd5b508035906001600160a01b0360208201358116916040013516610534565b610085600480360360c08110156101e357600080fd5b5080359060208101359060408101359060608101351515906001600160a01b03608082013581169160a00135166105af565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316630e704d506040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561027057600080fd5b505af1158015610284573d6000803e3d6000fd5b50505050565b6040805163154c09cf60e21b8152600481018590526001600160a01b038481166024830152838116604483015291517f000000000000000000000000000000000000000000000000000000000000000090921691635530273c9160648082019260009290919082900301818387803b15801561030557600080fd5b505af1158015610319573d6000803e3d6000fd5b50505050505050565b604080516368647db160e01b81526001600160a01b038481166004830152838116602483015291517f0000000000000000000000000000000000000000000000000000000000000000909216916368647db1913491604480830192600092919082900301818588803b15801561030557600080fd5b604080516303752b4b60e51b815260048101869052602481018590526001600160a01b038481166044830152838116606483015291517f000000000000000000000000000000000000000000000000000000000000000090921691636ea569609160848082019260009290919082900301818387803b15801561041957600080fd5b505af115801561042d573d6000803e3d6000fd5b5050505050505050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316636f0b0c1c6040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561027057600080fd5b6040805163860665b360e01b815260048101869052602481018590526001600160a01b038481166044830152838116606483015291517f00000000000000000000000000000000000000000000000000000000000000009092169163860665b3913491608480830192600092919082900301818588803b15801561051557600080fd5b505af1158015610529573d6000803e3d6000fd5b505050505050505050565b6040805163afbc74b560e01b8152600481018590526001600160a01b038481166024830152838116604483015291517f00000000000000000000000000000000000000000000000000000000000000009092169163afbc74b59160648082019260009290919082900301818387803b15801561030557600080fd5b60408051630635367960e51b815260048101889052602481018790526044810186905284151560648201526001600160a01b03848116608483015283811660a483015291517f00000000000000000000000000000000000000000000000000000000000000009092169163c6a6cf2091349160c480830192600092919082900301818588803b15801561064157600080fd5b505af1158015610655573d6000803e3d6000fd5b505050505050505050505056fea264697066735822122031035337329daff58d1041b531767622f9319223610770f2522e2d1daa35a79464736f6c634300060b0033", - "deployedBytecode": "0x60806040526004361061006b5760003560e01c80630e704d50146100705780635530273c1461008757806368647db1146100c85780636ea56960146100f65780636f0b0c1c1461013d578063860665b314610152578063afbc74b51461018c578063c6a6cf20146101cd575b600080fd5b34801561007c57600080fd5b50610085610215565b005b34801561009357600080fd5b50610085600480360360608110156100aa57600080fd5b508035906001600160a01b036020820135811691604001351661028a565b610085600480360360408110156100de57600080fd5b506001600160a01b0381358116916020013516610322565b34801561010257600080fd5b506100856004803603608081101561011957600080fd5b508035906020810135906001600160a01b0360408201358116916060013516610397565b34801561014957600080fd5b50610085610437565b6100856004803603608081101561016857600080fd5b508035906020810135906001600160a01b0360408201358116916060013516610492565b34801561019857600080fd5b50610085600480360360608110156101af57600080fd5b508035906001600160a01b0360208201358116916040013516610534565b610085600480360360c08110156101e357600080fd5b5080359060208101359060408101359060608101351515906001600160a01b03608082013581169160a00135166105af565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316630e704d506040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561027057600080fd5b505af1158015610284573d6000803e3d6000fd5b50505050565b6040805163154c09cf60e21b8152600481018590526001600160a01b038481166024830152838116604483015291517f000000000000000000000000000000000000000000000000000000000000000090921691635530273c9160648082019260009290919082900301818387803b15801561030557600080fd5b505af1158015610319573d6000803e3d6000fd5b50505050505050565b604080516368647db160e01b81526001600160a01b038481166004830152838116602483015291517f0000000000000000000000000000000000000000000000000000000000000000909216916368647db1913491604480830192600092919082900301818588803b15801561030557600080fd5b604080516303752b4b60e51b815260048101869052602481018590526001600160a01b038481166044830152838116606483015291517f000000000000000000000000000000000000000000000000000000000000000090921691636ea569609160848082019260009290919082900301818387803b15801561041957600080fd5b505af115801561042d573d6000803e3d6000fd5b5050505050505050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316636f0b0c1c6040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561027057600080fd5b6040805163860665b360e01b815260048101869052602481018590526001600160a01b038481166044830152838116606483015291517f00000000000000000000000000000000000000000000000000000000000000009092169163860665b3913491608480830192600092919082900301818588803b15801561051557600080fd5b505af1158015610529573d6000803e3d6000fd5b505050505050505050565b6040805163afbc74b560e01b8152600481018590526001600160a01b038481166024830152838116604483015291517f00000000000000000000000000000000000000000000000000000000000000009092169163afbc74b59160648082019260009290919082900301818387803b15801561030557600080fd5b60408051630635367960e51b815260048101889052602481018790526044810186905284151560648201526001600160a01b03848116608483015283811660a483015291517f00000000000000000000000000000000000000000000000000000000000000009092169163c6a6cf2091349160c480830192600092919082900301818588803b15801561064157600080fd5b505af1158015610655573d6000803e3d6000fd5b505050505050505050505056fea264697066735822122031035337329daff58d1041b531767622f9319223610770f2522e2d1daa35a79464736f6c634300060b0033", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/packages/lib-ethers/live/BorrowerOperationsStorage.json b/packages/lib-ethers/live/BorrowerOperationsStorage.json deleted file mode 100644 index 502d57ad8..000000000 --- a/packages/lib-ethers/live/BorrowerOperationsStorage.json +++ /dev/null @@ -1,160 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "BorrowerOperationsStorage", - "sourceName": "contracts/BorrowerOperationsStorage.sol", - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "previousOwner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnershipTransferred", - "type": "event" - }, - { - "inputs": [], - "name": "NAME", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "feeDistributor", - "outputs": [ - { - "internalType": "contract IFeeDistributor", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getOwner", - "outputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "massetManager", - "outputs": [ - { - "internalType": "contract IMassetManager", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - } - ], - "name": "setOwner", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "sortedTroves", - "outputs": [ - { - "internalType": "contract ISortedTroves", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "troveManager", - "outputs": [ - { - "internalType": "contract ITroveManager", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "zeroStaking", - "outputs": [ - { - "internalType": "contract IZEROStaking", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "zeroStakingAddress", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "zusdToken", - "outputs": [ - { - "internalType": "contract IZUSDToken", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": "0x608060405234801561001057600080fd5b50610023336001600160e01b0361002816565b610110565b6001600160a01b03811661006d5760405162461bcd60e51b81526004018080602001828103825260228152602001806105046022913960400191505060405180910390fd5b6001600160a01b0381166100886001600160e01b036100e616565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3604080517035b2bc9737bbb730b136329737bbb732b960791b8152905190819003601101902055565b604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205490565b6103e58061011f6000396000f3fe608060405234801561001057600080fd5b506004361061009e5760003560e01c8063a3f4df7e11610066578063a3f4df7e14610107578063ae91875414610184578063b5c89bab1461018c578063ec5472fd14610194578063ec9f7d461461019c5761009e565b80630d43e8ad146100a35780630ff9a512146100c757806313af4035146100cf5780633d83908a146100f7578063893d20e8146100ff575b600080fd5b6100ab6101a4565b604080516001600160a01b039092168252519081900360200190f35b6100ab6101b3565b6100f5600480360360208110156100e557600080fd5b50356001600160a01b03166101c2565b005b6100ab610235565b6100ab610244565b61010f61026e565b6040805160208082528351818301528351919283929083019185019080838360005b83811015610149578181015183820152602001610131565b50505050905090810190601f1680156101765780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6100ab61029c565b6100ab6102ab565b6100ab6102ba565b6100ab6102c9565b6009546001600160a01b031681565b6005546001600160a01b031681565b6101ca610244565b6001600160a01b0316336001600160a01b031614610229576040805162461bcd60e51b815260206004820152601760248201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604482015290519081900360640190fd5b610232816102d8565b50565b6000546001600160a01b031681565b604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205490565b60405180604001604052806012815260200171426f72726f7765724f7065726174696f6e7360701b81525081565b6007546001600160a01b031681565b6008546001600160a01b031681565b6004546001600160a01b031681565b6006546001600160a01b031681565b6001600160a01b03811661031d5760405162461bcd60e51b815260040180806020018281038252602281526020018061038e6022913960400191505060405180910390fd5b806001600160a01b031661032f610244565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205556fe4f776e61626c653a3a7365744f776e65723a20696e76616c69642061646472657373a26469706673582212202e9dbd84b6bcc6e3dfe238149e0af0dcf38ae9962b3de262a61eeba42ac58a7a64736f6c634300060b00334f776e61626c653a3a7365744f776e65723a20696e76616c69642061646472657373", - "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061009e5760003560e01c8063a3f4df7e11610066578063a3f4df7e14610107578063ae91875414610184578063b5c89bab1461018c578063ec5472fd14610194578063ec9f7d461461019c5761009e565b80630d43e8ad146100a35780630ff9a512146100c757806313af4035146100cf5780633d83908a146100f7578063893d20e8146100ff575b600080fd5b6100ab6101a4565b604080516001600160a01b039092168252519081900360200190f35b6100ab6101b3565b6100f5600480360360208110156100e557600080fd5b50356001600160a01b03166101c2565b005b6100ab610235565b6100ab610244565b61010f61026e565b6040805160208082528351818301528351919283929083019185019080838360005b83811015610149578181015183820152602001610131565b50505050905090810190601f1680156101765780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6100ab61029c565b6100ab6102ab565b6100ab6102ba565b6100ab6102c9565b6009546001600160a01b031681565b6005546001600160a01b031681565b6101ca610244565b6001600160a01b0316336001600160a01b031614610229576040805162461bcd60e51b815260206004820152601760248201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604482015290519081900360640190fd5b610232816102d8565b50565b6000546001600160a01b031681565b604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205490565b60405180604001604052806012815260200171426f72726f7765724f7065726174696f6e7360701b81525081565b6007546001600160a01b031681565b6008546001600160a01b031681565b6004546001600160a01b031681565b6006546001600160a01b031681565b6001600160a01b03811661031d5760405162461bcd60e51b815260040180806020018281038252602281526020018061038e6022913960400191505060405180910390fd5b806001600160a01b031661032f610244565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205556fe4f776e61626c653a3a7365744f776e65723a20696e76616c69642061646472657373a26469706673582212202e9dbd84b6bcc6e3dfe238149e0af0dcf38ae9962b3de262a61eeba42ac58a7a64736f6c634300060b0033", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/packages/lib-ethers/live/BorrowerOperationsTester.json b/packages/lib-ethers/live/BorrowerOperationsTester.json deleted file mode 100644 index e9a8e2ac4..000000000 --- a/packages/lib-ethers/live/BorrowerOperationsTester.json +++ /dev/null @@ -1,1208 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "BorrowerOperationsTester", - "sourceName": "contracts/TestContracts/BorrowerOperationsTester.sol", - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_activePoolAddress", - "type": "address" - } - ], - "name": "ActivePoolAddressChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_collSurplusPoolAddress", - "type": "address" - } - ], - "name": "CollSurplusPoolAddressChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_defaultPoolAddress", - "type": "address" - } - ], - "name": "DefaultPoolAddressChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_feeDistributorAddress", - "type": "address" - } - ], - "name": "FeeDistributorAddressChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_gasPoolAddress", - "type": "address" - } - ], - "name": "GasPoolAddressChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_massetManagerAddress", - "type": "address" - } - ], - "name": "MassetManagerAddressChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "previousOwner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnershipTransferred", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_newPriceFeedAddress", - "type": "address" - } - ], - "name": "PriceFeedAddressChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_sortedTrovesAddress", - "type": "address" - } - ], - "name": "SortedTrovesAddressChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_stabilityPoolAddress", - "type": "address" - } - ], - "name": "StabilityPoolAddressChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "_borrower", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "arrayIndex", - "type": "uint256" - } - ], - "name": "TroveCreated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_newTroveManagerAddress", - "type": "address" - } - ], - "name": "TroveManagerAddressChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "_borrower", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_debt", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_coll", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "stake", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "enum BorrowerOperations.BorrowerOperation", - "name": "operation", - "type": "uint8" - } - ], - "name": "TroveUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_zeroStakingAddress", - "type": "address" - } - ], - "name": "ZEROStakingAddressChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "_borrower", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_ZUSDFee", - "type": "uint256" - } - ], - "name": "ZUSDBorrowingFeePaid", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_zusdTokenAddress", - "type": "address" - } - ], - "name": "ZUSDTokenAddressChanged", - "type": "event" - }, - { - "inputs": [], - "name": "BORROWING_FEE_FLOOR", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "DECIMAL_PRECISION", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "MIN_NET_DEBT", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "NAME", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "ZUSD_GAS_COMPENSATION", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_100pct", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "activePool", - "outputs": [ - { - "internalType": "contract IActivePool", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_upperHint", - "type": "address" - }, - { - "internalType": "address", - "name": "_lowerHint", - "type": "address" - } - ], - "name": "addColl", - "outputs": [], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_maxFeePercentage", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_collWithdrawal", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_ZUSDChange", - "type": "uint256" - }, - { - "internalType": "bool", - "name": "_isDebtIncrease", - "type": "bool" - }, - { - "internalType": "address", - "name": "_upperHint", - "type": "address" - }, - { - "internalType": "address", - "name": "_lowerHint", - "type": "address" - }, - { - "components": [ - { - "internalType": "uint256", - "name": "deadline", - "type": "uint256" - }, - { - "internalType": "uint8", - "name": "v", - "type": "uint8" - }, - { - "internalType": "bytes32", - "name": "r", - "type": "bytes32" - }, - { - "internalType": "bytes32", - "name": "s", - "type": "bytes32" - } - ], - "internalType": "struct IMassetManager.PermitParams", - "name": "_permitParams", - "type": "tuple" - } - ], - "name": "adjustNueTrove", - "outputs": [], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_maxFeePercentage", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_collWithdrawal", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_ZUSDChange", - "type": "uint256" - }, - { - "internalType": "bool", - "name": "_isDebtIncrease", - "type": "bool" - }, - { - "internalType": "address", - "name": "_upperHint", - "type": "address" - }, - { - "internalType": "address", - "name": "_lowerHint", - "type": "address" - } - ], - "name": "adjustTrove", - "outputs": [], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_borrower", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_collWithdrawal", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_debtChange", - "type": "uint256" - }, - { - "internalType": "bool", - "name": "_isDebtIncrease", - "type": "bool" - }, - { - "internalType": "address", - "name": "_upperHint", - "type": "address" - }, - { - "internalType": "address", - "name": "_lowerHint", - "type": "address" - } - ], - "name": "callInternalAdjustLoan", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "claimCollateral", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "components": [ - { - "internalType": "uint256", - "name": "deadline", - "type": "uint256" - }, - { - "internalType": "uint8", - "name": "v", - "type": "uint8" - }, - { - "internalType": "bytes32", - "name": "r", - "type": "bytes32" - }, - { - "internalType": "bytes32", - "name": "s", - "type": "bytes32" - } - ], - "internalType": "struct IMassetManager.PermitParams", - "name": "_permitParams", - "type": "tuple" - } - ], - "name": "closeNueTrove", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "closeTrove", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "defaultPool", - "outputs": [ - { - "internalType": "contract IDefaultPool", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "feeDistributor", - "outputs": [ - { - "internalType": "contract IFeeDistributor", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_debt", - "type": "uint256" - } - ], - "name": "getCompositeDebt", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getEntireSystemColl", - "outputs": [ - { - "internalType": "uint256", - "name": "entireSystemColl", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getEntireSystemDebt", - "outputs": [ - { - "internalType": "uint256", - "name": "entireSystemDebt", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getMassetManager", - "outputs": [ - { - "internalType": "contract IMassetManager", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_coll", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_debt", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_collChange", - "type": "uint256" - }, - { - "internalType": "bool", - "name": "isCollIncrease", - "type": "bool" - }, - { - "internalType": "uint256", - "name": "_debtChange", - "type": "uint256" - }, - { - "internalType": "bool", - "name": "isDebtIncrease", - "type": "bool" - }, - { - "internalType": "uint256", - "name": "_price", - "type": "uint256" - } - ], - "name": "getNewICRFromTroveChange", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "pure", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_collChange", - "type": "uint256" - }, - { - "internalType": "bool", - "name": "isCollIncrease", - "type": "bool" - }, - { - "internalType": "uint256", - "name": "_debtChange", - "type": "uint256" - }, - { - "internalType": "bool", - "name": "isDebtIncrease", - "type": "bool" - }, - { - "internalType": "uint256", - "name": "_price", - "type": "uint256" - } - ], - "name": "getNewTCRFromTroveChange", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getOwner", - "outputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_coll", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_price", - "type": "uint256" - } - ], - "name": "getUSDValue", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "pure", - "type": "function" - }, - { - "inputs": [], - "name": "liquityBaseParams", - "outputs": [ - { - "internalType": "contract ILiquityBaseParams", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "massetManager", - "outputs": [ - { - "internalType": "contract IMassetManager", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_borrower", - "type": "address" - }, - { - "internalType": "address", - "name": "_upperHint", - "type": "address" - }, - { - "internalType": "address", - "name": "_lowerHint", - "type": "address" - } - ], - "name": "moveETHGainToTrove", - "outputs": [], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_maxFeePercentage", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_ZUSDAmount", - "type": "uint256" - }, - { - "internalType": "address", - "name": "_upperHint", - "type": "address" - }, - { - "internalType": "address", - "name": "_lowerHint", - "type": "address" - } - ], - "name": "openNueTrove", - "outputs": [], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_maxFeePercentage", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_ZUSDAmount", - "type": "uint256" - }, - { - "internalType": "address", - "name": "_upperHint", - "type": "address" - }, - { - "internalType": "address", - "name": "_lowerHint", - "type": "address" - } - ], - "name": "openTrove", - "outputs": [], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [], - "name": "priceFeed", - "outputs": [ - { - "internalType": "contract IPriceFeed", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_ZUSDAmount", - "type": "uint256" - }, - { - "internalType": "address", - "name": "_upperHint", - "type": "address" - }, - { - "internalType": "address", - "name": "_lowerHint", - "type": "address" - } - ], - "name": "repayZUSD", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_dllrAmount", - "type": "uint256" - }, - { - "internalType": "address", - "name": "_upperHint", - "type": "address" - }, - { - "internalType": "address", - "name": "_lowerHint", - "type": "address" - }, - { - "components": [ - { - "internalType": "uint256", - "name": "deadline", - "type": "uint256" - }, - { - "internalType": "uint8", - "name": "v", - "type": "uint8" - }, - { - "internalType": "bytes32", - "name": "r", - "type": "bytes32" - }, - { - "internalType": "bytes32", - "name": "s", - "type": "bytes32" - } - ], - "internalType": "struct IMassetManager.PermitParams", - "name": "_permitParams", - "type": "tuple" - } - ], - "name": "repayZusdFromDLLR", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_feeDistributorAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_liquityBaseParamsAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_troveManagerAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_activePoolAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_defaultPoolAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_stabilityPoolAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_gasPoolAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_collSurplusPoolAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_priceFeedAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_sortedTrovesAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_zusdTokenAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_zeroStakingAddress", - "type": "address" - } - ], - "name": "setAddresses", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_massetManagerAddress", - "type": "address" - } - ], - "name": "setMassetManagerAddress", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - } - ], - "name": "setOwner", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "sortedTroves", - "outputs": [ - { - "internalType": "contract ISortedTroves", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "troveManager", - "outputs": [ - { - "internalType": "contract ITroveManager", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_collWithdrawal", - "type": "uint256" - }, - { - "internalType": "address", - "name": "_upperHint", - "type": "address" - }, - { - "internalType": "address", - "name": "_lowerHint", - "type": "address" - } - ], - "name": "withdrawColl", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_maxFeePercentage", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_ZUSDAmount", - "type": "uint256" - }, - { - "internalType": "address", - "name": "_upperHint", - "type": "address" - }, - { - "internalType": "address", - "name": "_lowerHint", - "type": "address" - } - ], - "name": "withdrawZUSD", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_maxFeePercentage", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_ZUSDAmount", - "type": "uint256" - }, - { - "internalType": "address", - "name": "_upperHint", - "type": "address" - }, - { - "internalType": "address", - "name": "_lowerHint", - "type": "address" - } - ], - "name": "withdrawZusdAndConvertToDLLR", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "zeroStaking", - "outputs": [ - { - "internalType": "contract IZEROStaking", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "zeroStakingAddress", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "zusdToken", - "outputs": [ - { - "internalType": "contract IZUSDToken", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "stateMutability": "payable", - "type": "receive" - } - ], - "bytecode": "0x60806040523480156200001157600080fd5b5062000026336001600160e01b036200002c16565b62000150565b6001600160a01b0381166200005e5760405162461bcd60e51b815260040162000055906200010e565b60405180910390fd5b6001600160a01b0381166200007b6001600160e01b03620000d016565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000604051620000c090620000f1565b6040519081900390209190915550565b600080604051620000e190620000f1565b6040519081900390205492915050565b7035b2bc9737bbb730b136329737bbb732b960791b815260110190565b60208082526022908201527f4f776e61626c653a3a7365744f776e65723a20696e76616c6964206164647265604082015261737360f01b606082015260800190565b614cbf80620001606000396000f3fe6080604052600436106102605760003560e01c8063759b303411610144578063a20baee6116100b6578063c6a6cf201161007a578063c6a6cf2014610624578063e9fc346114610637578063ea9638bf1461064c578063ec5472fd1461065f578063ec9f7d4614610674578063f92d34331461068957610267565b8063a20baee61461046a578063a3f4df7e146105b8578063ae918754146105da578063afbc74b5146105ef578063b5c89bab1461060f57610267565b8063860665b311610108578063860665b31461053357806387eb305d14610546578063887105d314610566578063893d20e81461057b5780638d5c3dc1146105905780639f070670146105a357610267565b8063759b3034146104b45780637778a3db146104c9578063795d26c3146104e95780637e3eefdc146104fe5780637f7dde4a1461051e57610267565b8063485f190f116101dd5780636ea56960116101a15780636ea56960146104155780636f0b0c1c146104355780636f30d2121461044a57806372fe25aa1461046a578063734f622d1461047f578063741bef1a1461049f57610267565b8063485f190f1461038f5780634ff81443146103a257806351584ca4146103c25780635530273c146103e257806368647db11461040257610267565b80631bf43555116102245780631bf43555146103035780632771510a146103255780632cdcd722146103455780633cc74225146103655780633d83908a1461037a57610267565b80630d43e8ad1461026c5780630e704d50146102975780630ff9a512146102ae57806313af4035146102c35780631a777717146102e357610267565b3661026757005b600080fd5b34801561027857600080fd5b5061028161069e565b60405161028e9190614227565b60405180910390f35b3480156102a357600080fd5b506102ac6106ad565b005b3480156102ba57600080fd5b506102816106b7565b3480156102cf57600080fd5b506102ac6102de366004613d1f565b6106c6565b3480156102ef57600080fd5b506102ac6102fe366004613fc2565b610713565b34801561030f57600080fd5b5061031861072a565b60405161028e9190614c32565b34801561033157600080fd5b506102ac610340366004613d1f565b610737565b34801561035157600080fd5b506102ac610360366004613ec6565b6107c5565b34801561037157600080fd5b506102816107dd565b34801561038657600080fd5b506102816107ec565b6102ac61039d366004614085565b6107fb565b3480156103ae57600080fd5b506103186103bd366004613f6c565b610965565b3480156103ce57600080fd5b506103186103dd36600461417e565b610978565b3480156103ee57600080fd5b506102ac6103fd366004613f9c565b610995565b6102ac610410366004613d57565b6109ab565b34801561042157600080fd5b506102ac610430366004614085565b6109c1565b34801561044157600080fd5b506102ac6109d2565b34801561045657600080fd5b50610318610465366004614064565b610a30565b34801561047657600080fd5b50610318610a45565b34801561048b57600080fd5b506102ac61049a366004613dd9565b610a51565b3480156104ab57600080fd5b50610281610e15565b3480156104c057600080fd5b50610318610e24565b3480156104d557600080fd5b506102ac6104e4366004613f51565b610e31565b3480156104f557600080fd5b50610318610f22565b34801561050a57600080fd5b50610318610519366004614085565b611041565b34801561052a57600080fd5b506102816112bc565b6102ac610541366004614085565b6112cb565b34801561055257600080fd5b50610318610561366004614013565b6112d8565b34801561057257600080fd5b506103186112f1565b34801561058757600080fd5b506102816113c0565b6102ac61059e366004614106565b6113df565b3480156105af57600080fd5b506102816113f7565b3480156105c457600080fd5b506105cd611406565b60405161028e919061430f565b3480156105e657600080fd5b50610281611434565b3480156105fb57600080fd5b506102ac61060a366004613f9c565b611443565b34801561061b57600080fd5b50610281611455565b6102ac6106323660046140ce565b611464565b34801561064357600080fd5b50610281611473565b6102ac61065a366004613d8f565b611482565b34801561066b57600080fd5b5061028161149c565b34801561068057600080fd5b506102816114ab565b34801561069557600080fd5b506103186114ba565b600d546001600160a01b031681565b6106b561153c565b565b6009546001600160a01b031681565b6106ce6113c0565b6001600160a01b0316336001600160a01b0316146107075760405162461bcd60e51b81526004016106fe906147f8565b60405180910390fd5b6107108161192b565b50565b6107246000808660008787876119b6565b50505050565b6809c2007651b250000081565b61073f6113c0565b6001600160a01b0316336001600160a01b03161461076f5760405162461bcd60e51b81526004016106fe906147f8565b600c80546001600160a01b0319166001600160a01b0383161790556040517f6926b3375b54960080b7d8a184061f39a02e8c3bf64aa9df7e75359fdc00d814906107ba908390614227565b60405180910390a150565b6107d58686868686866000611b6c565b505050505050565b6001546001600160a01b031681565b6004546001600160a01b031681565b600c546001600160a01b03166108235760405162461bcd60e51b81526004016106fe90614c02565b6108308484848430611b7c565b600a54600c5460405163095ea7b360e01b81526001600160a01b039283169263095ea7b39261086692911690879060040161427c565b602060405180830381600087803b15801561088057600080fd5b505af1158015610894573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108b89190613f35565b6108d45760405162461bcd60e51b81526004016106fe90614886565b600c54600a5460405163438b1b4b60e01b81526001600160a01b039283169263438b1b4b9261090c92911690879033906004016142c0565b602060405180830381600087803b15801561092657600080fd5b505af115801561093a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061095e9190613f84565b5050505050565b6000610970826121a7565b90505b919050565b6000610989888888888888886121c2565b98975050505050505050565b6109a6338460008086866000611b6c565b505050565b6109bd33600080600086866000611b6c565b5050565b61072433600085600186868a611b6c565b60075460405163b32beb5b60e01b81526001600160a01b039091169063b32beb5b90610a02903390600401614227565b600060405180830381600087803b158015610a1c57600080fd5b505af1158015610724573d6000803e3d6000fd5b6000610a3c83836121f5565b90505b92915050565b670de0b6b3a764000081565b610a596113c0565b6001600160a01b0316336001600160a01b031614610a895760405162461bcd60e51b81526004016106fe906147f8565b610a928c612228565b610a9b8b612228565b610aa48a612228565b610aad89612228565b610ab688612228565b610abf87612228565b610ac886612228565b610ad185612228565b610ada84612228565b610ae383612228565b610aec82612228565b610af581612228565b600d80546001600160a01b03199081166001600160a01b038f8116919091179092556003805482168e84161790556004805482168d84161790556000805482168c84161790556001805482168b84161790556005805482168a8416179055600680548216898416179055600780548216888416179055600280548216878416179055600b80548216868416179055600a8054821685841617905560098054821692841692831790556008805490911690911790556040517f84861842e6a98dd759145eb5e7b48279d0f02ebeabc8a69e5196b2f4c5023db990610bd9908e90614227565b60405180910390a17f143219c9e69b09e07e095fcc889b43d8f46ca892bba65f08dc3a0050869a56788a604051610c109190614227565b60405180910390a17f78f058b189175430c48dc02699e3a0031ea4ff781536dc2fab847de4babdd88289604051610c479190614227565b60405180910390a17f5ee0cae2f063ed938bb55046f6a932fb6ae792bf43624806bb90abe68a50be9b88604051610c7e9190614227565b60405180910390a17f82966d27eea39b038ee0fa30cd16532bb24f6e65d31cb58fb227aa5766cdcc7f87604051610cb59190614227565b60405180910390a17fcfb07d791fcafc032b35837b50eb84b74df518cf4cc287e8084f47630fa70fa086604051610cec9190614227565b60405180910390a17fe67f36a6e961157d6eff83b91f3af5a62131ceb6f04954ef74f51c1c05e7f88d85604051610d239190614227565b60405180910390a17f8c537274438aa850a330284665d81a85dd38267d09e4050d416bfc94142db26484604051610d5a9190614227565b60405180910390a17f65f4cf077bc01e4742eb5ad98326f6e95b63548ea24b17f8d5e823111fe7880083604051610d919190614227565b60405180910390a17fcdf33850c44a1a874b5fefb51dae615ac6afebd581ef90d571f81b06541d8e9d82604051610dc89190614227565b60405180910390a17f7624075ed781e3aa34b0f492d70d1bb5a6fcde04534165e20f990d2e546be4dd81604051610dff9190614227565b60405180910390a1505050505050505050505050565b6002546001600160a01b031681565b6801158e460913d0000081565b600c546001600160a01b0316610e595760405162461bcd60e51b81526004016106fe90614c02565b6004805460405163d66a255360e01b81526000926001600160a01b039092169163d66a255391610e8b91339101614227565b60206040518083038186803b158015610ea357600080fd5b505afa158015610eb7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610edb9190613f84565b600c54909150610f19906001600160a01b0316610f07836801158e460913d0000063ffffffff61226d16565b600a546001600160a01b0316856122af565b506109bd61153c565b60008054604080516272c7d360e71b8152905183926001600160a01b031691633963e980916004808301926020929190829003018186803b158015610f6657600080fd5b505afa158015610f7a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f9e9190613f84565b90506000600160009054906101000a90046001600160a01b03166001600160a01b0316633963e9806040518163ffffffff1660e01b815260040160206040518083038186803b158015610ff057600080fd5b505afa158015611004573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110289190613f84565b905061103a828263ffffffff61255416565b9250505090565b600a546040516370a0823160e01b8152600091309183916001600160a01b0316906370a0823190611076908590600401614227565b60206040518083038186803b15801561108e57600080fd5b505afa1580156110a2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110c69190613f84565b90506110d633838888888c612579565b6110e6818763ffffffff61255416565b600a546040516370a0823160e01b81526001600160a01b03909116906370a0823190611116908690600401614227565b60206040518083038186803b15801561112e57600080fd5b505afa158015611142573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111669190613f84565b146111835760405162461bcd60e51b81526004016106fe9061448c565b600a54600c5460405163095ea7b360e01b81526001600160a01b039283169263095ea7b3926111b9929116908a9060040161427c565b602060405180830381600087803b1580156111d357600080fd5b505af11580156111e7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061120b9190613f35565b6112275760405162461bcd60e51b81526004016106fe90614886565b600c54600a5460405163438b1b4b60e01b81526001600160a01b039283169263438b1b4b9261125f929116908a9033906004016142c0565b602060405180830381600087803b15801561127957600080fd5b505af115801561128d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112b19190613f84565b979650505050505050565b6000546001600160a01b031681565b6107248484848433611b7c565b60006112e7868686868661258b565b9695505050505050565b6000805460408051630a7b61df60e11b8152905183926001600160a01b0316916314f6c3be916004808301926020929190829003018186803b15801561133657600080fd5b505afa15801561134a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061136e9190613f84565b90506000600160009054906101000a90046001600160a01b03166001600160a01b03166314f6c3be6040518163ffffffff1660e01b815260040160206040518083038186803b158015610ff057600080fd5b6000806040516113cf9061420a565b6040519081900390205492915050565b6113ee878787878787876119b6565b50505050505050565b6003546001600160a01b031681565b60405180604001604052806012815260200171426f72726f7765724f7065726174696f6e7360701b81525081565b600b546001600160a01b031681565b6109a633600085600086866000611b6c565b600c546001600160a01b031681565b6107d53386868686868c611b6c565b600c546001600160a01b031690565b61148a612616565b6109a683600080600086866000611b6c565b6008546001600160a01b031681565b600a546001600160a01b031681565b6003546040805163f92d343360e01b815290516000926001600160a01b03169163f92d3433916004808301926020929190829003018186803b1580156114ff57600080fd5b505afa158015611513573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115379190613f84565b905090565b600454600054600a546001600160a01b039283169291821691166115608333612640565b60025460408051630fdb11cf60e01b815290516000926001600160a01b031691630fdb11cf91600480830192602092919082900301818787803b1580156115a657600080fd5b505af11580156115ba573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115de9190613f84565b90506115e9816126e1565b604051630b07655760e01b81526001600160a01b03851690630b07655790611615903390600401614227565b600060405180830381600087803b15801561162f57600080fd5b505af1158015611643573d6000803e3d6000fd5b50506040516309019aaf60e31b8152600092506001600160a01b038716915063480cd57890611676903390600401614227565b60206040518083038186803b15801561168e57600080fd5b505afa1580156116a2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116c69190613f84565b90506000856001600160a01b031663d66a2553336040518263ffffffff1660e01b81526004016116f69190614227565b60206040518083038186803b15801561170e57600080fd5b505afa158015611722573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117469190613f84565b905061176b8433611766846801158e460913d0000063ffffffff61226d16565b612707565b600061177c8360008460008861258b565b9050611787816127a3565b604051631fc5750960e31b81526001600160a01b0388169063fe2ba848906117b3903390600401614227565b600060405180830381600087803b1580156117cd57600080fd5b505af11580156117e1573d6000803e3d6000fd5b50506040516365e89c5760e11b81526001600160a01b038a16925063cbd138ae9150611811903390600401614227565b600060405180830381600087803b15801561182b57600080fd5b505af115801561183f573d6000803e3d6000fd5b50505050336001600160a01b0316600080516020614c6a8339815191526000806000600160405161187394939291906142e3565b60405180910390a261189f86863361189a866801158e460913d0000063ffffffff61226d16565b612848565b6006546118c290879087906001600160a01b03166801158e460913d00000612848565b6040516364a197f360e01b81526001600160a01b038716906364a197f3906118f0903390879060040161427c565b600060405180830381600087803b15801561190a57600080fd5b505af115801561191e573d6000803e3d6000fd5b5050505050505050505050565b6001600160a01b0381166119515760405162461bcd60e51b81526004016106fe906144c3565b806001600160a01b03166119636113c0565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360006040516119a69061420a565b6040519081900390209190915550565b600c546001600160a01b03166119de5760405162461bcd60e51b81526004016106fe90614c02565b831580156119ec5750600085115b15611a1257600c54600a54611a10916001600160a01b0390811691889116846122af565b505b611a223387878787878d30612902565b838015611a2f5750600085115b156113ee57600a54600c5460405163095ea7b360e01b81526001600160a01b039283169263095ea7b392611a6a92911690899060040161427c565b602060405180830381600087803b158015611a8457600080fd5b505af1158015611a98573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611abc9190613f35565b611ad85760405162461bcd60e51b81526004016106fe90614886565b600c54600a5460405163438b1b4b60e01b81526001600160a01b039283169263438b1b4b92611b1092911690899033906004016142c0565b602060405180830381600087803b158015611b2a57600080fd5b505af1158015611b3e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b629190613f84565b5050505050505050565b6113ee8787878787878733612902565b611b84613c1e565b50604080516060810182526004546001600160a01b03908116825260005481166020830152600a541691810191909152611bbc613c3e565b600260009054906101000a90046001600160a01b03166001600160a01b0316630fdb11cf6040518163ffffffff1660e01b8152600401602060405180830381600087803b158015611c0c57600080fd5b505af1158015611c20573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c449190613f84565b808252600090611c5390612ee6565b9050611c5f8882612f81565b8251611c6b903361306d565b6040820187905280611cac57611c8b83600001518460400151898b61310f565b602083018190526040830151611ca69163ffffffff61255416565b60408301525b611cb982604001516132c8565b611cc682604001516121a7565b60608301819052611cd357fe5b611ce634836060015184600001516132f1565b60808301526060820151611cfb903490613324565b60a08301528015611d1857611d138260800151613359565b611d4b565b611d2582608001516133fe565b6000611d3e34600185606001516001876000015161258b565b9050611d49816127a3565b505b8251604051635d6b480f60e01b81526001600160a01b0390911690635d6b480f90611d7d90339060019060040161427c565b600060405180830381600087803b158015611d9757600080fd5b505af1158015611dab573d6000803e3d6000fd5b505084516040516372423c1760e01b81526001600160a01b0390911692506372423c179150611de0903390349060040161427c565b602060405180830381600087803b158015611dfa57600080fd5b505af1158015611e0e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e329190613f84565b5082516060830151604051639976cf4560e01b81526001600160a01b0390921691639976cf4591611e689133919060040161427c565b602060405180830381600087803b158015611e8257600080fd5b505af1158015611e96573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611eba9190613f84565b5082516040516382fe3eb960e01b81526001600160a01b03909116906382fe3eb990611eea903390600401614227565b600060405180830381600087803b158015611f0457600080fd5b505af1158015611f18573d6000803e3d6000fd5b50508451604051630c7940bd60e11b81526001600160a01b0390911692506318f2817a9150611f4b903390600401614227565b602060405180830381600087803b158015611f6557600080fd5b505af1158015611f79573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f9d9190613f84565b60c0830152600b5460a08301516040516346f7cf8760e01b81526001600160a01b03909216916346f7cf8791611fdc913391908b908b90600401614295565b600060405180830381600087803b158015611ff657600080fd5b505af115801561200a573d6000803e3d6000fd5b505084516040516315d549f160e01b81526001600160a01b0390911692506315d549f1915061203d903390600401614227565b602060405180830381600087803b15801561205757600080fd5b505af115801561206b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061208f9190613f84565b60e0830181905260405133917f59cfd0cd754bc5748b6770e94a4ffa5f678d885cb899dcfadc5734edb97c67ab916120c79190614c32565b60405180910390a26120dd8360200151346134a3565b6120f683602001518460400151868a866040015161351f565b602083015160408401516006546121229291906001600160a01b03166801158e460913d000008061351f565b606082015160c08301516040513392600080516020614c6a83398151915292612150923491906000906142e3565b60405180910390a2336001600160a01b03167f71457d8a5ab7e4561ed49d05338674b73ac3b83b0b315f165f5b12bcc002274183602001516040516121959190614c32565b60405180910390a25050505050505050565b6000610970826801158e460913d0000063ffffffff61255416565b60008060006121d58a8a8a8a8a8a6135e4565b9150915060006121e68383876132f1565b9b9a5050505050505050505050565b600080612220670de0b6b3a7640000612214858763ffffffff61365016565b9063ffffffff61368a16565b949350505050565b6001600160a01b03811661224e5760405162461bcd60e51b81526004016106fe90614605565b803b806109bd5760405162461bcd60e51b81526004016106fe906149a9565b6000610a3c83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506136cc565b600080856001600160a01b03166321df0da76040518163ffffffff1660e01b815260040160206040518083038186803b1580156122eb57600080fd5b505afa1580156122ff573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123239190613d3b565b90506000816001600160a01b03166370a08231306040518263ffffffff1660e01b81526004016123539190614227565b60206040518083038186803b15801561236b57600080fd5b505afa15801561237f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123a39190613f84565b9050306001600160a01b03831663605629d633838a89356123ca60408c0160208d016141e6565b8b604001358c606001356040518863ffffffff1660e01b81526004016123f6979695949392919061423b565b600060405180830381600087803b15801561241057600080fd5b505af1158015612424573d6000803e3d6000fd5b50505050866124b583856001600160a01b03166370a08231856040518263ffffffff1660e01b81526004016124599190614227565b60206040518083038186803b15801561247157600080fd5b505afa158015612485573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124a99190613f84565b9063ffffffff61226d16565b146124d25760405162461bcd60e51b81526004016106fe9061440c565b60405163fb2c922360e01b81526001600160a01b0389169063fb2c9223906125029089908b9033906004016142c0565b602060405180830381600087803b15801561251c57600080fd5b505af1158015612530573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109899190613f84565b600082820183811015610a3c5760405162461bcd60e51b81526004016106fe90614455565b6107d58660008660018787878c612902565b6000806125966112f1565b905060006125a2610f22565b9050866125be576125b9828963ffffffff61226d16565b6125ce565b6125ce828963ffffffff61255416565b9150846125ea576125e5818763ffffffff61226d16565b6125fa565b6125fa818763ffffffff61255416565b905060006126098383876132f1565b9998505050505050505050565b6005546001600160a01b031633146106b55760405162461bcd60e51b81526004016106fe90614a47565b6040516321e3780160e01b81526000906001600160a01b038416906321e378019061266f908590600401614227565b60206040518083038186803b15801561268757600080fd5b505afa15801561269b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906126bf9190613f84565b9050806001146109a65760405162461bcd60e51b81526004016106fe906147aa565b6126ea81612ee6565b156107105760405162461bcd60e51b81526004016106fe90614555565b6040516370a0823160e01b815281906001600160a01b038516906370a0823190612735908690600401614227565b60206040518083038186803b15801561274d57600080fd5b505afa158015612761573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127859190613f84565b10156109a65760405162461bcd60e51b81526004016106fe90614362565b600360009054906101000a90046001600160a01b03166001600160a01b0316635733d58f6040518163ffffffff1660e01b815260040160206040518083038186803b1580156127f157600080fd5b505afa158015612805573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906128299190613f84565b8110156107105760405162461bcd60e51b81526004016106fe9061473b565b60405163121cbc4d60e11b81526001600160a01b03851690632439789a90612874908490600401614c32565b600060405180830381600087803b15801561288e57600080fd5b505af11580156128a2573d6000803e3d6000fd5b5050604051632770a7eb60e21b81526001600160a01b0386169250639dc29fac91506128d4908590859060040161427c565b600060405180830381600087803b1580156128ee57600080fd5b505af1158015611b62573d6000803e3d6000fd5b61290a613c1e565b50604080516060810182526004546001600160a01b03908116825260005481166020830152600a541691810191909152612942613c83565b600260009054906101000a90046001600160a01b03166001600160a01b0316630fdb11cf6040518163ffffffff1660e01b8152600401602060405180830381600087803b15801561299257600080fd5b505af11580156129a6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906129ca9190613f84565b8082526129d690612ee6565b15156101c082015286156129fc576129f384826101c00151612f81565b6129fc886136f8565b612a0589613718565b612a0f898961373f565b8151612a1b908b612640565b336001600160a01b038b161480612a5157506005546001600160a01b031633148015612a475750600034115b8015612a51575087155b612a5757fe5b8151604051630b07655760e01b81526001600160a01b0390911690630b07655790612a86908d90600401614227565b600060405180830381600087803b158015612aa057600080fd5b505af1158015612ab4573d6000803e3d6000fd5b50505050612ac2348a613772565b15156060830152602082015260408101889052868015612ae55750806101c00151155b15612b2057612afe826000015183604001518a8761310f565b61012082018190526040820151612b1a9163ffffffff61255416565b60408201525b815160405163d66a255360e01b81526001600160a01b039091169063d66a255390612b4f908d90600401614227565b60206040518083038186803b158015612b6757600080fd5b505afa158015612b7b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612b9f9190613f84565b608082015281516040516309019aaf60e31b81526001600160a01b039091169063480cd57890612bd3908d90600401614227565b60206040518083038186803b158015612beb57600080fd5b505afa158015612bff573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612c239190613f84565b60a0820181905260808201518251612c3c9291906132f1565b8160c0018181525050612c6c8160a0015182608001518360200151846060015185604001518c87600001516121c2565b60e082015260a0810151891115612c7f57fe5b612c90816101c001518a8984613791565b86158015612c9e5750600088115b15612ce557612cc0612cbb82604001516124a98460800151613805565b6132c8565b612cd281608001518260400151613820565b612ce582604001518b8360400151612707565b612d0382600001518b8360200151846060015185604001518c613858565b6101408301526101608201528151604051630c7940bd60e11b81526001600160a01b03909116906318f2817a90612d3e908d90600401614227565b602060405180830381600087803b158015612d5857600080fd5b505af1158015612d6c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612d909190613f84565b81610180018181525050612dbc8160a0015182608001518360200151846060015185604001518c613a70565b6101a08201819052600b5460405163015f109360e51b81526001600160a01b0390911691632be2126091612df8918e918b908b90600401614295565b600060405180830381600087803b158015612e1257600080fd5b505af1158015612e26573d6000803e3d6000fd5b50505050896001600160a01b0316600080516020614c6a8339815191528261014001518361016001518461018001516002604051612e6794939291906142e3565b60405180910390a2336001600160a01b03167f71457d8a5ab7e4561ed49d05338674b73ac3b83b0b315f165f5b12bcc0022741826101200151604051612ead9190614c32565b60405180910390a2612eda8260200151836040015133846020015185606001518d8d88604001518b613aa1565b50505050505050505050565b600080612ef283613b45565b9050600360009054906101000a90046001600160a01b03166001600160a01b0316635733d58f6040518163ffffffff1660e01b815260040160206040518083038186803b158015612f4257600080fd5b505afa158015612f56573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612f7a9190613f84565b1192915050565b8015612fb457670de0b6b3a7640000821115612faf5760405162461bcd60e51b81526004016106fe9061463c565b6109bd565b600360009054906101000a90046001600160a01b03166001600160a01b031663f92d34336040518163ffffffff1660e01b815260040160206040518083038186803b15801561300257600080fd5b505afa158015613016573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061303a9190613f84565b82101580156130515750670de0b6b3a76400008211155b6109bd5760405162461bcd60e51b81526004016106fe90614a90565b6040516321e3780160e01b81526000906001600160a01b038416906321e378019061309c908590600401614227565b60206040518083038186803b1580156130b457600080fd5b505afa1580156130c8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906130ec9190613f84565b905080600114156109a65760405162461bcd60e51b81526004016106fe90614ae0565b6000846001600160a01b0316635dba4c4a6040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561314c57600080fd5b505af1158015613160573d6000803e3d6000fd5b5050604051630631203b60e41b8152600092506001600160a01b038816915063631203b090613193908790600401614c32565b60206040518083038186803b1580156131ab57600080fd5b505afa1580156131bf573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906131e39190613f84565b90506131f0818585613b69565b600d546040516340c10f1960e01b81526001600160a01b03878116926340c10f19926132249290911690859060040161427c565b600060405180830381600087803b15801561323e57600080fd5b505af1158015613252573d6000803e3d6000fd5b50505050600d60009054906101000a90046001600160a01b03166001600160a01b031663bb57ad206040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156132a657600080fd5b505af11580156132ba573d6000803e3d6000fd5b509298975050505050505050565b6809c2007651b25000008110156107105760405162461bcd60e51b81526004016106fe9061494c565b6000821561331857600061330f84612214878663ffffffff61365016565b915061331d9050565b506000195b9392505050565b6000811561335057613349826122148568056bc75e2d6310000063ffffffff61365016565b9050610a3f565b50600019610a3f565b600360009054906101000a90046001600160a01b03166001600160a01b0316635733d58f6040518163ffffffff1660e01b815260040160206040518083038186803b1580156133a757600080fd5b505afa1580156133bb573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906133df9190613f84565b8110156107105760405162461bcd60e51b81526004016106fe906145ae565b600360009054906101000a90046001600160a01b03166001600160a01b031663794e57246040518163ffffffff1660e01b815260040160206040518083038186803b15801561344c57600080fd5b505afa158015613460573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906134849190613f84565b8110156107105760405162461bcd60e51b81526004016106fe906148dd565b6000826001600160a01b0316826040516134bc90614207565b60006040518083038185875af1925050503d80600081146134f9576040519150601f19603f3d011682016040523d82523d6000602084013e6134fe565b606091505b50509050806109a65760405162461bcd60e51b81526004016106fe906143bf565b60405163f2e91d7160e01b81526001600160a01b0386169063f2e91d719061354b908490600401614c32565b600060405180830381600087803b15801561356557600080fd5b505af1158015613579573d6000803e3d6000fd5b50506040516340c10f1960e01b81526001600160a01b03871692506340c10f1991506135ab908690869060040161427c565b600060405180830381600087803b1580156135c557600080fd5b505af11580156135d9573d6000803e3d6000fd5b505050505050505050565b600080878786613603576135fe8a8963ffffffff61226d16565b613613565b6136138a8963ffffffff61255416565b91508461362f5761362a898763ffffffff61226d16565b61363f565b61363f898763ffffffff61255416565b919a91995090975050505050505050565b60008261365f57506000610a3f565b8282028284828161366c57fe5b0414610a3c5760405162461bcd60e51b81526004016106fe906146fa565b6000610a3c83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250613ba9565b600081848411156136f05760405162461bcd60e51b81526004016106fe919061430f565b505050900390565b600081116107105760405162461bcd60e51b81526004016106fe90614b17565b341580613723575080155b6107105760405162461bcd60e51b81526004016106fe90614505565b3415158061374c57508115155b8061375657508015155b6109bd5760405162461bcd60e51b81526004016106fe9061468e565b60008083156137865750829050600161378a565b8291505b9250929050565b83156137ca576137a083613be0565b81156137c5576137b38160e00151613359565b6137c58160e001518260c00151613bfe565b610724565b6137d78160e001516133fe565b6137f481602001518260600151836040015185856000015161258b565b6101008201819052610724906127a3565b6000610970826801158e460913d0000063ffffffff61226d16565b613839826801158e460913d0000063ffffffff61226d16565b8111156109bd5760405162461bcd60e51b81526004016106fe906149de565b6000806000856138e75760405163d3d6f84360e01b81526001600160a01b038a169063d3d6f84390613890908b908b9060040161427c565b602060405180830381600087803b1580156138aa57600080fd5b505af11580156138be573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906138e29190613f84565b613967565b6040516372423c1760e01b81526001600160a01b038a16906372423c1790613915908b908b9060040161427c565b602060405180830381600087803b15801561392f57600080fd5b505af1158015613943573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906139679190613f84565b90506000846139f057604051630930874960e11b81526001600160a01b038b16906312610e929061399e908c908a9060040161427c565b602060405180830381600087803b1580156139b857600080fd5b505af11580156139cc573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061362a9190613f84565b604051639976cf4560e01b81526001600160a01b038b1690639976cf4590613a1e908c908a9060040161427c565b602060405180830381600087803b158015613a3857600080fd5b505af1158015613a4c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061363f9190613f84565b6000806000613a838989898989896135e4565b915091506000613a938383613324565b9a9950505050505050505050565b8215613ab957613ab4898983878661351f565b613ac5565b613ac589898987612848565b8415613ada57613ad589876134a3565b6135d9565b6040516364a197f360e01b81526001600160a01b038a16906364a197f390613b08908a908a9060040161427c565b600060405180830381600087803b158015613b2257600080fd5b505af1158015613b36573d6000803e3d6000fd5b50505050505050505050505050565b600080613b506112f1565b90506000613b5c610f22565b90506122208282866132f1565b6000613b878361221486670de0b6b3a764000063ffffffff61365016565b9050818111156107245760405162461bcd60e51b81526004016106fe90614bcb565b60008183613bca5760405162461bcd60e51b81526004016106fe919061430f565b506000838581613bd657fe5b0495945050505050565b80156107105760405162461bcd60e51b81526004016106fe90614829565b808210156109bd5760405162461bcd60e51b81526004016106fe90614b6e565b604080516060810182526000808252602082018190529181019190915290565b60405180610100016040528060008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081525090565b604051806101e00160405280600081526020016000815260200160008152602001600015158152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000151581525090565b8035610a3f81614c46565b600060808284031215613d19578081fd5b50919050565b600060208284031215613d30578081fd5b8135610a3c81614c46565b600060208284031215613d4c578081fd5b8151610a3c81614c46565b60008060408385031215613d69578081fd5b8235613d7481614c46565b91506020830135613d8481614c46565b809150509250929050565b600080600060608486031215613da3578081fd5b8335613dae81614c46565b92506020840135613dbe81614c46565b91506040840135613dce81614c46565b809150509250925092565b6000806000806000806000806000806000806101808d8f031215613dfb578788fd5b8c35613e0681614c46565b9b5060208d0135613e1681614c46565b9a5060408d0135613e2681614c46565b995060608d0135613e3681614c46565b985060808d0135613e4681614c46565b975060a08d0135613e5681614c46565b9650613e658e60c08f01613cfd565b9550613e748e60e08f01613cfd565b9450613e848e6101008f01613cfd565b9350613e948e6101208f01613cfd565b9250613ea48e6101408f01613cfd565b9150613eb48e6101608f01613cfd565b90509295989b509295989b509295989b565b60008060008060008060c08789031215613ede578182fd5b8635613ee981614c46565b955060208701359450604087013593506060870135613f0781614c5b565b92506080870135613f1781614c46565b915060a0870135613f2781614c46565b809150509295509295509295565b600060208284031215613f46578081fd5b8151610a3c81614c5b565b600060808284031215613f62578081fd5b610a3c8383613d08565b600060208284031215613f7d578081fd5b5035919050565b600060208284031215613f95578081fd5b5051919050565b600080600060608486031215613fb0578283fd5b833592506020840135613dbe81614c46565b60008060008060e08587031215613fd7578384fd5b843593506020850135613fe981614c46565b92506040850135613ff981614c46565b91506140088660608701613d08565b905092959194509250565b600080600080600060a0868803121561402a578283fd5b85359450602086013561403c81614c5b565b935060408601359250606086013561405381614c5b565b949793965091946080013592915050565b60008060408385031215614076578182fd5b50508035926020909101359150565b6000806000806080858703121561409a578182fd5b843593506020850135925060408501356140b381614c46565b915060608501356140c381614c46565b939692955090935050565b60008060008060008060c087890312156140e6578384fd5b8635955060208701359450604087013593506060870135613f0781614c5b565b6000806000806000806000610140888a031215614121578081fd5b873596506020880135955060408801359450606088013561414181614c5b565b9350608088013561415181614c46565b925060a088013561416181614c46565b91506141708960c08a01613d08565b905092959891949750929550565b600080600080600080600060e0888a031215614198578081fd5b87359650602088013595506040880135945060608801356141b881614c5b565b93506080880135925060a08801356141cf81614c5b565b8092505060c0880135905092959891949750929550565b6000602082840312156141f7578081fd5b813560ff81168114610a3c578182fd5b90565b7035b2bc9737bbb730b136329737bbb732b960791b815260110190565b6001600160a01b0391909116815260200190565b6001600160a01b0397881681529590961660208601526040850193909352606084019190915260ff16608083015260a082015260c081019190915260e00190565b6001600160a01b03929092168252602082015260400190565b6001600160a01b03948516815260208101939093529083166040830152909116606082015260800190565b6001600160a01b0393841681526020810192909252909116604082015260600190565b84815260208101849052604081018390526080810161430183614c3b565b606083015295945050505050565b6000602080835283518082850152825b8181101561433b5785810183015185820160400152820161431f565b8181111561434c5783604083870101525b50601f01601f1916929092016040019392505050565b6020808252603d908201527f426f72726f7765724f70733a2043616c6c657220646f65736e7420686176652060408201527f656e6f756768205a55534420746f206d616b652072657061796d656e74000000606082015260800190565b6020808252602d908201527f426f72726f7765724f70733a2053656e64696e672045544820746f204163746960408201526c1d99541bdbdb0819985a5b1959609a1b606082015260800190565b60208082526029908201527f444c4c52207472616e7366657272656420616d6f756e742076616c69646174696040820152681bdb8819985a5b195960ba1b606082015260800190565b6020808252601b908201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604082015260600190565b6020808252601e908201527f5a555344206973206e6f7420626f72726f77656420636f72726563746c790000604082015260600190565b60208082526022908201527f4f776e61626c653a3a7365744f776e65723a20696e76616c6964206164647265604082015261737360f01b606082015260800190565b60208082526030908201527f426f72726f7765724f7065726174696f6e733a2043616e6e6f7420776974686460408201526f1c985dc8185b99081859190818dbdb1b60821b606082015260800190565b60208082526039908201527f426f72726f7765724f70733a204f7065726174696f6e206e6f74207065726d696040820152787474656420647572696e67205265636f76657279204d6f646560381b606082015260800190565b60208082526037908201527f426f72726f7765724f70733a204f7065726174696f6e206d757374206c65617660408201527632903a3937bb32903bb4ba341024a1a9101f1e9021a1a960491b606082015260800190565b6020808252601e908201527f4163636f756e742063616e6e6f74206265207a65726f20616464726573730000604082015260600190565b60208082526032908201527f4d6178206665652070657263656e74616765206d757374206c657373207468616040820152716e206f7220657175616c20746f203130302560701b606082015260800190565b60208082526046908201527f426f72726f7765724f70733a205468657265206d75737420626520656974686560408201527f72206120636f6c6c61746572616c206368616e6765206f7220612064656274206060820152656368616e676560d01b608082015260a00190565b60208082526021908201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6040820152607760f81b606082015260800190565b60208082526049908201527f426f72726f7765724f70733a20416e206f7065726174696f6e2074686174207760408201527f6f756c6420726573756c7420696e20544352203c20434352206973206e6f74206060820152681c195c9b5a5d1d195960ba1b608082015260a00190565b6020808252602e908201527f426f72726f7765724f70733a2054726f766520646f6573206e6f74206578697360408201526d1d081bdc881a5cc818db1bdcd95960921b606082015260800190565b60208082526017908201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604082015260600190565b6020808252603e908201527f426f72726f7765724f70733a20436f6c6c61746572616c20776974686472617760408201527f616c206e6f74207065726d6974746564205265636f76657279204d6f64650000606082015260800190565b60208082526037908201527f4661696c656420746f20617070726f7665205a55534420616d6f756e7420666f60408201527672204d796e74206d417373657420746f2072656465656d60481b606082015260800190565b60208082526049908201527f426f72726f7765724f70733a20416e206f7065726174696f6e2074686174207760408201527f6f756c6420726573756c7420696e20494352203c204d4352206973206e6f74206060820152681c195c9b5a5d1d195960ba1b608082015260a00190565b6020808252603a908201527f426f72726f7765724f70733a2054726f76652773206e65742064656274206d7560408201527f73742062652067726561746572207468616e206d696e696d756d000000000000606082015260800190565b6020808252818101527f4163636f756e7420636f64652073697a652063616e6e6f74206265207a65726f604082015260600190565b60208082526043908201527f426f72726f7765724f70733a20416d6f756e7420726570616964206d7573742060408201527f6e6f74206265206c6172676572207468616e207468652054726f76652773206460608201526219589d60ea1b608082015260a00190565b60208082526029908201527f426f72726f7765724f70733a2043616c6c6572206973206e6f742053746162696040820152681b1a5d1e48141bdbdb60ba1b606082015260800190565b60208082526030908201527f4d6178206665652070657263656e74616765206d75737420626520626574776560408201526f656e20302e352520616e64203130302560801b606082015260800190565b6020808252601c908201527f426f72726f7765724f70733a2054726f76652069732061637469766500000000604082015260600190565b60208082526037908201527f426f72726f7765724f70733a204465627420696e637265617365207265717569604082015276726573206e6f6e2d7a65726f20646562744368616e676560481b606082015260800190565b6020808252603e908201527f426f72726f7765724f70733a2043616e6e6f7420646563726561736520796f7560408201527f722054726f766527732049435220696e205265636f76657279204d6f64650000606082015260800190565b6020808252601d908201527f4665652065786365656465642070726f7669646564206d6178696d756d000000604082015260600190565b60208082526016908201527513585cdcd95d081859191c995cdcc81b9bdd081cd95d60521b604082015260600190565b90815260200190565b806003811061097357fe5b6001600160a01b038116811461071057600080fd5b801515811461071057600080fdfec3770d654ed33aeea6bf11ac8ef05d02a6a04ed4686dd2f624d853bbec43cc8ba26469706673582212205c5ffb23eadbeafd7ab3df3f840e0cf067a73b2d5014c5a54bc7acacce8677f564736f6c634300060b0033", - "deployedBytecode": "0x6080604052600436106102605760003560e01c8063759b303411610144578063a20baee6116100b6578063c6a6cf201161007a578063c6a6cf2014610624578063e9fc346114610637578063ea9638bf1461064c578063ec5472fd1461065f578063ec9f7d4614610674578063f92d34331461068957610267565b8063a20baee61461046a578063a3f4df7e146105b8578063ae918754146105da578063afbc74b5146105ef578063b5c89bab1461060f57610267565b8063860665b311610108578063860665b31461053357806387eb305d14610546578063887105d314610566578063893d20e81461057b5780638d5c3dc1146105905780639f070670146105a357610267565b8063759b3034146104b45780637778a3db146104c9578063795d26c3146104e95780637e3eefdc146104fe5780637f7dde4a1461051e57610267565b8063485f190f116101dd5780636ea56960116101a15780636ea56960146104155780636f0b0c1c146104355780636f30d2121461044a57806372fe25aa1461046a578063734f622d1461047f578063741bef1a1461049f57610267565b8063485f190f1461038f5780634ff81443146103a257806351584ca4146103c25780635530273c146103e257806368647db11461040257610267565b80631bf43555116102245780631bf43555146103035780632771510a146103255780632cdcd722146103455780633cc74225146103655780633d83908a1461037a57610267565b80630d43e8ad1461026c5780630e704d50146102975780630ff9a512146102ae57806313af4035146102c35780631a777717146102e357610267565b3661026757005b600080fd5b34801561027857600080fd5b5061028161069e565b60405161028e9190614227565b60405180910390f35b3480156102a357600080fd5b506102ac6106ad565b005b3480156102ba57600080fd5b506102816106b7565b3480156102cf57600080fd5b506102ac6102de366004613d1f565b6106c6565b3480156102ef57600080fd5b506102ac6102fe366004613fc2565b610713565b34801561030f57600080fd5b5061031861072a565b60405161028e9190614c32565b34801561033157600080fd5b506102ac610340366004613d1f565b610737565b34801561035157600080fd5b506102ac610360366004613ec6565b6107c5565b34801561037157600080fd5b506102816107dd565b34801561038657600080fd5b506102816107ec565b6102ac61039d366004614085565b6107fb565b3480156103ae57600080fd5b506103186103bd366004613f6c565b610965565b3480156103ce57600080fd5b506103186103dd36600461417e565b610978565b3480156103ee57600080fd5b506102ac6103fd366004613f9c565b610995565b6102ac610410366004613d57565b6109ab565b34801561042157600080fd5b506102ac610430366004614085565b6109c1565b34801561044157600080fd5b506102ac6109d2565b34801561045657600080fd5b50610318610465366004614064565b610a30565b34801561047657600080fd5b50610318610a45565b34801561048b57600080fd5b506102ac61049a366004613dd9565b610a51565b3480156104ab57600080fd5b50610281610e15565b3480156104c057600080fd5b50610318610e24565b3480156104d557600080fd5b506102ac6104e4366004613f51565b610e31565b3480156104f557600080fd5b50610318610f22565b34801561050a57600080fd5b50610318610519366004614085565b611041565b34801561052a57600080fd5b506102816112bc565b6102ac610541366004614085565b6112cb565b34801561055257600080fd5b50610318610561366004614013565b6112d8565b34801561057257600080fd5b506103186112f1565b34801561058757600080fd5b506102816113c0565b6102ac61059e366004614106565b6113df565b3480156105af57600080fd5b506102816113f7565b3480156105c457600080fd5b506105cd611406565b60405161028e919061430f565b3480156105e657600080fd5b50610281611434565b3480156105fb57600080fd5b506102ac61060a366004613f9c565b611443565b34801561061b57600080fd5b50610281611455565b6102ac6106323660046140ce565b611464565b34801561064357600080fd5b50610281611473565b6102ac61065a366004613d8f565b611482565b34801561066b57600080fd5b5061028161149c565b34801561068057600080fd5b506102816114ab565b34801561069557600080fd5b506103186114ba565b600d546001600160a01b031681565b6106b561153c565b565b6009546001600160a01b031681565b6106ce6113c0565b6001600160a01b0316336001600160a01b0316146107075760405162461bcd60e51b81526004016106fe906147f8565b60405180910390fd5b6107108161192b565b50565b6107246000808660008787876119b6565b50505050565b6809c2007651b250000081565b61073f6113c0565b6001600160a01b0316336001600160a01b03161461076f5760405162461bcd60e51b81526004016106fe906147f8565b600c80546001600160a01b0319166001600160a01b0383161790556040517f6926b3375b54960080b7d8a184061f39a02e8c3bf64aa9df7e75359fdc00d814906107ba908390614227565b60405180910390a150565b6107d58686868686866000611b6c565b505050505050565b6001546001600160a01b031681565b6004546001600160a01b031681565b600c546001600160a01b03166108235760405162461bcd60e51b81526004016106fe90614c02565b6108308484848430611b7c565b600a54600c5460405163095ea7b360e01b81526001600160a01b039283169263095ea7b39261086692911690879060040161427c565b602060405180830381600087803b15801561088057600080fd5b505af1158015610894573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108b89190613f35565b6108d45760405162461bcd60e51b81526004016106fe90614886565b600c54600a5460405163438b1b4b60e01b81526001600160a01b039283169263438b1b4b9261090c92911690879033906004016142c0565b602060405180830381600087803b15801561092657600080fd5b505af115801561093a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061095e9190613f84565b5050505050565b6000610970826121a7565b90505b919050565b6000610989888888888888886121c2565b98975050505050505050565b6109a6338460008086866000611b6c565b505050565b6109bd33600080600086866000611b6c565b5050565b61072433600085600186868a611b6c565b60075460405163b32beb5b60e01b81526001600160a01b039091169063b32beb5b90610a02903390600401614227565b600060405180830381600087803b158015610a1c57600080fd5b505af1158015610724573d6000803e3d6000fd5b6000610a3c83836121f5565b90505b92915050565b670de0b6b3a764000081565b610a596113c0565b6001600160a01b0316336001600160a01b031614610a895760405162461bcd60e51b81526004016106fe906147f8565b610a928c612228565b610a9b8b612228565b610aa48a612228565b610aad89612228565b610ab688612228565b610abf87612228565b610ac886612228565b610ad185612228565b610ada84612228565b610ae383612228565b610aec82612228565b610af581612228565b600d80546001600160a01b03199081166001600160a01b038f8116919091179092556003805482168e84161790556004805482168d84161790556000805482168c84161790556001805482168b84161790556005805482168a8416179055600680548216898416179055600780548216888416179055600280548216878416179055600b80548216868416179055600a8054821685841617905560098054821692841692831790556008805490911690911790556040517f84861842e6a98dd759145eb5e7b48279d0f02ebeabc8a69e5196b2f4c5023db990610bd9908e90614227565b60405180910390a17f143219c9e69b09e07e095fcc889b43d8f46ca892bba65f08dc3a0050869a56788a604051610c109190614227565b60405180910390a17f78f058b189175430c48dc02699e3a0031ea4ff781536dc2fab847de4babdd88289604051610c479190614227565b60405180910390a17f5ee0cae2f063ed938bb55046f6a932fb6ae792bf43624806bb90abe68a50be9b88604051610c7e9190614227565b60405180910390a17f82966d27eea39b038ee0fa30cd16532bb24f6e65d31cb58fb227aa5766cdcc7f87604051610cb59190614227565b60405180910390a17fcfb07d791fcafc032b35837b50eb84b74df518cf4cc287e8084f47630fa70fa086604051610cec9190614227565b60405180910390a17fe67f36a6e961157d6eff83b91f3af5a62131ceb6f04954ef74f51c1c05e7f88d85604051610d239190614227565b60405180910390a17f8c537274438aa850a330284665d81a85dd38267d09e4050d416bfc94142db26484604051610d5a9190614227565b60405180910390a17f65f4cf077bc01e4742eb5ad98326f6e95b63548ea24b17f8d5e823111fe7880083604051610d919190614227565b60405180910390a17fcdf33850c44a1a874b5fefb51dae615ac6afebd581ef90d571f81b06541d8e9d82604051610dc89190614227565b60405180910390a17f7624075ed781e3aa34b0f492d70d1bb5a6fcde04534165e20f990d2e546be4dd81604051610dff9190614227565b60405180910390a1505050505050505050505050565b6002546001600160a01b031681565b6801158e460913d0000081565b600c546001600160a01b0316610e595760405162461bcd60e51b81526004016106fe90614c02565b6004805460405163d66a255360e01b81526000926001600160a01b039092169163d66a255391610e8b91339101614227565b60206040518083038186803b158015610ea357600080fd5b505afa158015610eb7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610edb9190613f84565b600c54909150610f19906001600160a01b0316610f07836801158e460913d0000063ffffffff61226d16565b600a546001600160a01b0316856122af565b506109bd61153c565b60008054604080516272c7d360e71b8152905183926001600160a01b031691633963e980916004808301926020929190829003018186803b158015610f6657600080fd5b505afa158015610f7a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f9e9190613f84565b90506000600160009054906101000a90046001600160a01b03166001600160a01b0316633963e9806040518163ffffffff1660e01b815260040160206040518083038186803b158015610ff057600080fd5b505afa158015611004573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110289190613f84565b905061103a828263ffffffff61255416565b9250505090565b600a546040516370a0823160e01b8152600091309183916001600160a01b0316906370a0823190611076908590600401614227565b60206040518083038186803b15801561108e57600080fd5b505afa1580156110a2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110c69190613f84565b90506110d633838888888c612579565b6110e6818763ffffffff61255416565b600a546040516370a0823160e01b81526001600160a01b03909116906370a0823190611116908690600401614227565b60206040518083038186803b15801561112e57600080fd5b505afa158015611142573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111669190613f84565b146111835760405162461bcd60e51b81526004016106fe9061448c565b600a54600c5460405163095ea7b360e01b81526001600160a01b039283169263095ea7b3926111b9929116908a9060040161427c565b602060405180830381600087803b1580156111d357600080fd5b505af11580156111e7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061120b9190613f35565b6112275760405162461bcd60e51b81526004016106fe90614886565b600c54600a5460405163438b1b4b60e01b81526001600160a01b039283169263438b1b4b9261125f929116908a9033906004016142c0565b602060405180830381600087803b15801561127957600080fd5b505af115801561128d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112b19190613f84565b979650505050505050565b6000546001600160a01b031681565b6107248484848433611b7c565b60006112e7868686868661258b565b9695505050505050565b6000805460408051630a7b61df60e11b8152905183926001600160a01b0316916314f6c3be916004808301926020929190829003018186803b15801561133657600080fd5b505afa15801561134a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061136e9190613f84565b90506000600160009054906101000a90046001600160a01b03166001600160a01b03166314f6c3be6040518163ffffffff1660e01b815260040160206040518083038186803b158015610ff057600080fd5b6000806040516113cf9061420a565b6040519081900390205492915050565b6113ee878787878787876119b6565b50505050505050565b6003546001600160a01b031681565b60405180604001604052806012815260200171426f72726f7765724f7065726174696f6e7360701b81525081565b600b546001600160a01b031681565b6109a633600085600086866000611b6c565b600c546001600160a01b031681565b6107d53386868686868c611b6c565b600c546001600160a01b031690565b61148a612616565b6109a683600080600086866000611b6c565b6008546001600160a01b031681565b600a546001600160a01b031681565b6003546040805163f92d343360e01b815290516000926001600160a01b03169163f92d3433916004808301926020929190829003018186803b1580156114ff57600080fd5b505afa158015611513573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115379190613f84565b905090565b600454600054600a546001600160a01b039283169291821691166115608333612640565b60025460408051630fdb11cf60e01b815290516000926001600160a01b031691630fdb11cf91600480830192602092919082900301818787803b1580156115a657600080fd5b505af11580156115ba573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115de9190613f84565b90506115e9816126e1565b604051630b07655760e01b81526001600160a01b03851690630b07655790611615903390600401614227565b600060405180830381600087803b15801561162f57600080fd5b505af1158015611643573d6000803e3d6000fd5b50506040516309019aaf60e31b8152600092506001600160a01b038716915063480cd57890611676903390600401614227565b60206040518083038186803b15801561168e57600080fd5b505afa1580156116a2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116c69190613f84565b90506000856001600160a01b031663d66a2553336040518263ffffffff1660e01b81526004016116f69190614227565b60206040518083038186803b15801561170e57600080fd5b505afa158015611722573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117469190613f84565b905061176b8433611766846801158e460913d0000063ffffffff61226d16565b612707565b600061177c8360008460008861258b565b9050611787816127a3565b604051631fc5750960e31b81526001600160a01b0388169063fe2ba848906117b3903390600401614227565b600060405180830381600087803b1580156117cd57600080fd5b505af11580156117e1573d6000803e3d6000fd5b50506040516365e89c5760e11b81526001600160a01b038a16925063cbd138ae9150611811903390600401614227565b600060405180830381600087803b15801561182b57600080fd5b505af115801561183f573d6000803e3d6000fd5b50505050336001600160a01b0316600080516020614c6a8339815191526000806000600160405161187394939291906142e3565b60405180910390a261189f86863361189a866801158e460913d0000063ffffffff61226d16565b612848565b6006546118c290879087906001600160a01b03166801158e460913d00000612848565b6040516364a197f360e01b81526001600160a01b038716906364a197f3906118f0903390879060040161427c565b600060405180830381600087803b15801561190a57600080fd5b505af115801561191e573d6000803e3d6000fd5b5050505050505050505050565b6001600160a01b0381166119515760405162461bcd60e51b81526004016106fe906144c3565b806001600160a01b03166119636113c0565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360006040516119a69061420a565b6040519081900390209190915550565b600c546001600160a01b03166119de5760405162461bcd60e51b81526004016106fe90614c02565b831580156119ec5750600085115b15611a1257600c54600a54611a10916001600160a01b0390811691889116846122af565b505b611a223387878787878d30612902565b838015611a2f5750600085115b156113ee57600a54600c5460405163095ea7b360e01b81526001600160a01b039283169263095ea7b392611a6a92911690899060040161427c565b602060405180830381600087803b158015611a8457600080fd5b505af1158015611a98573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611abc9190613f35565b611ad85760405162461bcd60e51b81526004016106fe90614886565b600c54600a5460405163438b1b4b60e01b81526001600160a01b039283169263438b1b4b92611b1092911690899033906004016142c0565b602060405180830381600087803b158015611b2a57600080fd5b505af1158015611b3e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b629190613f84565b5050505050505050565b6113ee8787878787878733612902565b611b84613c1e565b50604080516060810182526004546001600160a01b03908116825260005481166020830152600a541691810191909152611bbc613c3e565b600260009054906101000a90046001600160a01b03166001600160a01b0316630fdb11cf6040518163ffffffff1660e01b8152600401602060405180830381600087803b158015611c0c57600080fd5b505af1158015611c20573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c449190613f84565b808252600090611c5390612ee6565b9050611c5f8882612f81565b8251611c6b903361306d565b6040820187905280611cac57611c8b83600001518460400151898b61310f565b602083018190526040830151611ca69163ffffffff61255416565b60408301525b611cb982604001516132c8565b611cc682604001516121a7565b60608301819052611cd357fe5b611ce634836060015184600001516132f1565b60808301526060820151611cfb903490613324565b60a08301528015611d1857611d138260800151613359565b611d4b565b611d2582608001516133fe565b6000611d3e34600185606001516001876000015161258b565b9050611d49816127a3565b505b8251604051635d6b480f60e01b81526001600160a01b0390911690635d6b480f90611d7d90339060019060040161427c565b600060405180830381600087803b158015611d9757600080fd5b505af1158015611dab573d6000803e3d6000fd5b505084516040516372423c1760e01b81526001600160a01b0390911692506372423c179150611de0903390349060040161427c565b602060405180830381600087803b158015611dfa57600080fd5b505af1158015611e0e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e329190613f84565b5082516060830151604051639976cf4560e01b81526001600160a01b0390921691639976cf4591611e689133919060040161427c565b602060405180830381600087803b158015611e8257600080fd5b505af1158015611e96573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611eba9190613f84565b5082516040516382fe3eb960e01b81526001600160a01b03909116906382fe3eb990611eea903390600401614227565b600060405180830381600087803b158015611f0457600080fd5b505af1158015611f18573d6000803e3d6000fd5b50508451604051630c7940bd60e11b81526001600160a01b0390911692506318f2817a9150611f4b903390600401614227565b602060405180830381600087803b158015611f6557600080fd5b505af1158015611f79573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f9d9190613f84565b60c0830152600b5460a08301516040516346f7cf8760e01b81526001600160a01b03909216916346f7cf8791611fdc913391908b908b90600401614295565b600060405180830381600087803b158015611ff657600080fd5b505af115801561200a573d6000803e3d6000fd5b505084516040516315d549f160e01b81526001600160a01b0390911692506315d549f1915061203d903390600401614227565b602060405180830381600087803b15801561205757600080fd5b505af115801561206b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061208f9190613f84565b60e0830181905260405133917f59cfd0cd754bc5748b6770e94a4ffa5f678d885cb899dcfadc5734edb97c67ab916120c79190614c32565b60405180910390a26120dd8360200151346134a3565b6120f683602001518460400151868a866040015161351f565b602083015160408401516006546121229291906001600160a01b03166801158e460913d000008061351f565b606082015160c08301516040513392600080516020614c6a83398151915292612150923491906000906142e3565b60405180910390a2336001600160a01b03167f71457d8a5ab7e4561ed49d05338674b73ac3b83b0b315f165f5b12bcc002274183602001516040516121959190614c32565b60405180910390a25050505050505050565b6000610970826801158e460913d0000063ffffffff61255416565b60008060006121d58a8a8a8a8a8a6135e4565b9150915060006121e68383876132f1565b9b9a5050505050505050505050565b600080612220670de0b6b3a7640000612214858763ffffffff61365016565b9063ffffffff61368a16565b949350505050565b6001600160a01b03811661224e5760405162461bcd60e51b81526004016106fe90614605565b803b806109bd5760405162461bcd60e51b81526004016106fe906149a9565b6000610a3c83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506136cc565b600080856001600160a01b03166321df0da76040518163ffffffff1660e01b815260040160206040518083038186803b1580156122eb57600080fd5b505afa1580156122ff573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123239190613d3b565b90506000816001600160a01b03166370a08231306040518263ffffffff1660e01b81526004016123539190614227565b60206040518083038186803b15801561236b57600080fd5b505afa15801561237f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123a39190613f84565b9050306001600160a01b03831663605629d633838a89356123ca60408c0160208d016141e6565b8b604001358c606001356040518863ffffffff1660e01b81526004016123f6979695949392919061423b565b600060405180830381600087803b15801561241057600080fd5b505af1158015612424573d6000803e3d6000fd5b50505050866124b583856001600160a01b03166370a08231856040518263ffffffff1660e01b81526004016124599190614227565b60206040518083038186803b15801561247157600080fd5b505afa158015612485573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124a99190613f84565b9063ffffffff61226d16565b146124d25760405162461bcd60e51b81526004016106fe9061440c565b60405163fb2c922360e01b81526001600160a01b0389169063fb2c9223906125029089908b9033906004016142c0565b602060405180830381600087803b15801561251c57600080fd5b505af1158015612530573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109899190613f84565b600082820183811015610a3c5760405162461bcd60e51b81526004016106fe90614455565b6107d58660008660018787878c612902565b6000806125966112f1565b905060006125a2610f22565b9050866125be576125b9828963ffffffff61226d16565b6125ce565b6125ce828963ffffffff61255416565b9150846125ea576125e5818763ffffffff61226d16565b6125fa565b6125fa818763ffffffff61255416565b905060006126098383876132f1565b9998505050505050505050565b6005546001600160a01b031633146106b55760405162461bcd60e51b81526004016106fe90614a47565b6040516321e3780160e01b81526000906001600160a01b038416906321e378019061266f908590600401614227565b60206040518083038186803b15801561268757600080fd5b505afa15801561269b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906126bf9190613f84565b9050806001146109a65760405162461bcd60e51b81526004016106fe906147aa565b6126ea81612ee6565b156107105760405162461bcd60e51b81526004016106fe90614555565b6040516370a0823160e01b815281906001600160a01b038516906370a0823190612735908690600401614227565b60206040518083038186803b15801561274d57600080fd5b505afa158015612761573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127859190613f84565b10156109a65760405162461bcd60e51b81526004016106fe90614362565b600360009054906101000a90046001600160a01b03166001600160a01b0316635733d58f6040518163ffffffff1660e01b815260040160206040518083038186803b1580156127f157600080fd5b505afa158015612805573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906128299190613f84565b8110156107105760405162461bcd60e51b81526004016106fe9061473b565b60405163121cbc4d60e11b81526001600160a01b03851690632439789a90612874908490600401614c32565b600060405180830381600087803b15801561288e57600080fd5b505af11580156128a2573d6000803e3d6000fd5b5050604051632770a7eb60e21b81526001600160a01b0386169250639dc29fac91506128d4908590859060040161427c565b600060405180830381600087803b1580156128ee57600080fd5b505af1158015611b62573d6000803e3d6000fd5b61290a613c1e565b50604080516060810182526004546001600160a01b03908116825260005481166020830152600a541691810191909152612942613c83565b600260009054906101000a90046001600160a01b03166001600160a01b0316630fdb11cf6040518163ffffffff1660e01b8152600401602060405180830381600087803b15801561299257600080fd5b505af11580156129a6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906129ca9190613f84565b8082526129d690612ee6565b15156101c082015286156129fc576129f384826101c00151612f81565b6129fc886136f8565b612a0589613718565b612a0f898961373f565b8151612a1b908b612640565b336001600160a01b038b161480612a5157506005546001600160a01b031633148015612a475750600034115b8015612a51575087155b612a5757fe5b8151604051630b07655760e01b81526001600160a01b0390911690630b07655790612a86908d90600401614227565b600060405180830381600087803b158015612aa057600080fd5b505af1158015612ab4573d6000803e3d6000fd5b50505050612ac2348a613772565b15156060830152602082015260408101889052868015612ae55750806101c00151155b15612b2057612afe826000015183604001518a8761310f565b61012082018190526040820151612b1a9163ffffffff61255416565b60408201525b815160405163d66a255360e01b81526001600160a01b039091169063d66a255390612b4f908d90600401614227565b60206040518083038186803b158015612b6757600080fd5b505afa158015612b7b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612b9f9190613f84565b608082015281516040516309019aaf60e31b81526001600160a01b039091169063480cd57890612bd3908d90600401614227565b60206040518083038186803b158015612beb57600080fd5b505afa158015612bff573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612c239190613f84565b60a0820181905260808201518251612c3c9291906132f1565b8160c0018181525050612c6c8160a0015182608001518360200151846060015185604001518c87600001516121c2565b60e082015260a0810151891115612c7f57fe5b612c90816101c001518a8984613791565b86158015612c9e5750600088115b15612ce557612cc0612cbb82604001516124a98460800151613805565b6132c8565b612cd281608001518260400151613820565b612ce582604001518b8360400151612707565b612d0382600001518b8360200151846060015185604001518c613858565b6101408301526101608201528151604051630c7940bd60e11b81526001600160a01b03909116906318f2817a90612d3e908d90600401614227565b602060405180830381600087803b158015612d5857600080fd5b505af1158015612d6c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612d909190613f84565b81610180018181525050612dbc8160a0015182608001518360200151846060015185604001518c613a70565b6101a08201819052600b5460405163015f109360e51b81526001600160a01b0390911691632be2126091612df8918e918b908b90600401614295565b600060405180830381600087803b158015612e1257600080fd5b505af1158015612e26573d6000803e3d6000fd5b50505050896001600160a01b0316600080516020614c6a8339815191528261014001518361016001518461018001516002604051612e6794939291906142e3565b60405180910390a2336001600160a01b03167f71457d8a5ab7e4561ed49d05338674b73ac3b83b0b315f165f5b12bcc0022741826101200151604051612ead9190614c32565b60405180910390a2612eda8260200151836040015133846020015185606001518d8d88604001518b613aa1565b50505050505050505050565b600080612ef283613b45565b9050600360009054906101000a90046001600160a01b03166001600160a01b0316635733d58f6040518163ffffffff1660e01b815260040160206040518083038186803b158015612f4257600080fd5b505afa158015612f56573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612f7a9190613f84565b1192915050565b8015612fb457670de0b6b3a7640000821115612faf5760405162461bcd60e51b81526004016106fe9061463c565b6109bd565b600360009054906101000a90046001600160a01b03166001600160a01b031663f92d34336040518163ffffffff1660e01b815260040160206040518083038186803b15801561300257600080fd5b505afa158015613016573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061303a9190613f84565b82101580156130515750670de0b6b3a76400008211155b6109bd5760405162461bcd60e51b81526004016106fe90614a90565b6040516321e3780160e01b81526000906001600160a01b038416906321e378019061309c908590600401614227565b60206040518083038186803b1580156130b457600080fd5b505afa1580156130c8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906130ec9190613f84565b905080600114156109a65760405162461bcd60e51b81526004016106fe90614ae0565b6000846001600160a01b0316635dba4c4a6040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561314c57600080fd5b505af1158015613160573d6000803e3d6000fd5b5050604051630631203b60e41b8152600092506001600160a01b038816915063631203b090613193908790600401614c32565b60206040518083038186803b1580156131ab57600080fd5b505afa1580156131bf573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906131e39190613f84565b90506131f0818585613b69565b600d546040516340c10f1960e01b81526001600160a01b03878116926340c10f19926132249290911690859060040161427c565b600060405180830381600087803b15801561323e57600080fd5b505af1158015613252573d6000803e3d6000fd5b50505050600d60009054906101000a90046001600160a01b03166001600160a01b031663bb57ad206040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156132a657600080fd5b505af11580156132ba573d6000803e3d6000fd5b509298975050505050505050565b6809c2007651b25000008110156107105760405162461bcd60e51b81526004016106fe9061494c565b6000821561331857600061330f84612214878663ffffffff61365016565b915061331d9050565b506000195b9392505050565b6000811561335057613349826122148568056bc75e2d6310000063ffffffff61365016565b9050610a3f565b50600019610a3f565b600360009054906101000a90046001600160a01b03166001600160a01b0316635733d58f6040518163ffffffff1660e01b815260040160206040518083038186803b1580156133a757600080fd5b505afa1580156133bb573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906133df9190613f84565b8110156107105760405162461bcd60e51b81526004016106fe906145ae565b600360009054906101000a90046001600160a01b03166001600160a01b031663794e57246040518163ffffffff1660e01b815260040160206040518083038186803b15801561344c57600080fd5b505afa158015613460573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906134849190613f84565b8110156107105760405162461bcd60e51b81526004016106fe906148dd565b6000826001600160a01b0316826040516134bc90614207565b60006040518083038185875af1925050503d80600081146134f9576040519150601f19603f3d011682016040523d82523d6000602084013e6134fe565b606091505b50509050806109a65760405162461bcd60e51b81526004016106fe906143bf565b60405163f2e91d7160e01b81526001600160a01b0386169063f2e91d719061354b908490600401614c32565b600060405180830381600087803b15801561356557600080fd5b505af1158015613579573d6000803e3d6000fd5b50506040516340c10f1960e01b81526001600160a01b03871692506340c10f1991506135ab908690869060040161427c565b600060405180830381600087803b1580156135c557600080fd5b505af11580156135d9573d6000803e3d6000fd5b505050505050505050565b600080878786613603576135fe8a8963ffffffff61226d16565b613613565b6136138a8963ffffffff61255416565b91508461362f5761362a898763ffffffff61226d16565b61363f565b61363f898763ffffffff61255416565b919a91995090975050505050505050565b60008261365f57506000610a3f565b8282028284828161366c57fe5b0414610a3c5760405162461bcd60e51b81526004016106fe906146fa565b6000610a3c83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250613ba9565b600081848411156136f05760405162461bcd60e51b81526004016106fe919061430f565b505050900390565b600081116107105760405162461bcd60e51b81526004016106fe90614b17565b341580613723575080155b6107105760405162461bcd60e51b81526004016106fe90614505565b3415158061374c57508115155b8061375657508015155b6109bd5760405162461bcd60e51b81526004016106fe9061468e565b60008083156137865750829050600161378a565b8291505b9250929050565b83156137ca576137a083613be0565b81156137c5576137b38160e00151613359565b6137c58160e001518260c00151613bfe565b610724565b6137d78160e001516133fe565b6137f481602001518260600151836040015185856000015161258b565b6101008201819052610724906127a3565b6000610970826801158e460913d0000063ffffffff61226d16565b613839826801158e460913d0000063ffffffff61226d16565b8111156109bd5760405162461bcd60e51b81526004016106fe906149de565b6000806000856138e75760405163d3d6f84360e01b81526001600160a01b038a169063d3d6f84390613890908b908b9060040161427c565b602060405180830381600087803b1580156138aa57600080fd5b505af11580156138be573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906138e29190613f84565b613967565b6040516372423c1760e01b81526001600160a01b038a16906372423c1790613915908b908b9060040161427c565b602060405180830381600087803b15801561392f57600080fd5b505af1158015613943573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906139679190613f84565b90506000846139f057604051630930874960e11b81526001600160a01b038b16906312610e929061399e908c908a9060040161427c565b602060405180830381600087803b1580156139b857600080fd5b505af11580156139cc573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061362a9190613f84565b604051639976cf4560e01b81526001600160a01b038b1690639976cf4590613a1e908c908a9060040161427c565b602060405180830381600087803b158015613a3857600080fd5b505af1158015613a4c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061363f9190613f84565b6000806000613a838989898989896135e4565b915091506000613a938383613324565b9a9950505050505050505050565b8215613ab957613ab4898983878661351f565b613ac5565b613ac589898987612848565b8415613ada57613ad589876134a3565b6135d9565b6040516364a197f360e01b81526001600160a01b038a16906364a197f390613b08908a908a9060040161427c565b600060405180830381600087803b158015613b2257600080fd5b505af1158015613b36573d6000803e3d6000fd5b50505050505050505050505050565b600080613b506112f1565b90506000613b5c610f22565b90506122208282866132f1565b6000613b878361221486670de0b6b3a764000063ffffffff61365016565b9050818111156107245760405162461bcd60e51b81526004016106fe90614bcb565b60008183613bca5760405162461bcd60e51b81526004016106fe919061430f565b506000838581613bd657fe5b0495945050505050565b80156107105760405162461bcd60e51b81526004016106fe90614829565b808210156109bd5760405162461bcd60e51b81526004016106fe90614b6e565b604080516060810182526000808252602082018190529181019190915290565b60405180610100016040528060008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081525090565b604051806101e00160405280600081526020016000815260200160008152602001600015158152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000151581525090565b8035610a3f81614c46565b600060808284031215613d19578081fd5b50919050565b600060208284031215613d30578081fd5b8135610a3c81614c46565b600060208284031215613d4c578081fd5b8151610a3c81614c46565b60008060408385031215613d69578081fd5b8235613d7481614c46565b91506020830135613d8481614c46565b809150509250929050565b600080600060608486031215613da3578081fd5b8335613dae81614c46565b92506020840135613dbe81614c46565b91506040840135613dce81614c46565b809150509250925092565b6000806000806000806000806000806000806101808d8f031215613dfb578788fd5b8c35613e0681614c46565b9b5060208d0135613e1681614c46565b9a5060408d0135613e2681614c46565b995060608d0135613e3681614c46565b985060808d0135613e4681614c46565b975060a08d0135613e5681614c46565b9650613e658e60c08f01613cfd565b9550613e748e60e08f01613cfd565b9450613e848e6101008f01613cfd565b9350613e948e6101208f01613cfd565b9250613ea48e6101408f01613cfd565b9150613eb48e6101608f01613cfd565b90509295989b509295989b509295989b565b60008060008060008060c08789031215613ede578182fd5b8635613ee981614c46565b955060208701359450604087013593506060870135613f0781614c5b565b92506080870135613f1781614c46565b915060a0870135613f2781614c46565b809150509295509295509295565b600060208284031215613f46578081fd5b8151610a3c81614c5b565b600060808284031215613f62578081fd5b610a3c8383613d08565b600060208284031215613f7d578081fd5b5035919050565b600060208284031215613f95578081fd5b5051919050565b600080600060608486031215613fb0578283fd5b833592506020840135613dbe81614c46565b60008060008060e08587031215613fd7578384fd5b843593506020850135613fe981614c46565b92506040850135613ff981614c46565b91506140088660608701613d08565b905092959194509250565b600080600080600060a0868803121561402a578283fd5b85359450602086013561403c81614c5b565b935060408601359250606086013561405381614c5b565b949793965091946080013592915050565b60008060408385031215614076578182fd5b50508035926020909101359150565b6000806000806080858703121561409a578182fd5b843593506020850135925060408501356140b381614c46565b915060608501356140c381614c46565b939692955090935050565b60008060008060008060c087890312156140e6578384fd5b8635955060208701359450604087013593506060870135613f0781614c5b565b6000806000806000806000610140888a031215614121578081fd5b873596506020880135955060408801359450606088013561414181614c5b565b9350608088013561415181614c46565b925060a088013561416181614c46565b91506141708960c08a01613d08565b905092959891949750929550565b600080600080600080600060e0888a031215614198578081fd5b87359650602088013595506040880135945060608801356141b881614c5b565b93506080880135925060a08801356141cf81614c5b565b8092505060c0880135905092959891949750929550565b6000602082840312156141f7578081fd5b813560ff81168114610a3c578182fd5b90565b7035b2bc9737bbb730b136329737bbb732b960791b815260110190565b6001600160a01b0391909116815260200190565b6001600160a01b0397881681529590961660208601526040850193909352606084019190915260ff16608083015260a082015260c081019190915260e00190565b6001600160a01b03929092168252602082015260400190565b6001600160a01b03948516815260208101939093529083166040830152909116606082015260800190565b6001600160a01b0393841681526020810192909252909116604082015260600190565b84815260208101849052604081018390526080810161430183614c3b565b606083015295945050505050565b6000602080835283518082850152825b8181101561433b5785810183015185820160400152820161431f565b8181111561434c5783604083870101525b50601f01601f1916929092016040019392505050565b6020808252603d908201527f426f72726f7765724f70733a2043616c6c657220646f65736e7420686176652060408201527f656e6f756768205a55534420746f206d616b652072657061796d656e74000000606082015260800190565b6020808252602d908201527f426f72726f7765724f70733a2053656e64696e672045544820746f204163746960408201526c1d99541bdbdb0819985a5b1959609a1b606082015260800190565b60208082526029908201527f444c4c52207472616e7366657272656420616d6f756e742076616c69646174696040820152681bdb8819985a5b195960ba1b606082015260800190565b6020808252601b908201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604082015260600190565b6020808252601e908201527f5a555344206973206e6f7420626f72726f77656420636f72726563746c790000604082015260600190565b60208082526022908201527f4f776e61626c653a3a7365744f776e65723a20696e76616c6964206164647265604082015261737360f01b606082015260800190565b60208082526030908201527f426f72726f7765724f7065726174696f6e733a2043616e6e6f7420776974686460408201526f1c985dc8185b99081859190818dbdb1b60821b606082015260800190565b60208082526039908201527f426f72726f7765724f70733a204f7065726174696f6e206e6f74207065726d696040820152787474656420647572696e67205265636f76657279204d6f646560381b606082015260800190565b60208082526037908201527f426f72726f7765724f70733a204f7065726174696f6e206d757374206c65617660408201527632903a3937bb32903bb4ba341024a1a9101f1e9021a1a960491b606082015260800190565b6020808252601e908201527f4163636f756e742063616e6e6f74206265207a65726f20616464726573730000604082015260600190565b60208082526032908201527f4d6178206665652070657263656e74616765206d757374206c657373207468616040820152716e206f7220657175616c20746f203130302560701b606082015260800190565b60208082526046908201527f426f72726f7765724f70733a205468657265206d75737420626520656974686560408201527f72206120636f6c6c61746572616c206368616e6765206f7220612064656274206060820152656368616e676560d01b608082015260a00190565b60208082526021908201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6040820152607760f81b606082015260800190565b60208082526049908201527f426f72726f7765724f70733a20416e206f7065726174696f6e2074686174207760408201527f6f756c6420726573756c7420696e20544352203c20434352206973206e6f74206060820152681c195c9b5a5d1d195960ba1b608082015260a00190565b6020808252602e908201527f426f72726f7765724f70733a2054726f766520646f6573206e6f74206578697360408201526d1d081bdc881a5cc818db1bdcd95960921b606082015260800190565b60208082526017908201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604082015260600190565b6020808252603e908201527f426f72726f7765724f70733a20436f6c6c61746572616c20776974686472617760408201527f616c206e6f74207065726d6974746564205265636f76657279204d6f64650000606082015260800190565b60208082526037908201527f4661696c656420746f20617070726f7665205a55534420616d6f756e7420666f60408201527672204d796e74206d417373657420746f2072656465656d60481b606082015260800190565b60208082526049908201527f426f72726f7765724f70733a20416e206f7065726174696f6e2074686174207760408201527f6f756c6420726573756c7420696e20494352203c204d4352206973206e6f74206060820152681c195c9b5a5d1d195960ba1b608082015260a00190565b6020808252603a908201527f426f72726f7765724f70733a2054726f76652773206e65742064656274206d7560408201527f73742062652067726561746572207468616e206d696e696d756d000000000000606082015260800190565b6020808252818101527f4163636f756e7420636f64652073697a652063616e6e6f74206265207a65726f604082015260600190565b60208082526043908201527f426f72726f7765724f70733a20416d6f756e7420726570616964206d7573742060408201527f6e6f74206265206c6172676572207468616e207468652054726f76652773206460608201526219589d60ea1b608082015260a00190565b60208082526029908201527f426f72726f7765724f70733a2043616c6c6572206973206e6f742053746162696040820152681b1a5d1e48141bdbdb60ba1b606082015260800190565b60208082526030908201527f4d6178206665652070657263656e74616765206d75737420626520626574776560408201526f656e20302e352520616e64203130302560801b606082015260800190565b6020808252601c908201527f426f72726f7765724f70733a2054726f76652069732061637469766500000000604082015260600190565b60208082526037908201527f426f72726f7765724f70733a204465627420696e637265617365207265717569604082015276726573206e6f6e2d7a65726f20646562744368616e676560481b606082015260800190565b6020808252603e908201527f426f72726f7765724f70733a2043616e6e6f7420646563726561736520796f7560408201527f722054726f766527732049435220696e205265636f76657279204d6f64650000606082015260800190565b6020808252601d908201527f4665652065786365656465642070726f7669646564206d6178696d756d000000604082015260600190565b60208082526016908201527513585cdcd95d081859191c995cdcc81b9bdd081cd95d60521b604082015260600190565b90815260200190565b806003811061097357fe5b6001600160a01b038116811461071057600080fd5b801515811461071057600080fdfec3770d654ed33aeea6bf11ac8ef05d02a6a04ed4686dd2f624d853bbec43cc8ba26469706673582212205c5ffb23eadbeafd7ab3df3f840e0cf067a73b2d5014c5a54bc7acacce8677f564736f6c634300060b0033", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/packages/lib-ethers/live/BorrowerWrappersScript.json b/packages/lib-ethers/live/BorrowerWrappersScript.json deleted file mode 100644 index 79a0581a8..000000000 --- a/packages/lib-ethers/live/BorrowerWrappersScript.json +++ /dev/null @@ -1,348 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "BorrowerWrappersScript", - "sourceName": "contracts/Proxy/BorrowerWrappersScript.sol", - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_borrowerOperationsAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_troveManagerAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_zeroStakingAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_stabilityPoolAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_priceFeedAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_zusdTokenAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_zeroTokenAddress", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [], - "name": "NAME", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_upperHint", - "type": "address" - }, - { - "internalType": "address", - "name": "_lowerHint", - "type": "address" - } - ], - "name": "addColl", - "outputs": [], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_maxFee", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_collWithdrawal", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_debtChange", - "type": "uint256" - }, - { - "internalType": "bool", - "name": "isDebtIncrease", - "type": "bool" - }, - { - "internalType": "address", - "name": "_upperHint", - "type": "address" - }, - { - "internalType": "address", - "name": "_lowerHint", - "type": "address" - } - ], - "name": "adjustTrove", - "outputs": [], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [], - "name": "claimCollateral", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_maxFee", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_ZUSDAmount", - "type": "uint256" - }, - { - "internalType": "address", - "name": "_upperHint", - "type": "address" - }, - { - "internalType": "address", - "name": "_lowerHint", - "type": "address" - } - ], - "name": "claimCollateralAndOpenTrove", - "outputs": [], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_maxFee", - "type": "uint256" - }, - { - "internalType": "address", - "name": "_upperHint", - "type": "address" - }, - { - "internalType": "address", - "name": "_lowerHint", - "type": "address" - } - ], - "name": "claimSPRewardsAndRecycle", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_maxFee", - "type": "uint256" - }, - { - "internalType": "address", - "name": "_upperHint", - "type": "address" - }, - { - "internalType": "address", - "name": "_lowerHint", - "type": "address" - } - ], - "name": "claimStakingGainsAndRecycle", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "closeTrove", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_maxFee", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_ZUSDAmount", - "type": "uint256" - }, - { - "internalType": "address", - "name": "_upperHint", - "type": "address" - }, - { - "internalType": "address", - "name": "_lowerHint", - "type": "address" - } - ], - "name": "openTrove", - "outputs": [], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - }, - { - "internalType": "address", - "name": "_upperHint", - "type": "address" - }, - { - "internalType": "address", - "name": "_lowerHint", - "type": "address" - } - ], - "name": "repayZUSD", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_ZEROamount", - "type": "uint256" - } - ], - "name": "stake", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "name": "transferETH", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - }, - { - "internalType": "address", - "name": "_upperHint", - "type": "address" - }, - { - "internalType": "address", - "name": "_lowerHint", - "type": "address" - } - ], - "name": "withdrawColl", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_maxFee", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - }, - { - "internalType": "address", - "name": "_upperHint", - "type": "address" - }, - { - "internalType": "address", - "name": "_lowerHint", - "type": "address" - } - ], - "name": "withdrawZUSD", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": "0x6101806040523480156200001257600080fd5b5060405162001c9438038062001c94833981810160405260e08110156200003857600080fd5b508051602082015160408301516060840151608085015160a086015160c090960151949593949293919290919084876200007b816001600160e01b036200019816565b60601b6001600160601b031916608052620000968162000198565b60601b6001600160601b03191660a052620000b18662000198565b6001600160601b0319606087901b1660c0528584620000d9816001600160e01b036200019816565b6001600160601b0319606082901b1660e0528462000100816001600160e01b036200019816565b6001600160601b0319606082901b166101005262000127856001600160e01b036200019816565b6001600160601b0319606086901b16610120526200014e846001600160e01b036200019816565b6001600160601b0319606085901b16610140528762000176816001600160e01b036200019816565b60601b6001600160601b03191661016052506200024d98505050505050505050565b6001600160a01b038116620001f4576040805162461bcd60e51b815260206004820152601e60248201527f4163636f756e742063616e6e6f74206265207a65726f20616464726573730000604482015290519081900360640190fd5b803b8062000249576040805162461bcd60e51b815260206004820181905260248201527f4163636f756e7420636f64652073697a652063616e6e6f74206265207a65726f604482015290519081900360640190fd5b5050565b60805160601c60a05160601c60c05160601c60e05160601c6101005160601c6101205160601c6101405160601c6101605160601c6119686200032c600039806109b75280610fdb528061131e5250806106a352806107bd5280610f43528061128c525080610eab528061105752508061153452508061073b528061093d528061120f52508061144e52806115e65280611682525080610cd952508061042652806104a05280610579528061061752806108aa5280610a695280610aec5280610b565280610c465280610d895280610e1a528061116a52506119686000f3fe6080604052600436106100bd5760003560e01c80637b1a49091161006f5780637b1a49091461021f578063860665b31461026c578063a3f4df7e146102a6578063a694fc3a14610330578063afbc74b51461035a578063c6a6cf201461039b578063d08eb01b146103e3576100bd565b80630e704d50146100c2578063233a2e39146100d95780635530273c1461011357806358c9d9771461015457806368647db1146101955780636ea56960146101c35780636f0b0c1c1461020a575b600080fd5b3480156100ce57600080fd5b506100d7610424565b005b6100d7600480360360808110156100ef57600080fd5b508035906020810135906001600160a01b0360408201358116916060013516610499565b34801561011f57600080fd5b506100d76004803603606081101561013657600080fd5b508035906001600160a01b03602082013581169160400135166105e6565b34801561016057600080fd5b506100d76004803603606081101561017757600080fd5b508035906001600160a01b036020820135811691604001351661067e565b6100d7600480360360408110156101ab57600080fd5b506001600160a01b0381358116916020013516610a3f565b3480156101cf57600080fd5b506100d7600480360360808110156101e657600080fd5b508035906020810135906001600160a01b0360408201358116916060013516610ab4565b34801561021657600080fd5b506100d7610b54565b34801561022b57600080fd5b506102586004803603604081101561024257600080fd5b506001600160a01b038135169060200135610baf565b604080519115158252519081900360200190f35b6100d76004803603608081101561028257600080fd5b508035906020810135906001600160a01b0360408201358116916060013516610c0e565b3480156102b257600080fd5b506102bb610ca5565b6040805160208082528351818301528351919283929083019185019080838360005b838110156102f55781810151838201526020016102dd565b50505050905090810190601f1680156103225780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561033c57600080fd5b506100d76004803603602081101561035357600080fd5b5035610cd7565b34801561036657600080fd5b506100d76004803603606081101561037d57600080fd5b508035906001600160a01b0360208201358116916040013516610d58565b6100d7600480360360c08110156103b157600080fd5b5080359060208101359060408101359060608101351515906001600160a01b03608082013581169160a0013516610dd3565b3480156103ef57600080fd5b506100d76004803603606081101561040657600080fd5b508035906001600160a01b0360208201358116916040013516610e86565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316630e704d506040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561047f57600080fd5b505af1158015610493573d6000803e3d6000fd5b50505050565b60004790507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316636f0b0c1c6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156104f957600080fd5b505af115801561050d573d6000803e3d6000fd5b50479250505081811161051c57fe5b600061053e34610532848663ffffffff6113a916565b9063ffffffff6113f216565b6040805163860665b360e01b8152600481018a9052602481018990526001600160a01b038881166044830152878116606483015291519293507f00000000000000000000000000000000000000000000000000000000000000009091169163860665b3918491608480830192600092919082900301818588803b1580156105c457600080fd5b505af11580156105d8573d6000803e3d6000fd5b505050505050505050505050565b6040805163154c09cf60e21b8152600481018590526001600160a01b038481166024830152838116604483015291517f000000000000000000000000000000000000000000000000000000000000000090921691635530273c9160648082019260009290919082900301818387803b15801561066157600080fd5b505af1158015610675573d6000803e3d6000fd5b50505050505050565b604080516370a0823160e01b8152306004820152905147916000916001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016916370a08231916024808301926020929190829003018186803b1580156106e957600080fd5b505afa1580156106fd573d6000803e3d6000fd5b505050506040513d602081101561071357600080fd5b505160408051632e54bf9560e01b815260006004820181905291519293506001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001692632e54bf959260248084019391929182900301818387803b15801561078057600080fd5b505af1158015610794573d6000803e3d6000fd5b5050604080516370a0823160e01b81523060048201529051479350600092506001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016916370a08231916024808301926020929190829003018186803b15801561080357600080fd5b505afa158015610817573d6000803e3d6000fd5b505050506040513d602081101561082d57600080fd5b505190506000610843838663ffffffff6113a916565b9050801561099b576108543061144c565b600061085f8261152f565b60408051630635367960e51b8152600481018c905260006024820181905260448201849052600160648301526001600160a01b038c811660848401528b811660a484015292519394507f00000000000000000000000000000000000000000000000000000000000000009092169263c6a6cf2092869260c4808201939182900301818588803b1580156108f157600080fd5b505af1158015610905573d6000803e3d6000fd5b505050505060008111156109995760408051635f788d6560e01b81526004810183905260006024820181905291516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001692635f788d65926044808201939182900301818387803b15801561098057600080fd5b505af1158015610994573d6000803e3d6000fd5b505050505b505b60006109ad838663ffffffff6113a916565b90508015610a34577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a694fc3a826040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b158015610a1b57600080fd5b505af1158015610a2f573d6000803e3d6000fd5b505050505b505050505050505050565b604080516368647db160e01b81526001600160a01b038481166004830152838116602483015291517f0000000000000000000000000000000000000000000000000000000000000000909216916368647db1913491604480830192600092919082900301818588803b15801561066157600080fd5b604080516303752b4b60e51b815260048101869052602481018590526001600160a01b038481166044830152838116606483015291517f000000000000000000000000000000000000000000000000000000000000000090921691636ea569609160848082019260009290919082900301818387803b158015610b3657600080fd5b505af1158015610b4a573d6000803e3d6000fd5b5050505050505050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316636f0b0c1c6040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561047f57600080fd5b60405160009081906001600160a01b0385169084908381818185875af1925050503d8060008114610bfc576040519150601f19603f3d011682016040523d82523d6000602084013e610c01565b606091505b5090925050505b92915050565b6040805163860665b360e01b815260048101869052602481018590526001600160a01b038481166044830152838116606483015291517f00000000000000000000000000000000000000000000000000000000000000009092169163860665b3913491608480830192600092919082900301818588803b158015610c9157600080fd5b505af1158015610a34573d6000803e3d6000fd5b60405180604001604052806016815260200175109bdc9c9bddd95c95dc985c1c195c9cd4d8dc9a5c1d60521b81525081565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a694fc3a826040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b158015610d3d57600080fd5b505af1158015610d51573d6000803e3d6000fd5b5050505050565b6040805163afbc74b560e01b8152600481018590526001600160a01b038481166024830152838116604483015291517f00000000000000000000000000000000000000000000000000000000000000009092169163afbc74b59160648082019260009290919082900301818387803b15801561066157600080fd5b60408051630635367960e51b815260048101889052602481018790526044810186905284151560648201526001600160a01b03848116608483015283811660a483015291517f00000000000000000000000000000000000000000000000000000000000000009092169163c6a6cf2091349160c480830192600092919082900301818588803b158015610e6557600080fd5b505af1158015610e79573d6000803e3d6000fd5b5050505050505050505050565b604080516370a0823160e01b8152306004820152905147916000916001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016916370a08231916024808301926020929190829003018186803b158015610ef157600080fd5b505afa158015610f05573d6000803e3d6000fd5b505050506040513d6020811015610f1b57600080fd5b5051604080516370a0823160e01b815230600482015290519192506000916001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016916370a08231916024808301926020929190829003018186803b158015610f8957600080fd5b505afa158015610f9d573d6000803e3d6000fd5b505050506040513d6020811015610fb357600080fd5b5051604080516305c2fbcf60e31b815260006004820181905291519293506001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001692632e17de789260248084019391929182900301818387803b15801561102057600080fd5b505af1158015611034573d6000803e3d6000fd5b50505050600061104d84476113a990919063ffffffff16565b90506000611103847f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b1580156110cb57600080fd5b505afa1580156110df573d6000803e3d6000fd5b505050506040513d60208110156110f557600080fd5b50519063ffffffff6113a916565b9050600082156111cb576111163061144c565b61111f8361152f565b60408051630635367960e51b8152600481018c905260006024820181905260448201849052600160648301526001600160a01b038c811660848401528b811660a484015292519394507f00000000000000000000000000000000000000000000000000000000000000009092169263c6a6cf2092879260c4808201939182900301818588803b1580156111b157600080fd5b505af11580156111c5573d6000803e3d6000fd5b50505050505b60006111dd838363ffffffff6113f216565b9050801561139d5760408051635f788d6560e01b81526004810183905260006024820181905291516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001692635f788d65926044808201939182900301818387803b15801561125257600080fd5b505af1158015611266573d6000803e3d6000fd5b5050604080516370a0823160e01b81523060048201529051600093506001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001692506370a0823191602480820192602092909190829003018186803b1580156112d457600080fd5b505afa1580156112e8573d6000803e3d6000fd5b505050506040513d60208110156112fe57600080fd5b505190506000611314828863ffffffff6113a916565b905080156105d8577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a694fc3a826040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b15801561138257600080fd5b505af1158015611396573d6000803e3d6000fd5b5050505050505b50505050505050505050565b60006113eb83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611747565b9392505050565b6000828201838110156113eb576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166321e37801826040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b1580156114c257600080fd5b505afa1580156114d6573d6000803e3d6000fd5b505050506040513d60208110156114ec57600080fd5b505160011461152c5760405162461bcd60e51b81526004018080602001828103825260388152602001806118da6038913960400191505060405180910390fd5b50565b6000807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316630fdb11cf6040518163ffffffff1660e01b8152600401602060405180830381600087803b15801561158d57600080fd5b505af11580156115a1573d6000803e3d6000fd5b505050506040513d60208110156115b757600080fd5b505160408051630d293c7160e41b81523060048201526024810183905290519192506000916001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169163d293c710916044808301926020929190829003018186803b15801561162c57600080fd5b505afa158015611640573d6000803e3d6000fd5b505050506040513d602081101561165657600080fd5b50519050600061167c82611670878663ffffffff6117de16565b9063ffffffff61183716565b905060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166366ca4a216040518163ffffffff1660e01b815260040160206040518083038186803b1580156116d957600080fd5b505afa1580156116ed573d6000803e3d6000fd5b505050506040513d602081101561170357600080fd5b50519050600061173c611724670de0b6b3a76400008463ffffffff6113f216565b61167085670de0b6b3a764000063ffffffff6117de16565b979650505050505050565b600081848411156117d65760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561179b578181015183820152602001611783565b50505050905090810190601f1680156117c85780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b6000826117ed57506000610c08565b828202828482816117fa57fe5b04146113eb5760405162461bcd60e51b81526004018080602001828103825260218152602001806119126021913960400191505060405180910390fd5b60006113eb83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250600081836118c35760405162461bcd60e51b815260206004820181815283516024840152835190928392604490910191908501908083836000831561179b578181015183820152602001611783565b5060008385816118cf57fe5b049594505050505056fe426f72726f77657257726170706572735363726970743a2063616c6c6572206d757374206861766520616e206163746976652074726f7665536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77a2646970667358221220d0aeeeba88ac8f3a2a6801882fb7b597ceb0fed13fc7b68e27b31dbd6e40bc1464736f6c634300060b0033", - "deployedBytecode": "0x6080604052600436106100bd5760003560e01c80637b1a49091161006f5780637b1a49091461021f578063860665b31461026c578063a3f4df7e146102a6578063a694fc3a14610330578063afbc74b51461035a578063c6a6cf201461039b578063d08eb01b146103e3576100bd565b80630e704d50146100c2578063233a2e39146100d95780635530273c1461011357806358c9d9771461015457806368647db1146101955780636ea56960146101c35780636f0b0c1c1461020a575b600080fd5b3480156100ce57600080fd5b506100d7610424565b005b6100d7600480360360808110156100ef57600080fd5b508035906020810135906001600160a01b0360408201358116916060013516610499565b34801561011f57600080fd5b506100d76004803603606081101561013657600080fd5b508035906001600160a01b03602082013581169160400135166105e6565b34801561016057600080fd5b506100d76004803603606081101561017757600080fd5b508035906001600160a01b036020820135811691604001351661067e565b6100d7600480360360408110156101ab57600080fd5b506001600160a01b0381358116916020013516610a3f565b3480156101cf57600080fd5b506100d7600480360360808110156101e657600080fd5b508035906020810135906001600160a01b0360408201358116916060013516610ab4565b34801561021657600080fd5b506100d7610b54565b34801561022b57600080fd5b506102586004803603604081101561024257600080fd5b506001600160a01b038135169060200135610baf565b604080519115158252519081900360200190f35b6100d76004803603608081101561028257600080fd5b508035906020810135906001600160a01b0360408201358116916060013516610c0e565b3480156102b257600080fd5b506102bb610ca5565b6040805160208082528351818301528351919283929083019185019080838360005b838110156102f55781810151838201526020016102dd565b50505050905090810190601f1680156103225780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561033c57600080fd5b506100d76004803603602081101561035357600080fd5b5035610cd7565b34801561036657600080fd5b506100d76004803603606081101561037d57600080fd5b508035906001600160a01b0360208201358116916040013516610d58565b6100d7600480360360c08110156103b157600080fd5b5080359060208101359060408101359060608101351515906001600160a01b03608082013581169160a0013516610dd3565b3480156103ef57600080fd5b506100d76004803603606081101561040657600080fd5b508035906001600160a01b0360208201358116916040013516610e86565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316630e704d506040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561047f57600080fd5b505af1158015610493573d6000803e3d6000fd5b50505050565b60004790507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316636f0b0c1c6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156104f957600080fd5b505af115801561050d573d6000803e3d6000fd5b50479250505081811161051c57fe5b600061053e34610532848663ffffffff6113a916565b9063ffffffff6113f216565b6040805163860665b360e01b8152600481018a9052602481018990526001600160a01b038881166044830152878116606483015291519293507f00000000000000000000000000000000000000000000000000000000000000009091169163860665b3918491608480830192600092919082900301818588803b1580156105c457600080fd5b505af11580156105d8573d6000803e3d6000fd5b505050505050505050505050565b6040805163154c09cf60e21b8152600481018590526001600160a01b038481166024830152838116604483015291517f000000000000000000000000000000000000000000000000000000000000000090921691635530273c9160648082019260009290919082900301818387803b15801561066157600080fd5b505af1158015610675573d6000803e3d6000fd5b50505050505050565b604080516370a0823160e01b8152306004820152905147916000916001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016916370a08231916024808301926020929190829003018186803b1580156106e957600080fd5b505afa1580156106fd573d6000803e3d6000fd5b505050506040513d602081101561071357600080fd5b505160408051632e54bf9560e01b815260006004820181905291519293506001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001692632e54bf959260248084019391929182900301818387803b15801561078057600080fd5b505af1158015610794573d6000803e3d6000fd5b5050604080516370a0823160e01b81523060048201529051479350600092506001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016916370a08231916024808301926020929190829003018186803b15801561080357600080fd5b505afa158015610817573d6000803e3d6000fd5b505050506040513d602081101561082d57600080fd5b505190506000610843838663ffffffff6113a916565b9050801561099b576108543061144c565b600061085f8261152f565b60408051630635367960e51b8152600481018c905260006024820181905260448201849052600160648301526001600160a01b038c811660848401528b811660a484015292519394507f00000000000000000000000000000000000000000000000000000000000000009092169263c6a6cf2092869260c4808201939182900301818588803b1580156108f157600080fd5b505af1158015610905573d6000803e3d6000fd5b505050505060008111156109995760408051635f788d6560e01b81526004810183905260006024820181905291516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001692635f788d65926044808201939182900301818387803b15801561098057600080fd5b505af1158015610994573d6000803e3d6000fd5b505050505b505b60006109ad838663ffffffff6113a916565b90508015610a34577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a694fc3a826040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b158015610a1b57600080fd5b505af1158015610a2f573d6000803e3d6000fd5b505050505b505050505050505050565b604080516368647db160e01b81526001600160a01b038481166004830152838116602483015291517f0000000000000000000000000000000000000000000000000000000000000000909216916368647db1913491604480830192600092919082900301818588803b15801561066157600080fd5b604080516303752b4b60e51b815260048101869052602481018590526001600160a01b038481166044830152838116606483015291517f000000000000000000000000000000000000000000000000000000000000000090921691636ea569609160848082019260009290919082900301818387803b158015610b3657600080fd5b505af1158015610b4a573d6000803e3d6000fd5b5050505050505050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316636f0b0c1c6040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561047f57600080fd5b60405160009081906001600160a01b0385169084908381818185875af1925050503d8060008114610bfc576040519150601f19603f3d011682016040523d82523d6000602084013e610c01565b606091505b5090925050505b92915050565b6040805163860665b360e01b815260048101869052602481018590526001600160a01b038481166044830152838116606483015291517f00000000000000000000000000000000000000000000000000000000000000009092169163860665b3913491608480830192600092919082900301818588803b158015610c9157600080fd5b505af1158015610a34573d6000803e3d6000fd5b60405180604001604052806016815260200175109bdc9c9bddd95c95dc985c1c195c9cd4d8dc9a5c1d60521b81525081565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a694fc3a826040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b158015610d3d57600080fd5b505af1158015610d51573d6000803e3d6000fd5b5050505050565b6040805163afbc74b560e01b8152600481018590526001600160a01b038481166024830152838116604483015291517f00000000000000000000000000000000000000000000000000000000000000009092169163afbc74b59160648082019260009290919082900301818387803b15801561066157600080fd5b60408051630635367960e51b815260048101889052602481018790526044810186905284151560648201526001600160a01b03848116608483015283811660a483015291517f00000000000000000000000000000000000000000000000000000000000000009092169163c6a6cf2091349160c480830192600092919082900301818588803b158015610e6557600080fd5b505af1158015610e79573d6000803e3d6000fd5b5050505050505050505050565b604080516370a0823160e01b8152306004820152905147916000916001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016916370a08231916024808301926020929190829003018186803b158015610ef157600080fd5b505afa158015610f05573d6000803e3d6000fd5b505050506040513d6020811015610f1b57600080fd5b5051604080516370a0823160e01b815230600482015290519192506000916001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016916370a08231916024808301926020929190829003018186803b158015610f8957600080fd5b505afa158015610f9d573d6000803e3d6000fd5b505050506040513d6020811015610fb357600080fd5b5051604080516305c2fbcf60e31b815260006004820181905291519293506001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001692632e17de789260248084019391929182900301818387803b15801561102057600080fd5b505af1158015611034573d6000803e3d6000fd5b50505050600061104d84476113a990919063ffffffff16565b90506000611103847f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b1580156110cb57600080fd5b505afa1580156110df573d6000803e3d6000fd5b505050506040513d60208110156110f557600080fd5b50519063ffffffff6113a916565b9050600082156111cb576111163061144c565b61111f8361152f565b60408051630635367960e51b8152600481018c905260006024820181905260448201849052600160648301526001600160a01b038c811660848401528b811660a484015292519394507f00000000000000000000000000000000000000000000000000000000000000009092169263c6a6cf2092879260c4808201939182900301818588803b1580156111b157600080fd5b505af11580156111c5573d6000803e3d6000fd5b50505050505b60006111dd838363ffffffff6113f216565b9050801561139d5760408051635f788d6560e01b81526004810183905260006024820181905291516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001692635f788d65926044808201939182900301818387803b15801561125257600080fd5b505af1158015611266573d6000803e3d6000fd5b5050604080516370a0823160e01b81523060048201529051600093506001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001692506370a0823191602480820192602092909190829003018186803b1580156112d457600080fd5b505afa1580156112e8573d6000803e3d6000fd5b505050506040513d60208110156112fe57600080fd5b505190506000611314828863ffffffff6113a916565b905080156105d8577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a694fc3a826040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b15801561138257600080fd5b505af1158015611396573d6000803e3d6000fd5b5050505050505b50505050505050505050565b60006113eb83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611747565b9392505050565b6000828201838110156113eb576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166321e37801826040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b1580156114c257600080fd5b505afa1580156114d6573d6000803e3d6000fd5b505050506040513d60208110156114ec57600080fd5b505160011461152c5760405162461bcd60e51b81526004018080602001828103825260388152602001806118da6038913960400191505060405180910390fd5b50565b6000807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316630fdb11cf6040518163ffffffff1660e01b8152600401602060405180830381600087803b15801561158d57600080fd5b505af11580156115a1573d6000803e3d6000fd5b505050506040513d60208110156115b757600080fd5b505160408051630d293c7160e41b81523060048201526024810183905290519192506000916001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169163d293c710916044808301926020929190829003018186803b15801561162c57600080fd5b505afa158015611640573d6000803e3d6000fd5b505050506040513d602081101561165657600080fd5b50519050600061167c82611670878663ffffffff6117de16565b9063ffffffff61183716565b905060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166366ca4a216040518163ffffffff1660e01b815260040160206040518083038186803b1580156116d957600080fd5b505afa1580156116ed573d6000803e3d6000fd5b505050506040513d602081101561170357600080fd5b50519050600061173c611724670de0b6b3a76400008463ffffffff6113f216565b61167085670de0b6b3a764000063ffffffff6117de16565b979650505050505050565b600081848411156117d65760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561179b578181015183820152602001611783565b50505050905090810190601f1680156117c85780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b6000826117ed57506000610c08565b828202828482816117fa57fe5b04146113eb5760405162461bcd60e51b81526004018080602001828103825260218152602001806119126021913960400191505060405180910390fd5b60006113eb83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250600081836118c35760405162461bcd60e51b815260206004820181815283516024840152835190928392604490910191908501908083836000831561179b578181015183820152602001611783565b5060008385816118cf57fe5b049594505050505056fe426f72726f77657257726170706572735363726970743a2063616c6c6572206d757374206861766520616e206163746976652074726f7665536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77a2646970667358221220d0aeeeba88ac8f3a2a6801882fb7b597ceb0fed13fc7b68e27b31dbd6e40bc1464736f6c634300060b0033", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/packages/lib-ethers/live/CheckContract.json b/packages/lib-ethers/live/CheckContract.json deleted file mode 100644 index f89ee56fc..000000000 --- a/packages/lib-ethers/live/CheckContract.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "CheckContract", - "sourceName": "contracts/Dependencies/CheckContract.sol", - "abi": [], - "bytecode": "0x6080604052348015600f57600080fd5b50603f80601d6000396000f3fe6080604052600080fdfea2646970667358221220b3f129fe2616d0591b905445b634dd0eb98d5192ed12a5a50689c91f3a399f8664736f6c634300060b0033", - "deployedBytecode": "0x6080604052600080fdfea2646970667358221220b3f129fe2616d0591b905445b634dd0eb98d5192ed12a5a50689c91f3a399f8664736f6c634300060b0033", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/packages/lib-ethers/live/CollSurplusPool.json b/packages/lib-ethers/live/CollSurplusPool.json deleted file mode 100644 index d3a5739d2..000000000 --- a/packages/lib-ethers/live/CollSurplusPool.json +++ /dev/null @@ -1,275 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "CollSurplusPool", - "sourceName": "contracts/CollSurplusPool.sol", - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_newActivePoolAddress", - "type": "address" - } - ], - "name": "ActivePoolAddressChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_newBorrowerOperationsAddress", - "type": "address" - } - ], - "name": "BorrowerOperationsAddressChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "_account", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_newBalance", - "type": "uint256" - } - ], - "name": "CollBalanceUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_to", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "name": "EtherSent", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "previousOwner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnershipTransferred", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_newTroveManagerAddress", - "type": "address" - } - ], - "name": "TroveManagerAddressChanged", - "type": "event" - }, - { - "inputs": [], - "name": "NAME", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_account", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "name": "accountSurplus", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "activePoolAddress", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "borrowerOperationsAddress", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_account", - "type": "address" - } - ], - "name": "claimColl", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_account", - "type": "address" - } - ], - "name": "getCollateral", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getETH", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getOwner", - "outputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_borrowerOperationsAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_troveManagerAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_activePoolAddress", - "type": "address" - } - ], - "name": "setAddresses", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - } - ], - "name": "setOwner", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "troveManagerAddress", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "stateMutability": "payable", - "type": "receive" - } - ], - "bytecode": "0x608060405234801561001057600080fd5b50610023336001600160e01b0361002816565b610110565b6001600160a01b03811661006d5760405162461bcd60e51b8152600401808060200182810382526022815260200180610d786022913960400191505060405180910390fd5b6001600160a01b0381166100886001600160e01b036100e616565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3604080517035b2bc9737bbb730b136329737bbb732b960791b8152905190819003601101902055565b604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205490565b610c598061011f6000396000f3fe6080604052600436106100a05760003560e01c8063893d20e811610064578063893d20e8146101d55780639b56d6c9146101ea578063a3f4df7e1461021d578063b08bc722146102a7578063b32beb5b146102bc578063b7f8cf9b146102ef576100c5565b806313af4035146100ca57806314f6c3be146100ff578063363bf964146101265780633f10abab1461016b5780635a4d28bb146101a4576100c5565b366100c5576100ad610304565b6003546100c0903463ffffffff61034f16565b600355005b600080fd5b3480156100d657600080fd5b506100fd600480360360208110156100ed57600080fd5b50356001600160a01b03166103b0565b005b34801561010b57600080fd5b50610114610423565b60408051918252519081900360200190f35b34801561013257600080fd5b506100fd6004803603606081101561014957600080fd5b506001600160a01b038135811691602081013582169160409091013516610429565b34801561017757600080fd5b506100fd6004803603604081101561018e57600080fd5b506001600160a01b038135169060200135610595565b3480156101b057600080fd5b506101b9610621565b604080516001600160a01b039092168252519081900360200190f35b3480156101e157600080fd5b506101b9610630565b3480156101f657600080fd5b506101146004803603602081101561020d57600080fd5b50356001600160a01b031661065a565b34801561022957600080fd5b50610232610675565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561026c578181015183820152602001610254565b50505050905090810190601f1680156102995780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156102b357600080fd5b506101b96106a0565b3480156102c857600080fd5b506100fd600480360360208110156102df57600080fd5b50356001600160a01b03166106af565b3480156102fb57600080fd5b506101b9610849565b6002546001600160a01b0316331461034d5760405162461bcd60e51b815260040180806020018281038252602a815260200180610b58602a913960400191505060405180910390fd5b565b6000828201838110156103a9576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b6103b8610630565b6001600160a01b0316336001600160a01b031614610417576040805162461bcd60e51b815260206004820152601760248201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604482015290519081900360640190fd5b61042081610858565b50565b60035490565b610431610630565b6001600160a01b0316336001600160a01b031614610490576040805162461bcd60e51b815260206004820152601760248201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604482015290519081900360640190fd5b6104998361090d565b6104a28261090d565b6104ab8161090d565b600080546001600160a01b038086166001600160a01b0319928316811790935560018054868316908416179055600280549185169190921617905560408051918252517f3ca631ffcd2a9b5d9ae18543fc82f58eb4ca33af9e6ab01b7a8e95331e6ed9859181900360200190a1604080516001600160a01b038416815290517f143219c9e69b09e07e095fcc889b43d8f46ca892bba65f08dc3a0050869a56789181900360200190a1604080516001600160a01b038316815290517f78f058b189175430c48dc02699e3a0031ea4ff781536dc2fab847de4babdd8829181900360200190a1505050565b61059d6109c0565b6001600160a01b0382166000908152600460205260408120546105c6908363ffffffff61034f16565b6001600160a01b0384166000818152600460209081526040918290208490558151848152915193945091927ff0393a34d05e6567686ad4e097f9d9d2781565957394f1f0d984e5d8e6378f20929181900390910190a2505050565b6001546001600160a01b031681565b604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205490565b6001600160a01b031660009081526004602052604090205490565b6040518060400160405280600f81526020016e10dbdb1b14dd5c9c1b1d5cd41bdbdb608a1b81525081565b6002546001600160a01b031681565b6106b7610a09565b6001600160a01b0381166000908152600460205260409020548061070c5760405162461bcd60e51b8152600401808060200182810382526031815260200180610b276031913960400191505060405180910390fd5b6001600160a01b03821660008181526004602090815260408083208390558051928352517ff0393a34d05e6567686ad4e097f9d9d2781565957394f1f0d984e5d8e6378f209281900390910190a260035461076d908263ffffffff610a5216565b600355604080516001600160a01b03841681526020810183905281517f6109e2559dfa766aaec7118351d48a523f0a4157f49c8d68749c8ac41318ad12929181900390910190a16040516000906001600160a01b0384169083908381818185875af1925050503d80600081146107ff576040519150601f19603f3d011682016040523d82523d6000602084013e610804565b606091505b50509050806108445760405162461bcd60e51b8152600401808060200182810382526023815260200180610ba46023913960400191505060405180910390fd5b505050565b6000546001600160a01b031681565b6001600160a01b03811661089d5760405162461bcd60e51b8152600401808060200182810382526022815260200180610b826022913960400191505060405180910390fd5b806001600160a01b03166108af610630565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3604080517035b2bc9737bbb730b136329737bbb732b960791b8152905190819003601101902055565b6001600160a01b038116610968576040805162461bcd60e51b815260206004820152601e60248201527f4163636f756e742063616e6e6f74206265207a65726f20616464726573730000604482015290519081900360640190fd5b803b806109bc576040805162461bcd60e51b815260206004820181905260248201527f4163636f756e7420636f64652073697a652063616e6e6f74206265207a65726f604482015290519081900360640190fd5b5050565b6001546001600160a01b0316331461034d5760405162461bcd60e51b815260040180806020018281038252602b815260200180610bf9602b913960400191505060405180910390fd5b6000546001600160a01b0316331461034d5760405162461bcd60e51b8152600401808060200182810382526032815260200180610bc76032913960400191505060405180910390fd5b60006103a983836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525060008184841115610b1e5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610ae3578181015183820152602001610acb565b50505050905090810190601f168015610b105780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50505090039056fe436f6c6c537572706c7573506f6f6c3a204e6f20636f6c6c61746572616c20617661696c61626c6520746f20636c61696d436f6c6c537572706c7573506f6f6c3a2043616c6c6572206973206e6f742041637469766520506f6f6c4f776e61626c653a3a7365744f776e65723a20696e76616c69642061646472657373436f6c6c537572706c7573506f6f6c3a2073656e64696e6720455448206661696c6564436f6c6c537572706c7573506f6f6c3a2043616c6c6572206973206e6f7420426f72726f776572204f7065726174696f6e73436f6c6c537572706c7573506f6f6c3a2043616c6c6572206973206e6f742054726f76654d616e61676572a2646970667358221220ec19e79dbe7180a98cb7d6212d7b49be2e6c8b1fa1ef966e63158e1190ee1e1e64736f6c634300060b00334f776e61626c653a3a7365744f776e65723a20696e76616c69642061646472657373", - "deployedBytecode": "0x6080604052600436106100a05760003560e01c8063893d20e811610064578063893d20e8146101d55780639b56d6c9146101ea578063a3f4df7e1461021d578063b08bc722146102a7578063b32beb5b146102bc578063b7f8cf9b146102ef576100c5565b806313af4035146100ca57806314f6c3be146100ff578063363bf964146101265780633f10abab1461016b5780635a4d28bb146101a4576100c5565b366100c5576100ad610304565b6003546100c0903463ffffffff61034f16565b600355005b600080fd5b3480156100d657600080fd5b506100fd600480360360208110156100ed57600080fd5b50356001600160a01b03166103b0565b005b34801561010b57600080fd5b50610114610423565b60408051918252519081900360200190f35b34801561013257600080fd5b506100fd6004803603606081101561014957600080fd5b506001600160a01b038135811691602081013582169160409091013516610429565b34801561017757600080fd5b506100fd6004803603604081101561018e57600080fd5b506001600160a01b038135169060200135610595565b3480156101b057600080fd5b506101b9610621565b604080516001600160a01b039092168252519081900360200190f35b3480156101e157600080fd5b506101b9610630565b3480156101f657600080fd5b506101146004803603602081101561020d57600080fd5b50356001600160a01b031661065a565b34801561022957600080fd5b50610232610675565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561026c578181015183820152602001610254565b50505050905090810190601f1680156102995780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156102b357600080fd5b506101b96106a0565b3480156102c857600080fd5b506100fd600480360360208110156102df57600080fd5b50356001600160a01b03166106af565b3480156102fb57600080fd5b506101b9610849565b6002546001600160a01b0316331461034d5760405162461bcd60e51b815260040180806020018281038252602a815260200180610b58602a913960400191505060405180910390fd5b565b6000828201838110156103a9576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b6103b8610630565b6001600160a01b0316336001600160a01b031614610417576040805162461bcd60e51b815260206004820152601760248201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604482015290519081900360640190fd5b61042081610858565b50565b60035490565b610431610630565b6001600160a01b0316336001600160a01b031614610490576040805162461bcd60e51b815260206004820152601760248201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604482015290519081900360640190fd5b6104998361090d565b6104a28261090d565b6104ab8161090d565b600080546001600160a01b038086166001600160a01b0319928316811790935560018054868316908416179055600280549185169190921617905560408051918252517f3ca631ffcd2a9b5d9ae18543fc82f58eb4ca33af9e6ab01b7a8e95331e6ed9859181900360200190a1604080516001600160a01b038416815290517f143219c9e69b09e07e095fcc889b43d8f46ca892bba65f08dc3a0050869a56789181900360200190a1604080516001600160a01b038316815290517f78f058b189175430c48dc02699e3a0031ea4ff781536dc2fab847de4babdd8829181900360200190a1505050565b61059d6109c0565b6001600160a01b0382166000908152600460205260408120546105c6908363ffffffff61034f16565b6001600160a01b0384166000818152600460209081526040918290208490558151848152915193945091927ff0393a34d05e6567686ad4e097f9d9d2781565957394f1f0d984e5d8e6378f20929181900390910190a2505050565b6001546001600160a01b031681565b604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205490565b6001600160a01b031660009081526004602052604090205490565b6040518060400160405280600f81526020016e10dbdb1b14dd5c9c1b1d5cd41bdbdb608a1b81525081565b6002546001600160a01b031681565b6106b7610a09565b6001600160a01b0381166000908152600460205260409020548061070c5760405162461bcd60e51b8152600401808060200182810382526031815260200180610b276031913960400191505060405180910390fd5b6001600160a01b03821660008181526004602090815260408083208390558051928352517ff0393a34d05e6567686ad4e097f9d9d2781565957394f1f0d984e5d8e6378f209281900390910190a260035461076d908263ffffffff610a5216565b600355604080516001600160a01b03841681526020810183905281517f6109e2559dfa766aaec7118351d48a523f0a4157f49c8d68749c8ac41318ad12929181900390910190a16040516000906001600160a01b0384169083908381818185875af1925050503d80600081146107ff576040519150601f19603f3d011682016040523d82523d6000602084013e610804565b606091505b50509050806108445760405162461bcd60e51b8152600401808060200182810382526023815260200180610ba46023913960400191505060405180910390fd5b505050565b6000546001600160a01b031681565b6001600160a01b03811661089d5760405162461bcd60e51b8152600401808060200182810382526022815260200180610b826022913960400191505060405180910390fd5b806001600160a01b03166108af610630565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3604080517035b2bc9737bbb730b136329737bbb732b960791b8152905190819003601101902055565b6001600160a01b038116610968576040805162461bcd60e51b815260206004820152601e60248201527f4163636f756e742063616e6e6f74206265207a65726f20616464726573730000604482015290519081900360640190fd5b803b806109bc576040805162461bcd60e51b815260206004820181905260248201527f4163636f756e7420636f64652073697a652063616e6e6f74206265207a65726f604482015290519081900360640190fd5b5050565b6001546001600160a01b0316331461034d5760405162461bcd60e51b815260040180806020018281038252602b815260200180610bf9602b913960400191505060405180910390fd5b6000546001600160a01b0316331461034d5760405162461bcd60e51b8152600401808060200182810382526032815260200180610bc76032913960400191505060405180910390fd5b60006103a983836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525060008184841115610b1e5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610ae3578181015183820152602001610acb565b50505050905090810190601f168015610b105780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50505090039056fe436f6c6c537572706c7573506f6f6c3a204e6f20636f6c6c61746572616c20617661696c61626c6520746f20636c61696d436f6c6c537572706c7573506f6f6c3a2043616c6c6572206973206e6f742041637469766520506f6f6c4f776e61626c653a3a7365744f776e65723a20696e76616c69642061646472657373436f6c6c537572706c7573506f6f6c3a2073656e64696e6720455448206661696c6564436f6c6c537572706c7573506f6f6c3a2043616c6c6572206973206e6f7420426f72726f776572204f7065726174696f6e73436f6c6c537572706c7573506f6f6c3a2043616c6c6572206973206e6f742054726f76654d616e61676572a2646970667358221220ec19e79dbe7180a98cb7d6212d7b49be2e6c8b1fa1ef966e63158e1190ee1e1e64736f6c634300060b0033", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/packages/lib-ethers/live/CollSurplusPoolStorage.json b/packages/lib-ethers/live/CollSurplusPoolStorage.json deleted file mode 100644 index f210b1bd5..000000000 --- a/packages/lib-ethers/live/CollSurplusPoolStorage.json +++ /dev/null @@ -1,108 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "CollSurplusPoolStorage", - "sourceName": "contracts/CollSurplusPoolStorage.sol", - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "previousOwner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnershipTransferred", - "type": "event" - }, - { - "inputs": [], - "name": "NAME", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "activePoolAddress", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "borrowerOperationsAddress", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getOwner", - "outputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - } - ], - "name": "setOwner", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "troveManagerAddress", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": "0x608060405234801561001057600080fd5b50610023336001600160e01b0361002816565b610110565b6001600160a01b03811661006d5760405162461bcd60e51b81526004018080602001828103825260228152602001806104696022913960400191505060405180910390fd5b6001600160a01b0381166100886001600160e01b036100e616565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3604080517035b2bc9737bbb730b136329737bbb732b960791b8152905190819003601101902055565b604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205490565b61034a8061011f6000396000f3fe608060405234801561001057600080fd5b50600436106100625760003560e01c806313af4035146100675780635a4d28bb1461008f578063893d20e8146100b3578063a3f4df7e146100bb578063b08bc72214610138578063b7f8cf9b14610140575b600080fd5b61008d6004803603602081101561007d57600080fd5b50356001600160a01b0316610148565b005b6100976101bb565b604080516001600160a01b039092168252519081900360200190f35b6100976101ca565b6100c36101f4565b6040805160208082528351818301528351919283929083019185019080838360005b838110156100fd5781810151838201526020016100e5565b50505050905090810190601f16801561012a5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61009761021f565b61009761022e565b6101506101ca565b6001600160a01b0316336001600160a01b0316146101af576040805162461bcd60e51b815260206004820152601760248201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604482015290519081900360640190fd5b6101b88161023d565b50565b6001546001600160a01b031681565b604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205490565b6040518060400160405280600f81526020016e10dbdb1b14dd5c9c1b1d5cd41bdbdb608a1b81525081565b6002546001600160a01b031681565b6000546001600160a01b031681565b6001600160a01b0381166102825760405162461bcd60e51b81526004018080602001828103825260228152602001806102f36022913960400191505060405180910390fd5b806001600160a01b03166102946101ca565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205556fe4f776e61626c653a3a7365744f776e65723a20696e76616c69642061646472657373a264697066735822122057476c1fe96fb0e4de7404398c2165c4f8a062bafdd19d45a5296ef7cd4eac5464736f6c634300060b00334f776e61626c653a3a7365744f776e65723a20696e76616c69642061646472657373", - "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100625760003560e01c806313af4035146100675780635a4d28bb1461008f578063893d20e8146100b3578063a3f4df7e146100bb578063b08bc72214610138578063b7f8cf9b14610140575b600080fd5b61008d6004803603602081101561007d57600080fd5b50356001600160a01b0316610148565b005b6100976101bb565b604080516001600160a01b039092168252519081900360200190f35b6100976101ca565b6100c36101f4565b6040805160208082528351818301528351919283929083019185019080838360005b838110156100fd5781810151838201526020016100e5565b50505050905090810190601f16801561012a5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61009761021f565b61009761022e565b6101506101ca565b6001600160a01b0316336001600160a01b0316146101af576040805162461bcd60e51b815260206004820152601760248201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604482015290519081900360640190fd5b6101b88161023d565b50565b6001546001600160a01b031681565b604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205490565b6040518060400160405280600f81526020016e10dbdb1b14dd5c9c1b1d5cd41bdbdb608a1b81525081565b6002546001600160a01b031681565b6000546001600160a01b031681565b6001600160a01b0381166102825760405162461bcd60e51b81526004018080602001828103825260228152602001806102f36022913960400191505060405180910390fd5b806001600160a01b03166102946101ca565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205556fe4f776e61626c653a3a7365744f776e65723a20696e76616c69642061646472657373a264697066735822122057476c1fe96fb0e4de7404398c2165c4f8a062bafdd19d45a5296ef7cd4eac5464736f6c634300060b0033", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/packages/lib-ethers/live/CommunityIssuance.json b/packages/lib-ethers/live/CommunityIssuance.json deleted file mode 100644 index 88be6bfb7..000000000 --- a/packages/lib-ethers/live/CommunityIssuance.json +++ /dev/null @@ -1,310 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "CommunityIssuance", - "sourceName": "contracts/ZERO/CommunityIssuance.sol", - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_communityPotAddress", - "type": "address" - } - ], - "name": "CommunityPotAddressSet", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_zeroTokenAddress", - "type": "address" - } - ], - "name": "FundingWalletAddressSet", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "previousOwner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnershipTransferred", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "_fundingWalletAddress", - "type": "uint256" - } - ], - "name": "TotalZEROIssuedUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_zeroTokenAddress", - "type": "address" - } - ], - "name": "ZEROTokenAddressSet", - "type": "event" - }, - { - "inputs": [], - "name": "DECIMAL_PRECISION", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "ISSUANCE_FACTOR", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "NAME", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "SECONDS_IN_ONE_MINUTE", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "ZEROSupplyCap", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "communityPotAddress", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "deploymentTime", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "fundingWalletAddress", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getOwner", - "outputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_zeroTokenAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_communityPotAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_fundingWalletAddress", - "type": "address" - } - ], - "name": "initialize", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "issueZERO", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_account", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_ZEROamount", - "type": "uint256" - } - ], - "name": "receiveZero", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_account", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_ZEROamount", - "type": "uint256" - } - ], - "name": "sendZERO", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - } - ], - "name": "setOwner", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "totalZEROIssued", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "zeroToken", - "outputs": [ - { - "internalType": "contract IZEROToken", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": "0x60806040526000805534801561001457600080fd5b50610027336001600160e01b0361002c16565b610114565b6001600160a01b0381166100715760405162461bcd60e51b8152600401808060200182810382526022815260200180610f086022913960400191505060405180910390fd5b6001600160a01b03811661008c6001600160e01b036100ea16565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3604080517035b2bc9737bbb730b136329737bbb732b960791b8152905190819003601101902055565b604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205490565b610de5806101236000396000f3fe608060405234801561001057600080fd5b50600436106100e05760003560e01c80639d4101b7116100875780639d4101b714610197578063a20baee61461019f578063a3f4df7e146101a7578063c0c53b8b14610224578063e59be5861461025c578063ecda10f514610264578063f1bd258b1461026c578063f294bd9214610298576100e0565b80630fc83da3146100e557806313af4035146100ff5780631a5a934a1461012757806321492b2a1461014b57806337362c181461015357806361ec893d1461017f578063893d20e8146101875780639ce21f3c1461018f575b600080fd5b6100ed6102a0565b60408051918252519081900360200190f35b6101256004803603602081101561011557600080fd5b50356001600160a01b03166102ac565b005b61012f61031f565b604080516001600160a01b039092168252519081900360200190f35b6100ed61032e565b6101256004803603604081101561016957600080fd5b506001600160a01b038135169060200135610334565b6100ed610410565b61012f610415565b61012f61043f565b6100ed61044e565b6100ed610454565b6101af610460565b6040805160208082528351818301528351919283929083019185019080838360005b838110156101e95781810151838201526020016101d1565b50505050905090810190601f1680156102165780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101256004803603606081101561023a57600080fd5b506001600160a01b03813581169160208101358216916040909101351661048d565b6100ed6105b4565b6100ed61064d565b6101256004803603604081101561028257600080fd5b506001600160a01b038135169060200135610653565b61012f6107c9565b670de0b5809a6f939881565b6102b4610415565b6001600160a01b0316336001600160a01b031614610313576040805162461bcd60e51b815260206004820152601760248201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604482015290519081900360640190fd5b61031c816107d8565b50565b6002546001600160a01b031681565b60005481565b61033c61088d565b6001546040805163a9059cbb60e01b81526001600160a01b038581166004830152602482018590529151600093929092169163a9059cbb9160448082019260209290919082900301818787803b15801561039557600080fd5b505af11580156103a9573d6000803e3d6000fd5b505050506040513d60208110156103bf57600080fd5b505190508061040b576040805162461bcd60e51b81526020600482015260136024820152724661696c656420746f2073656e64205a45524f60681b604482015290519081900360640190fd5b505050565b603c81565b604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205490565b6003546001600160a01b031681565b60045481565b670de0b6b3a764000081565b60405180604001604052806011815260200170436f6d6d756e69747949737375616e636560781b81525081565b610495610415565b6001600160a01b0316336001600160a01b0316146104f4576040805162461bcd60e51b815260206004820152601760248201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604482015290519081900360640190fd5b6104fd836108d8565b610506826108d8565b600180546001600160a01b038086166001600160a01b0319928316811790935560028054868316908416179055600380549185169190921617905560408051918252517f7eeded1a6761a0ca57ff60155bdd3e94fbfe5d9e8dc5013b3aa195b8d9e851ea9181900360200190a1604080516001600160a01b038416815290517f47ebfdc80bf05a81c1216176fd90779f8f67326c8d82eb50b3bce67473f188ce9181900360200190a1505050565b60006105be61088d565b60006105f2670de0b6b3a76400006105e66105d761098b565b6000549063ffffffff6109f516565b9063ffffffff610a5716565b9050600061060b60045483610a9990919063ffffffff16565b60048390556040805184815290519192507f0e4f366add234067215e649a6bccebac27241d6488de286967c468de64f62614919081900360200190a191505090565b60055481565b6003546001600160a01b0383811691161461069f5760405162461bcd60e51b8152600401808060200182810382526028815260200180610d446028913960400191505060405180910390fd5b600054156106f4576040805162461bcd60e51b815260206004820152601c60248201527f436f6d6d756e69747920706f7420616c72656164792066756e64656400000000604482015290519081900360640190fd5b600154604080516323b872dd60e01b81526001600160a01b03858116600483015230602483015260448201859052915191909216916323b872dd9160648083019260209291908290030181600087803b15801561075057600080fd5b505af1158015610764573d6000803e3d6000fd5b505050506040513d602081101561077a57600080fd5b50516107bf576040805162461bcd60e51b815260206004820152600f60248201526e151c985b9cd9995c8819985a5b1959608a1b604482015290519081900360640190fd5b6000555042600555565b6001546001600160a01b031681565b6001600160a01b03811661081d5760405162461bcd60e51b8152600401808060200182810382526022815260200180610d226022913960400191505060405180910390fd5b806001600160a01b031661082f610415565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3604080517035b2bc9737bbb730b136329737bbb732b960791b8152905190819003601101902055565b6002546001600160a01b031633146108d65760405162461bcd60e51b8152600401808060200182810382526023815260200180610d8d6023913960400191505060405180910390fd5b565b6001600160a01b038116610933576040805162461bcd60e51b815260206004820152601e60248201527f4163636f756e742063616e6e6f74206265207a65726f20616464726573730000604482015290519081900360640190fd5b803b80610987576040805162461bcd60e51b815260206004820181905260248201527f4163636f756e7420636f64652073697a652063616e6e6f74206265207a65726f604482015290519081900360640190fd5b5050565b6000806109a8603c6105e660055442610a9990919063ffffffff16565b905060006109be670de0b5809a6f939883610adb565b905060006109da670de0b6b3a76400008363ffffffff610a9916565b9050670de0b6b3a76400008111156109ee57fe5b9250505090565b600082610a0457506000610a51565b82820282848281610a1157fe5b0414610a4e5760405162461bcd60e51b8152600401808060200182810382526021815260200180610d6c6021913960400191505060405180910390fd5b90505b92915050565b6000610a4e83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250610b90565b6000610a4e83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610c32565b6000631f540500821115610af157631f54050091505b81610b055750670de0b6b3a7640000610a51565b670de0b6b3a764000083835b6001811115610b7c5760028106610b4657610b2c8283610c8c565b9150610b3f81600263ffffffff610a5716565b9050610b77565b610b508284610c8c565b9250610b5c8283610c8c565b9150610b7460026105e683600163ffffffff610a9916565b90505b610b11565b610b868284610c8c565b9695505050505050565b60008183610c1c5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610be1578181015183820152602001610bc9565b50505050905090810190601f168015610c0e5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b506000838581610c2857fe5b0495945050505050565b60008184841115610c845760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610be1578181015183820152602001610bc9565b505050900390565b600080610c9f848463ffffffff6109f516565b9050610cbf670de0b6b3a76400006105e6836706f05b59d3b20000610cc7565b949350505050565b600082820183811015610a4e576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fdfe4f776e61626c653a3a7365744f776e65723a20696e76616c696420616464726573734f6e6c79207468652066756e64696e672077616c6c65742063616e206465706f736974205a45524f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77436f6d6d756e69747949737375616e63653a2063616c6c6572206973206e6f74205350a26469706673582212206b553fb1df1bfd823d8fd29b2fde34c87b6e41e5de8d6fad1bd46628da8bff8264736f6c634300060b00334f776e61626c653a3a7365744f776e65723a20696e76616c69642061646472657373", - "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100e05760003560e01c80639d4101b7116100875780639d4101b714610197578063a20baee61461019f578063a3f4df7e146101a7578063c0c53b8b14610224578063e59be5861461025c578063ecda10f514610264578063f1bd258b1461026c578063f294bd9214610298576100e0565b80630fc83da3146100e557806313af4035146100ff5780631a5a934a1461012757806321492b2a1461014b57806337362c181461015357806361ec893d1461017f578063893d20e8146101875780639ce21f3c1461018f575b600080fd5b6100ed6102a0565b60408051918252519081900360200190f35b6101256004803603602081101561011557600080fd5b50356001600160a01b03166102ac565b005b61012f61031f565b604080516001600160a01b039092168252519081900360200190f35b6100ed61032e565b6101256004803603604081101561016957600080fd5b506001600160a01b038135169060200135610334565b6100ed610410565b61012f610415565b61012f61043f565b6100ed61044e565b6100ed610454565b6101af610460565b6040805160208082528351818301528351919283929083019185019080838360005b838110156101e95781810151838201526020016101d1565b50505050905090810190601f1680156102165780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101256004803603606081101561023a57600080fd5b506001600160a01b03813581169160208101358216916040909101351661048d565b6100ed6105b4565b6100ed61064d565b6101256004803603604081101561028257600080fd5b506001600160a01b038135169060200135610653565b61012f6107c9565b670de0b5809a6f939881565b6102b4610415565b6001600160a01b0316336001600160a01b031614610313576040805162461bcd60e51b815260206004820152601760248201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604482015290519081900360640190fd5b61031c816107d8565b50565b6002546001600160a01b031681565b60005481565b61033c61088d565b6001546040805163a9059cbb60e01b81526001600160a01b038581166004830152602482018590529151600093929092169163a9059cbb9160448082019260209290919082900301818787803b15801561039557600080fd5b505af11580156103a9573d6000803e3d6000fd5b505050506040513d60208110156103bf57600080fd5b505190508061040b576040805162461bcd60e51b81526020600482015260136024820152724661696c656420746f2073656e64205a45524f60681b604482015290519081900360640190fd5b505050565b603c81565b604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205490565b6003546001600160a01b031681565b60045481565b670de0b6b3a764000081565b60405180604001604052806011815260200170436f6d6d756e69747949737375616e636560781b81525081565b610495610415565b6001600160a01b0316336001600160a01b0316146104f4576040805162461bcd60e51b815260206004820152601760248201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604482015290519081900360640190fd5b6104fd836108d8565b610506826108d8565b600180546001600160a01b038086166001600160a01b0319928316811790935560028054868316908416179055600380549185169190921617905560408051918252517f7eeded1a6761a0ca57ff60155bdd3e94fbfe5d9e8dc5013b3aa195b8d9e851ea9181900360200190a1604080516001600160a01b038416815290517f47ebfdc80bf05a81c1216176fd90779f8f67326c8d82eb50b3bce67473f188ce9181900360200190a1505050565b60006105be61088d565b60006105f2670de0b6b3a76400006105e66105d761098b565b6000549063ffffffff6109f516565b9063ffffffff610a5716565b9050600061060b60045483610a9990919063ffffffff16565b60048390556040805184815290519192507f0e4f366add234067215e649a6bccebac27241d6488de286967c468de64f62614919081900360200190a191505090565b60055481565b6003546001600160a01b0383811691161461069f5760405162461bcd60e51b8152600401808060200182810382526028815260200180610d446028913960400191505060405180910390fd5b600054156106f4576040805162461bcd60e51b815260206004820152601c60248201527f436f6d6d756e69747920706f7420616c72656164792066756e64656400000000604482015290519081900360640190fd5b600154604080516323b872dd60e01b81526001600160a01b03858116600483015230602483015260448201859052915191909216916323b872dd9160648083019260209291908290030181600087803b15801561075057600080fd5b505af1158015610764573d6000803e3d6000fd5b505050506040513d602081101561077a57600080fd5b50516107bf576040805162461bcd60e51b815260206004820152600f60248201526e151c985b9cd9995c8819985a5b1959608a1b604482015290519081900360640190fd5b6000555042600555565b6001546001600160a01b031681565b6001600160a01b03811661081d5760405162461bcd60e51b8152600401808060200182810382526022815260200180610d226022913960400191505060405180910390fd5b806001600160a01b031661082f610415565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3604080517035b2bc9737bbb730b136329737bbb732b960791b8152905190819003601101902055565b6002546001600160a01b031633146108d65760405162461bcd60e51b8152600401808060200182810382526023815260200180610d8d6023913960400191505060405180910390fd5b565b6001600160a01b038116610933576040805162461bcd60e51b815260206004820152601e60248201527f4163636f756e742063616e6e6f74206265207a65726f20616464726573730000604482015290519081900360640190fd5b803b80610987576040805162461bcd60e51b815260206004820181905260248201527f4163636f756e7420636f64652073697a652063616e6e6f74206265207a65726f604482015290519081900360640190fd5b5050565b6000806109a8603c6105e660055442610a9990919063ffffffff16565b905060006109be670de0b5809a6f939883610adb565b905060006109da670de0b6b3a76400008363ffffffff610a9916565b9050670de0b6b3a76400008111156109ee57fe5b9250505090565b600082610a0457506000610a51565b82820282848281610a1157fe5b0414610a4e5760405162461bcd60e51b8152600401808060200182810382526021815260200180610d6c6021913960400191505060405180910390fd5b90505b92915050565b6000610a4e83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250610b90565b6000610a4e83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610c32565b6000631f540500821115610af157631f54050091505b81610b055750670de0b6b3a7640000610a51565b670de0b6b3a764000083835b6001811115610b7c5760028106610b4657610b2c8283610c8c565b9150610b3f81600263ffffffff610a5716565b9050610b77565b610b508284610c8c565b9250610b5c8283610c8c565b9150610b7460026105e683600163ffffffff610a9916565b90505b610b11565b610b868284610c8c565b9695505050505050565b60008183610c1c5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610be1578181015183820152602001610bc9565b50505050905090810190601f168015610c0e5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b506000838581610c2857fe5b0495945050505050565b60008184841115610c845760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610be1578181015183820152602001610bc9565b505050900390565b600080610c9f848463ffffffff6109f516565b9050610cbf670de0b6b3a76400006105e6836706f05b59d3b20000610cc7565b949350505050565b600082820183811015610a4e576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fdfe4f776e61626c653a3a7365744f776e65723a20696e76616c696420616464726573734f6e6c79207468652066756e64696e672077616c6c65742063616e206465706f736974205a45524f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77436f6d6d756e69747949737375616e63653a2063616c6c6572206973206e6f74205350a26469706673582212206b553fb1df1bfd823d8fd29b2fde34c87b6e41e5de8d6fad1bd46628da8bff8264736f6c634300060b0033", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/packages/lib-ethers/live/CommunityIssuanceStorage.json b/packages/lib-ethers/live/CommunityIssuanceStorage.json deleted file mode 100644 index 0a4a69702..000000000 --- a/packages/lib-ethers/live/CommunityIssuanceStorage.json +++ /dev/null @@ -1,173 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "CommunityIssuanceStorage", - "sourceName": "contracts/ZERO/CommunityIssuanceStorage.sol", - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "previousOwner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnershipTransferred", - "type": "event" - }, - { - "inputs": [], - "name": "ISSUANCE_FACTOR", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "NAME", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "SECONDS_IN_ONE_MINUTE", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "ZEROSupplyCap", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "communityPotAddress", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "deploymentTime", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "fundingWalletAddress", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getOwner", - "outputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - } - ], - "name": "setOwner", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "totalZEROIssued", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "zeroToken", - "outputs": [ - { - "internalType": "contract IZEROToken", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": "0x60806040526000805534801561001457600080fd5b50610027336001600160e01b0361002c16565b610114565b6001600160a01b0381166100715760405162461bcd60e51b81526004018080602001828103825260228152602001806105136022913960400191505060405180910390fd5b6001600160a01b03811661008c6001600160e01b036100ea16565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3604080517035b2bc9737bbb730b136329737bbb732b960791b8152905190819003601101902055565b604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205490565b6103f0806101236000396000f3fe608060405234801561001057600080fd5b50600436106100a95760003560e01c8063893d20e811610071578063893d20e8146101245780639ce21f3c1461012c5780639d4101b714610134578063a3f4df7e1461013c578063ecda10f5146101b9578063f294bd92146101c1576100a9565b80630fc83da3146100ae57806313af4035146100c85780631a5a934a146100f057806321492b2a1461011457806361ec893d1461011c575b600080fd5b6100b66101c9565b60408051918252519081900360200190f35b6100ee600480360360208110156100de57600080fd5b50356001600160a01b03166101d5565b005b6100f8610248565b604080516001600160a01b039092168252519081900360200190f35b6100b6610257565b6100b661025d565b6100f8610262565b6100f861028c565b6100b661029b565b6101446102a1565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561017e578181015183820152602001610166565b50505050905090810190601f1680156101ab5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6100b66102ce565b6100f86102d4565b670de0b5809a6f939881565b6101dd610262565b6001600160a01b0316336001600160a01b03161461023c576040805162461bcd60e51b815260206004820152601760248201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604482015290519081900360640190fd5b610245816102e3565b50565b6002546001600160a01b031681565b60005481565b603c81565b604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205490565b6003546001600160a01b031681565b60045481565b60405180604001604052806011815260200170436f6d6d756e69747949737375616e636560781b81525081565b60055481565b6001546001600160a01b031681565b6001600160a01b0381166103285760405162461bcd60e51b81526004018080602001828103825260228152602001806103996022913960400191505060405180910390fd5b806001600160a01b031661033a610262565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205556fe4f776e61626c653a3a7365744f776e65723a20696e76616c69642061646472657373a2646970667358221220145f4530038a1bdf7290e7c42c49a44c740da232431f4c70d900af70ffb28d6b64736f6c634300060b00334f776e61626c653a3a7365744f776e65723a20696e76616c69642061646472657373", - "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100a95760003560e01c8063893d20e811610071578063893d20e8146101245780639ce21f3c1461012c5780639d4101b714610134578063a3f4df7e1461013c578063ecda10f5146101b9578063f294bd92146101c1576100a9565b80630fc83da3146100ae57806313af4035146100c85780631a5a934a146100f057806321492b2a1461011457806361ec893d1461011c575b600080fd5b6100b66101c9565b60408051918252519081900360200190f35b6100ee600480360360208110156100de57600080fd5b50356001600160a01b03166101d5565b005b6100f8610248565b604080516001600160a01b039092168252519081900360200190f35b6100b6610257565b6100b661025d565b6100f8610262565b6100f861028c565b6100b661029b565b6101446102a1565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561017e578181015183820152602001610166565b50505050905090810190601f1680156101ab5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6100b66102ce565b6100f86102d4565b670de0b5809a6f939881565b6101dd610262565b6001600160a01b0316336001600160a01b03161461023c576040805162461bcd60e51b815260206004820152601760248201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604482015290519081900360640190fd5b610245816102e3565b50565b6002546001600160a01b031681565b60005481565b603c81565b604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205490565b6003546001600160a01b031681565b60045481565b60405180604001604052806011815260200170436f6d6d756e69747949737375616e636560781b81525081565b60055481565b6001546001600160a01b031681565b6001600160a01b0381166103285760405162461bcd60e51b81526004018080602001828103825260228152602001806103996022913960400191505060405180910390fd5b806001600160a01b031661033a610262565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205556fe4f776e61626c653a3a7365744f776e65723a20696e76616c69642061646472657373a2646970667358221220145f4530038a1bdf7290e7c42c49a44c740da232431f4c70d900af70ffb28d6b64736f6c634300060b0033", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/packages/lib-ethers/live/CommunityIssuanceTester.json b/packages/lib-ethers/live/CommunityIssuanceTester.json deleted file mode 100644 index f6359e361..000000000 --- a/packages/lib-ethers/live/CommunityIssuanceTester.json +++ /dev/null @@ -1,349 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "CommunityIssuanceTester", - "sourceName": "contracts/TestContracts/CommunityIssuanceTester.sol", - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_communityPotAddress", - "type": "address" - } - ], - "name": "CommunityPotAddressSet", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_zeroTokenAddress", - "type": "address" - } - ], - "name": "FundingWalletAddressSet", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "previousOwner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnershipTransferred", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "_fundingWalletAddress", - "type": "uint256" - } - ], - "name": "TotalZEROIssuedUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_zeroTokenAddress", - "type": "address" - } - ], - "name": "ZEROTokenAddressSet", - "type": "event" - }, - { - "inputs": [], - "name": "DECIMAL_PRECISION", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "ISSUANCE_FACTOR", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "NAME", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "SECONDS_IN_ONE_MINUTE", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "ZEROSupplyCap", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "communityPotAddress", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "deploymentTime", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "fundingWalletAddress", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getCumulativeIssuanceFraction", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getOwner", - "outputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_zeroTokenAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_communityPotAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_fundingWalletAddress", - "type": "address" - } - ], - "name": "initialize", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "issueZERO", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "name": "obtainZERO", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_account", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_ZEROamount", - "type": "uint256" - } - ], - "name": "receiveZero", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_account", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_ZEROamount", - "type": "uint256" - } - ], - "name": "sendZERO", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - } - ], - "name": "setOwner", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "totalZEROIssued", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "unprotectedIssueZERO", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "zeroToken", - "outputs": [ - { - "internalType": "contract IZEROToken", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": "0x60806040526000805534801561001457600080fd5b50610027336001600160e01b0361002c16565b610114565b6001600160a01b0381166100715760405162461bcd60e51b81526004018080602001828103825260228152602001806110326022913960400191505060405180910390fd5b6001600160a01b03811661008c6001600160e01b036100ea16565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3604080517035b2bc9737bbb730b136329737bbb732b960791b8152905190819003601101902055565b604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205490565b610f0f806101236000396000f3fe608060405234801561001057600080fd5b50600436106101115760003560e01c80639ce21f3c116100ad578063c0c53b8b11610071578063c0c53b8b14610282578063e59be586146102ba578063ecda10f5146102c2578063f1bd258b146102ca578063f294bd92146102f657610111565b80639ce21f3c146101e55780639d4101b7146101ed5780639d5b044d146101f5578063a20baee6146101fd578063a3f4df7e1461020557610111565b80630fc83da31461011657806313af4035146101305780631a5a934a1461015857806321492b2a1461017c57806337362c181461018457806353846aad146101b057806361ec893d146101cd578063650fa257146101d5578063893d20e8146101dd575b600080fd5b61011e6102fe565b60408051918252519081900360200190f35b6101566004803603602081101561014657600080fd5b50356001600160a01b031661030a565b005b61016061037d565b604080516001600160a01b039092168252519081900360200190f35b61011e61038c565b6101566004803603604081101561019a57600080fd5b506001600160a01b038135169060200135610392565b610156600480360360208110156101c657600080fd5b503561046e565b61011e6104ec565b61011e6104f1565b61016061054b565b610160610575565b61011e610584565b61011e61058a565b61011e610599565b61020d6105a5565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561024757818101518382015260200161022f565b50505050905090810190601f1680156102745780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101566004803603606081101561029857600080fd5b506001600160a01b0381358116916020810135821691604090910135166105d2565b61011e6106f9565b61011e610777565b610156600480360360408110156102e057600080fd5b506001600160a01b03813516906020013561077d565b6101606108f3565b670de0b5809a6f939881565b61031261054b565b6001600160a01b0316336001600160a01b031614610371576040805162461bcd60e51b815260206004820152601760248201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604482015290519081900360640190fd5b61037a81610902565b50565b6002546001600160a01b031681565b60005481565b61039a6109b7565b6001546040805163a9059cbb60e01b81526001600160a01b038581166004830152602482018590529151600093929092169163a9059cbb9160448082019260209290919082900301818787803b1580156103f357600080fd5b505af1158015610407573d6000803e3d6000fd5b505050506040513d602081101561041d57600080fd5b5051905080610469576040805162461bcd60e51b81526020600482015260136024820152724661696c656420746f2073656e64205a45524f60681b604482015290519081900360640190fd5b505050565b6001546040805163a9059cbb60e01b81523360048201526024810184905290516001600160a01b039092169163a9059cbb916044808201926020929091908290030181600087803b1580156104c257600080fd5b505af11580156104d6573d6000803e3d6000fd5b505050506040513d602081101561046957600080fd5b603c81565b600080610526670de0b6b3a764000061051a61050b610a02565b6000549063ffffffff610a6c16565b9063ffffffff610ace16565b9050600061053f60045483610b1090919063ffffffff16565b60049290925550905090565b604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205490565b6003546001600160a01b031681565b60045481565b6000610594610a02565b905090565b670de0b6b3a764000081565b60405180604001604052806011815260200170436f6d6d756e69747949737375616e636560781b81525081565b6105da61054b565b6001600160a01b0316336001600160a01b031614610639576040805162461bcd60e51b815260206004820152601760248201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604482015290519081900360640190fd5b61064283610b52565b61064b82610b52565b600180546001600160a01b038086166001600160a01b0319928316811790935560028054868316908416179055600380549185169190921617905560408051918252517f7eeded1a6761a0ca57ff60155bdd3e94fbfe5d9e8dc5013b3aa195b8d9e851ea9181900360200190a1604080516001600160a01b038416815290517f47ebfdc80bf05a81c1216176fd90779f8f67326c8d82eb50b3bce67473f188ce9181900360200190a1505050565b60006107036109b7565b600061071c670de0b6b3a764000061051a61050b610a02565b9050600061073560045483610b1090919063ffffffff16565b60048390556040805184815290519192507f0e4f366add234067215e649a6bccebac27241d6488de286967c468de64f62614919081900360200190a191505090565b60055481565b6003546001600160a01b038381169116146107c95760405162461bcd60e51b8152600401808060200182810382526028815260200180610e6e6028913960400191505060405180910390fd5b6000541561081e576040805162461bcd60e51b815260206004820152601c60248201527f436f6d6d756e69747920706f7420616c72656164792066756e64656400000000604482015290519081900360640190fd5b600154604080516323b872dd60e01b81526001600160a01b03858116600483015230602483015260448201859052915191909216916323b872dd9160648083019260209291908290030181600087803b15801561087a57600080fd5b505af115801561088e573d6000803e3d6000fd5b505050506040513d60208110156108a457600080fd5b50516108e9576040805162461bcd60e51b815260206004820152600f60248201526e151c985b9cd9995c8819985a5b1959608a1b604482015290519081900360640190fd5b6000555042600555565b6001546001600160a01b031681565b6001600160a01b0381166109475760405162461bcd60e51b8152600401808060200182810382526022815260200180610e4c6022913960400191505060405180910390fd5b806001600160a01b031661095961054b565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3604080517035b2bc9737bbb730b136329737bbb732b960791b8152905190819003601101902055565b6002546001600160a01b03163314610a005760405162461bcd60e51b8152600401808060200182810382526023815260200180610eb76023913960400191505060405180910390fd5b565b600080610a1f603c61051a60055442610b1090919063ffffffff16565b90506000610a35670de0b5809a6f939883610c05565b90506000610a51670de0b6b3a76400008363ffffffff610b1016565b9050670de0b6b3a7640000811115610a6557fe5b9250505090565b600082610a7b57506000610ac8565b82820282848281610a8857fe5b0414610ac55760405162461bcd60e51b8152600401808060200182810382526021815260200180610e966021913960400191505060405180910390fd5b90505b92915050565b6000610ac583836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250610cba565b6000610ac583836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610d5c565b6001600160a01b038116610bad576040805162461bcd60e51b815260206004820152601e60248201527f4163636f756e742063616e6e6f74206265207a65726f20616464726573730000604482015290519081900360640190fd5b803b80610c01576040805162461bcd60e51b815260206004820181905260248201527f4163636f756e7420636f64652073697a652063616e6e6f74206265207a65726f604482015290519081900360640190fd5b5050565b6000631f540500821115610c1b57631f54050091505b81610c2f5750670de0b6b3a7640000610ac8565b670de0b6b3a764000083835b6001811115610ca65760028106610c7057610c568283610db6565b9150610c6981600263ffffffff610ace16565b9050610ca1565b610c7a8284610db6565b9250610c868283610db6565b9150610c9e600261051a83600163ffffffff610b1016565b90505b610c3b565b610cb08284610db6565b9695505050505050565b60008183610d465760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610d0b578181015183820152602001610cf3565b50505050905090810190601f168015610d385780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b506000838581610d5257fe5b0495945050505050565b60008184841115610dae5760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610d0b578181015183820152602001610cf3565b505050900390565b600080610dc9848463ffffffff610a6c16565b9050610de9670de0b6b3a764000061051a836706f05b59d3b20000610df1565b949350505050565b600082820183811015610ac5576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fdfe4f776e61626c653a3a7365744f776e65723a20696e76616c696420616464726573734f6e6c79207468652066756e64696e672077616c6c65742063616e206465706f736974205a45524f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77436f6d6d756e69747949737375616e63653a2063616c6c6572206973206e6f74205350a2646970667358221220462af32e2126f560ce04aac98eded710257b57beb402261936cce76cb828702864736f6c634300060b00334f776e61626c653a3a7365744f776e65723a20696e76616c69642061646472657373", - "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106101115760003560e01c80639ce21f3c116100ad578063c0c53b8b11610071578063c0c53b8b14610282578063e59be586146102ba578063ecda10f5146102c2578063f1bd258b146102ca578063f294bd92146102f657610111565b80639ce21f3c146101e55780639d4101b7146101ed5780639d5b044d146101f5578063a20baee6146101fd578063a3f4df7e1461020557610111565b80630fc83da31461011657806313af4035146101305780631a5a934a1461015857806321492b2a1461017c57806337362c181461018457806353846aad146101b057806361ec893d146101cd578063650fa257146101d5578063893d20e8146101dd575b600080fd5b61011e6102fe565b60408051918252519081900360200190f35b6101566004803603602081101561014657600080fd5b50356001600160a01b031661030a565b005b61016061037d565b604080516001600160a01b039092168252519081900360200190f35b61011e61038c565b6101566004803603604081101561019a57600080fd5b506001600160a01b038135169060200135610392565b610156600480360360208110156101c657600080fd5b503561046e565b61011e6104ec565b61011e6104f1565b61016061054b565b610160610575565b61011e610584565b61011e61058a565b61011e610599565b61020d6105a5565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561024757818101518382015260200161022f565b50505050905090810190601f1680156102745780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101566004803603606081101561029857600080fd5b506001600160a01b0381358116916020810135821691604090910135166105d2565b61011e6106f9565b61011e610777565b610156600480360360408110156102e057600080fd5b506001600160a01b03813516906020013561077d565b6101606108f3565b670de0b5809a6f939881565b61031261054b565b6001600160a01b0316336001600160a01b031614610371576040805162461bcd60e51b815260206004820152601760248201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604482015290519081900360640190fd5b61037a81610902565b50565b6002546001600160a01b031681565b60005481565b61039a6109b7565b6001546040805163a9059cbb60e01b81526001600160a01b038581166004830152602482018590529151600093929092169163a9059cbb9160448082019260209290919082900301818787803b1580156103f357600080fd5b505af1158015610407573d6000803e3d6000fd5b505050506040513d602081101561041d57600080fd5b5051905080610469576040805162461bcd60e51b81526020600482015260136024820152724661696c656420746f2073656e64205a45524f60681b604482015290519081900360640190fd5b505050565b6001546040805163a9059cbb60e01b81523360048201526024810184905290516001600160a01b039092169163a9059cbb916044808201926020929091908290030181600087803b1580156104c257600080fd5b505af11580156104d6573d6000803e3d6000fd5b505050506040513d602081101561046957600080fd5b603c81565b600080610526670de0b6b3a764000061051a61050b610a02565b6000549063ffffffff610a6c16565b9063ffffffff610ace16565b9050600061053f60045483610b1090919063ffffffff16565b60049290925550905090565b604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205490565b6003546001600160a01b031681565b60045481565b6000610594610a02565b905090565b670de0b6b3a764000081565b60405180604001604052806011815260200170436f6d6d756e69747949737375616e636560781b81525081565b6105da61054b565b6001600160a01b0316336001600160a01b031614610639576040805162461bcd60e51b815260206004820152601760248201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604482015290519081900360640190fd5b61064283610b52565b61064b82610b52565b600180546001600160a01b038086166001600160a01b0319928316811790935560028054868316908416179055600380549185169190921617905560408051918252517f7eeded1a6761a0ca57ff60155bdd3e94fbfe5d9e8dc5013b3aa195b8d9e851ea9181900360200190a1604080516001600160a01b038416815290517f47ebfdc80bf05a81c1216176fd90779f8f67326c8d82eb50b3bce67473f188ce9181900360200190a1505050565b60006107036109b7565b600061071c670de0b6b3a764000061051a61050b610a02565b9050600061073560045483610b1090919063ffffffff16565b60048390556040805184815290519192507f0e4f366add234067215e649a6bccebac27241d6488de286967c468de64f62614919081900360200190a191505090565b60055481565b6003546001600160a01b038381169116146107c95760405162461bcd60e51b8152600401808060200182810382526028815260200180610e6e6028913960400191505060405180910390fd5b6000541561081e576040805162461bcd60e51b815260206004820152601c60248201527f436f6d6d756e69747920706f7420616c72656164792066756e64656400000000604482015290519081900360640190fd5b600154604080516323b872dd60e01b81526001600160a01b03858116600483015230602483015260448201859052915191909216916323b872dd9160648083019260209291908290030181600087803b15801561087a57600080fd5b505af115801561088e573d6000803e3d6000fd5b505050506040513d60208110156108a457600080fd5b50516108e9576040805162461bcd60e51b815260206004820152600f60248201526e151c985b9cd9995c8819985a5b1959608a1b604482015290519081900360640190fd5b6000555042600555565b6001546001600160a01b031681565b6001600160a01b0381166109475760405162461bcd60e51b8152600401808060200182810382526022815260200180610e4c6022913960400191505060405180910390fd5b806001600160a01b031661095961054b565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3604080517035b2bc9737bbb730b136329737bbb732b960791b8152905190819003601101902055565b6002546001600160a01b03163314610a005760405162461bcd60e51b8152600401808060200182810382526023815260200180610eb76023913960400191505060405180910390fd5b565b600080610a1f603c61051a60055442610b1090919063ffffffff16565b90506000610a35670de0b5809a6f939883610c05565b90506000610a51670de0b6b3a76400008363ffffffff610b1016565b9050670de0b6b3a7640000811115610a6557fe5b9250505090565b600082610a7b57506000610ac8565b82820282848281610a8857fe5b0414610ac55760405162461bcd60e51b8152600401808060200182810382526021815260200180610e966021913960400191505060405180910390fd5b90505b92915050565b6000610ac583836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250610cba565b6000610ac583836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610d5c565b6001600160a01b038116610bad576040805162461bcd60e51b815260206004820152601e60248201527f4163636f756e742063616e6e6f74206265207a65726f20616464726573730000604482015290519081900360640190fd5b803b80610c01576040805162461bcd60e51b815260206004820181905260248201527f4163636f756e7420636f64652073697a652063616e6e6f74206265207a65726f604482015290519081900360640190fd5b5050565b6000631f540500821115610c1b57631f54050091505b81610c2f5750670de0b6b3a7640000610ac8565b670de0b6b3a764000083835b6001811115610ca65760028106610c7057610c568283610db6565b9150610c6981600263ffffffff610ace16565b9050610ca1565b610c7a8284610db6565b9250610c868283610db6565b9150610c9e600261051a83600163ffffffff610b1016565b90505b610c3b565b610cb08284610db6565b9695505050505050565b60008183610d465760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610d0b578181015183820152602001610cf3565b50505050905090810190601f168015610d385780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b506000838581610d5257fe5b0495945050505050565b60008184841115610dae5760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610d0b578181015183820152602001610cf3565b505050900390565b600080610dc9848463ffffffff610a6c16565b9050610de9670de0b6b3a764000061051a836706f05b59d3b20000610df1565b949350505050565b600082820183811015610ac5576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fdfe4f776e61626c653a3a7365744f776e65723a20696e76616c696420616464726573734f6e6c79207468652066756e64696e672077616c6c65742063616e206465706f736974205a45524f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77436f6d6d756e69747949737375616e63653a2063616c6c6572206973206e6f74205350a2646970667358221220462af32e2126f560ce04aac98eded710257b57beb402261936cce76cb828702864736f6c634300060b0033", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/packages/lib-ethers/live/DSAuth.json b/packages/lib-ethers/live/DSAuth.json deleted file mode 100644 index 5c77c803e..000000000 --- a/packages/lib-ethers/live/DSAuth.json +++ /dev/null @@ -1,94 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "DSAuth", - "sourceName": "contracts/TestContracts/DappSys/proxy.sol", - "abi": [ - { - "inputs": [], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "authority", - "type": "address" - } - ], - "name": "LogSetAuthority", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "owner", - "type": "address" - } - ], - "name": "LogSetOwner", - "type": "event" - }, - { - "inputs": [], - "name": "authority", - "outputs": [ - { - "internalType": "contract DSAuthority", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "owner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "contract DSAuthority", - "name": "authority_", - "type": "address" - } - ], - "name": "setAuthority", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner_", - "type": "address" - } - ], - "name": "setOwner", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": "0x608060405234801561001057600080fd5b50600180546001600160a01b031916339081179091556040517fce241d7ca1f669fee44b6fc00b8eba2df3bb514eed0f6f668f8f89096e81ed9490600090a26102e28061005e6000396000f3fe608060405234801561001057600080fd5b506004361061004c5760003560e01c806313af4035146100515780637a9e5e4b146100795780638da5cb5b1461009f578063bf7e214f146100c3575b600080fd5b6100776004803603602081101561006757600080fd5b50356001600160a01b03166100cb565b005b6100776004803603602081101561008f57600080fd5b50356001600160a01b031661013a565b6100a76101a5565b604080516001600160a01b039092168252519081900360200190f35b6100a76101b4565b6100e1336000356001600160e01b0319166101c3565b6100ea57600080fd5b600180546001600160a01b0319166001600160a01b0383811691909117918290556040519116907fce241d7ca1f669fee44b6fc00b8eba2df3bb514eed0f6f668f8f89096e81ed9490600090a250565b610150336000356001600160e01b0319166101c3565b61015957600080fd5b600080546001600160a01b0319166001600160a01b03838116919091178083556040519116917f1abebea81bfa2637f28358c371278fb15ede7ea8dd28d2e03b112ff6d936ada491a250565b6001546001600160a01b031681565b6000546001600160a01b031681565b60006001600160a01b0383163014156101de575060016102a6565b6001546001600160a01b03848116911614156101fc575060016102a6565b6000546001600160a01b0316610214575060006102a6565b6000546040805163b700961360e01b81526001600160a01b0386811660048301523060248301526001600160e01b0319861660448301529151919092169163b7009613916064808301926020929190829003018186803b15801561027757600080fd5b505afa15801561028b573d6000803e3d6000fd5b505050506040513d60208110156102a157600080fd5b505190505b9291505056fea26469706673582212202e45fe2e69e5115659aeef5d32851127ea76483fb2686de9297e14920ae4420564736f6c634300060b0033", - "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061004c5760003560e01c806313af4035146100515780637a9e5e4b146100795780638da5cb5b1461009f578063bf7e214f146100c3575b600080fd5b6100776004803603602081101561006757600080fd5b50356001600160a01b03166100cb565b005b6100776004803603602081101561008f57600080fd5b50356001600160a01b031661013a565b6100a76101a5565b604080516001600160a01b039092168252519081900360200190f35b6100a76101b4565b6100e1336000356001600160e01b0319166101c3565b6100ea57600080fd5b600180546001600160a01b0319166001600160a01b0383811691909117918290556040519116907fce241d7ca1f669fee44b6fc00b8eba2df3bb514eed0f6f668f8f89096e81ed9490600090a250565b610150336000356001600160e01b0319166101c3565b61015957600080fd5b600080546001600160a01b0319166001600160a01b03838116919091178083556040519116917f1abebea81bfa2637f28358c371278fb15ede7ea8dd28d2e03b112ff6d936ada491a250565b6001546001600160a01b031681565b6000546001600160a01b031681565b60006001600160a01b0383163014156101de575060016102a6565b6001546001600160a01b03848116911614156101fc575060016102a6565b6000546001600160a01b0316610214575060006102a6565b6000546040805163b700961360e01b81526001600160a01b0386811660048301523060248301526001600160e01b0319861660448301529151919092169163b7009613916064808301926020929190829003018186803b15801561027757600080fd5b505afa15801561028b573d6000803e3d6000fd5b505050506040513d60208110156102a157600080fd5b505190505b9291505056fea26469706673582212202e45fe2e69e5115659aeef5d32851127ea76483fb2686de9297e14920ae4420564736f6c634300060b0033", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/packages/lib-ethers/live/DSAuthEvents.json b/packages/lib-ethers/live/DSAuthEvents.json deleted file mode 100644 index a2321e514..000000000 --- a/packages/lib-ethers/live/DSAuthEvents.json +++ /dev/null @@ -1,37 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "DSAuthEvents", - "sourceName": "contracts/TestContracts/DappSys/proxy.sol", - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "authority", - "type": "address" - } - ], - "name": "LogSetAuthority", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "owner", - "type": "address" - } - ], - "name": "LogSetOwner", - "type": "event" - } - ], - "bytecode": "0x6080604052348015600f57600080fd5b50603f80601d6000396000f3fe6080604052600080fdfea26469706673582212201bcbcfea21f5376846fc02e29c2d08349b6909a8e40896d9f39ced41f421a80d64736f6c634300060b0033", - "deployedBytecode": "0x6080604052600080fdfea26469706673582212201bcbcfea21f5376846fc02e29c2d08349b6909a8e40896d9f39ced41f421a80d64736f6c634300060b0033", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/packages/lib-ethers/live/DSAuthority.json b/packages/lib-ethers/live/DSAuthority.json deleted file mode 100644 index 951a340b3..000000000 --- a/packages/lib-ethers/live/DSAuthority.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "DSAuthority", - "sourceName": "contracts/TestContracts/DappSys/proxy.sol", - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "src", - "type": "address" - }, - { - "internalType": "address", - "name": "dst", - "type": "address" - }, - { - "internalType": "bytes4", - "name": "sig", - "type": "bytes4" - } - ], - "name": "canCall", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": "0x", - "deployedBytecode": "0x", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/packages/lib-ethers/live/DSNote.json b/packages/lib-ethers/live/DSNote.json deleted file mode 100644 index 810a7c912..000000000 --- a/packages/lib-ethers/live/DSNote.json +++ /dev/null @@ -1,54 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "DSNote", - "sourceName": "contracts/TestContracts/DappSys/proxy.sol", - "abi": [ - { - "anonymous": true, - "inputs": [ - { - "indexed": true, - "internalType": "bytes4", - "name": "sig", - "type": "bytes4" - }, - { - "indexed": true, - "internalType": "address", - "name": "guy", - "type": "address" - }, - { - "indexed": true, - "internalType": "bytes32", - "name": "foo", - "type": "bytes32" - }, - { - "indexed": true, - "internalType": "bytes32", - "name": "bar", - "type": "bytes32" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "wad", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "bytes", - "name": "fax", - "type": "bytes" - } - ], - "name": "LogNote", - "type": "event" - } - ], - "bytecode": "0x6080604052348015600f57600080fd5b50603f80601d6000396000f3fe6080604052600080fdfea264697066735822122037e90cb0746adeafedeea15224372230e8a18f8abb045d99f99681a7fe907d9864736f6c634300060b0033", - "deployedBytecode": "0x6080604052600080fdfea264697066735822122037e90cb0746adeafedeea15224372230e8a18f8abb045d99f99681a7fe907d9864736f6c634300060b0033", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/packages/lib-ethers/live/DSProxy.json b/packages/lib-ethers/live/DSProxy.json deleted file mode 100644 index a5e092001..000000000 --- a/packages/lib-ethers/live/DSProxy.json +++ /dev/null @@ -1,217 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "DSProxy", - "sourceName": "contracts/TestContracts/DappSys/proxy.sol", - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_cacheAddr", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": true, - "inputs": [ - { - "indexed": true, - "internalType": "bytes4", - "name": "sig", - "type": "bytes4" - }, - { - "indexed": true, - "internalType": "address", - "name": "guy", - "type": "address" - }, - { - "indexed": true, - "internalType": "bytes32", - "name": "foo", - "type": "bytes32" - }, - { - "indexed": true, - "internalType": "bytes32", - "name": "bar", - "type": "bytes32" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "wad", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "bytes", - "name": "fax", - "type": "bytes" - } - ], - "name": "LogNote", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "authority", - "type": "address" - } - ], - "name": "LogSetAuthority", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "owner", - "type": "address" - } - ], - "name": "LogSetOwner", - "type": "event" - }, - { - "stateMutability": "payable", - "type": "fallback" - }, - { - "inputs": [], - "name": "authority", - "outputs": [ - { - "internalType": "contract DSAuthority", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "cache", - "outputs": [ - { - "internalType": "contract DSProxyCache", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_target", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_data", - "type": "bytes" - } - ], - "name": "execute", - "outputs": [ - { - "internalType": "bytes32", - "name": "response", - "type": "bytes32" - } - ], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes", - "name": "_code", - "type": "bytes" - }, - { - "internalType": "bytes", - "name": "_data", - "type": "bytes" - } - ], - "name": "execute", - "outputs": [ - { - "internalType": "address", - "name": "target", - "type": "address" - }, - { - "internalType": "bytes32", - "name": "response", - "type": "bytes32" - } - ], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [], - "name": "owner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "contract DSAuthority", - "name": "authority_", - "type": "address" - } - ], - "name": "setAuthority", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner_", - "type": "address" - } - ], - "name": "setOwner", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "stateMutability": "payable", - "type": "receive" - } - ], - "bytecode": "0x608060405234801561001057600080fd5b506040516109bb3803806109bb8339818101604052602081101561003357600080fd5b5051600180546001600160a01b031916339081179091556040517fce241d7ca1f669fee44b6fc00b8eba2df3bb514eed0f6f668f8f89096e81ed9490600090a2610085816001600160e01b0361009416565b61008e57600080fd5b50610242565b60006100b4336001600160e01b03198335166001600160e01b0361015916565b6100bd57600080fd5b604080513480825260208201838152369383018490526004359360243593849386933393600080356001600160e01b03191694909260608201848480828437600083820152604051601f909101601f1916909201829003965090945050505050a46001600160a01b03841661013157600080fd5b600280546001600160a01b0386166001600160a01b0319909116179055600192505050919050565b60006001600160a01b0383163014156101745750600161023c565b6001546001600160a01b03848116911614156101925750600161023c565b6000546001600160a01b03166101aa5750600061023c565b6000546040805163b700961360e01b81526001600160a01b0386811660048301523060248301526001600160e01b0319861660448301529151919092169163b7009613916064808301926020929190829003018186803b15801561020d57600080fd5b505afa158015610221573d6000803e3d6000fd5b505050506040513d602081101561023757600080fd5b505190505b92915050565b61076a806102516000396000f3fe6080604052600436106100645760003560e01c806313af40351461006d5780631cff79cd146100a05780631f6a1eb91461016657806360c7d295146102475780637a9e5e4b146102785780638da5cb5b146102ab578063bf7e214f146102c05761006b565b3661006b57005b005b34801561007957600080fd5b5061006b6004803603602081101561009057600080fd5b50356001600160a01b03166102d5565b610154600480360360408110156100b657600080fd5b6001600160a01b038235169190810190604081016020820135600160201b8111156100e057600080fd5b8201836020820111156100f257600080fd5b803590602001918460018302840111600160201b8311171561011357600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610344945050505050565b60408051918252519081900360200190f35b6102246004803603604081101561017c57600080fd5b810190602081018135600160201b81111561019657600080fd5b8201836020820111156101a857600080fd5b803590602001918460018302840111600160201b831117156101c957600080fd5b919390929091602081019035600160201b8111156101e657600080fd5b8201836020820111156101f857600080fd5b803590602001918460018302840111600160201b8311171561021957600080fd5b50909250905061040d565b604080516001600160a01b03909316835260208301919091528051918290030190f35b34801561025357600080fd5b5061025c6105b3565b604080516001600160a01b039092168252519081900360200190f35b34801561028457600080fd5b5061006b6004803603602081101561029b57600080fd5b50356001600160a01b03166105c2565b3480156102b757600080fd5b5061025c61062d565b3480156102cc57600080fd5b5061025c61063c565b6102eb336000356001600160e01b03191661064b565b6102f457600080fd5b600180546001600160a01b0319166001600160a01b0383811691909117918290556040519116907fce241d7ca1f669fee44b6fc00b8eba2df3bb514eed0f6f668f8f89096e81ed9490600090a250565b600061035c336000356001600160e01b03191661064b565b61036557600080fd5b604080513480825260208201838152369383018490526004359360243593849386933393600080356001600160e01b03191694909260608201848480828437600083820152604051601f909101601f1916909201829003965090945050505050a46001600160a01b0385166103d957600080fd5b60206000855160208701886113885a03f460005193508015600181146103fe57610403565b600080fd5b5050505092915050565b6002546040516322fd145760e21b81526020600482019081526024820186905260009283926001600160a01b0390911691638bf4515c91899189918190604401848480828437600083820152604051601f909101601f191690920195506020945090925050508083038186803b15801561048657600080fd5b505afa15801561049a573d6000803e3d6000fd5b505050506040513d60208110156104b057600080fd5b505191506001600160a01b03821661056857600254604051633f6861d960e11b8152602060048201908152602482018890526001600160a01b0390921691637ed0c3b291899189918190604401848480828437600081840152601f19601f8201169050808301925050509350505050602060405180830381600087803b15801561053957600080fd5b505af115801561054d573d6000803e3d6000fd5b505050506040513d602081101561056357600080fd5b505191505b6105a88285858080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061034492505050565b905094509492505050565b6002546001600160a01b031681565b6105d8336000356001600160e01b03191661064b565b6105e157600080fd5b600080546001600160a01b0319166001600160a01b03838116919091178083556040519116917f1abebea81bfa2637f28358c371278fb15ede7ea8dd28d2e03b112ff6d936ada491a250565b6001546001600160a01b031681565b6000546001600160a01b031681565b60006001600160a01b0383163014156106665750600161072e565b6001546001600160a01b03848116911614156106845750600161072e565b6000546001600160a01b031661069c5750600061072e565b6000546040805163b700961360e01b81526001600160a01b0386811660048301523060248301526001600160e01b0319861660448301529151919092169163b7009613916064808301926020929190829003018186803b1580156106ff57600080fd5b505afa158015610713573d6000803e3d6000fd5b505050506040513d602081101561072957600080fd5b505190505b9291505056fea26469706673582212207a85fff21b4bf5a2e5057cd4c30eb4525868f2dd0be66af28789fd97fc78ca4364736f6c634300060b0033", - "deployedBytecode": "0x6080604052600436106100645760003560e01c806313af40351461006d5780631cff79cd146100a05780631f6a1eb91461016657806360c7d295146102475780637a9e5e4b146102785780638da5cb5b146102ab578063bf7e214f146102c05761006b565b3661006b57005b005b34801561007957600080fd5b5061006b6004803603602081101561009057600080fd5b50356001600160a01b03166102d5565b610154600480360360408110156100b657600080fd5b6001600160a01b038235169190810190604081016020820135600160201b8111156100e057600080fd5b8201836020820111156100f257600080fd5b803590602001918460018302840111600160201b8311171561011357600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610344945050505050565b60408051918252519081900360200190f35b6102246004803603604081101561017c57600080fd5b810190602081018135600160201b81111561019657600080fd5b8201836020820111156101a857600080fd5b803590602001918460018302840111600160201b831117156101c957600080fd5b919390929091602081019035600160201b8111156101e657600080fd5b8201836020820111156101f857600080fd5b803590602001918460018302840111600160201b8311171561021957600080fd5b50909250905061040d565b604080516001600160a01b03909316835260208301919091528051918290030190f35b34801561025357600080fd5b5061025c6105b3565b604080516001600160a01b039092168252519081900360200190f35b34801561028457600080fd5b5061006b6004803603602081101561029b57600080fd5b50356001600160a01b03166105c2565b3480156102b757600080fd5b5061025c61062d565b3480156102cc57600080fd5b5061025c61063c565b6102eb336000356001600160e01b03191661064b565b6102f457600080fd5b600180546001600160a01b0319166001600160a01b0383811691909117918290556040519116907fce241d7ca1f669fee44b6fc00b8eba2df3bb514eed0f6f668f8f89096e81ed9490600090a250565b600061035c336000356001600160e01b03191661064b565b61036557600080fd5b604080513480825260208201838152369383018490526004359360243593849386933393600080356001600160e01b03191694909260608201848480828437600083820152604051601f909101601f1916909201829003965090945050505050a46001600160a01b0385166103d957600080fd5b60206000855160208701886113885a03f460005193508015600181146103fe57610403565b600080fd5b5050505092915050565b6002546040516322fd145760e21b81526020600482019081526024820186905260009283926001600160a01b0390911691638bf4515c91899189918190604401848480828437600083820152604051601f909101601f191690920195506020945090925050508083038186803b15801561048657600080fd5b505afa15801561049a573d6000803e3d6000fd5b505050506040513d60208110156104b057600080fd5b505191506001600160a01b03821661056857600254604051633f6861d960e11b8152602060048201908152602482018890526001600160a01b0390921691637ed0c3b291899189918190604401848480828437600081840152601f19601f8201169050808301925050509350505050602060405180830381600087803b15801561053957600080fd5b505af115801561054d573d6000803e3d6000fd5b505050506040513d602081101561056357600080fd5b505191505b6105a88285858080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061034492505050565b905094509492505050565b6002546001600160a01b031681565b6105d8336000356001600160e01b03191661064b565b6105e157600080fd5b600080546001600160a01b0319166001600160a01b03838116919091178083556040519116917f1abebea81bfa2637f28358c371278fb15ede7ea8dd28d2e03b112ff6d936ada491a250565b6001546001600160a01b031681565b6000546001600160a01b031681565b60006001600160a01b0383163014156106665750600161072e565b6001546001600160a01b03848116911614156106845750600161072e565b6000546001600160a01b031661069c5750600061072e565b6000546040805163b700961360e01b81526001600160a01b0386811660048301523060248301526001600160e01b0319861660448301529151919092169163b7009613916064808301926020929190829003018186803b1580156106ff57600080fd5b505afa158015610713573d6000803e3d6000fd5b505050506040513d602081101561072957600080fd5b505190505b9291505056fea26469706673582212207a85fff21b4bf5a2e5057cd4c30eb4525868f2dd0be66af28789fd97fc78ca4364736f6c634300060b0033", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/packages/lib-ethers/live/DSProxyCache.json b/packages/lib-ethers/live/DSProxyCache.json deleted file mode 100644 index 7692679f0..000000000 --- a/packages/lib-ethers/live/DSProxyCache.json +++ /dev/null @@ -1,49 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "DSProxyCache", - "sourceName": "contracts/TestContracts/DappSys/proxy.sol", - "abi": [ - { - "inputs": [ - { - "internalType": "bytes", - "name": "_code", - "type": "bytes" - } - ], - "name": "read", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes", - "name": "_code", - "type": "bytes" - } - ], - "name": "write", - "outputs": [ - { - "internalType": "address", - "name": "target", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": "0x608060405234801561001057600080fd5b5061022a806100206000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c80637ed0c3b21461003b5780638bf4515c146100fb575b600080fd5b6100df6004803603602081101561005157600080fd5b810190602081018135600160201b81111561006b57600080fd5b82018360208201111561007d57600080fd5b803590602001918460018302840111600160201b8311171561009e57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610169945050505050565b604080516001600160a01b039092168252519081900360200190f35b6100df6004803603602081101561011157600080fd5b810190602081018135600160201b81111561012b57600080fd5b82018360208201111561013d57600080fd5b803590602001918460018302840111600160201b8311171561015e57600080fd5b5090925090506101b4565b60008151602083016000f09050803b156001811461003657508151602092830120600090815291829052604090912080546001600160a01b0319166001600160a01b03831617905590565b600080838360405180838380828437604080519190930181900390206000908152602081905291909120546001600160a01b03169897505050505050505056fea26469706673582212203574b1780a951f8f8993b7060d76584a85292c4d29ea4e54f041a1c3c9402ca864736f6c634300060b0033", - "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100365760003560e01c80637ed0c3b21461003b5780638bf4515c146100fb575b600080fd5b6100df6004803603602081101561005157600080fd5b810190602081018135600160201b81111561006b57600080fd5b82018360208201111561007d57600080fd5b803590602001918460018302840111600160201b8311171561009e57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610169945050505050565b604080516001600160a01b039092168252519081900360200190f35b6100df6004803603602081101561011157600080fd5b810190602081018135600160201b81111561012b57600080fd5b82018360208201111561013d57600080fd5b803590602001918460018302840111600160201b8311171561015e57600080fd5b5090925090506101b4565b60008151602083016000f09050803b156001811461003657508151602092830120600090815291829052604090912080546001600160a01b0319166001600160a01b03831617905590565b600080838360405180838380828437604080519190930181900390206000908152602081905291909120546001600160a01b03169897505050505050505056fea26469706673582212203574b1780a951f8f8993b7060d76584a85292c4d29ea4e54f041a1c3c9402ca864736f6c634300060b0033", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/packages/lib-ethers/live/DSProxyFactory.json b/packages/lib-ethers/live/DSProxyFactory.json deleted file mode 100644 index 3697ebe6c..000000000 --- a/packages/lib-ethers/live/DSProxyFactory.json +++ /dev/null @@ -1,106 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "DSProxyFactory", - "sourceName": "contracts/TestContracts/DappSys/proxy.sol", - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "proxy", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "cache", - "type": "address" - } - ], - "name": "Created", - "type": "event" - }, - { - "inputs": [], - "name": "build", - "outputs": [ - { - "internalType": "contract DSProxy", - "name": "proxy", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - } - ], - "name": "build", - "outputs": [ - { - "internalType": "contract DSProxy", - "name": "proxy", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "cache", - "outputs": [ - { - "internalType": "contract DSProxyCache", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "isProxy", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": "0x60806040526040516100109061005f565b604051809103906000f08015801561002c573d6000803e3d6000fd5b50600180546001600160a01b0319166001600160a01b039290921691909117905534801561005957600080fd5b5061006c565b61024a80610cbc83390190565b610c418061007b6000396000f3fe608060405234801561001057600080fd5b506004361061004c5760003560e01c8063297103881461005157806360c7d2951461008b5780638e1a55fc146100af578063f3701da2146100b7575b600080fd5b6100776004803603602081101561006757600080fd5b50356001600160a01b03166100dd565b604080519115158252519081900360200190f35b6100936100f2565b604080516001600160a01b039092168252519081900360200190f35b610093610101565b610093600480360360208110156100cd57600080fd5b50356001600160a01b0316610111565b60006020819052908152604090205460ff1681565b6001546001600160a01b031681565b600061010c33610111565b905090565b6001546040516000916001600160a01b03169061012d90610243565b6001600160a01b03909116815260405190819003602001906000f08015801561015a573d6000803e3d6000fd5b50600154604080516001600160a01b038085168252928316602082015281519394509185169233927f259b30ca39885c6d801a0b5dbc988640f3c25e2f37531fe138c5c5af8955d41b92908290030190a3806001600160a01b03166313af4035836040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b03168152602001915050600060405180830381600087803b15801561020357600080fd5b505af1158015610217573d6000803e3d6000fd5b5050506001600160a01b0382166000908152602081905260409020805460ff1916600117905550919050565b6109bb806102518339019056fe608060405234801561001057600080fd5b506040516109bb3803806109bb8339818101604052602081101561003357600080fd5b5051600180546001600160a01b031916339081179091556040517fce241d7ca1f669fee44b6fc00b8eba2df3bb514eed0f6f668f8f89096e81ed9490600090a2610085816001600160e01b0361009416565b61008e57600080fd5b50610242565b60006100b4336001600160e01b03198335166001600160e01b0361015916565b6100bd57600080fd5b604080513480825260208201838152369383018490526004359360243593849386933393600080356001600160e01b03191694909260608201848480828437600083820152604051601f909101601f1916909201829003965090945050505050a46001600160a01b03841661013157600080fd5b600280546001600160a01b0386166001600160a01b0319909116179055600192505050919050565b60006001600160a01b0383163014156101745750600161023c565b6001546001600160a01b03848116911614156101925750600161023c565b6000546001600160a01b03166101aa5750600061023c565b6000546040805163b700961360e01b81526001600160a01b0386811660048301523060248301526001600160e01b0319861660448301529151919092169163b7009613916064808301926020929190829003018186803b15801561020d57600080fd5b505afa158015610221573d6000803e3d6000fd5b505050506040513d602081101561023757600080fd5b505190505b92915050565b61076a806102516000396000f3fe6080604052600436106100645760003560e01c806313af40351461006d5780631cff79cd146100a05780631f6a1eb91461016657806360c7d295146102475780637a9e5e4b146102785780638da5cb5b146102ab578063bf7e214f146102c05761006b565b3661006b57005b005b34801561007957600080fd5b5061006b6004803603602081101561009057600080fd5b50356001600160a01b03166102d5565b610154600480360360408110156100b657600080fd5b6001600160a01b038235169190810190604081016020820135600160201b8111156100e057600080fd5b8201836020820111156100f257600080fd5b803590602001918460018302840111600160201b8311171561011357600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610344945050505050565b60408051918252519081900360200190f35b6102246004803603604081101561017c57600080fd5b810190602081018135600160201b81111561019657600080fd5b8201836020820111156101a857600080fd5b803590602001918460018302840111600160201b831117156101c957600080fd5b919390929091602081019035600160201b8111156101e657600080fd5b8201836020820111156101f857600080fd5b803590602001918460018302840111600160201b8311171561021957600080fd5b50909250905061040d565b604080516001600160a01b03909316835260208301919091528051918290030190f35b34801561025357600080fd5b5061025c6105b3565b604080516001600160a01b039092168252519081900360200190f35b34801561028457600080fd5b5061006b6004803603602081101561029b57600080fd5b50356001600160a01b03166105c2565b3480156102b757600080fd5b5061025c61062d565b3480156102cc57600080fd5b5061025c61063c565b6102eb336000356001600160e01b03191661064b565b6102f457600080fd5b600180546001600160a01b0319166001600160a01b0383811691909117918290556040519116907fce241d7ca1f669fee44b6fc00b8eba2df3bb514eed0f6f668f8f89096e81ed9490600090a250565b600061035c336000356001600160e01b03191661064b565b61036557600080fd5b604080513480825260208201838152369383018490526004359360243593849386933393600080356001600160e01b03191694909260608201848480828437600083820152604051601f909101601f1916909201829003965090945050505050a46001600160a01b0385166103d957600080fd5b60206000855160208701886113885a03f460005193508015600181146103fe57610403565b600080fd5b5050505092915050565b6002546040516322fd145760e21b81526020600482019081526024820186905260009283926001600160a01b0390911691638bf4515c91899189918190604401848480828437600083820152604051601f909101601f191690920195506020945090925050508083038186803b15801561048657600080fd5b505afa15801561049a573d6000803e3d6000fd5b505050506040513d60208110156104b057600080fd5b505191506001600160a01b03821661056857600254604051633f6861d960e11b8152602060048201908152602482018890526001600160a01b0390921691637ed0c3b291899189918190604401848480828437600081840152601f19601f8201169050808301925050509350505050602060405180830381600087803b15801561053957600080fd5b505af115801561054d573d6000803e3d6000fd5b505050506040513d602081101561056357600080fd5b505191505b6105a88285858080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061034492505050565b905094509492505050565b6002546001600160a01b031681565b6105d8336000356001600160e01b03191661064b565b6105e157600080fd5b600080546001600160a01b0319166001600160a01b03838116919091178083556040519116917f1abebea81bfa2637f28358c371278fb15ede7ea8dd28d2e03b112ff6d936ada491a250565b6001546001600160a01b031681565b6000546001600160a01b031681565b60006001600160a01b0383163014156106665750600161072e565b6001546001600160a01b03848116911614156106845750600161072e565b6000546001600160a01b031661069c5750600061072e565b6000546040805163b700961360e01b81526001600160a01b0386811660048301523060248301526001600160e01b0319861660448301529151919092169163b7009613916064808301926020929190829003018186803b1580156106ff57600080fd5b505afa158015610713573d6000803e3d6000fd5b505050506040513d602081101561072957600080fd5b505190505b9291505056fea26469706673582212207a85fff21b4bf5a2e5057cd4c30eb4525868f2dd0be66af28789fd97fc78ca4364736f6c634300060b0033a2646970667358221220b0f1dfdea5c6644f21e0d60ee9e035cf4e578d52f36ebbd1a383a59d7909c49e64736f6c634300060b0033608060405234801561001057600080fd5b5061022a806100206000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c80637ed0c3b21461003b5780638bf4515c146100fb575b600080fd5b6100df6004803603602081101561005157600080fd5b810190602081018135600160201b81111561006b57600080fd5b82018360208201111561007d57600080fd5b803590602001918460018302840111600160201b8311171561009e57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610169945050505050565b604080516001600160a01b039092168252519081900360200190f35b6100df6004803603602081101561011157600080fd5b810190602081018135600160201b81111561012b57600080fd5b82018360208201111561013d57600080fd5b803590602001918460018302840111600160201b8311171561015e57600080fd5b5090925090506101b4565b60008151602083016000f09050803b156001811461003657508151602092830120600090815291829052604090912080546001600160a01b0319166001600160a01b03831617905590565b600080838360405180838380828437604080519190930181900390206000908152602081905291909120546001600160a01b03169897505050505050505056fea26469706673582212203574b1780a951f8f8993b7060d76584a85292c4d29ea4e54f041a1c3c9402ca864736f6c634300060b0033", - "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061004c5760003560e01c8063297103881461005157806360c7d2951461008b5780638e1a55fc146100af578063f3701da2146100b7575b600080fd5b6100776004803603602081101561006757600080fd5b50356001600160a01b03166100dd565b604080519115158252519081900360200190f35b6100936100f2565b604080516001600160a01b039092168252519081900360200190f35b610093610101565b610093600480360360208110156100cd57600080fd5b50356001600160a01b0316610111565b60006020819052908152604090205460ff1681565b6001546001600160a01b031681565b600061010c33610111565b905090565b6001546040516000916001600160a01b03169061012d90610243565b6001600160a01b03909116815260405190819003602001906000f08015801561015a573d6000803e3d6000fd5b50600154604080516001600160a01b038085168252928316602082015281519394509185169233927f259b30ca39885c6d801a0b5dbc988640f3c25e2f37531fe138c5c5af8955d41b92908290030190a3806001600160a01b03166313af4035836040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b03168152602001915050600060405180830381600087803b15801561020357600080fd5b505af1158015610217573d6000803e3d6000fd5b5050506001600160a01b0382166000908152602081905260409020805460ff1916600117905550919050565b6109bb806102518339019056fe608060405234801561001057600080fd5b506040516109bb3803806109bb8339818101604052602081101561003357600080fd5b5051600180546001600160a01b031916339081179091556040517fce241d7ca1f669fee44b6fc00b8eba2df3bb514eed0f6f668f8f89096e81ed9490600090a2610085816001600160e01b0361009416565b61008e57600080fd5b50610242565b60006100b4336001600160e01b03198335166001600160e01b0361015916565b6100bd57600080fd5b604080513480825260208201838152369383018490526004359360243593849386933393600080356001600160e01b03191694909260608201848480828437600083820152604051601f909101601f1916909201829003965090945050505050a46001600160a01b03841661013157600080fd5b600280546001600160a01b0386166001600160a01b0319909116179055600192505050919050565b60006001600160a01b0383163014156101745750600161023c565b6001546001600160a01b03848116911614156101925750600161023c565b6000546001600160a01b03166101aa5750600061023c565b6000546040805163b700961360e01b81526001600160a01b0386811660048301523060248301526001600160e01b0319861660448301529151919092169163b7009613916064808301926020929190829003018186803b15801561020d57600080fd5b505afa158015610221573d6000803e3d6000fd5b505050506040513d602081101561023757600080fd5b505190505b92915050565b61076a806102516000396000f3fe6080604052600436106100645760003560e01c806313af40351461006d5780631cff79cd146100a05780631f6a1eb91461016657806360c7d295146102475780637a9e5e4b146102785780638da5cb5b146102ab578063bf7e214f146102c05761006b565b3661006b57005b005b34801561007957600080fd5b5061006b6004803603602081101561009057600080fd5b50356001600160a01b03166102d5565b610154600480360360408110156100b657600080fd5b6001600160a01b038235169190810190604081016020820135600160201b8111156100e057600080fd5b8201836020820111156100f257600080fd5b803590602001918460018302840111600160201b8311171561011357600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610344945050505050565b60408051918252519081900360200190f35b6102246004803603604081101561017c57600080fd5b810190602081018135600160201b81111561019657600080fd5b8201836020820111156101a857600080fd5b803590602001918460018302840111600160201b831117156101c957600080fd5b919390929091602081019035600160201b8111156101e657600080fd5b8201836020820111156101f857600080fd5b803590602001918460018302840111600160201b8311171561021957600080fd5b50909250905061040d565b604080516001600160a01b03909316835260208301919091528051918290030190f35b34801561025357600080fd5b5061025c6105b3565b604080516001600160a01b039092168252519081900360200190f35b34801561028457600080fd5b5061006b6004803603602081101561029b57600080fd5b50356001600160a01b03166105c2565b3480156102b757600080fd5b5061025c61062d565b3480156102cc57600080fd5b5061025c61063c565b6102eb336000356001600160e01b03191661064b565b6102f457600080fd5b600180546001600160a01b0319166001600160a01b0383811691909117918290556040519116907fce241d7ca1f669fee44b6fc00b8eba2df3bb514eed0f6f668f8f89096e81ed9490600090a250565b600061035c336000356001600160e01b03191661064b565b61036557600080fd5b604080513480825260208201838152369383018490526004359360243593849386933393600080356001600160e01b03191694909260608201848480828437600083820152604051601f909101601f1916909201829003965090945050505050a46001600160a01b0385166103d957600080fd5b60206000855160208701886113885a03f460005193508015600181146103fe57610403565b600080fd5b5050505092915050565b6002546040516322fd145760e21b81526020600482019081526024820186905260009283926001600160a01b0390911691638bf4515c91899189918190604401848480828437600083820152604051601f909101601f191690920195506020945090925050508083038186803b15801561048657600080fd5b505afa15801561049a573d6000803e3d6000fd5b505050506040513d60208110156104b057600080fd5b505191506001600160a01b03821661056857600254604051633f6861d960e11b8152602060048201908152602482018890526001600160a01b0390921691637ed0c3b291899189918190604401848480828437600081840152601f19601f8201169050808301925050509350505050602060405180830381600087803b15801561053957600080fd5b505af115801561054d573d6000803e3d6000fd5b505050506040513d602081101561056357600080fd5b505191505b6105a88285858080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061034492505050565b905094509492505050565b6002546001600160a01b031681565b6105d8336000356001600160e01b03191661064b565b6105e157600080fd5b600080546001600160a01b0319166001600160a01b03838116919091178083556040519116917f1abebea81bfa2637f28358c371278fb15ede7ea8dd28d2e03b112ff6d936ada491a250565b6001546001600160a01b031681565b6000546001600160a01b031681565b60006001600160a01b0383163014156106665750600161072e565b6001546001600160a01b03848116911614156106845750600161072e565b6000546001600160a01b031661069c5750600061072e565b6000546040805163b700961360e01b81526001600160a01b0386811660048301523060248301526001600160e01b0319861660448301529151919092169163b7009613916064808301926020929190829003018186803b1580156106ff57600080fd5b505afa158015610713573d6000803e3d6000fd5b505050506040513d602081101561072957600080fd5b505190505b9291505056fea26469706673582212207a85fff21b4bf5a2e5057cd4c30eb4525868f2dd0be66af28789fd97fc78ca4364736f6c634300060b0033a2646970667358221220b0f1dfdea5c6644f21e0d60ee9e035cf4e578d52f36ebbd1a383a59d7909c49e64736f6c634300060b0033", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/packages/lib-ethers/live/DefaultPool.json b/packages/lib-ethers/live/DefaultPool.json deleted file mode 100644 index e1a2844bf..000000000 --- a/packages/lib-ethers/live/DefaultPool.json +++ /dev/null @@ -1,305 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "DefaultPool", - "sourceName": "contracts/DefaultPool.sol", - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_newActivePoolAddress", - "type": "address" - } - ], - "name": "ActivePoolAddressChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_newDefaultPoolAddress", - "type": "address" - } - ], - "name": "DefaultPoolAddressChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "_ETH", - "type": "uint256" - } - ], - "name": "DefaultPoolETHBalanceUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "_ZUSDDebt", - "type": "uint256" - } - ], - "name": "DefaultPoolZUSDDebtUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "_newBalance", - "type": "uint256" - } - ], - "name": "ETHBalanceUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_to", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "name": "EtherSent", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "previousOwner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnershipTransferred", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_newStabilityPoolAddress", - "type": "address" - } - ], - "name": "StabilityPoolAddressChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_newTroveManagerAddress", - "type": "address" - } - ], - "name": "TroveManagerAddressChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "_newBalance", - "type": "uint256" - } - ], - "name": "ZUSDBalanceUpdated", - "type": "event" - }, - { - "inputs": [], - "name": "NAME", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "activePoolAddress", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "name": "decreaseZUSDDebt", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "getETH", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getOwner", - "outputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getZUSDDebt", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "name": "increaseZUSDDebt", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "name": "sendETHToActivePool", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_troveManagerAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_activePoolAddress", - "type": "address" - } - ], - "name": "setAddresses", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - } - ], - "name": "setOwner", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "troveManagerAddress", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "stateMutability": "payable", - "type": "receive" - } - ], - "bytecode": "0x608060405234801561001057600080fd5b50610023336001600160e01b0361002816565b610110565b6001600160a01b03811661006d5760405162461bcd60e51b8152600401808060200182810382526022815260200180610bd56022913960400191505060405180910390fd5b6001600160a01b0381166100886001600160e01b036100e616565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3604080517035b2bc9737bbb730b136329737bbb732b960791b8152905190819003601101902055565b604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205490565b610ab68061011f6000396000f3fe6080604052600436106100a05760003560e01c8063893d20e811610064578063893d20e8146101ca57806390107afe146101df578063a3f4df7e1461021a578063b08bc722146102a4578063be41205f146102b9578063f2e91d71146102e3576100f9565b806313af4035146100fe57806314f6c3be146101335780632439789a1461015a5780633963e980146101845780635a4d28bb14610199576100f9565b366100f9576100ad61030d565b6002546100c0903463ffffffff61035816565b600281905560408051918252517f9a14ae677a60400af9176bed2e2d5ce8dfa6405e6c1702debb27668f567214289181900360200190a1005b600080fd5b34801561010a57600080fd5b506101316004803603602081101561012157600080fd5b50356001600160a01b03166103b9565b005b34801561013f57600080fd5b5061014861042c565b60408051918252519081900360200190f35b34801561016657600080fd5b506101316004803603602081101561017d57600080fd5b5035610432565b34801561019057600080fd5b50610148610487565b3480156101a557600080fd5b506101ae61048d565b604080516001600160a01b039092168252519081900360200190f35b3480156101d657600080fd5b506101ae61049c565b3480156101eb57600080fd5b506101316004803603604081101561020257600080fd5b506001600160a01b03813581169160200135166104c6565b34801561022657600080fd5b5061022f6105df565b6040805160208082528351818301528351919283929083019185019080838360005b83811015610269578181015183820152602001610251565b50505050905090810190601f1680156102965780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156102b057600080fd5b506101ae610606565b3480156102c557600080fd5b50610131600480360360208110156102dc57600080fd5b5035610615565b3480156102ef57600080fd5b506101316004803603602081101561030657600080fd5b5035610765565b6001546001600160a01b031633146103565760405162461bcd60e51b8152600401808060200182810382526029815260200180610a0b6029913960400191505060405180910390fd5b565b6000828201838110156103b2576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b6103c161049c565b6001600160a01b0316336001600160a01b031614610420576040805162461bcd60e51b815260206004820152601760248201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604482015290519081900360640190fd5b61042981610780565b50565b60025490565b61043a610835565b60035461044d908263ffffffff61087e16565b600381905560408051918252517f636083bfd8929ae461979d51af53349434cd5ee35f983909b704bded4142b9519181900360200190a150565b60035490565b6000546001600160a01b031681565b604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205490565b6104ce61049c565b6001600160a01b0316336001600160a01b03161461052d576040805162461bcd60e51b815260206004820152601760248201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604482015290519081900360640190fd5b610536826108c0565b61053f816108c0565b600080546001600160a01b038085166001600160a01b03199283168117909355600180549185169190921617905560408051918252517f143219c9e69b09e07e095fcc889b43d8f46ca892bba65f08dc3a0050869a56789181900360200190a1604080516001600160a01b038316815290517f78f058b189175430c48dc02699e3a0031ea4ff781536dc2fab847de4babdd8829181900360200190a15050565b6040518060400160405280600b81526020016a111959985d5b1d141bdbdb60aa1b81525081565b6001546001600160a01b031681565b61061d610835565b6001546002546001600160a01b039091169061063f908363ffffffff61087e16565b600281905560408051918252517f9a14ae677a60400af9176bed2e2d5ce8dfa6405e6c1702debb27668f567214289181900360200190a1604080516001600160a01b03831681526020810184905281517f6109e2559dfa766aaec7118351d48a523f0a4157f49c8d68749c8ac41318ad12929181900390910190a16040516000906001600160a01b0383169084908381818185875af1925050503d8060008114610705576040519150601f19603f3d011682016040523d82523d6000602084013e61070a565b606091505b5050905080610760576040805162461bcd60e51b815260206004820152601f60248201527f44656661756c74506f6f6c3a2073656e64696e6720455448206661696c656400604482015290519081900360640190fd5b505050565b61076d610835565b60035461044d908263ffffffff61035816565b6001600160a01b0381166107c55760405162461bcd60e51b8152600401808060200182810382526022815260200180610a346022913960400191505060405180910390fd5b806001600160a01b03166107d761049c565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3604080517035b2bc9737bbb730b136329737bbb732b960791b8152905190819003601101902055565b6000546001600160a01b031633146103565760405162461bcd60e51b815260040180806020018281038252602b815260200180610a56602b913960400191505060405180910390fd5b60006103b283836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610973565b6001600160a01b03811661091b576040805162461bcd60e51b815260206004820152601e60248201527f4163636f756e742063616e6e6f74206265207a65726f20616464726573730000604482015290519081900360640190fd5b803b8061096f576040805162461bcd60e51b815260206004820181905260248201527f4163636f756e7420636f64652073697a652063616e6e6f74206265207a65726f604482015290519081900360640190fd5b5050565b60008184841115610a025760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156109c75781810151838201526020016109af565b50505050905090810190601f1680156109f45780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50505090039056fe44656661756c74506f6f6c3a2043616c6c6572206973206e6f742074686520416374697665506f6f6c4f776e61626c653a3a7365744f776e65723a20696e76616c6964206164647265737344656661756c74506f6f6c3a2043616c6c6572206973206e6f74207468652054726f76654d616e61676572a2646970667358221220d99aea28c644c442996807d1a9df6b9c6fcb9a4741349be927c8e86d5886d30464736f6c634300060b00334f776e61626c653a3a7365744f776e65723a20696e76616c69642061646472657373", - "deployedBytecode": "0x6080604052600436106100a05760003560e01c8063893d20e811610064578063893d20e8146101ca57806390107afe146101df578063a3f4df7e1461021a578063b08bc722146102a4578063be41205f146102b9578063f2e91d71146102e3576100f9565b806313af4035146100fe57806314f6c3be146101335780632439789a1461015a5780633963e980146101845780635a4d28bb14610199576100f9565b366100f9576100ad61030d565b6002546100c0903463ffffffff61035816565b600281905560408051918252517f9a14ae677a60400af9176bed2e2d5ce8dfa6405e6c1702debb27668f567214289181900360200190a1005b600080fd5b34801561010a57600080fd5b506101316004803603602081101561012157600080fd5b50356001600160a01b03166103b9565b005b34801561013f57600080fd5b5061014861042c565b60408051918252519081900360200190f35b34801561016657600080fd5b506101316004803603602081101561017d57600080fd5b5035610432565b34801561019057600080fd5b50610148610487565b3480156101a557600080fd5b506101ae61048d565b604080516001600160a01b039092168252519081900360200190f35b3480156101d657600080fd5b506101ae61049c565b3480156101eb57600080fd5b506101316004803603604081101561020257600080fd5b506001600160a01b03813581169160200135166104c6565b34801561022657600080fd5b5061022f6105df565b6040805160208082528351818301528351919283929083019185019080838360005b83811015610269578181015183820152602001610251565b50505050905090810190601f1680156102965780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156102b057600080fd5b506101ae610606565b3480156102c557600080fd5b50610131600480360360208110156102dc57600080fd5b5035610615565b3480156102ef57600080fd5b506101316004803603602081101561030657600080fd5b5035610765565b6001546001600160a01b031633146103565760405162461bcd60e51b8152600401808060200182810382526029815260200180610a0b6029913960400191505060405180910390fd5b565b6000828201838110156103b2576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b6103c161049c565b6001600160a01b0316336001600160a01b031614610420576040805162461bcd60e51b815260206004820152601760248201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604482015290519081900360640190fd5b61042981610780565b50565b60025490565b61043a610835565b60035461044d908263ffffffff61087e16565b600381905560408051918252517f636083bfd8929ae461979d51af53349434cd5ee35f983909b704bded4142b9519181900360200190a150565b60035490565b6000546001600160a01b031681565b604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205490565b6104ce61049c565b6001600160a01b0316336001600160a01b03161461052d576040805162461bcd60e51b815260206004820152601760248201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604482015290519081900360640190fd5b610536826108c0565b61053f816108c0565b600080546001600160a01b038085166001600160a01b03199283168117909355600180549185169190921617905560408051918252517f143219c9e69b09e07e095fcc889b43d8f46ca892bba65f08dc3a0050869a56789181900360200190a1604080516001600160a01b038316815290517f78f058b189175430c48dc02699e3a0031ea4ff781536dc2fab847de4babdd8829181900360200190a15050565b6040518060400160405280600b81526020016a111959985d5b1d141bdbdb60aa1b81525081565b6001546001600160a01b031681565b61061d610835565b6001546002546001600160a01b039091169061063f908363ffffffff61087e16565b600281905560408051918252517f9a14ae677a60400af9176bed2e2d5ce8dfa6405e6c1702debb27668f567214289181900360200190a1604080516001600160a01b03831681526020810184905281517f6109e2559dfa766aaec7118351d48a523f0a4157f49c8d68749c8ac41318ad12929181900390910190a16040516000906001600160a01b0383169084908381818185875af1925050503d8060008114610705576040519150601f19603f3d011682016040523d82523d6000602084013e61070a565b606091505b5050905080610760576040805162461bcd60e51b815260206004820152601f60248201527f44656661756c74506f6f6c3a2073656e64696e6720455448206661696c656400604482015290519081900360640190fd5b505050565b61076d610835565b60035461044d908263ffffffff61035816565b6001600160a01b0381166107c55760405162461bcd60e51b8152600401808060200182810382526022815260200180610a346022913960400191505060405180910390fd5b806001600160a01b03166107d761049c565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3604080517035b2bc9737bbb730b136329737bbb732b960791b8152905190819003601101902055565b6000546001600160a01b031633146103565760405162461bcd60e51b815260040180806020018281038252602b815260200180610a56602b913960400191505060405180910390fd5b60006103b283836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610973565b6001600160a01b03811661091b576040805162461bcd60e51b815260206004820152601e60248201527f4163636f756e742063616e6e6f74206265207a65726f20616464726573730000604482015290519081900360640190fd5b803b8061096f576040805162461bcd60e51b815260206004820181905260248201527f4163636f756e7420636f64652073697a652063616e6e6f74206265207a65726f604482015290519081900360640190fd5b5050565b60008184841115610a025760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156109c75781810151838201526020016109af565b50505050905090810190601f1680156109f45780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50505090039056fe44656661756c74506f6f6c3a2043616c6c6572206973206e6f742074686520416374697665506f6f6c4f776e61626c653a3a7365744f776e65723a20696e76616c6964206164647265737344656661756c74506f6f6c3a2043616c6c6572206973206e6f74207468652054726f76654d616e61676572a2646970667358221220d99aea28c644c442996807d1a9df6b9c6fcb9a4741349be927c8e86d5886d30464736f6c634300060b0033", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/packages/lib-ethers/live/DefaultPoolStorage.json b/packages/lib-ethers/live/DefaultPoolStorage.json deleted file mode 100644 index cafc46334..000000000 --- a/packages/lib-ethers/live/DefaultPoolStorage.json +++ /dev/null @@ -1,95 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "DefaultPoolStorage", - "sourceName": "contracts/DefaultPoolStorage.sol", - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "previousOwner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnershipTransferred", - "type": "event" - }, - { - "inputs": [], - "name": "NAME", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "activePoolAddress", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getOwner", - "outputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - } - ], - "name": "setOwner", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "troveManagerAddress", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": "0x608060405234801561001057600080fd5b50610023336001600160e01b0361002816565b610110565b6001600160a01b03811661006d5760405162461bcd60e51b81526004018080602001828103825260228152602001806104436022913960400191505060405180910390fd5b6001600160a01b0381166100886001600160e01b036100e616565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3604080517035b2bc9737bbb730b136329737bbb732b960791b8152905190819003601101902055565b604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205490565b6103248061011f6000396000f3fe608060405234801561001057600080fd5b50600436106100575760003560e01c806313af40351461005c5780635a4d28bb14610084578063893d20e8146100a8578063a3f4df7e146100b0578063b08bc7221461012d575b600080fd5b6100826004803603602081101561007257600080fd5b50356001600160a01b0316610135565b005b61008c6101a8565b604080516001600160a01b039092168252519081900360200190f35b61008c6101b7565b6100b86101e1565b6040805160208082528351818301528351919283929083019185019080838360005b838110156100f25781810151838201526020016100da565b50505050905090810190601f16801561011f5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61008c610208565b61013d6101b7565b6001600160a01b0316336001600160a01b03161461019c576040805162461bcd60e51b815260206004820152601760248201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604482015290519081900360640190fd5b6101a581610217565b50565b6000546001600160a01b031681565b604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205490565b6040518060400160405280600b81526020016a111959985d5b1d141bdbdb60aa1b81525081565b6001546001600160a01b031681565b6001600160a01b03811661025c5760405162461bcd60e51b81526004018080602001828103825260228152602001806102cd6022913960400191505060405180910390fd5b806001600160a01b031661026e6101b7565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205556fe4f776e61626c653a3a7365744f776e65723a20696e76616c69642061646472657373a2646970667358221220c454f4aeee39d2a62ad85966511802a1e583444d85bead0ad64acdb682541fcd64736f6c634300060b00334f776e61626c653a3a7365744f776e65723a20696e76616c69642061646472657373", - "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100575760003560e01c806313af40351461005c5780635a4d28bb14610084578063893d20e8146100a8578063a3f4df7e146100b0578063b08bc7221461012d575b600080fd5b6100826004803603602081101561007257600080fd5b50356001600160a01b0316610135565b005b61008c6101a8565b604080516001600160a01b039092168252519081900360200190f35b61008c6101b7565b6100b86101e1565b6040805160208082528351818301528351919283929083019185019080838360005b838110156100f25781810151838201526020016100da565b50505050905090810190601f16801561011f5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61008c610208565b61013d6101b7565b6001600160a01b0316336001600160a01b03161461019c576040805162461bcd60e51b815260206004820152601760248201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604482015290519081900360640190fd5b6101a581610217565b50565b6000546001600160a01b031681565b604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205490565b6040518060400160405280600b81526020016a111959985d5b1d141bdbdb60aa1b81525081565b6001546001600160a01b031681565b6001600160a01b03811661025c5760405162461bcd60e51b81526004018080602001828103825260228152602001806102cd6022913960400191505060405180910390fd5b806001600160a01b031661026e6101b7565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205556fe4f776e61626c653a3a7365744f776e65723a20696e76616c69642061646472657373a2646970667358221220c454f4aeee39d2a62ad85966511802a1e583444d85bead0ad64acdb682541fcd64736f6c634300060b0033", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/packages/lib-ethers/live/DefaultPoolTester.json b/packages/lib-ethers/live/DefaultPoolTester.json deleted file mode 100644 index d2b57659a..000000000 --- a/packages/lib-ethers/live/DefaultPoolTester.json +++ /dev/null @@ -1,325 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "DefaultPoolTester", - "sourceName": "contracts/TestContracts/DefaultPoolTester.sol", - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_newActivePoolAddress", - "type": "address" - } - ], - "name": "ActivePoolAddressChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_newDefaultPoolAddress", - "type": "address" - } - ], - "name": "DefaultPoolAddressChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "_ETH", - "type": "uint256" - } - ], - "name": "DefaultPoolETHBalanceUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "_ZUSDDebt", - "type": "uint256" - } - ], - "name": "DefaultPoolZUSDDebtUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "_newBalance", - "type": "uint256" - } - ], - "name": "ETHBalanceUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_to", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "name": "EtherSent", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "previousOwner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnershipTransferred", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_newStabilityPoolAddress", - "type": "address" - } - ], - "name": "StabilityPoolAddressChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_newTroveManagerAddress", - "type": "address" - } - ], - "name": "TroveManagerAddressChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "_newBalance", - "type": "uint256" - } - ], - "name": "ZUSDBalanceUpdated", - "type": "event" - }, - { - "inputs": [], - "name": "NAME", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "activePoolAddress", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "name": "decreaseZUSDDebt", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "getETH", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getOwner", - "outputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getZUSDDebt", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "name": "increaseZUSDDebt", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "name": "sendETHToActivePool", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_troveManagerAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_activePoolAddress", - "type": "address" - } - ], - "name": "setAddresses", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - } - ], - "name": "setOwner", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "troveManagerAddress", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "name": "unprotectedIncreaseZUSDDebt", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "unprotectedPayable", - "outputs": [], - "stateMutability": "payable", - "type": "function" - }, - { - "stateMutability": "payable", - "type": "receive" - } - ], - "bytecode": "0x608060405234801561001057600080fd5b50610023336001600160e01b0361002816565b610110565b6001600160a01b03811661006d5760405162461bcd60e51b8152600401808060200182810382526022815260200180610c4e6022913960400191505060405180910390fd5b6001600160a01b0381166100886001600160e01b036100e616565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3604080517035b2bc9737bbb730b136329737bbb732b960791b8152905190819003601101902055565b604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205490565b610b2f8061011f6000396000f3fe6080604052600436106100b65760003560e01c806390107afe1161006f57806390107afe146101f557806393eaa71414610230578063a3f4df7e1461025a578063b08bc722146102e4578063be41205f146102f9578063f2e91d7114610323578063f3af7c3b1461034d5761010f565b806313af40351461011457806314f6c3be146101495780632439789a146101705780633963e9801461019a5780635a4d28bb146101af578063893d20e8146101e05761010f565b3661010f576100c3610355565b6002546100d6903463ffffffff6103a016565b600281905560408051918252517f9a14ae677a60400af9176bed2e2d5ce8dfa6405e6c1702debb27668f567214289181900360200190a1005b600080fd5b34801561012057600080fd5b506101476004803603602081101561013757600080fd5b50356001600160a01b0316610401565b005b34801561015557600080fd5b5061015e610474565b60408051918252519081900360200190f35b34801561017c57600080fd5b506101476004803603602081101561019357600080fd5b503561047a565b3480156101a657600080fd5b5061015e6104cf565b3480156101bb57600080fd5b506101c46104d5565b604080516001600160a01b039092168252519081900360200190f35b3480156101ec57600080fd5b506101c46104e4565b34801561020157600080fd5b506101476004803603604081101561021857600080fd5b506001600160a01b038135811691602001351661050e565b34801561023c57600080fd5b506101476004803603602081101561025357600080fd5b5035610627565b34801561026657600080fd5b5061026f610640565b6040805160208082528351818301528351919283929083019185019080838360005b838110156102a9578181015183820152602001610291565b50505050905090810190601f1680156102d65780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156102f057600080fd5b506101c4610667565b34801561030557600080fd5b506101476004803603602081101561031c57600080fd5b5035610676565b34801561032f57600080fd5b506101476004803603602081101561034657600080fd5b50356107c6565b6101476107e1565b6001546001600160a01b0316331461039e5760405162461bcd60e51b8152600401808060200182810382526029815260200180610a846029913960400191505060405180910390fd5b565b6000828201838110156103fa576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b6104096104e4565b6001600160a01b0316336001600160a01b031614610468576040805162461bcd60e51b815260206004820152601760248201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604482015290519081900360640190fd5b610471816107f9565b50565b60025490565b6104826108ae565b600354610495908263ffffffff6108f716565b600381905560408051918252517f636083bfd8929ae461979d51af53349434cd5ee35f983909b704bded4142b9519181900360200190a150565b60035490565b6000546001600160a01b031681565b604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205490565b6105166104e4565b6001600160a01b0316336001600160a01b031614610575576040805162461bcd60e51b815260206004820152601760248201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604482015290519081900360640190fd5b61057e82610939565b61058781610939565b600080546001600160a01b038085166001600160a01b03199283168117909355600180549185169190921617905560408051918252517f143219c9e69b09e07e095fcc889b43d8f46ca892bba65f08dc3a0050869a56789181900360200190a1604080516001600160a01b038316815290517f78f058b189175430c48dc02699e3a0031ea4ff781536dc2fab847de4babdd8829181900360200190a15050565b60035461063a908263ffffffff6103a016565b60035550565b6040518060400160405280600b81526020016a111959985d5b1d141bdbdb60aa1b81525081565b6001546001600160a01b031681565b61067e6108ae565b6001546002546001600160a01b03909116906106a0908363ffffffff6108f716565b600281905560408051918252517f9a14ae677a60400af9176bed2e2d5ce8dfa6405e6c1702debb27668f567214289181900360200190a1604080516001600160a01b03831681526020810184905281517f6109e2559dfa766aaec7118351d48a523f0a4157f49c8d68749c8ac41318ad12929181900390910190a16040516000906001600160a01b0383169084908381818185875af1925050503d8060008114610766576040519150601f19603f3d011682016040523d82523d6000602084013e61076b565b606091505b50509050806107c1576040805162461bcd60e51b815260206004820152601f60248201527f44656661756c74506f6f6c3a2073656e64696e6720455448206661696c656400604482015290519081900360640190fd5b505050565b6107ce6108ae565b600354610495908263ffffffff6103a016565b6002546107f4903463ffffffff6103a016565b600255565b6001600160a01b03811661083e5760405162461bcd60e51b8152600401808060200182810382526022815260200180610aad6022913960400191505060405180910390fd5b806001600160a01b03166108506104e4565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3604080517035b2bc9737bbb730b136329737bbb732b960791b8152905190819003601101902055565b6000546001600160a01b0316331461039e5760405162461bcd60e51b815260040180806020018281038252602b815260200180610acf602b913960400191505060405180910390fd5b60006103fa83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506109ec565b6001600160a01b038116610994576040805162461bcd60e51b815260206004820152601e60248201527f4163636f756e742063616e6e6f74206265207a65726f20616464726573730000604482015290519081900360640190fd5b803b806109e8576040805162461bcd60e51b815260206004820181905260248201527f4163636f756e7420636f64652073697a652063616e6e6f74206265207a65726f604482015290519081900360640190fd5b5050565b60008184841115610a7b5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610a40578181015183820152602001610a28565b50505050905090810190601f168015610a6d5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50505090039056fe44656661756c74506f6f6c3a2043616c6c6572206973206e6f742074686520416374697665506f6f6c4f776e61626c653a3a7365744f776e65723a20696e76616c6964206164647265737344656661756c74506f6f6c3a2043616c6c6572206973206e6f74207468652054726f76654d616e61676572a26469706673582212204b4745f728650ac3ff110d4f8bec8a8982853684f8768cae5dd17ea352e9343264736f6c634300060b00334f776e61626c653a3a7365744f776e65723a20696e76616c69642061646472657373", - "deployedBytecode": "0x6080604052600436106100b65760003560e01c806390107afe1161006f57806390107afe146101f557806393eaa71414610230578063a3f4df7e1461025a578063b08bc722146102e4578063be41205f146102f9578063f2e91d7114610323578063f3af7c3b1461034d5761010f565b806313af40351461011457806314f6c3be146101495780632439789a146101705780633963e9801461019a5780635a4d28bb146101af578063893d20e8146101e05761010f565b3661010f576100c3610355565b6002546100d6903463ffffffff6103a016565b600281905560408051918252517f9a14ae677a60400af9176bed2e2d5ce8dfa6405e6c1702debb27668f567214289181900360200190a1005b600080fd5b34801561012057600080fd5b506101476004803603602081101561013757600080fd5b50356001600160a01b0316610401565b005b34801561015557600080fd5b5061015e610474565b60408051918252519081900360200190f35b34801561017c57600080fd5b506101476004803603602081101561019357600080fd5b503561047a565b3480156101a657600080fd5b5061015e6104cf565b3480156101bb57600080fd5b506101c46104d5565b604080516001600160a01b039092168252519081900360200190f35b3480156101ec57600080fd5b506101c46104e4565b34801561020157600080fd5b506101476004803603604081101561021857600080fd5b506001600160a01b038135811691602001351661050e565b34801561023c57600080fd5b506101476004803603602081101561025357600080fd5b5035610627565b34801561026657600080fd5b5061026f610640565b6040805160208082528351818301528351919283929083019185019080838360005b838110156102a9578181015183820152602001610291565b50505050905090810190601f1680156102d65780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156102f057600080fd5b506101c4610667565b34801561030557600080fd5b506101476004803603602081101561031c57600080fd5b5035610676565b34801561032f57600080fd5b506101476004803603602081101561034657600080fd5b50356107c6565b6101476107e1565b6001546001600160a01b0316331461039e5760405162461bcd60e51b8152600401808060200182810382526029815260200180610a846029913960400191505060405180910390fd5b565b6000828201838110156103fa576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b6104096104e4565b6001600160a01b0316336001600160a01b031614610468576040805162461bcd60e51b815260206004820152601760248201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604482015290519081900360640190fd5b610471816107f9565b50565b60025490565b6104826108ae565b600354610495908263ffffffff6108f716565b600381905560408051918252517f636083bfd8929ae461979d51af53349434cd5ee35f983909b704bded4142b9519181900360200190a150565b60035490565b6000546001600160a01b031681565b604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205490565b6105166104e4565b6001600160a01b0316336001600160a01b031614610575576040805162461bcd60e51b815260206004820152601760248201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604482015290519081900360640190fd5b61057e82610939565b61058781610939565b600080546001600160a01b038085166001600160a01b03199283168117909355600180549185169190921617905560408051918252517f143219c9e69b09e07e095fcc889b43d8f46ca892bba65f08dc3a0050869a56789181900360200190a1604080516001600160a01b038316815290517f78f058b189175430c48dc02699e3a0031ea4ff781536dc2fab847de4babdd8829181900360200190a15050565b60035461063a908263ffffffff6103a016565b60035550565b6040518060400160405280600b81526020016a111959985d5b1d141bdbdb60aa1b81525081565b6001546001600160a01b031681565b61067e6108ae565b6001546002546001600160a01b03909116906106a0908363ffffffff6108f716565b600281905560408051918252517f9a14ae677a60400af9176bed2e2d5ce8dfa6405e6c1702debb27668f567214289181900360200190a1604080516001600160a01b03831681526020810184905281517f6109e2559dfa766aaec7118351d48a523f0a4157f49c8d68749c8ac41318ad12929181900390910190a16040516000906001600160a01b0383169084908381818185875af1925050503d8060008114610766576040519150601f19603f3d011682016040523d82523d6000602084013e61076b565b606091505b50509050806107c1576040805162461bcd60e51b815260206004820152601f60248201527f44656661756c74506f6f6c3a2073656e64696e6720455448206661696c656400604482015290519081900360640190fd5b505050565b6107ce6108ae565b600354610495908263ffffffff6103a016565b6002546107f4903463ffffffff6103a016565b600255565b6001600160a01b03811661083e5760405162461bcd60e51b8152600401808060200182810382526022815260200180610aad6022913960400191505060405180910390fd5b806001600160a01b03166108506104e4565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3604080517035b2bc9737bbb730b136329737bbb732b960791b8152905190819003601101902055565b6000546001600160a01b0316331461039e5760405162461bcd60e51b815260040180806020018281038252602b815260200180610acf602b913960400191505060405180910390fd5b60006103fa83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506109ec565b6001600160a01b038116610994576040805162461bcd60e51b815260206004820152601e60248201527f4163636f756e742063616e6e6f74206265207a65726f20616464726573730000604482015290519081900360640190fd5b803b806109e8576040805162461bcd60e51b815260206004820181905260248201527f4163636f756e7420636f64652073697a652063616e6e6f74206265207a65726f604482015290519081900360640190fd5b5050565b60008184841115610a7b5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610a40578181015183820152602001610a28565b50505050905090810190601f168015610a6d5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50505090039056fe44656661756c74506f6f6c3a2043616c6c6572206973206e6f742074686520416374697665506f6f6c4f776e61626c653a3a7365744f776e65723a20696e76616c6964206164647265737344656661756c74506f6f6c3a2043616c6c6572206973206e6f74207468652054726f76654d616e61676572a26469706673582212204b4745f728650ac3ff110d4f8bec8a8982853684f8768cae5dd17ea352e9343264736f6c634300060b0033", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/packages/lib-ethers/live/Destructible.json b/packages/lib-ethers/live/Destructible.json deleted file mode 100644 index c6876e222..000000000 --- a/packages/lib-ethers/live/Destructible.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "Destructible", - "sourceName": "contracts/TestContracts/Destructible.sol", - "abi": [ - { - "inputs": [ - { - "internalType": "address payable", - "name": "_receiver", - "type": "address" - } - ], - "name": "destruct", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "stateMutability": "payable", - "type": "receive" - } - ], - "bytecode": "0x6080604052348015600f57600080fd5b50609d8061001e6000396000f3fe608060405260043610601f5760003560e01c80631beb261514602a576025565b36602557005b600080fd5b348015603557600080fd5b50605960048036036020811015604a57600080fd5b50356001600160a01b0316605b565b005b806001600160a01b0316fffea26469706673582212209f44f0650a962ecb0d60f0294efef0a4607c772fb78730c7f5b4a401ff23eeee64736f6c634300060b0033", - "deployedBytecode": "0x608060405260043610601f5760003560e01c80631beb261514602a576025565b36602557005b600080fd5b348015603557600080fd5b50605960048036036020811015604a57600080fd5b50356001600160a01b0316605b565b005b806001600160a01b0316fffea26469706673582212209f44f0650a962ecb0d60f0294efef0a4607c772fb78730c7f5b4a401ff23eeee64736f6c634300060b0033", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/packages/lib-ethers/live/ETHTransferScript.json b/packages/lib-ethers/live/ETHTransferScript.json deleted file mode 100644 index f15dfd205..000000000 --- a/packages/lib-ethers/live/ETHTransferScript.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "ETHTransferScript", - "sourceName": "contracts/Proxy/ETHTransferScript.sol", - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "name": "transferETH", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": "0x608060405234801561001057600080fd5b5060fb8061001f6000396000f3fe6080604052348015600f57600080fd5b506004361060285760003560e01c80637b1a490914602d575b600080fd5b605660048036036040811015604157600080fd5b506001600160a01b038135169060200135606a565b604080519115158252519081900360200190f35b60405160009081906001600160a01b0385169084908381818185875af1925050503d806000811460b5576040519150601f19603f3d011682016040523d82523d6000602084013e60ba565b606091505b50909594505050505056fea264697066735822122078b182b4bacf2b930d5b2922e90d915b35dcd549d4b0589f372fd9f8fe7b408564736f6c634300060b0033", - "deployedBytecode": "0x6080604052348015600f57600080fd5b506004361060285760003560e01c80637b1a490914602d575b600080fd5b605660048036036040811015604157600080fd5b506001600160a01b038135169060200135606a565b604080519115158252519081900360200190f35b60405160009081906001600160a01b0385169084908381818185875af1925050503d806000811460b5576040519150601f19603f3d011682016040523d82523d6000602084013e60ba565b606091505b50909594505050505056fea264697066735822122078b182b4bacf2b930d5b2922e90d915b35dcd549d4b0589f372fd9f8fe7b408564736f6c634300060b0033", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/packages/lib-ethers/live/EchidnaProxy.json b/packages/lib-ethers/live/EchidnaProxy.json deleted file mode 100644 index ed74d8421..000000000 --- a/packages/lib-ethers/live/EchidnaProxy.json +++ /dev/null @@ -1,459 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "EchidnaProxy", - "sourceName": "contracts/TestContracts/EchidnaProxy.sol", - "abi": [ - { - "inputs": [ - { - "internalType": "contract TroveManager", - "name": "_troveManager", - "type": "address" - }, - { - "internalType": "contract BorrowerOperations", - "name": "_borrowerOperations", - "type": "address" - }, - { - "internalType": "contract StabilityPool", - "name": "_stabilityPool", - "type": "address" - }, - { - "internalType": "contract ZUSDToken", - "name": "_zusdToken", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_ETH", - "type": "uint256" - }, - { - "internalType": "address", - "name": "_upperHint", - "type": "address" - }, - { - "internalType": "address", - "name": "_lowerHint", - "type": "address" - } - ], - "name": "addCollPrx", - "outputs": [], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_ETH", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_collWithdrawal", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_debtChange", - "type": "uint256" - }, - { - "internalType": "bool", - "name": "_isDebtIncrease", - "type": "bool" - }, - { - "internalType": "address", - "name": "_upperHint", - "type": "address" - }, - { - "internalType": "address", - "name": "_lowerHint", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_maxFee", - "type": "uint256" - } - ], - "name": "adjustTrovePrx", - "outputs": [], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "approvePrx", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address[]", - "name": "_troveArray", - "type": "address[]" - } - ], - "name": "batchLiquidateTrovesPrx", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "closeTrovePrx", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "subtractedValue", - "type": "uint256" - } - ], - "name": "decreaseAllowancePrx", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "addedValue", - "type": "uint256" - } - ], - "name": "increaseAllowancePrx", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_user", - "type": "address" - } - ], - "name": "liquidatePrx", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_n", - "type": "uint256" - } - ], - "name": "liquidateTrovesPrx", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_ETH", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_ZUSDAmount", - "type": "uint256" - }, - { - "internalType": "address", - "name": "_upperHint", - "type": "address" - }, - { - "internalType": "address", - "name": "_lowerHint", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_maxFee", - "type": "uint256" - } - ], - "name": "openTrovePrx", - "outputs": [], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - }, - { - "internalType": "address", - "name": "_frontEndTag", - "type": "address" - } - ], - "name": "provideToSPPrx", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_ZUSDAmount", - "type": "uint256" - }, - { - "internalType": "address", - "name": "_firstRedemptionHint", - "type": "address" - }, - { - "internalType": "address", - "name": "_upperPartialRedemptionHint", - "type": "address" - }, - { - "internalType": "address", - "name": "_lowerPartialRedemptionHint", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_partialRedemptionHintNICR", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_maxIterations", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_maxFee", - "type": "uint256" - } - ], - "name": "redeemCollateralPrx", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - }, - { - "internalType": "address", - "name": "_upperHint", - "type": "address" - }, - { - "internalType": "address", - "name": "_lowerHint", - "type": "address" - } - ], - "name": "repayZUSDPrx", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "transferFromPrx", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "transferPrx", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - }, - { - "internalType": "address", - "name": "_upperHint", - "type": "address" - }, - { - "internalType": "address", - "name": "_lowerHint", - "type": "address" - } - ], - "name": "withdrawCollPrx", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "name": "withdrawFromSPPrx", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - }, - { - "internalType": "address", - "name": "_upperHint", - "type": "address" - }, - { - "internalType": "address", - "name": "_lowerHint", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_maxFee", - "type": "uint256" - } - ], - "name": "withdrawZUSDPrx", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "stateMutability": "payable", - "type": "receive" - } - ], - "bytecode": "0x608060405234801561001057600080fd5b50604051610e35380380610e358339818101604052608081101561003357600080fd5b50805160208201516040830151606090930151600080546001600160a01b039485166001600160a01b0319918216179091556001805493851693821693909317909255600280549484169483169490941790935560038054929093169116179055610d92806100a36000396000f3fe6080604052600436106100ed5760003560e01c8063650b559c11610085578063650b559c1461034857806372d76c87146103985780637bbb0f5e146103d9578063911347311461041a578063cc51a6c21461045c578063cf83544f14610495578063d466e4eb146104ce578063d94bcec214610507578063f47a1ea71461054a576100f4565b806332e859b9146100f95780633332b3281461012f57806335b1017914610178578063390b5f27146101d35780634903a3dd146102205780634afbac51146102355780634c36240b146102b25780634d37261f146102eb578063641b09b61461031e576100f4565b366100f457005b600080fd5b61012d6004803603606081101561010f57600080fd5b508035906001600160a01b0360208201358116916040013516610574565b005b34801561013b57600080fd5b5061012d6004803603608081101561015257600080fd5b508035906001600160a01b036020820135811691604081013590911690606001356105eb565b34801561018457600080fd5b5061012d600480360360e081101561019b57600080fd5b508035906001600160a01b03602082013581169160408101358216916060820135169060808101359060a08101359060c0013561064f565b3480156101df57600080fd5b5061020c600480360360408110156101f657600080fd5b506001600160a01b0381351690602001356106e7565b604080519115158252519081900360200190f35b34801561022c57600080fd5b5061012d610773565b34801561024157600080fd5b5061012d6004803603602081101561025857600080fd5b81019060208101813564010000000081111561027357600080fd5b82018360208201111561028557600080fd5b803590602001918460208302840111640100000000831117156102a757600080fd5b5090925090506107dd565b3480156102be57600080fd5b5061012d600480360360408110156102d557600080fd5b50803590602001356001600160a01b0316610876565b3480156102f757600080fd5b5061012d6004803603602081101561030e57600080fd5b50356001600160a01b03166108cb565b34801561032a57600080fd5b5061012d6004803603602081101561034157600080fd5b5035610931565b61012d600480360360e081101561035e57600080fd5b5080359060208101359060408101359060608101351515906001600160a01b03608082013581169160a08101359091169060c0013561097e565b3480156103a457600080fd5b5061012d600480360360608110156103bb57600080fd5b508035906001600160a01b0360208201358116916040013516610a16565b3480156103e557600080fd5b5061012d600480360360608110156103fc57600080fd5b508035906001600160a01b0360208201358116916040013516610a90565b61012d600480360360a081101561043057600080fd5b508035906020810135906001600160a01b03604082013581169160608101359091169060800135610aed565b34801561046857600080fd5b5061020c6004803603604081101561047f57600080fd5b506001600160a01b038135169060200135610b74565b3480156104a157600080fd5b5061020c600480360360408110156104b857600080fd5b506001600160a01b038135169060200135610bcd565b3480156104da57600080fd5b5061020c600480360360408110156104f157600080fd5b506001600160a01b038135169060200135610c26565b34801561051357600080fd5b5061020c6004803603606081101561052a57600080fd5b506001600160a01b03813581169160208101359091169060400135610c7f565b34801561055657600080fd5b5061012d6004803603602081101561056d57600080fd5b5035610d14565b600154604080516368647db160e01b81526001600160a01b0385811660048301528481166024830152915191909216916368647db191869160448082019260009290919082900301818588803b1580156105cd57600080fd5b505af11580156105e1573d6000803e3d6000fd5b5050505050505050565b600154604080516303752b4b60e51b815260048101849052602481018790526001600160a01b038681166044830152858116606483015291519190921691636ea5696091608480830192600092919082900301818387803b1580156105cd57600080fd5b6000805460408051635e69ba9360e11b8152600481018b90526001600160a01b038a81166024830152898116604483015288811660648301526084820188905260a4820187905260c482018690529151919092169263bcd375269260e4808201939182900301818387803b1580156106c657600080fd5b505af11580156106da573d6000803e3d6000fd5b5050505050505050505050565b6003546040805163a9059cbb60e01b81526001600160a01b038581166004830152602482018590529151600093929092169163a9059cbb9160448082019260209290919082900301818787803b15801561074057600080fd5b505af1158015610754573d6000803e3d6000fd5b505050506040513d602081101561076a57600080fd5b50519392505050565b600160009054906101000a90046001600160a01b03166001600160a01b0316630e704d506040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156107c357600080fd5b505af11580156107d7573d6000803e3d6000fd5b50505050565b600054604051631e8b1c2b60e01b8152602060048201818152602483018590526001600160a01b0390931692631e8b1c2b92869286929182916044909101908590850280828437600081840152601f19601f8201169050808301925050509350505050600060405180830381600087803b15801561085a57600080fd5b505af115801561086e573d6000803e3d6000fd5b505050505050565b60025460408051635f788d6560e01b8152600481018590526001600160a01b03848116602483015291519190921691635f788d6591604480830192600092919082900301818387803b15801561085a57600080fd5b60008054604080516305f0caad60e31b81526001600160a01b03858116600483015291519190921692632f865568926024808201939182900301818387803b15801561091657600080fd5b505af115801561092a573d6000803e3d6000fd5b5050505050565b60025460408051632e54bf9560e01b81526004810184905290516001600160a01b0390921691632e54bf959160248082019260009290919082900301818387803b15801561091657600080fd5b60015460408051630635367960e51b815260048101849052602481018990526044810188905286151560648201526001600160a01b03868116608483015285811660a48301529151919092169163c6a6cf20918a9160c48082019260009290919082900301818588803b1580156109f457600080fd5b505af1158015610a08573d6000803e3d6000fd5b505050505050505050505050565b6001546040805163afbc74b560e01b8152600481018690526001600160a01b03858116602483015284811660448301529151919092169163afbc74b591606480830192600092919082900301818387803b158015610a7357600080fd5b505af1158015610a87573d6000803e3d6000fd5b50505050505050565b6001546040805163154c09cf60e21b8152600481018690526001600160a01b038581166024830152848116604483015291519190921691635530273c91606480830192600092919082900301818387803b158015610a7357600080fd5b6001546040805163860665b360e01b815260048101849052602481018790526001600160a01b03868116604483015285811660648301529151919092169163860665b391889160848082019260009290919082900301818588803b158015610b5457600080fd5b505af1158015610b68573d6000803e3d6000fd5b50505050505050505050565b60035460408051633950935160e01b81526001600160a01b038581166004830152602482018590529151600093929092169163395093519160448082019260209290919082900301818787803b15801561074057600080fd5b6003546040805163095ea7b360e01b81526001600160a01b038581166004830152602482018590529151600093929092169163095ea7b39160448082019260209290919082900301818787803b15801561074057600080fd5b6003546040805163a457c2d760e01b81526001600160a01b038581166004830152602482018590529151600093929092169163a457c2d79160448082019260209290919082900301818787803b15801561074057600080fd5b600354604080516323b872dd60e01b81526001600160a01b038681166004830152858116602483015260448201859052915160009392909216916323b872dd9160648082019260209290919082900301818787803b158015610ce057600080fd5b505af1158015610cf4573d6000803e3d6000fd5b505050506040513d6020811015610d0a57600080fd5b5051949350505050565b600080546040805163653d46e760e01b81526004810185905290516001600160a01b039092169263653d46e79260248084019382900301818387803b15801561091657600080fdfea264697066735822122012ac4d1a12df541b01c9dac4edc3b532ed9e20c4b17857d25541d24b0c54a5fb64736f6c634300060b0033", - "deployedBytecode": "0x6080604052600436106100ed5760003560e01c8063650b559c11610085578063650b559c1461034857806372d76c87146103985780637bbb0f5e146103d9578063911347311461041a578063cc51a6c21461045c578063cf83544f14610495578063d466e4eb146104ce578063d94bcec214610507578063f47a1ea71461054a576100f4565b806332e859b9146100f95780633332b3281461012f57806335b1017914610178578063390b5f27146101d35780634903a3dd146102205780634afbac51146102355780634c36240b146102b25780634d37261f146102eb578063641b09b61461031e576100f4565b366100f457005b600080fd5b61012d6004803603606081101561010f57600080fd5b508035906001600160a01b0360208201358116916040013516610574565b005b34801561013b57600080fd5b5061012d6004803603608081101561015257600080fd5b508035906001600160a01b036020820135811691604081013590911690606001356105eb565b34801561018457600080fd5b5061012d600480360360e081101561019b57600080fd5b508035906001600160a01b03602082013581169160408101358216916060820135169060808101359060a08101359060c0013561064f565b3480156101df57600080fd5b5061020c600480360360408110156101f657600080fd5b506001600160a01b0381351690602001356106e7565b604080519115158252519081900360200190f35b34801561022c57600080fd5b5061012d610773565b34801561024157600080fd5b5061012d6004803603602081101561025857600080fd5b81019060208101813564010000000081111561027357600080fd5b82018360208201111561028557600080fd5b803590602001918460208302840111640100000000831117156102a757600080fd5b5090925090506107dd565b3480156102be57600080fd5b5061012d600480360360408110156102d557600080fd5b50803590602001356001600160a01b0316610876565b3480156102f757600080fd5b5061012d6004803603602081101561030e57600080fd5b50356001600160a01b03166108cb565b34801561032a57600080fd5b5061012d6004803603602081101561034157600080fd5b5035610931565b61012d600480360360e081101561035e57600080fd5b5080359060208101359060408101359060608101351515906001600160a01b03608082013581169160a08101359091169060c0013561097e565b3480156103a457600080fd5b5061012d600480360360608110156103bb57600080fd5b508035906001600160a01b0360208201358116916040013516610a16565b3480156103e557600080fd5b5061012d600480360360608110156103fc57600080fd5b508035906001600160a01b0360208201358116916040013516610a90565b61012d600480360360a081101561043057600080fd5b508035906020810135906001600160a01b03604082013581169160608101359091169060800135610aed565b34801561046857600080fd5b5061020c6004803603604081101561047f57600080fd5b506001600160a01b038135169060200135610b74565b3480156104a157600080fd5b5061020c600480360360408110156104b857600080fd5b506001600160a01b038135169060200135610bcd565b3480156104da57600080fd5b5061020c600480360360408110156104f157600080fd5b506001600160a01b038135169060200135610c26565b34801561051357600080fd5b5061020c6004803603606081101561052a57600080fd5b506001600160a01b03813581169160208101359091169060400135610c7f565b34801561055657600080fd5b5061012d6004803603602081101561056d57600080fd5b5035610d14565b600154604080516368647db160e01b81526001600160a01b0385811660048301528481166024830152915191909216916368647db191869160448082019260009290919082900301818588803b1580156105cd57600080fd5b505af11580156105e1573d6000803e3d6000fd5b5050505050505050565b600154604080516303752b4b60e51b815260048101849052602481018790526001600160a01b038681166044830152858116606483015291519190921691636ea5696091608480830192600092919082900301818387803b1580156105cd57600080fd5b6000805460408051635e69ba9360e11b8152600481018b90526001600160a01b038a81166024830152898116604483015288811660648301526084820188905260a4820187905260c482018690529151919092169263bcd375269260e4808201939182900301818387803b1580156106c657600080fd5b505af11580156106da573d6000803e3d6000fd5b5050505050505050505050565b6003546040805163a9059cbb60e01b81526001600160a01b038581166004830152602482018590529151600093929092169163a9059cbb9160448082019260209290919082900301818787803b15801561074057600080fd5b505af1158015610754573d6000803e3d6000fd5b505050506040513d602081101561076a57600080fd5b50519392505050565b600160009054906101000a90046001600160a01b03166001600160a01b0316630e704d506040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156107c357600080fd5b505af11580156107d7573d6000803e3d6000fd5b50505050565b600054604051631e8b1c2b60e01b8152602060048201818152602483018590526001600160a01b0390931692631e8b1c2b92869286929182916044909101908590850280828437600081840152601f19601f8201169050808301925050509350505050600060405180830381600087803b15801561085a57600080fd5b505af115801561086e573d6000803e3d6000fd5b505050505050565b60025460408051635f788d6560e01b8152600481018590526001600160a01b03848116602483015291519190921691635f788d6591604480830192600092919082900301818387803b15801561085a57600080fd5b60008054604080516305f0caad60e31b81526001600160a01b03858116600483015291519190921692632f865568926024808201939182900301818387803b15801561091657600080fd5b505af115801561092a573d6000803e3d6000fd5b5050505050565b60025460408051632e54bf9560e01b81526004810184905290516001600160a01b0390921691632e54bf959160248082019260009290919082900301818387803b15801561091657600080fd5b60015460408051630635367960e51b815260048101849052602481018990526044810188905286151560648201526001600160a01b03868116608483015285811660a48301529151919092169163c6a6cf20918a9160c48082019260009290919082900301818588803b1580156109f457600080fd5b505af1158015610a08573d6000803e3d6000fd5b505050505050505050505050565b6001546040805163afbc74b560e01b8152600481018690526001600160a01b03858116602483015284811660448301529151919092169163afbc74b591606480830192600092919082900301818387803b158015610a7357600080fd5b505af1158015610a87573d6000803e3d6000fd5b50505050505050565b6001546040805163154c09cf60e21b8152600481018690526001600160a01b038581166024830152848116604483015291519190921691635530273c91606480830192600092919082900301818387803b158015610a7357600080fd5b6001546040805163860665b360e01b815260048101849052602481018790526001600160a01b03868116604483015285811660648301529151919092169163860665b391889160848082019260009290919082900301818588803b158015610b5457600080fd5b505af1158015610b68573d6000803e3d6000fd5b50505050505050505050565b60035460408051633950935160e01b81526001600160a01b038581166004830152602482018590529151600093929092169163395093519160448082019260209290919082900301818787803b15801561074057600080fd5b6003546040805163095ea7b360e01b81526001600160a01b038581166004830152602482018590529151600093929092169163095ea7b39160448082019260209290919082900301818787803b15801561074057600080fd5b6003546040805163a457c2d760e01b81526001600160a01b038581166004830152602482018590529151600093929092169163a457c2d79160448082019260209290919082900301818787803b15801561074057600080fd5b600354604080516323b872dd60e01b81526001600160a01b038681166004830152858116602483015260448201859052915160009392909216916323b872dd9160648082019260209290919082900301818787803b158015610ce057600080fd5b505af1158015610cf4573d6000803e3d6000fd5b505050506040513d6020811015610d0a57600080fd5b5051949350505050565b600080546040805163653d46e760e01b81526004810185905290516001600160a01b039092169263653d46e79260248084019382900301818387803b15801561091657600080fdfea264697066735822122012ac4d1a12df541b01c9dac4edc3b532ed9e20c4b17857d25541d24b0c54a5fb64736f6c634300060b0033", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/packages/lib-ethers/live/EchidnaTester.json b/packages/lib-ethers/live/EchidnaTester.json deleted file mode 100644 index e787cb58d..000000000 --- a/packages/lib-ethers/live/EchidnaTester.json +++ /dev/null @@ -1,842 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "EchidnaTester", - "sourceName": "contracts/TestContracts/EchidnaTester.sol", - "abi": [ - { - "inputs": [], - "stateMutability": "payable", - "type": "constructor" - }, - { - "inputs": [], - "name": "activePool", - "outputs": [ - { - "internalType": "contract ActivePool", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_i", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_ETH", - "type": "uint256" - } - ], - "name": "addCollExt", - "outputs": [], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_i", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_ETH", - "type": "uint256" - }, - { - "internalType": "address", - "name": "_upperHint", - "type": "address" - }, - { - "internalType": "address", - "name": "_lowerHint", - "type": "address" - } - ], - "name": "addCollRawExt", - "outputs": [], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_i", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_ETH", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_collWithdrawal", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_debtChange", - "type": "uint256" - }, - { - "internalType": "bool", - "name": "_isDebtIncrease", - "type": "bool" - } - ], - "name": "adjustTroveExt", - "outputs": [], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_i", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_ETH", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_collWithdrawal", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_debtChange", - "type": "uint256" - }, - { - "internalType": "bool", - "name": "_isDebtIncrease", - "type": "bool" - }, - { - "internalType": "address", - "name": "_upperHint", - "type": "address" - }, - { - "internalType": "address", - "name": "_lowerHint", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_maxFee", - "type": "uint256" - } - ], - "name": "adjustTroveRawExt", - "outputs": [], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_i", - "type": "uint256" - }, - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "approveExt", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_i", - "type": "uint256" - }, - { - "internalType": "address[]", - "name": "_troveArray", - "type": "address[]" - } - ], - "name": "batchLiquidateTrovesExt", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "borrowerOperations", - "outputs": [ - { - "internalType": "contract BorrowerOperations", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_i", - "type": "uint256" - } - ], - "name": "closeTroveExt", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "collSurplusPool", - "outputs": [ - { - "internalType": "contract CollSurplusPool", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_i", - "type": "uint256" - }, - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "subtractedValue", - "type": "uint256" - } - ], - "name": "decreaseAllowanceExt", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "defaultPool", - "outputs": [ - { - "internalType": "contract DefaultPool", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "echidnaProxies", - "outputs": [ - { - "internalType": "contract EchidnaProxy", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "echidna_ETH_balances", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "echidna_ZUSD_global_balances", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "echidna_canary_active_pool_balance", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "echidna_canary_number_of_troves", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "echidna_price", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "echidna_trove_properties", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "echidna_troves_order", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "gasPool", - "outputs": [ - { - "internalType": "contract GasPool", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_i", - "type": "uint256" - }, - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "addedValue", - "type": "uint256" - } - ], - "name": "increaseAllowanceExt", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_i", - "type": "uint256" - }, - { - "internalType": "address", - "name": "_user", - "type": "address" - } - ], - "name": "liquidateExt", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_i", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_n", - "type": "uint256" - } - ], - "name": "liquidateTrovesExt", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "liquityBaseParams", - "outputs": [ - { - "internalType": "contract LiquityBaseParams", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_i", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_ETH", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_ZUSDAmount", - "type": "uint256" - } - ], - "name": "openTroveExt", - "outputs": [], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_i", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_ETH", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_ZUSDAmount", - "type": "uint256" - }, - { - "internalType": "address", - "name": "_upperHint", - "type": "address" - }, - { - "internalType": "address", - "name": "_lowerHint", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_maxFee", - "type": "uint256" - } - ], - "name": "openTroveRawExt", - "outputs": [], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_i", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - }, - { - "internalType": "address", - "name": "_frontEndTag", - "type": "address" - } - ], - "name": "provideToSPExt", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_i", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_ZUSDAmount", - "type": "uint256" - }, - { - "internalType": "address", - "name": "_firstRedemptionHint", - "type": "address" - }, - { - "internalType": "address", - "name": "_upperPartialRedemptionHint", - "type": "address" - }, - { - "internalType": "address", - "name": "_lowerPartialRedemptionHint", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_partialRedemptionHintNICR", - "type": "uint256" - } - ], - "name": "redeemCollateralExt", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_i", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - }, - { - "internalType": "address", - "name": "_upperHint", - "type": "address" - }, - { - "internalType": "address", - "name": "_lowerHint", - "type": "address" - } - ], - "name": "repayZUSDExt", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_price", - "type": "uint256" - } - ], - "name": "setPriceExt", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "stabilityPool", - "outputs": [ - { - "internalType": "contract StabilityPool", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_i", - "type": "uint256" - }, - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "transferExt", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_i", - "type": "uint256" - }, - { - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "transferFromExt", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "troveManager", - "outputs": [ - { - "internalType": "contract TroveManager", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "troveManagerRedeemOps", - "outputs": [ - { - "internalType": "contract TroveManagerRedeemOps", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_i", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - }, - { - "internalType": "address", - "name": "_upperHint", - "type": "address" - }, - { - "internalType": "address", - "name": "_lowerHint", - "type": "address" - } - ], - "name": "withdrawCollExt", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_i", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "name": "withdrawFromSPExt", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_i", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - }, - { - "internalType": "address", - "name": "_upperHint", - "type": "address" - }, - { - "internalType": "address", - "name": "_lowerHint", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_maxFee", - "type": "uint256" - } - ], - "name": "withdrawZUSDExt", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "zusdToken", - "outputs": [ - { - "internalType": "contract ZUSDToken", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": "0x6080604052604051620000129062000c88565b604051809103906000f0801580156200002f573d6000803e3d6000fd5b50600380546001600160a01b0319166001600160a01b03929092169190911790556040516212750090620000639062000c96565b6200006f919062000efd565b604051809103906000f0801580156200008c573d6000803e3d6000fd5b50600480546001600160a01b0319166001600160a01b03929092169190911790556040516212750090620000c09062000ca4565b620000cc919062000efd565b604051809103906000f080158015620000e9573d6000803e3d6000fd5b50600580546001600160a01b0319166001600160a01b0392909216919091179055604051620001189062000cb2565b604051809103906000f08015801562000135573d6000803e3d6000fd5b50600680546001600160a01b0319166001600160a01b0392909216919091179055604051620001649062000cc0565b604051809103906000f08015801562000181573d6000803e3d6000fd5b50600780546001600160a01b0319166001600160a01b0392909216919091179055604051620001b09062000cce565b604051809103906000f080158015620001cd573d6000803e3d6000fd5b50600880546001600160a01b0319166001600160a01b0392909216919091179055604051620001fc9062000cdc565b604051809103906000f08015801562000219573d6000803e3d6000fd5b50600980546001600160a01b0319166001600160a01b0392909216919091179055604051620002489062000cea565b604051809103906000f08015801562000265573d6000803e3d6000fd5b50600a80546001600160a01b0319166001600160a01b0392909216919091179055604051620002949062000cf7565b604051809103906000f080158015620002b1573d6000803e3d6000fd5b50600c80546001600160a01b0319166001600160a01b03928316179081905560055460095460065460405163c0c53b8b60e01b81529385169463c0c53b8b9462000308948216938216929091169060040162000e65565b600060405180830381600087803b1580156200032357600080fd5b505af115801562000338573d6000803e3d6000fd5b505050506040516200034a9062000d05565b604051809103906000f08015801562000367573d6000803e3d6000fd5b50600b80546001600160a01b0319166001600160a01b0392909216919091179055604051620003969062000d13565b604051809103906000f080158015620003b3573d6000803e3d6000fd5b50600d80546001600160a01b0319166001600160a01b0392909216919091179055604051620003e29062000d21565b604051809103906000f080158015620003ff573d6000803e3d6000fd5b50600e80546001600160a01b0319166001600160a01b039283161790819055600554604080516101c081018252600080825260048054871660208401526003548716838501526006548716606084015260075487166080840152600854871660a0840152600954871660c0840152600a54871660e0840152600b548716610100840152600d548716610120840152600c54871661014084015294861661016083015261018082018190526101a08201529051623e2dc360e31b815291909316926301f16e1892620004d1920162000f25565b600060405180830381600087803b158015620004ec57600080fd5b505af115801562000501573d6000803e3d6000fd5b5050600654600354600554600754600854600954600a54600b54600d54600e54600c5460405163734f622d60e01b81526001600160a01b039b8c169d5063734f622d9c50620005759b60009b81169a81169981169881169781169681169581169481169381169216908b9060040162000db8565b600060405180830381600087803b1580156200059057600080fd5b505af1158015620005a5573d6000803e3d6000fd5b5050600754600654600554600954600854604051634a945f8d60e01b81526001600160a01b039586169750634a945f8d9650620005f5959485169493841693928316929091169060040162000e88565b600060405180830381600087803b1580156200061057600080fd5b505af115801562000625573d6000803e3d6000fd5b50506008546005546007546040516348083d7f60e11b81526001600160a01b0393841695506390107afe94506200066793928316929091169060040162000e4b565b600060405180830381600087803b1580156200068257600080fd5b505af115801562000697573d6000803e3d6000fd5b5050600954600354600654600554600754600c54600e54600d54604051630d733cfd60e41b81526001600160a01b039889169a5063d733cfd09950620006ff989788169796871696958616959485169493841693928316929091169060009060040162000eb3565b600060405180830381600087803b1580156200071a57600080fd5b505af11580156200072f573d6000803e3d6000fd5b5050600b54600654600554600754604051630d8efe5960e21b81526001600160a01b03948516965063363bf9649550620007789493841693928316929091169060040162000e65565b600060405180830381600087803b1580156200079357600080fd5b505af1158015620007a8573d6000803e3d6000fd5b5050600e54600554600654604051631e6edaf360e31b81526001600160a01b03938416955063f376d7989450620007f193670de0b6b3a764000093811692169060040162000f06565b600060405180830381600087803b1580156200080c57600080fd5b505af115801562000821573d6000803e3d6000fd5b506000925050505b60648110156200095457600554600654600954600c546040516001600160a01b0394851694938416939283169290911690620008659062000d2f565b62000874949392919062000e88565b604051809103906000f08015801562000891573d6000803e3d6000fd5b50600f8260648110620008a057fe5b0180546001600160a01b0319166001600160a01b03929092169190911790556000600f8260648110620008cf57fe5b01546040516001600160a01b039091169069d3c21bcecceda100000090620008f79062000db5565b60006040518083038185875af1925050503d806000811462000936576040519150601f19603f3d011682016040523d82523d6000602084013e6200093b565b606091505b50509050806200094a57600080fd5b5060010162000829565b50600660009054906101000a90046001600160a01b03166001600160a01b0316639f0706706040518163ffffffff1660e01b815260040160206040518083038186803b158015620009a457600080fd5b505afa158015620009b9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620009df919062000d66565b6001600160a01b031663794e57246040518163ffffffff1660e01b815260040160206040518083038186803b15801562000a1857600080fd5b505afa15801562000a2d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000a53919062000d8f565b600055600654604080516309f0706760e41b815290516001600160a01b0390921691639f07067091600480820192602092909190829003018186803b15801562000a9c57600080fd5b505afa15801562000ab1573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000ad7919062000d66565b6001600160a01b0316635733d58f6040518163ffffffff1660e01b815260040160206040518083038186803b15801562000b1057600080fd5b505afa15801562000b25573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000b4b919062000d8f565b60015560065460408051631d66cc0d60e21b815290516001600160a01b039092169163759b303491600480820192602092909190829003018186803b15801562000b9457600080fd5b505afa15801562000ba9573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000bcf919062000d8f565b60025560005462000bdf57600080fd5b60006001541162000bef57600080fd5b600d546040516391b7f5ed60e01b81526001600160a01b03909116906391b7f5ed9062000c2b9069021e19e0c9bab24000009060040162000efd565b602060405180830381600087803b15801562000c4657600080fd5b505af115801562000c5b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000c81919062000d3d565b506200105e565b61090880620039d383390190565b6137ec80620042db83390190565b61563b8062007ac783390190565b614bd8806200d10283390190565b610e188062011cda83390190565b610bf78062012af283390190565b6144d380620136e983390190565b605c8062017bbc83390190565b6118868062017c1883390190565b610d9a806201949e83390190565b61013b806201a23883390190565b611b3a806201a37383390190565b610e35806201bead83390190565b60006020828403121562000d4f578081fd5b8151801515811462000d5f578182fd5b9392505050565b60006020828403121562000d78578081fd5b81516001600160a01b038116811462000d5f578182fd5b60006020828403121562000da1578081fd5b5051919050565b6001600160a01b03169052565b90565b6001600160a01b038d811682528c811660208301528b811660408301528a81166060830152898116608083015288811660a083015287811660c083015286811660e08301528516610100820152610180810162000e1a61012083018662000da8565b62000e2a61014083018562000da8565b62000e3a61016083018462000da8565b9d9c50505050505050505050505050565b6001600160a01b0392831681529116602082015260400190565b6001600160a01b0393841681529183166020830152909116604082015260600190565b6001600160a01b03948516815292841660208401529083166040830152909116606082015260800190565b6001600160a01b0398891681529688166020880152948716604087015292861660608601529085166080850152841660a0840152831660c083015290911660e08201526101000190565b90815260200190565b9283526001600160a01b03918216602084015216604082015260600190565b60006101c08201905062000f3b82845162000da8565b602083015162000f4f602084018262000da8565b50604083015162000f64604084018262000da8565b50606083015162000f79606084018262000da8565b50608083015162000f8e608084018262000da8565b5060a083015162000fa360a084018262000da8565b5060c083015162000fb860c084018262000da8565b5060e083015162000fcd60e084018262000da8565b506101008084015162000fe38285018262000da8565b50506101208084015162000ffa8285018262000da8565b505061014080840151620010118285018262000da8565b505061016080840151620010288285018262000da8565b5050610180808401516200103f8285018262000da8565b50506101a080840151620010568285018262000da8565b505092915050565b612965806200106e6000396000f3fe60806040526004361061023b5760003560e01c80637ca8b0281161012e578063ba5a851f116100ab578063e44891271161006f578063e4489127146105ea578063ec9f7d461461060a578063efa83cf91461061f578063f2a903a714610632578063fa08b038146106475761023b565b8063ba5a851f14610562578063baf5d65f14610582578063c325347f146105a2578063cda775f9146105c2578063d21af968146105d75761023b565b80639cdd0978116100f25780639cdd0978146104e35780639f070670146105035780639f56ac1814610518578063a2f5cbdd1461052d578063a3d36834146105425761023b565b80637ca8b028146104595780637f7dde4a146104795780638e4707d31461048e57806391a4a426146104ae578063980c55d7146104ce5761023b565b80634e792a30116101bc57806359bed84b1161018057806359bed84b146103e757806369690936146103fc578063716c47e61461040f57806377553ad4146104245780637c22900e146104395761023b565b80634e792a301461036c57806354e174d81461038c57806357285cc5146103ac5780635895ac4e146103bf578063597ec799146103d45761023b565b80633ca4afc1116102035780633ca4afc1146102e25780633cc74225146103025780633d83908a1461031757806340ba2e271461032c5780634557559f1461034c5761023b565b8063048c661d1461024057806304bbf59c1461026b578063119be5d0146102985780631c6fbd23146102b857806325df85a2146102cd575b600080fd5b34801561024c57600080fd5b5061025561065c565b6040516102629190612689565b60405180910390f35b34801561027757600080fd5b5061028b610286366004612358565b61066b565b6040516102629190612728565b3480156102a457600080fd5b5061028b6102b3366004612358565b61070d565b6102cb6102c63660046125c2565b610754565b005b3480156102d957600080fd5b5061028b61081e565b3480156102ee57600080fd5b506102cb6102fd366004612427565b610cac565b34801561030e57600080fd5b50610255610d2a565b34801561032357600080fd5b50610255610d39565b34801561033857600080fd5b506102cb6103473660046122b2565b610d48565b34801561035857600080fd5b506102cb6103673660046122b2565b610dc8565b34801561037857600080fd5b506102cb6103873660046122e2565b610e58565b34801561039857600080fd5b506102cb6103a736600461245f565b610ed3565b6102cb6103ba366004612406565b610f54565b3480156103cb57600080fd5b5061028b610ffc565b6102cb6103e236600461260e565b61109e565b3480156103f357600080fd5b5061028b61112b565b6102cb61040a36600461245f565b611408565b34801561041b57600080fd5b50610255611450565b34801561043057600080fd5b5061025561145f565b34801561044557600080fd5b5061028b610454366004612311565b61146e565b34801561046557600080fd5b506102cb6104743660046124a8565b611513565b34801561048557600080fd5b5061025561159f565b34801561049a57600080fd5b5061028b6104a9366004612358565b6115ae565b3480156104ba57600080fd5b506102556104c93660046122b2565b6115f5565b3480156104da57600080fd5b5061028b611612565b3480156104ef57600080fd5b5061028b6104fe366004612358565b6118fb565b34801561050f57600080fd5b50610255611942565b34801561052457600080fd5b5061028b611951565b34801561053957600080fd5b5061028b611974565b34801561054e57600080fd5b506102cb61055d36600461245f565b611989565b34801561056e57600080fd5b506102cb61057d36600461250e565b6119d1565b34801561058e57600080fd5b506102cb61059d366004612406565b611a1b565b3480156105ae57600080fd5b506102cb6105bd36600461238f565b611a5f565b3480156105ce57600080fd5b50610255611aa5565b6102cb6105e536600461255f565b611ab4565b3480156105f657600080fd5b506102cb610605366004612406565b611bfc565b34801561061657600080fd5b50610255611c40565b6102cb61062d36600461258a565b611c4f565b34801561063e57600080fd5b5061028b611c9b565b34801561065357600080fd5b50610255611f00565b6009546001600160a01b031681565b600080606485069050600f816064811061068157fe5b015460405163d466e4eb60e01b81526001600160a01b039091169063d466e4eb906106b290879087906004016126c1565b602060405180830381600087803b1580156106cc57600080fd5b505af11580156106e0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107049190612296565b50509392505050565b600080606485069050600f816064811061072357fe5b015460405163cf83544f60e01b81526001600160a01b039091169063cf83544f906106b290879087906004016126c1565b60006064860690506000600f826064811061076b57fe5b0154600080546001600160a01b03909216925082319161078e9083908a90611f0f565b90508585156107a7576107a48288600054611ffa565b90505b604051631942d56760e21b81526001600160a01b0385169063650b559c906107e09085908c9086908c90600090819081906004016128cd565b600060405180830381600087803b1580156107fa57600080fd5b505af115801561080e573d6000803e3d6000fd5b5050505050505050505050505050565b600080600c60009054906101000a90046001600160a01b03166001600160a01b03166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b15801561086f57600080fd5b505afa158015610883573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108a791906122ca565b600c54600a546040516370a0823160e01b81529293506000926001600160a01b03928316926370a08231926108e192911690600401612689565b60206040518083038186803b1580156108f957600080fd5b505afa15801561090d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061093191906122ca565b90506000600760009054906101000a90046001600160a01b03166001600160a01b0316633963e9806040518163ffffffff1660e01b815260040160206040518083038186803b15801561098357600080fd5b505afa158015610997573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109bb91906122ca565b90506000600860009054906101000a90046001600160a01b03166001600160a01b0316633963e9806040518163ffffffff1660e01b815260040160206040518083038186803b158015610a0d57600080fd5b505afa158015610a21573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a4591906122ca565b90508082018414610a5d576000945050505050610ca9565b60095460408051635ed79bf560e11b815290516000926001600160a01b03169163bdaf37ea916004808301926020929190829003018186803b158015610aa257600080fd5b505afa158015610ab6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ada91906122ca565b90506000600e60009054906101000a90046001600160a01b03166001600160a01b0316631e2231436040518163ffffffff1660e01b815260040160206040518083038186803b158015610b2c57600080fd5b505afa158015610b40573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b64919061227a565b905060005b6001600160a01b03821615610c8257600c546040516370a0823160e01b81526001600160a01b03909116906370a0823190610ba8908590600401612689565b60206040518083038186803b158015610bc057600080fd5b505afa158015610bd4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bf891906122ca565b600e5460405163765e015960e01b815291909201916001600160a01b03169063765e015990610c2b908590600401612689565b60206040518083038186803b158015610c4357600080fd5b505afa158015610c57573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c7b919061227a565b9150610b69565b85818401018711610c9d576000975050505050505050610ca9565b60019750505050505050505b90565b6000606484069050600f8160648110610cc157fe5b0154604051634c36240b60e01b81526001600160a01b0390911690634c36240b90610cf29086908690600401612807565b600060405180830381600087803b158015610d0c57600080fd5b505af1158015610d20573d6000803e3d6000fd5b5050505050505050565b6008546001600160a01b031681565b6005546001600160a01b031681565b6000606482069050600f8160648110610d5d57fe5b0160009054906101000a90046001600160a01b03166001600160a01b0316634903a3dd6040518163ffffffff1660e01b8152600401600060405180830381600087803b158015610dac57600080fd5b505af1158015610dc0573d6000803e3d6000fd5b505050505050565b600d546040516391b7f5ed60e01b81526000916001600160a01b0316906391b7f5ed90610df99085906004016127fe565b602060405180830381600087803b158015610e1357600080fd5b505af1158015610e27573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e4b9190612296565b905080610e5457fe5b5050565b6000606483069050600f8160648110610e6d57fe5b0154604051634d37261f60e01b81526001600160a01b0390911690634d37261f90610e9c908590600401612689565b600060405180830381600087803b158015610eb657600080fd5b505af1158015610eca573d6000803e3d6000fd5b50505050505050565b6000606485069050600f8160648110610ee857fe5b01546040516372d76c8760e01b81526001600160a01b03909116906372d76c8790610f1b9087908790879060040161281e565b600060405180830381600087803b158015610f3557600080fd5b505af1158015610f49573d6000803e3d6000fd5b505050505050505050565b60006064830690506000600f8260648110610f6b57fe5b0154600080546001600160a01b039092169250823191610f8e9083908790611f0f565b6040516332e859b960e01b81529091506001600160a01b038416906332e859b990610fc2908490600090819060040161281e565b600060405180830381600087803b158015610fdc57600080fd5b505af1158015610ff0573d6000803e3d6000fd5b50505050505050505050565b600080600d60009054906101000a90046001600160a01b03166001600160a01b03166398d5fdca6040518163ffffffff1660e01b815260040160206040518083038186803b15801561104d57600080fd5b505afa158015611061573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061108591906122ca565b905080611096576000915050610ca9565b600191505090565b6000606489069050600f81606481106110b357fe5b0154604051631942d56760e21b81526001600160a01b039091169063650b559c906110ee908b908b908b908b908b908b908b906004016128cd565b600060405180830381600087803b15801561110857600080fd5b505af115801561111c573d6000803e3d6000fd5b50505050505050505050505050565b600080600e60009054906101000a90046001600160a01b03166001600160a01b0316631e2231436040518163ffffffff1660e01b815260040160206040518083038186803b15801561117c57600080fd5b505afa158015611190573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111b4919061227a565b600e5460405163765e015960e01b81529192506000916001600160a01b039091169063765e0159906111ea908590600401612689565b60206040518083038186803b15801561120257600080fd5b505afa158015611216573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061123a919061227a565b90505b6001600160a01b0382161580159061125d57506001600160a01b03811615155b156113ff5760055460405163b0d8e18160e01b81526001600160a01b039091169063b0d8e18190611292908590600401612689565b60206040518083038186803b1580156112aa57600080fd5b505afa1580156112be573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112e291906122ca565b60055460405163b0d8e18160e01b81526001600160a01b039091169063b0d8e18190611312908590600401612689565b60206040518083038186803b15801561132a57600080fd5b505afa15801561133e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061136291906122ca565b111561137357600092505050610ca9565b600e5460405163765e015960e01b815291925082916001600160a01b039091169063765e0159906113a8908490600401612689565b60206040518083038186803b1580156113c057600080fd5b505afa1580156113d4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113f8919061227a565b905061123d565b60019250505090565b6000606485069050600f816064811061141d57fe5b01546040516332e859b960e01b81526001600160a01b03909116906332e859b990610f1b9087908790879060040161281e565b6004546001600160a01b031681565b6006546001600160a01b031681565b600080606486069050600f816064811061148457fe5b0154604051636ca5e76160e11b81526001600160a01b039091169063d94bcec2906114b79088908890889060040161269d565b602060405180830381600087803b1580156114d157600080fd5b505af11580156114e5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115099190612296565b5050949350505050565b6000606487069050600f816064811061152857fe5b01546040516335b1017960e01b81526001600160a01b03909116906335b10179906115649089908990899089908990600090819060040161283d565b600060405180830381600087803b15801561157e57600080fd5b505af1158015611592573d6000803e3d6000fd5b5050505050505050505050565b6007546001600160a01b031681565b600080606485069050600f81606481106115c457fe5b0154604051636628d36160e11b81526001600160a01b039091169063cc51a6c2906106b290879087906004016126c1565b600f816064811061160257fe5b01546001600160a01b0316905081565b600080600e60009054906101000a90046001600160a01b03166001600160a01b0316631e2231436040518163ffffffff1660e01b815260040160206040518083038186803b15801561166357600080fd5b505afa158015611677573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061169b919061227a565b90505b6001600160a01b03811615611096576005546040516321e3780160e01b81526001916001600160a01b0316906321e37801906116de908590600401612689565b60206040518083038186803b1580156116f657600080fd5b505afa15801561170a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061172e91906122ca565b600481111561173957fe5b600481111561174457fe5b14611753576000915050610ca9565b60025460055460405163d66a255360e01b81526001600160a01b039091169063d66a255390611786908590600401612689565b60206040518083038186803b15801561179e57600080fd5b505afa1580156117b2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117d691906122ca565b10156117e6576000915050610ca9565b600554604051630326771360e51b81526001600160a01b03909116906364cee26090611816908490600401612689565b60206040518083038186803b15801561182e57600080fd5b505afa158015611842573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061186691906122ca565b611874576000915050610ca9565b600e5460405163765e015960e01b81526001600160a01b039091169063765e0159906118a4908490600401612689565b60206040518083038186803b1580156118bc57600080fd5b505afa1580156118d0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118f4919061227a565b905061169e565b600080606485069050600f816064811061191157fe5b015460405163390b5f2760e01b81526001600160a01b039091169063390b5f27906106b290879087906004016126c1565b6003546001600160a01b031681565b6007546000906001600160a01b0316311561196e57506000610ca9565b50600190565b60006014607354111561196e57506000610ca9565b6000606485069050600f816064811061199e57fe5b0154604051633ddd87af60e11b81526001600160a01b0390911690637bbb0f5e90610f1b9087908790879060040161281e565b6000606486069050600f81606481106119e657fe5b0154604051630666566560e31b81526001600160a01b0390911690633332b32890610fc290889088908890889060040161287c565b6000606483069050600f8160648110611a3057fe5b015460405163f47a1ea760e01b81526001600160a01b039091169063f47a1ea790610e9c9085906004016127fe565b6000606484069050600f8160648110611a7457fe5b0154604051634afbac5160e01b81526001600160a01b0390911690634afbac5190610cf290869086906004016126da565b600b546001600160a01b031681565b60006064840690506000600f8260648110611acb57fe5b01546001546001600160a01b039091169150813190600090611af09083908890611f0f565b90506000611b018287600154611ffa565b604051639113473160e01b81529091506001600160a01b03851690639113473190611b399085908590600090819081906004016128a1565b600060405180830381600087803b158015611b5357600080fd5b505af1158015611b67573d6000803e3d6000fd5b50505050600560009054906101000a90046001600160a01b03166001600160a01b03166349eefeee6040518163ffffffff1660e01b815260040160206040518083038186803b158015611bb957600080fd5b505afa158015611bcd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611bf191906122ca565b6073819055610d2057fe5b6000606483069050600f8160648110611c1157fe5b015460405163320d84db60e11b81526001600160a01b039091169063641b09b690610e9c9085906004016127fe565b600c546001600160a01b031681565b6000606487069050600f8160648110611c6457fe5b0154604051639113473160e01b81526001600160a01b039091169063911347319061156490899089908990899089906004016128a1565b6005546000906001600160a01b03163115611cb857506000610ca9565b6006546001600160a01b03163115611cd257506000610ca9565b600760009054906101000a90046001600160a01b03166001600160a01b03166314f6c3be6040518163ffffffff1660e01b815260040160206040518083038186803b158015611d2057600080fd5b505afa158015611d34573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d5891906122ca565b6007546001600160a01b03163114611d7257506000610ca9565b600860009054906101000a90046001600160a01b03166001600160a01b03166314f6c3be6040518163ffffffff1660e01b815260040160206040518083038186803b158015611dc057600080fd5b505afa158015611dd4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611df891906122ca565b6008546001600160a01b03163114611e1257506000610ca9565b600960009054906101000a90046001600160a01b03166001600160a01b03166314f6c3be6040518163ffffffff1660e01b815260040160206040518083038186803b158015611e6057600080fd5b505afa158015611e74573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e9891906122ca565b6009546001600160a01b03163114611eb257506000610ca9565b600c546001600160a01b03163115611ecc57506000610ca9565b600d546001600160a01b03163115611ee657506000610ca9565b600e546001600160a01b0316311561196e57506000610ca9565b600a546001600160a01b031681565b600080600d60009054906101000a90046001600160a01b03166001600160a01b03166398d5fdca6040518163ffffffff1660e01b815260040160206040518083038186803b158015611f6057600080fd5b505afa158015611f74573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f9891906122ca565b905060008111611fa757600080fd5b6000611fce82611fc2600254876120f290919063ffffffff16565b9063ffffffff61213e16565b9050808611611fdc57600080fd5b60008187038681611fe957fe5b0691909101925050505b9392505050565b600080600d60009054906101000a90046001600160a01b03166001600160a01b03166398d5fdca6040518163ffffffff1660e01b815260040160206040518083038186803b15801561204b57600080fd5b505afa15801561205f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061208391906122ca565b600254909150849060009061209f90839063ffffffff61218016565b905060006120ae8883866121a5565b9050858110156120e6576120cc86611fc28a8763ffffffff6120f216565b91506120e3600254836121d590919063ffffffff16565b92505b50909695505050505050565b60008261210157506000612138565b8282028284828161210e57fe5b04146121355760405162461bcd60e51b815260040161212c906127bd565b60405180910390fd5b90505b92915050565b600061213583836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612217565b6000828201838110156121355760405162461bcd60e51b815260040161212c90612786565b600082156121cc5760006121c384611fc2878663ffffffff6120f216565b9150611ff39050565b50600019611ff3565b600061213583836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061224e565b600081836122385760405162461bcd60e51b815260040161212c9190612733565b50600083858161224457fe5b0495945050505050565b600081848411156122725760405162461bcd60e51b815260040161212c9190612733565b505050900390565b60006020828403121561228b578081fd5b815161213581612909565b6000602082840312156122a7578081fd5b815161213581612921565b6000602082840312156122c3578081fd5b5035919050565b6000602082840312156122db578081fd5b5051919050565b600080604083850312156122f4578081fd5b82359150602083013561230681612909565b809150509250929050565b60008060008060808587031215612326578182fd5b84359350602085013561233881612909565b9250604085013561234881612909565b9396929550929360600135925050565b60008060006060848603121561236c578283fd5b83359250602084013561237e81612909565b929592945050506040919091013590565b6000806000604084860312156123a3578283fd5b83359250602084013567ffffffffffffffff808211156123c1578384fd5b81860187601f8201126123d2578485fd5b80359250818311156123e2578485fd5b87602080850283010111156123f5578485fd5b949760209095019650909450505050565b60008060408385031215612418578182fd5b50508035926020909101359150565b60008060006060848603121561243b578283fd5b8335925060208401359150604084013561245481612909565b809150509250925092565b60008060008060808587031215612474578384fd5b8435935060208501359250604085013561248d81612909565b9150606085013561249d81612909565b939692955090935050565b60008060008060008060c087890312156124c0578182fd5b863595506020870135945060408701356124d981612909565b935060608701356124e981612909565b925060808701356124f981612909565b8092505060a087013590509295509295509295565b600080600080600060a08688031215612525578081fd5b8535945060208601359350604086013561253e81612909565b9250606086013561254e81612909565b949793965091946080013592915050565b600080600060608486031215612573578081fd5b505081359360208301359350604090920135919050565b60008060008060008060c087890312156125a2578384fd5b86359550602087013594506040870135935060608701356124e981612909565b600080600080600060a086880312156125d9578283fd5b85359450602086013593506040860135925060608601359150608086013561260081612921565b809150509295509295909350565b600080600080600080600080610100898b03121561262a578586fd5b88359750602089013596506040890135955060608901359450608089013561265181612921565b935060a089013561266181612909565b925060c089013561267181612909565b8092505060e089013590509295985092959890939650565b6001600160a01b0391909116815260200190565b6001600160a01b039384168152919092166020820152604081019190915260600190565b6001600160a01b03929092168252602082015260400190565b60208082528181018390526000908460408401835b8681101561271d57823561270281612909565b6001600160a01b0316825291830191908301906001016126ef565b509695505050505050565b901515815260200190565b6000602080835283518082850152825b8181101561275f57858101830151858201604001528201612743565b818111156127705783604083870101525b50601f01601f1916929092016040019392505050565b6020808252601b908201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604082015260600190565b60208082526021908201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6040820152607760f81b606082015260800190565b90815260200190565b9182526001600160a01b0316602082015260400190565b9283526001600160a01b03918216602084015216604082015260600190565b9687526001600160a01b0395861660208801529385166040870152919093166060850152608084019290925260a083019190915260c082015260e00190565b9384526001600160a01b03928316602085015291166040830152606082015260800190565b94855260208501939093526001600160a01b039182166040850152166060830152608082015260a00190565b9687526020870195909552604086019390935290151560608501526001600160a01b0390811660808501521660a083015260c082015260e00190565b6001600160a01b038116811461291e57600080fd5b50565b801515811461291e57600080fdfea2646970667358221220eb7ad9d5b909f9e648eae8c7f89922a08c7cbcabc1ba72a37e06f9184fc06c6364736f6c634300060b0033608060405234801561001057600080fd5b50610023336001600160e01b0361002816565b610110565b6001600160a01b03811661006d5760405162461bcd60e51b81526004018080602001828103825260228152602001806108e66022913960400191505060405180910390fd5b6001600160a01b0381166100886001600160e01b036100e616565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3604080517035b2bc9737bbb730b136329737bbb732b960791b8152905190819003601101902055565b604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205490565b6107c78061011f6000396000f3fe608060405234801561001057600080fd5b50600436106100e05760003560e01c80636030cc8c116100875780636030cc8c146101965780636d454561146101b3578063794e5724146101d057806380038a0b146101d85780638129fc1c146101f5578063893d20e8146101fd578063a20baee614610221578063f92d343314610229576100e0565b806313af4035146100e5578063240926691461010d57806328d28b5b146101275780632e2465f81461012f578063385a128f1461014c5780634139ad60146101695780634870dd9a146101865780635733d58f1461018e575b600080fd5b61010b600480360360208110156100fb57600080fd5b50356001600160a01b0316610231565b005b610115610298565b60408051918252519081900360200190f35b61011561029e565b61010b6004803603602081101561014557600080fd5b50356102a4565b61010b6004803603602081101561016257600080fd5b5035610304565b61010b6004803603602081101561017f57600080fd5b5035610364565b6101156103c4565b6101156103ca565b61010b600480360360208110156101ac57600080fd5b50356103d0565b61010b600480360360208110156101c957600080fd5b5035610430565b610115610490565b61010b600480360360208110156101ee57600080fd5b5035610496565b61010b6104f6565b61020561062a565b604080516001600160a01b039092168252519081900360200190f35b610115610654565b610115610660565b61023961062a565b6001600160a01b0316336001600160a01b03161461028c576040805162461bcd60e51b81526020600482015260176024820152600080516020610722833981519152604482015290519081900360640190fd5b61029581610666565b50565b60385481565b60375481565b6102ac61062a565b6001600160a01b0316336001600160a01b0316146102ff576040805162461bcd60e51b81526020600482015260176024820152600080516020610722833981519152604482015290519081900360640190fd5b603655565b61030c61062a565b6001600160a01b0316336001600160a01b03161461035f576040805162461bcd60e51b81526020600482015260176024820152600080516020610722833981519152604482015290519081900360640190fd5b603355565b61036c61062a565b6001600160a01b0316336001600160a01b0316146103bf576040805162461bcd60e51b81526020600482015260176024820152600080516020610722833981519152604482015290519081900360640190fd5b603455565b60355481565b60345481565b6103d861062a565b6001600160a01b0316336001600160a01b03161461042b576040805162461bcd60e51b81526020600482015260176024820152600080516020610722833981519152604482015290519081900360640190fd5b603755565b61043861062a565b6001600160a01b0316336001600160a01b03161461048b576040805162461bcd60e51b81526020600482015260176024820152600080516020610722833981519152604482015290519081900360640190fd5b603555565b60335481565b61049e61062a565b6001600160a01b0316336001600160a01b0316146104f1576040805162461bcd60e51b81526020600482015260176024820152600080516020610722833981519152604482015290519081900360640190fd5b603855565b600054610100900460ff168061050f575061050f61071b565b8061051d575060005460ff16155b6105585760405162461bcd60e51b815260040180806020018281038252602e815260200180610764602e913960400191505060405180910390fd5b600054610100900460ff16158015610583576000805460ff1961ff0019909116610100171660011790555b61058b61062a565b6001600160a01b0316336001600160a01b0316146105de576040805162461bcd60e51b81526020600482015260176024820152600080516020610722833981519152604482015290519081900360640190fd5b670f43fc2c04ee00006033556714d1120d7b16000060345560c86035556611c37937e08000603681905560375566b1a2bc2ec500006038558015610295576000805461ff001916905550565b604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205490565b670de0b6b3a764000081565b60365481565b6001600160a01b0381166106ab5760405162461bcd60e51b81526004018080602001828103825260228152602001806107426022913960400191505060405180910390fd5b806001600160a01b03166106bd61062a565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3604080517035b2bc9737bbb730b136329737bbb732b960791b8152905190819003601101902055565b303b159056fe4f776e61626c653a3a206163636573732064656e6965640000000000000000004f776e61626c653a3a7365744f776e65723a20696e76616c69642061646472657373436f6e747261637420696e7374616e63652068617320616c7265616479206265656e20696e697469616c697a6564a26469706673582212209b1fc4ebe36b013e04c33c8b1574ab765154511a9b95fe7e760cf2d686fd7abb64736f6c634300060b00334f776e61626c653a3a7365744f776e65723a20696e76616c6964206164647265737360a06040523480156200001157600080fd5b50604051620037ec380380620037ec833981016040819052620000349162000118565b8062000049336001600160e01b036200005316565b6080525062000190565b6001600160a01b038116620000855760405162461bcd60e51b81526004016200007c906200014e565b60405180910390fd5b6001600160a01b038116620000a26001600160e01b03620000f716565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000604051620000e79062000131565b6040519081900390209190915550565b600080604051620001089062000131565b6040519081900390205492915050565b6000602082840312156200012a578081fd5b5051919050565b7035b2bc9737bbb730b136329737bbb732b960791b815260110190565b60208082526022908201527f4f776e61626c653a3a7365744f776e65723a20696e76616c6964206164647265604082015261737360f01b606082015260800190565b60805161363c620001b060003980610aa952806119d6525061363c6000f3fe608060405234801561001057600080fd5b50600436106102745760003560e01c8063797250e311610151578063ae7bec19116100c3578063bf9befb111610087578063bf9befb114610455578063c35bc5501461045d578063c7b5548114610465578063d380a37c1461046d578063d815e8e914610475578063e056e9181461047d57610274565b8063ae7bec1914610422578063ae9187541461042a578063b7f8cf9b14610432578063bcd375261461043a578063be4b03341461044d57610274565b8063893d20e811610115578063893d20e8146103ed57806396d711ff146103f55780639dd233d2146103fd5780639f07067014610405578063a20baee614610392578063a3f4df7e1461040d57610274565b8063797250e3146103c55780637cf54e40146103cd5780637f7dde4a146103d5578063807d138d146103dd578063887105d3146103e557610274565b806342ccf1e4116101ea578063716c47e6116101ae578063716c47e61461038a57806372fe25aa14610392578063741bef1a1461039a578063756b253e146103a2578063759b3034146103b5578063795d26c3146103bd57610274565b806342ccf1e4146103305780634a767d681461034357806361ec893d146103565780636b4449521461035e5780636ef643381461036657610274565b80631a59a50e1161023c5780631a59a50e146102f55780631bf43555146103085780631f68f20a1461031057806331c903b0146103185780633a128595146103205780633cc742251461032857610274565b806305b6f5ca14610279578063071a75411461028e5780630d43e8ad146102ac57806313af4035146102c15780631673c79a146102d4575b600080fd5b61028c610287366004612ec7565b61049d565b005b610296610558565b6040516102a39190613554565b60405180910390f35b6102b461055d565b6040516102a39190612f8f565b61028c6102cf366004612da7565b61056c565b6102e76102e2366004612da7565b6105b9565b6040516102a392919061355d565b610296610303366004612da7565b6105d2565b61029661069a565b6102966106a7565b6102966106ad565b6102b46106bf565b6102b46106ce565b61029661033e366004612da7565b6106dd565b610296610351366004612ddf565b61070e565b610296610739565b61029661073e565b610379610374366004612da7565b610744565b6040516102a395949392919061356b565b6102b461077e565b61029661078d565b6102b4610799565b6102b46103b0366004612e2a565b6107a8565b6102966107cf565b6102966107dc565b6102966108fb565b6102b4610901565b6102b4610910565b61029661091f565b610296610925565b6102b46109f4565b610296610a13565b610296610a19565b6102b4610a1f565b610415610a2e565b6040516102a391906130a4565b6102b4610a56565b6102b4610a65565b6102b4610a74565b61028c610448366004612e5a565b610a83565b610296610a9b565b610296610aa1565b610296610aa7565b610296610acb565b610296610ad7565b6102b4610add565b61049061048b366004612da7565b610aec565b6040516102a3919061306d565b600061053c600560009054906101000a90046001600160a01b03166001600160a01b031663e9fc34616040518163ffffffff1660e01b815260040160206040518083038186803b1580156104f057600080fd5b505afa158015610504573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105289190612dc3565b6009548b906001600160a01b031685610b4a565b905061054d81898989898989610dfb565b505050505050505050565b600281565b600c546001600160a01b031681565b6105746109f4565b6001600160a01b0316336001600160a01b0316146105ad5760405162461bcd60e51b81526004016105a49061335f565b60405180910390fd5b6105b6816115c2565b50565b6016602052600090815260409020805460019091015482565b6001600160a01b0381166000908152601660205260408120546014548290610600908363ffffffff61164d16565b9050801580610639575060016001600160a01b03851660009081526010602052604090206003015460ff16600481111561063657fe5b14155b1561064957600092505050610695565b6001600160a01b0384166000908152601060205260408120600201549061068e670de0b6b3a7640000610682848663ffffffff61169616565b9063ffffffff6116d016565b9450505050505b919050565b6809c2007651b250000081565b600e5481565b60006106ba600e54611712565b905090565b600b546001600160a01b031681565b6001546001600160a01b031681565b6001600160a01b0381166000908152601660205260408120600101546015548290610600908363ffffffff61164d16565b600080600061071c856117bb565b91509150600061072d838387611841565b93505050505b92915050565b603c81565b60195481565b60106020526000908152604090208054600182015460028301546003909301549192909160ff81169061010090046001600160801b031685565b6004546001600160a01b031681565b670de0b6b3a764000081565b6002546001600160a01b031681565b601781815481106107b557fe5b6000918252602090912001546001600160a01b0316905081565b6801158e460913d0000081565b60008054604080516272c7d360e71b8152905183926001600160a01b031691633963e980916004808301926020929190829003018186803b15801561082057600080fd5b505afa158015610834573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108589190612e42565b90506000600160009054906101000a90046001600160a01b03166001600160a01b0316633963e9806040518163ffffffff1660e01b815260040160206040518083038186803b1580156108aa57600080fd5b505afa1580156108be573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108e29190612e42565b90506108f4828263ffffffff61187316565b9250505090565b60185481565b600a546001600160a01b031681565b6000546001600160a01b031681565b60125481565b6000805460408051630a7b61df60e11b8152905183926001600160a01b0316916314f6c3be916004808301926020929190829003018186803b15801561096a57600080fd5b505afa15801561097e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109a29190612e42565b90506000600160009054906101000a90046001600160a01b03166001600160a01b03166314f6c3be6040518163ffffffff1660e01b815260040160206040518083038186803b1580156108aa57600080fd5b600080604051610a0390612f72565b6040519081900390205492915050565b60135481565b60145481565b6003546001600160a01b031681565b6040518060400160405280600c81526020016b2a3937bb32a6b0b730b3b2b960a11b81525081565b6006546001600160a01b031681565b600d546001600160a01b031681565b6005546001600160a01b031681565b610a9287878787878787610dfb565b50505050505050565b60155481565b60115481565b7f000000000000000000000000000000000000000000000000000000000000000081565b670ddd4b8c6c7d70d881565b600f5481565b6009546001600160a01b031681565b600060016001600160a01b03831660009081526010602052604090206003015460ff166004811115610b1a57fe5b14610b2757506000610695565b506014546001600160a01b03821660009081526016602052604090205410919050565b600080856001600160a01b03166321df0da76040518163ffffffff1660e01b815260040160206040518083038186803b158015610b8657600080fd5b505afa158015610b9a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bbe9190612dc3565b90506000816001600160a01b03166370a08231306040518263ffffffff1660e01b8152600401610bee9190612f8f565b60206040518083038186803b158015610c0657600080fd5b505afa158015610c1a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c3e9190612e42565b9050306001600160a01b03831663605629d633838a8935610c6560408c0160208d01612f51565b8b604001358c606001356040518863ffffffff1660e01b8152600401610c919796959493929190612fa3565b600060405180830381600087803b158015610cab57600080fd5b505af1158015610cbf573d6000803e3d6000fd5b5050505086610d5083856001600160a01b03166370a08231856040518263ffffffff1660e01b8152600401610cf49190612f8f565b60206040518083038186803b158015610d0c57600080fd5b505afa158015610d20573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d449190612e42565b9063ffffffff61164d16565b14610d6d5760405162461bcd60e51b81526004016105a49061316b565b60405163fb2c922360e01b81526001600160a01b0389169063fb2c922390610d9d9089908b90339060040161301f565b602060405180830381600087803b158015610db757600080fd5b505af1158015610dcb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610def9190612e42565b98975050505050505050565b610e03612d03565b506040805160e0810182526000546001600160a01b03908116825260015481166020830152600954811692820192909252600b5482166060820152600d5482166080820152600854821660a082015260075490911660c0820152610e65612d3f565b610e6e83611898565b610e76611951565b600260009054906101000a90046001600160a01b03166001600160a01b0316630fdb11cf6040518163ffffffff1660e01b8152600401602060405180830381600087803b158015610ec657600080fd5b505af1158015610eda573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610efe9190612e42565b60c08201819052610f0e90611a1f565b610f1789611acc565b610f268260400151338b611aec565b610f2e6107dc565b60e0820181905260408084015190516370a0823160e01b81526001600160a01b03909116906370a0823190610f67903390600401612f8f565b60206040518083038186803b158015610f7f57600080fd5b505afa158015610f93573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fb79190612e42565b1115610fbf57fe5b888152608082015160c0820151600091610fda918b90611b8d565b15610fe6575087611193565b82608001516001600160a01b0316634d6228316040518163ffffffff1660e01b815260040160206040518083038186803b15801561102357600080fd5b505afa158015611037573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061105b9190612dc3565b90505b6001600160a01b038116158015906111075750600360009054906101000a90046001600160a01b03166001600160a01b031663794e57246040518163ffffffff1660e01b815260040160206040518083038186803b1580156110bf57600080fd5b505afa1580156110d3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110f79190612e42565b611105828460c0015161070e565b105b156111935782608001516001600160a01b031663b72703ac826040518263ffffffff1660e01b815260040161113c9190612f8f565b60206040518083038186803b15801561115457600080fd5b505afa158015611168573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061118c9190612dc3565b905061105e565b8461119e5760001994505b6001600160a01b038116158015906111b65750815115155b80156111c25750600085115b156112f0576080830151604051632dc9c0eb60e21b8152600019909601956000916001600160a01b03169063b72703ac90611201908590600401612f8f565b60206040518083038186803b15801561121957600080fd5b505afa15801561122d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112519190612dc3565b90506112668460000151856020015184611df0565b61126e612d84565b611285858486600001518760c001518e8e8e611f01565b90508060400151156112985750506112f0565b805160208501516112ae9163ffffffff61187316565b60208086019190915281015160408501516112ce9163ffffffff61187316565b6040850152805184516112e69163ffffffff61164d16565b845250905061119e565b60008260400151116113145760405162461bcd60e51b81526004016105a4906131b4565b61132b82604001518360c001518460e00151612175565b50611339826040015161222c565b60608301819052604083015161135091908661223f565b8251600c5460608401516040516364a197f360e01b81526001600160a01b03938416936364a197f39361138893911691600401612fe4565b600060405180830381600087803b1580156113a257600080fd5b505af11580156113b6573d6000803e3d6000fd5b50505050600c60009054906101000a90046001600160a01b03166001600160a01b031663bb57ad206040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561140a57600080fd5b505af115801561141e573d6000803e3d6000fd5b50505050606082015160408301516114359161164d565b60808301526020820151604080840151606085015191517f43a3f4082a4dbc33d78e317d2497d3a730bc7fc3574159dcea1056e62e5d9ad89361147b938f9391926135ab565b60405180910390a182604001516001600160a01b0316639dc29fac3384602001516040518363ffffffff1660e01b81526004016114b9929190612fe4565b600060405180830381600087803b1580156114d357600080fd5b505af11580156114e7573d6000803e3d6000fd5b50508451602085015160405163121cbc4d60e11b81526001600160a01b039092169350632439789a925061151d91600401613554565b600060405180830381600087803b15801561153757600080fd5b505af115801561154b573d6000803e3d6000fd5b5050845160808501516040516364a197f360e01b81526001600160a01b0390921693506364a197f3925061158491339190600401612fe4565b600060405180830381600087803b15801561159e57600080fd5b505af11580156115b2573d6000803e3d6000fd5b5050505050505050505050505050565b6001600160a01b0381166115e85760405162461bcd60e51b81526004016105a490613234565b806001600160a01b03166115fa6109f4565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3600060405161163d90612f72565b6040519081900390209190915550565b600061168f83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250612285565b9392505050565b6000826116a557506000610733565b828202828482816116b257fe5b041461168f5760405162461bcd60e51b81526004016105a49061331e565b600061168f83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506122b1565b60006107336117ad83600360009054906101000a90046001600160a01b03166001600160a01b03166328d28b5b6040518163ffffffff1660e01b815260040160206040518083038186803b15801561176957600080fd5b505afa15801561177d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117a19190612e42565b9063ffffffff61187316565b670de0b6b3a76400006122e8565b60008060006117c9846105d2565b905060006117d6856106dd565b6001600160a01b03861660009081526010602052604081206001015491925090611806908463ffffffff61187316565b6001600160a01b03871660009081526010602052604081205491925090611833908463ffffffff61187316565b919550909350505050915091565b6000821561186857600061185f84610682878663ffffffff61169616565b915061168f9050565b506000199392505050565b60008282018381101561168f5760405162461bcd60e51b81526004016105a4906131fd565b600360009054906101000a90046001600160a01b03166001600160a01b03166328d28b5b6040518163ffffffff1660e01b815260040160206040518083038186803b1580156118e657600080fd5b505afa1580156118fa573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061191e9190612e42565b81101580156119355750670de0b6b3a76400008111155b6105b65760405162461bcd60e51b81526004016105a490613434565b600a5460408051631e425be160e11b815290516000926001600160a01b031691633c84b7c2916004808301926020929190829003018186803b15801561199657600080fd5b505afa1580156119aa573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119ce9190612e42565b9050611a00817f000000000000000000000000000000000000000000000000000000000000000063ffffffff61187316565b4210156105b65760405162461bcd60e51b81526004016105a4906132c0565b600360009054906101000a90046001600160a01b03166001600160a01b031663794e57246040518163ffffffff1660e01b815260040160206040518083038186803b158015611a6d57600080fd5b505afa158015611a81573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611aa59190612e42565b611aae826122fe565b10156105b65760405162461bcd60e51b81526004016105a490613484565b600081116105b65760405162461bcd60e51b81526004016105a490613390565b6040516370a0823160e01b815281906001600160a01b038516906370a0823190611b1a908690600401612f8f565b60206040518083038186803b158015611b3257600080fd5b505afa158015611b46573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b6a9190612e42565b1015611b885760405162461bcd60e51b81526004016105a4906130f7565b505050565b60006001600160a01b0383161580611c1e5750604051630bb7c8fd60e31b81526001600160a01b03851690635dbe47e890611bcc908690600401612f8f565b60206040518083038186803b158015611be457600080fd5b505afa158015611bf8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c1c9190612e0a565b155b80611cb65750600360009054906101000a90046001600160a01b03166001600160a01b031663794e57246040518163ffffffff1660e01b815260040160206040518083038186803b158015611c7257600080fd5b505afa158015611c86573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611caa9190612e42565b611cb4848461070e565b105b15611cc35750600061168f565b60405163765e015960e01b81526000906001600160a01b0386169063765e015990611cf2908790600401612f8f565b60206040518083038186803b158015611d0a57600080fd5b505afa158015611d1e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d429190612dc3565b90506001600160a01b0381161580611de75750600360009054906101000a90046001600160a01b03166001600160a01b031663794e57246040518163ffffffff1660e01b815260040160206040518083038186803b158015611da357600080fd5b505afa158015611db7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ddb9190612e42565b611de5828561070e565b105b95945050505050565b611df981610aec565b15611b8857611e078161232a565b6000611e12826105d2565b90506000611e1f836106dd565b6001600160a01b038416600090815260106020526040902060010154909150611e4e908363ffffffff61187316565b6001600160a01b0384166000908152601060205260409020600181019190915554611e7f908263ffffffff61187316565b6001600160a01b038416600090815260106020526040902055611ea183612373565b611ead858583856123db565b6001600160a01b0383166000818152601060205260408082208054600182015460029092015492516000805160206135e783398151915294611ef29492939291613078565b60405180910390a25050505050565b611f09612d84565b6001600160a01b038716600090815260106020526040902054611f46908790611f41906801158e460913d0000063ffffffff61164d16565b6122e8565b808252611f6790869061068290670de0b6b3a764000063ffffffff61169616565b60208083019190915281516001600160a01b038916600090815260109092526040822054611f9a9163ffffffff61164d16565b6020808401516001600160a01b038b166000908152601090925260408220600101549293509091611fd09163ffffffff61164d16565b90506801158e460913d0000082141561204957611fec896124fb565b611ff789600461254b565b61200c8a8a6801158e460913d0000084612657565b886001600160a01b03166000805160206135e78339815191526000806000600360405161203c9493929190613078565b60405180910390a2612167565b600061205582846127ba565b9050848114158061207657506809c2007651b2500000612074846127ef565b105b1561208a575050600160408301525061216a565b8a608001516001600160a01b0316632be212608b838a8a6040518563ffffffff1660e01b81526004016120c09493929190613042565b600060405180830381600087803b1580156120da57600080fd5b505af11580156120ee573d6000803e3d6000fd5b5050506001600160a01b038b1660009081526010602052604090208481556001018390555061211c8a61280a565b506001600160a01b038a16600081815260106020526040908190206002015490516000805160206135e78339815191529161215d9187918791600390613078565b60405180910390a2505b50505b979650505050505050565b6000806121806128b1565b9050600061219884610682888863ffffffff61169616565b905060006121bd6121b083600263ffffffff6116d016565b849063ffffffff61187316565b90506121d181670de0b6b3a76400006122e8565b9050600081116121dd57fe5b600e8190556040517fc454ee9b76c52f782a256af821b857ca6e125d1e3333bcede402fec2bed9600c90612212908390613554565b60405180910390a16122226128f5565b9695505050505050565b60006107336122396106ad565b8361294a565b600061225d8361068286670de0b6b3a764000063ffffffff61169616565b90508181111561227f5760405162461bcd60e51b81526004016105a4906134ce565b50505050565b600081848411156122a95760405162461bcd60e51b81526004016105a491906130a4565b505050900390565b600081836122d25760405162461bcd60e51b81526004016105a491906130a4565b5060008385816122de57fe5b0495945050505050565b60008183106122f7578161168f565b5090919050565b600080612309610925565b905060006123156107dc565b9050612322828286611841565b949350505050565b60016001600160a01b03821660009081526010602052604090206003015460ff16600481111561235657fe5b146105b65760405162461bcd60e51b81526004016105a490613505565b601480546001600160a01b038316600090815260166020526040908190209182556015546001909201829055915491517fc437f324d85e369394148dd9d62f98f534b382e01ed3dd2eb98138fb6d3ab49a926123d092909161355d565b60405180910390a150565b60405163121cbc4d60e11b81526001600160a01b03841690632439789a90612407908590600401613554565b600060405180830381600087803b15801561242157600080fd5b505af1158015612435573d6000803e3d6000fd5b505060405163f2e91d7160e01b81526001600160a01b038716925063f2e91d719150612465908590600401613554565b600060405180830381600087803b15801561247f57600080fd5b505af1158015612493573d6000803e3d6000fd5b505060405163be41205f60e01b81526001600160a01b038616925063be41205f91506124c3908490600401613554565b600060405180830381600087803b1580156124dd57600080fd5b505af11580156124f1573d6000803e3d6000fd5b5050505050505050565b6001600160a01b03811660009081526010602052604090206002015460115461252a908263ffffffff61164d16565b601155506001600160a01b0316600090815260106020526040812060020155565b600081600481111561255957fe5b141580156125735750600181600481111561257057fe5b14155b61257957fe5b6017546125858161298a565b6001600160a01b0383166000908152601060205260409020600301805483919060ff191660018360048111156125b757fe5b02179055506001600160a01b03831660009081526010602090815260408083206001808201859055908490556016909252822082815501556125f98382612a30565b600d54604051631484968760e11b81526001600160a01b03909116906329092d0e90612629908690600401612f8f565b600060405180830381600087803b15801561264357600080fd5b505af1158015610a92573d6000803e3d6000fd5b6040808501516007549151632770a7eb60e21b81526001600160a01b0391821692639dc29fac9261268f929116908690600401612fe4565b600060405180830381600087803b1580156126a957600080fd5b505af11580156126bd573d6000803e3d6000fd5b5050855160405163121cbc4d60e11b81526001600160a01b039091169250632439789a91506126f0908590600401613554565b600060405180830381600087803b15801561270a57600080fd5b505af115801561271e573d6000803e3d6000fd5b505050508360a001516001600160a01b0316633f10abab84836040518363ffffffff1660e01b8152600401612754929190612fe4565b600060405180830381600087803b15801561276e57600080fd5b505af1158015612782573d6000803e3d6000fd5b5050855160a08701516040516364a197f360e01b81526001600160a01b0390921693506364a197f392506124c3918590600401612fe4565b600081156127e6576127df826106828568056bc75e2d6310000063ffffffff61169616565b9050610733565b50600019610733565b6000610733826801158e460913d0000063ffffffff61164d16565b6001600160a01b038116600090815260106020526040812060010154819061283190612bd1565b6001600160a01b03841660009081526010602052604090206002018054908290556011549192509061286f9083906117a1908463ffffffff61164d16565b60118190556040517f6bac5e0eb3c44eb03a60ab11ec3a2c051771616aecadbcfff2630aabae520382916128a291613554565b60405180910390a15092915050565b6000806128bc612c0d565b905060006128d2670ddd4b8c6c7d70d883612c29565b90506108f4670de0b6b3a764000061068283600e5461169690919063ffffffff16565b600061290c600f544261164d90919063ffffffff16565b9050603c81106105b65742600f8190556040517f860f8d2f0c74dd487e89e2883e3b25b8159ce1e1b3433a291cba7b82c508f3bc916123d091613554565b600080612969670de0b6b3a7640000610682868663ffffffff61169616565b905082811061168f5760405162461bcd60e51b81526004016105a4906133de565b600181118015612a145750600d546040805163de8fa43160e01b815290516001926001600160a01b03169163de8fa431916004808301926020929190829003018186803b1580156129da57600080fd5b505afa1580156129ee573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612a129190612e42565b115b6105b65760405162461bcd60e51b81526004016105a490613276565b6001600160a01b03821660009081526010602052604081206003015460ff1690816004811115612a5c57fe5b14158015612a7657506001816004811115612a7357fe5b14155b612a7c57fe5b6001600160a01b03831660009081526010602052604081206003015461010090046001600160801b0316908390612ab482600161164d565b905080836001600160801b03161115612ac957fe5b600060178281548110612ad857fe5b600091825260209091200154601780546001600160a01b03909216925082916001600160801b038716908110612b0a57fe5b600091825260208083209190910180546001600160a01b0319166001600160a01b03948516179055918316815260109091526040908190206003018054610100600160881b0319166101006001600160801b03881602179055517f02b04ae5f7be9ca7c103293a2aa15f3c339d15d6eda53b721fef7b0e609c831a90612b939083908790612ffd565b60405180910390a16017805480612ba657fe5b600082815260209020810160001990810180546001600160a01b031916905501905550505050505050565b60008060135460001415612be6575081610733565b600060125411612bf257fe5b61168f6013546106826012548661169690919063ffffffff16565b60006106ba603c610682600f544261164d90919063ffffffff16565b6000631f540500821115612c3f57631f54050091505b81612c535750670de0b6b3a7640000610733565b670de0b6b3a764000083835b6001811115612cca5760028106612c9457612c7a8283612cd0565b9150612c8d81600263ffffffff6116d016565b9050612cc5565b612c9e8284612cd0565b9250612caa8283612cd0565b9150612cc2600261068283600163ffffffff61164d16565b90505b612c5f565b61072d82845b600080612ce3848463ffffffff61169616565b9050612322670de0b6b3a7640000610682836706f05b59d3b20000611873565b6040805160e081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c081019190915290565b60405180610100016040528060008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081525090565b604051806060016040528060008152602001600081526020016000151581525090565b600060208284031215612db8578081fd5b813561168f816135d1565b600060208284031215612dd4578081fd5b815161168f816135d1565b60008060408385031215612df1578081fd5b8235612dfc816135d1565b946020939093013593505050565b600060208284031215612e1b578081fd5b8151801515811461168f578182fd5b600060208284031215612e3b578081fd5b5035919050565b600060208284031215612e53578081fd5b5051919050565b600080600080600080600060e0888a031215612e74578283fd5b873596506020880135612e86816135d1565b95506040880135612e96816135d1565b94506060880135612ea6816135d1565b9699959850939660808101359560a0820135955060c0909101359350915050565b600080600080600080600080888a03610160811215612ee4578182fd5b8935985060208a0135612ef6816135d1565b975060408a0135612f06816135d1565b965060608a0135612f16816135d1565b955060808a810135955060a08b0135945060c08b0135935060df1982011215612f3d578182fd5b5060e0890190509295985092959890939650565b600060208284031215612f62578081fd5b813560ff8116811461168f578182fd5b7035b2bc9737bbb730b136329737bbb732b960791b815260110190565b6001600160a01b0391909116815260200190565b6001600160a01b0397881681529590961660208601526040850193909352606084019190915260ff16608083015260a082015260c081019190915260e00190565b6001600160a01b03929092168252602082015260400190565b6001600160a01b039290921682526001600160801b0316602082015260400190565b6001600160a01b0393841681526020810192909252909116604082015260600190565b6001600160a01b03948516815260208101939093529083166040830152909116606082015260800190565b901515815260200190565b848152602081018490526040810183905260808101613096836135c6565b606083015295945050505050565b6000602080835283518082850152825b818110156130d0578581018301518582016040015282016130b4565b818111156130e15783604083870101525b50601f01601f1916929092016040019392505050565b6020808252604e908201527f54726f76654d616e616765723a2052657175657374656420726564656d70746960408201527f6f6e20616d6f756e74206d757374206265203c3d20757365722773205a55534460608201526d20746f6b656e2062616c616e636560901b608082015260a00190565b60208082526029908201527f444c4c52207472616e7366657272656420616d6f756e742076616c69646174696040820152681bdb8819985a5b195960ba1b606082015260800190565b60208082526029908201527f54726f76654d616e616765723a20556e61626c6520746f2072656465656d20616040820152681b9e48185b5bdd5b9d60ba1b606082015260800190565b6020808252601b908201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604082015260600190565b60208082526022908201527f4f776e61626c653a3a7365744f776e65723a20696e76616c6964206164647265604082015261737360f01b606082015260800190565b6020808252602a908201527f54726f76654d616e616765723a204f6e6c79206f6e652074726f766520696e206040820152697468652073797374656d60b01b606082015260800190565b602080825260409082018190527f54726f76654d616e616765723a20526564656d7074696f6e7320617265206e6f908201527f7420616c6c6f77656420647572696e6720626f6f747374726170207068617365606082015260800190565b60208082526021908201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6040820152607760f81b606082015260800190565b60208082526017908201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604082015260600190565b6020808252602e908201527f54726f76654d616e616765723a20416d6f756e74206d7573742062652067726560408201526d61746572207468616e207a65726f60901b606082015260800190565b60208082526036908201527f54726f76654d616e616765723a2046656520776f756c642065617420757020616040820152751b1b081c995d1d5c9b99590818dbdb1b185d195c985b60521b606082015260800190565b60208082526030908201527f4d6178206665652070657263656e74616765206d75737420626520626574776560408201526f656e20302e352520616e64203130302560801b606082015260800190565b6020808252602a908201527f54726f76654d616e616765723a2043616e6e6f742072656465656d207768656e604082015269102a21a9101e1026a1a960b11b606082015260800190565b6020808252601d908201527f4665652065786365656465642070726f7669646564206d6178696d756d000000604082015260600190565b6020808252602f908201527f54726f76654d616e616765723a2054726f766520646f6573206e6f742065786960408201526e1cdd081bdc881a5cc818db1bdcd959608a1b606082015260800190565b90815260200190565b918252602082015260400190565b858152602081018590526040810184905260a081016005841061358a57fe5b60608201939093526001600160801b03919091166080909101529392505050565b93845260208401929092526040830152606082015260800190565b806004811061069557fe5b6001600160a01b03811681146105b657600080fdfec3770d654ed33aeea6bf11ac8ef05d02a6a04ed4686dd2f624d853bbec43cc8ba2646970667358221220a9962a8c24fca3c3e4803945eb02feb9953c759cd9a777c8c4175709a8d4dc7b64736f6c634300060b003360a06040523480156200001157600080fd5b506040516200563b3803806200563b833981016040819052620000349162000118565b8062000049336001600160e01b036200005316565b6080525062000190565b6001600160a01b038116620000855760405162461bcd60e51b81526004016200007c906200014e565b60405180910390fd5b6001600160a01b038116620000a26001600160e01b03620000f716565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000604051620000e79062000131565b6040519081900390209190915550565b600080604051620001089062000131565b6040519081900390205492915050565b6000602082840312156200012a578081fd5b5051919050565b7035b2bc9737bbb730b136329737bbb732b960791b815260110190565b60208082526022908201527f4f776e61626c653a3a7365744f776e65723a20696e76616c6964206164647265604082015261737360f01b606082015260800190565b608051615490620001ab6000398061214452506154906000f3fe608060405234801561001057600080fd5b50600436106104ac5760003560e01c8063756b253e1161026d578063b7f8cf9b11610151578063d293c710116100ce578063d815e8e911610092578063d815e8e914610929578063d9a7244414610931578063e056e91814610944578063e2ac77b014610957578063f36b24251461096a578063fe2ba84814610972576104ac565b8063d293c710146108d5578063d380a37c146108e8578063d3d6f843146108f0578063d5b3563514610903578063d66a255314610916576104ac565b8063bf9befb111610115578063bf9befb1146108a2578063c35bc550146108aa578063c52861f2146108b2578063c7b55481146108ba578063cbd138ae146108c2576104ac565b8063b7f8cf9b14610849578063b82f263d14610851578063b91af97c14610864578063bcd3752614610887578063be4b03341461089a576104ac565b8063887105d3116101ea5780639f070670116101ae5780639f07067014610809578063a20baee614610755578063a3f4df7e14610811578063ae7bec1914610826578063ae9187541461082e578063b0d8e18114610836576104ac565b8063887105d3146107d6578063893d20e8146107de57806396d711ff146107e65780639976cf45146107ee5780639dd233d214610801576104ac565b80637cf54e40116102315780637cf54e40146107985780637f7dde4a146107a0578063807d138d146107a857806382fe3eb9146107b057806387436936146107c3576104ac565b8063756b253e14610765578063759b303414610778578063794e572414610780578063795d26c314610788578063797250e314610790576104ac565b806342ccf1e41161039457806361ec893d116103115780636b444952116102d55780636b4449521461070e5780636ef6433814610716578063716c47e61461073a57806372423c171461074257806372fe25aa14610755578063741bef1a1461075d576104ac565b806361ec893d146106c5578063631203b0146106cd57806364cee260146106e0578063653d46e7146106f357806366ca4a2114610706576104ac565b80634e443d9e116103585780634e443d9e1461066f5780635733d58f1461068f5780635d6b480f146106975780635d8c9609146106aa5780635dba4c4a146106bd576104ac565b806342ccf1e41461061b578063477d66cf1461062e578063480cd5781461064157806349eefeee146106545780634a767d681461065c576104ac565b806318f2817a1161042d57806321e37801116103f157806321e37801146105d55780632b11551a146105e85780632f865568146105f057806331c903b0146106035780633a1285951461060b5780633cc7422514610613576104ac565b806318f2817a1461058c5780631a59a50e1461059f5780631bf43555146105b25780631e8b1c2b146105ba5780631f68f20a146105cd576104ac565b806312610e921161047457806312610e921461051f57806313af40351461053257806315d549f1146105455780631673c79a1461055857806317c62b1714610579576104ac565b806301f16e18146104b157806305b6f5ca146104c6578063071a7541146104d95780630b076557146104f75780630d43e8ad1461050a575b600080fd5b6104c46104bf366004614c61565b610985565b005b6104c46104d4366004614e2c565b610eeb565b6104e1610f82565b6040516104ee919061531b565b60405180910390f35b6104c4610505366004614b6a565b610f87565b610512610faf565b6040516104ee9190614ee3565b6104e161052d366004614ba2565b610fbe565b6104c4610540366004614b6a565b611016565b6104e1610553366004614b6a565b611057565b61056b610566366004614b6a565b61107b565b6040516104ee929190615324565b6104e1610587366004614b6a565b611094565b6104e161059a366004614b6a565b61109f565b6104e16105ad366004614b6a565b6110b2565b6104e1611178565b6104c46105c8366004614bcd565b611185565b6104e16114e6565b6104e16105e3366004614b6a565b6114ec565b6104e1611516565b6104c46105fe366004614b6a565b611525565b6104e161158b565b610512611598565b6105126115a7565b6104e1610629366004614b6a565b6115b6565b6104e161063c366004614d8f565b6115e7565b6104e161064f366004614b6a565b6115fa565b6104e1611618565b6104e161066a366004614ba2565b61161e565b61068261067d366004614d8f565b61163d565b6040516104ee9190614f56565b6104e1611648565b6104c46106a5366004614ba2565b6116c5565b6104e16106b8366004614b6a565b611711565b6104c461171c565b6104e1611787565b6104e16106db366004614d8f565b61178c565b6104e16106ee366004614b6a565b611799565b6104c4610701366004614d8f565b6117b7565b6104e1611b41565b6104e1611b53565b610729610724366004614b6a565b611b59565b6040516104ee959493929190615358565b610512611b93565b6104e1610750366004614ba2565b611ba2565b6104e1611bff565b610512611c0b565b610512610773366004614d8f565b611c1a565b6104e1611c41565b6104e1611c4e565b6104e1611c93565b6104e1611db2565b610512611db8565b610512611dc7565b6104e1611dd6565b6104c46107be366004614b6a565b611ddc565b6104c46107d1366004614b6a565b611ded565b6104e1611e79565b610512611f48565b6104e1611f67565b6104e16107fc366004614ba2565b611f6d565b6104e1611fa0565b610512611fa6565b610819611fb5565b6040516104ee9190614f8d565b610512611fdd565b610512611fec565b6104e1610844366004614b6a565b611ffb565b610512612022565b6104e161085f366004614d8f565b612031565b610877610872366004614b6a565b61203c565b6040516104ee9493929190615398565b6104c4610895366004614dbf565b6120a0565b6104e1612136565b6104e161213c565b6104e1612142565b6104e1612166565b6104e1612178565b6104c46108d0366004614b6a565b612184565b6104e16108e3366004614ba2565b612197565b6104e16121aa565b6104e16108fe366004614ba2565b6121b0565b6104e1610911366004614d8f565b6121e6565b6104e1610924366004614b6a565b6121f9565b610512612214565b61051261093f366004614d8f565b612223565b610682610952366004614b6a565b61224d565b610682610965366004614b6a565b6122ab565b6104e16122b6565b6104c4610980366004614b6a565b6122c3565b61098d611f48565b6001600160a01b0316336001600160a01b0316146109c65760405162461bcd60e51b81526004016109bd90615178565b60405180910390fd5b80516109d1906122d4565b6109de81602001516122d4565b6109eb81604001516122d4565b6109f881606001516122d4565b610a0581608001516122d4565b610a128160a001516122d4565b610a1f8160c001516122d4565b610a2c8160e001516122d4565b610a3a8161010001516122d4565b610a488161012001516122d4565b610a568161014001516122d4565b610a648161016001516122d4565b610a728161018001516122d4565b610a80816101a001516122d4565b8051600c80546001600160a01b03199081166001600160a01b038085169190911790925560208401516004805483169184169190911790556040808501516003805484169185169190911790556060850151600580548416918516919091179055608085015160008054841691851691909117905560a085015160018054841691851691909117905560c085015160068054841691851691909117905560e0850151600780548416918516919091179055610100850151600880548416918516919091179055610120850151600280548416918516919091179055610140850151600980548416918516919091179055610160850151600d80548416918516919091179055610180850151600a805484169185169190911790556101a0850151600b80549093169316929092179055517f84861842e6a98dd759145eb5e7b48279d0f02ebeabc8a69e5196b2f4c5023db991610bdb91614ee3565b60405180910390a17f6493041f605f233753d9b16dd158c9f297b8eaca22b2d0dc402a454f5683a5b18160200151604051610c169190614ee3565b60405180910390a17fbf65195e6d5213f6fcbce65b1454c925197a45e616dabd2e243542b039b050928160600151604051610c519190614ee3565b60405180910390a17f3ca631ffcd2a9b5d9ae18543fc82f58eb4ca33af9e6ab01b7a8e95331e6ed9858160600151604051610c8c9190614ee3565b60405180910390a17f78f058b189175430c48dc02699e3a0031ea4ff781536dc2fab847de4babdd8828160800151604051610cc79190614ee3565b60405180910390a17f5ee0cae2f063ed938bb55046f6a932fb6ae792bf43624806bb90abe68a50be9b8160a00151604051610d029190614ee3565b60405180910390a17f82966d27eea39b038ee0fa30cd16532bb24f6e65d31cb58fb227aa5766cdcc7f8160c00151604051610d3d9190614ee3565b60405180910390a17fcfb07d791fcafc032b35837b50eb84b74df518cf4cc287e8084f47630fa70fa08160e00151604051610d789190614ee3565b60405180910390a17fe67f36a6e961157d6eff83b91f3af5a62131ceb6f04954ef74f51c1c05e7f88d816101000151604051610db49190614ee3565b60405180910390a17f8c537274438aa850a330284665d81a85dd38267d09e4050d416bfc94142db264816101200151604051610df09190614ee3565b60405180910390a17fcdf33850c44a1a874b5fefb51dae615ac6afebd581ef90d571f81b06541d8e9d816101400151604051610e2c9190614ee3565b60405180910390a17f65f4cf077bc01e4742eb5ad98326f6e95b63548ea24b17f8d5e823111fe78800816101600151604051610e689190614ee3565b60405180910390a17f61e0c29d5028a9e4facaa476a46e78912e99f1ba945c9560b86b82ebe36ee52d816101800151604051610ea49190614ee3565b60405180910390a17f7624075ed781e3aa34b0f492d70d1bb5a6fcde04534165e20f990d2e546be4dd816101a00151604051610ee09190614ee3565b60405180910390a150565b6004546040516000916060916001600160a01b0390911690610f109084903690614eb6565b600060405180830381855af49150503d8060008114610f4b576040519150601f19603f3d011682016040523d82523d6000602084013e610f50565b606091505b5091509150818190610f755760405162461bcd60e51b81526004016109bd9190614f8d565b5050505050505050505050565b600281565b610f8f612319565b600054600154610fac916001600160a01b03908116911683612345565b50565b600c546001600160a01b031681565b6000610fc8612319565b6001600160a01b038316600090815260106020526040812054610ff1908463ffffffff61245716565b6001600160a01b03851660009081526010602052604090208190559150505b92915050565b61101e611f48565b6001600160a01b0316336001600160a01b03161461104e5760405162461bcd60e51b81526004016109bd90615178565b610fac81612499565b6000611061612319565b61106a82612524565b6001600160801b031690505b919050565b6016602052600090815260409020805460019091015482565b6000611010826115b6565b60006110a9612319565b611010826125be565b6001600160a01b03811660009081526016602052604081205460145482906110e0908363ffffffff61245716565b9050801580611119575060016001600160a01b03851660009081526010602052604090206003015460ff16600481111561111657fe5b14155b1561112957600092505050611076565b6001600160a01b0384166000908152601060205260408120600201549061116e670de0b6b3a7640000611162848663ffffffff61267116565b9063ffffffff6126ab16565b9695505050505050565b6809c2007651b250000081565b80516111a35760405162461bcd60e51b81526004016109bd906151a9565b6000546001546006546001600160a01b039283169291821691166111c5614a3d565b6111cd614a6e565b600260009054906101000a90046001600160a01b03166001600160a01b0316630fdb11cf6040518163ffffffff1660e01b8152600401602060405180830381600087803b15801561121d57600080fd5b505af1158015611231573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112559190614da7565b826000018181525050826001600160a01b031663bdaf37ea6040518163ffffffff1660e01b815260040160206040518083038186803b15801561129757600080fd5b505afa1580156112ab573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112cf9190614da7565b602083015281516112df906126ed565b1580156040840152611307576113008585846000015185602001518a612788565b905061131f565b61131c8585846000015185602001518a612a9d565b90505b60008160200151116113435760405162461bcd60e51b81526004016109bd9061528a565b608081015160a082015160405163335525ad60e01b81526001600160a01b0386169263335525ad9261137792600401615324565b600060405180830381600087803b15801561139157600080fd5b505af11580156113a5573d6000803e3d6000fd5b505050506113bd85858360c001518460e00151612bdd565b61010081015115611434576008546101008201516040516364a197f360e01b81526001600160a01b03888116936364a197f393611401939290911691600401614f3d565b600060405180830381600087803b15801561141b57600080fd5b505af115801561142f573d6000803e3d6000fd5b505050505b611442858260400151612e41565b602081015160608301526101008101516040820151825161147a929161146e919063ffffffff61245716565b9063ffffffff61245716565b608083018190526060808401516040808501519285015190517f4152c73dd2614c4f9fc35e8c9cf16013cd588c75b49a4c1673ecffdcbcda9403946114c29490929091615398565b60405180910390a16114de853383606001518460400151612fa2565b505050505050565b600e5481565b6001600160a01b03811660009081526010602052604081206003015460ff16600481111561101057fe5b600061152061158b565b905090565b61152e8161307f565b60408051600180825281830190925260609160208083019080368337019050509050818160008151811061155e57fe5b60200260200101906001600160a01b031690816001600160a01b03168152505061158781611185565b5050565b6000611520600e546130c8565b600b546001600160a01b031681565b6001546001600160a01b031681565b6001600160a01b03811660009081526016602052604081206001015460155482906110e0908363ffffffff61245716565b60006110106115f4611b41565b83613165565b6001600160a01b031660009081526010602052604090206001015490565b60175490565b600080600061162c85613183565b91509150600061116e838387613209565b6000611010826126ed565b60035460408051635733d58f60e01b815290516000926001600160a01b031691635733d58f916004808301926020929190829003018186803b15801561168d57600080fd5b505afa1580156116a1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115209190614da7565b6116cd612319565b8060048111156116d957fe5b6001600160a01b0383166000908152601060205260409020600301805460ff1916600183600481111561170857fe5b02179055505050565b6000611010826110b2565b611724612319565b600061172e61323b565b9050670de0b6b3a764000081111561174257fe5b600e8190556040517fc454ee9b76c52f782a256af821b857ca6e125d1e3333bcede402fec2bed9600c9061177790839061531b565b60405180910390a1610fac61327f565b603c81565b60006110106115f46122b6565b6001600160a01b031660009081526010602052604090206002015490565b6117bf614aba565b506040805160e081018252600080546001600160a01b0390811683526001548116602084015292820181905260608201819052600d548316608083015260a0820181905260c0820152600654909116611816614a3d565b61181e614a6e565b600260009054906101000a90046001600160a01b03166001600160a01b0316630fdb11cf6040518163ffffffff1660e01b8152600401602060405180830381600087803b15801561186e57600080fd5b505af1158015611882573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118a69190614da7565b826000018181525050826001600160a01b031663bdaf37ea6040518163ffffffff1660e01b815260040160206040518083038186803b1580156118e857600080fd5b505afa1580156118fc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119209190614da7565b60208301528151611930906126ed565b1580156040840152611957576119508483600001518460200151886132d4565b9050611977565b61197484600001518560200151846000015185602001518961377b565b90505b600081602001511161199b5760405162461bcd60e51b81526004016109bd9061528a565b608081015160a082015160405163335525ad60e01b81526001600160a01b0386169263335525ad926119cf92600401615324565b600060405180830381600087803b1580156119e957600080fd5b505af11580156119fd573d6000803e3d6000fd5b50505050611a1d846000015185602001518360c001518460e00151612bdd565b61010081015115611a945783516008546101008301516040516364a197f360e01b81526001600160a01b03938416936364a197f393611a6193911691600401614f3d565b600060405180830381600087803b158015611a7b57600080fd5b505af1158015611a8f573d6000803e3d6000fd5b505050505b611aa684600001518260400151612e41565b6020810151606083015261010081015160408201518251611ad2929161146e919063ffffffff61245716565b608083018190526060808401516040808501519285015190517f4152c73dd2614c4f9fc35e8c9cf16013cd588c75b49a4c1673ecffdcbcda940394611b1a9490929091615398565b60405180910390a1611b3a84600001513383606001518460400151612fa2565b5050505050565b6000611520611b4e61323b565b613931565b60195481565b60106020526000908152604090208054600182015460028301546003909301549192909160ff81169061010090046001600160801b031685565b6004546001600160a01b031681565b6000611bac612319565b6001600160a01b038316600090815260106020526040812060010154611bd8908463ffffffff613a1316565b6001600160a01b038516600090815260106020526040902060010181905591505092915050565b670de0b6b3a764000081565b6002546001600160a01b031681565b60178181548110611c2757fe5b6000918252602090912001546001600160a01b0316905081565b6801158e460913d0000081565b60035460408051631e5395c960e21b815290516000926001600160a01b03169163794e5724916004808301926020929190829003018186803b15801561168d57600080fd5b60008054604080516272c7d360e71b8152905183926001600160a01b031691633963e980916004808301926020929190829003018186803b158015611cd757600080fd5b505afa158015611ceb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d0f9190614da7565b90506000600160009054906101000a90046001600160a01b03166001600160a01b0316633963e9806040518163ffffffff1660e01b815260040160206040518083038186803b158015611d6157600080fd5b505afa158015611d75573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d999190614da7565b9050611dab828263ffffffff613a1316565b9250505090565b60185481565b600a546001600160a01b031681565b6000546001600160a01b031681565b60125481565b611de4612319565b610fac81613a38565b611df5611f48565b6001600160a01b0316336001600160a01b031614611e255760405162461bcd60e51b81526004016109bd90615178565b611e2e816122d4565b600480546001600160a01b0319166001600160a01b0383161790556040517f6493041f605f233753d9b16dd158c9f297b8eaca22b2d0dc402a454f5683a5b190610ee0908390614ee3565b6000805460408051630a7b61df60e11b8152905183926001600160a01b0316916314f6c3be916004808301926020929190829003018186803b158015611ebe57600080fd5b505afa158015611ed2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ef69190614da7565b90506000600160009054906101000a90046001600160a01b03166001600160a01b03166314f6c3be6040518163ffffffff1660e01b815260040160206040518083038186803b158015611d6157600080fd5b600080604051611f5790614ec6565b6040519081900390205492915050565b60135481565b6000611f77612319565b6001600160a01b038316600090815260106020526040812054610ff1908463ffffffff613a1316565b60145481565b6003546001600160a01b031681565b6040518060400160405280600c81526020016b2a3937bb32a6b0b730b3b2b960a11b81525081565b6006546001600160a01b031681565b600d546001600160a01b031681565b600080600061200984613183565b9150915060006120198383613a95565b95945050505050565b6005546001600160a01b031681565b600061101082613aca565b6001600160a01b0381166000908152601060205260408120805460019091015490918061206885611094565b915061207385611711565b9050612085848363ffffffff613a1316565b9350612097838263ffffffff613a1316565b92509193509193565b6004546040516000916060916001600160a01b03909116906120c59084903690614eb6565b600060405180830381855af49150503d8060008114612100576040519150601f19603f3d011682016040523d82523d6000602084013e612105565b606091505b509150915081819061212a5760405162461bcd60e51b81526004016109bd9190614f8d565b50505050505050505050565b60155481565b60115481565b7f000000000000000000000000000000000000000000000000000000000000000081565b600061152061217361323b565b6130c8565b670ddd4b8c6c7d70d881565b61218c612319565b610fac816002613af6565b60006121a3838361161e565b9392505050565b600f5481565b60006121ba612319565b6001600160a01b038316600090815260106020526040812060010154611bd8908463ffffffff61245716565b60006110106121f3612166565b83613c0b565b6001600160a01b031660009081526010602052604090205490565b6009546001600160a01b031681565b60006017828154811061223257fe5b6000918252602090912001546001600160a01b031692915050565b600060016001600160a01b03831660009081526010602052604090206003015460ff16600481111561227b57fe5b1461228857506000611076565b506014546001600160a01b03821660009081526016602052604090205410919050565b60006110108261224d565b6000611520600e54613931565b6122cb612319565b610fac81613c4b565b6001600160a01b0381166122fa5760405162461bcd60e51b81526004016109bd90615059565b803b806115875760405162461bcd60e51b81526004016109bd906151ff565b6005546001600160a01b031633146123435760405162461bcd60e51b81526004016109bd9061511b565b565b61234e8161224d565b156124525761235c8161307f565b6000612367826110b2565b90506000612374836115b6565b6001600160a01b0384166000908152601060205260409020600101549091506123a3908363ffffffff613a1316565b6001600160a01b03841660009081526010602052604090206001810191909155546123d4908263ffffffff613a1316565b6001600160a01b0384166000908152601060205260409020556123f683613a38565b61240285858385613c9b565b6001600160a01b03831660008181526010602052604080822080546001820154600290920154925160008051602061543b833981519152946124479492939291614f61565b60405180910390a250505b505050565b60006121a383836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250613d83565b6001600160a01b0381166124bf5760405162461bcd60e51b81526004016109bd90615017565b806001600160a01b03166124d1611f48565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3600060405161251490614ec6565b6040519081900390209190915550565b601780546001808201835560008381527fc624b66cc0138b8fabc209247f72d758e1cf3343756d543badbf24212bed8c1590920180546001600160a01b0319166001600160a01b0386161790559154909161257f9190612457565b6001600160a01b039290921660009081526010602052604090206003018054610100600160881b0319166101006001600160801b038516021790555090565b6001600160a01b03811660009081526010602052604081206001015481906125e590613daf565b6001600160a01b03841660009081526010602052604090206002018054908290556011549192509061262f908390612623908463ffffffff61245716565b9063ffffffff613a1316565b60118190556040517f6bac5e0eb3c44eb03a60ab11ec3a2c051771616aecadbcfff2630aabae520382916126629161531b565b60405180910390a15092915050565b60008261268057506000611010565b8282028284828161268d57fe5b04146121a35760405162461bcd60e51b81526004016109bd906150da565b60006121a383836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250613deb565b6000806126f983613aca565b9050600360009054906101000a90046001600160a01b03166001600160a01b0316635733d58f6040518163ffffffff1660e01b815260040160206040518083038186803b15801561274957600080fd5b505afa15801561275d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127819190614da7565b1192915050565b612790614a6e565b612798614af6565b6127a0614a6e565b848252600060808301526127b2611c93565b60a08301526127bf611e79565b60c0830152600060208301525b835182602001511015612a9257838260200151815181106127e957fe5b6020908102919091018101516001600160a01b03166060840181905260009081526010909152604090206003015460019060ff16600481111561282857fe5b1461283257612a82565b61284082606001518761161e565b604083015260808201516129a757600360009054906101000a90046001600160a01b03166001600160a01b031663794e57246040518163ffffffff1660e01b815260040160206040518083038186803b15801561289c57600080fd5b505afa1580156128b0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906128d49190614da7565b8260400151101580156128e657508151155b156128f057612a82565b60006129058360c001518460a0015189613209565b90506129228989856060015186604001518760000151868d613e22565b6080810151845191935061293c919063ffffffff61245716565b8352608082015160a08401516129579163ffffffff61245716565b60a08085019190915282015160c08401516129779163ffffffff61245716565b60c084015261298684836141f8565b935061299b8360c001518460a001518961430f565b15608084015250612a82565b81608001518015612a405750600360009054906101000a90046001600160a01b03166001600160a01b031663794e57246040518163ffffffff1660e01b815260040160206040518083038186803b158015612a0157600080fd5b505afa158015612a15573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612a399190614da7565b8260400151105b15612a8257612a598888846060015185600001516143ae565b60808101518351919250612a73919063ffffffff61245716565b8252612a7f83826141f8565b92505b60208201805160010190526127cc565b505095945050505050565b612aa5614a6e565b612aad614af6565b612ab5614a6e565b848252600060208301525b835182602001511015612a925783826020015181518110612add57fe5b60209081029190910101516001600160a01b031660608301819052612b02908761161e565b6040808401919091526003548151631e5395c960e21b815291516001600160a01b039091169163794e5724916004808301926020929190829003018186803b158015612b4d57600080fd5b505afa158015612b61573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612b859190614da7565b82604001511015612bcd57612ba48888846060015185600001516143ae565b60808101518351919250612bbe919063ffffffff61245716565b8252612bca83826141f8565b92505b6020820180516001019052612ac0565b81612be757612e3b565b601854600090612c099061262384670de0b6b3a764000063ffffffff61267116565b90506000612c2e601954612623670de0b6b3a76400008761267190919063ffffffff16565b90506000612c47601154846126ab90919063ffffffff16565b90506000612c60601154846126ab90919063ffffffff16565b9050612c87612c7a6011548461267190919063ffffffff16565b859063ffffffff61245716565b601855601154612caf90612ca290839063ffffffff61267116565b849063ffffffff61245716565b601955601454612cc5908363ffffffff613a1316565b601455601554612cdb908263ffffffff613a1316565b60158190556014546040517f9f8bc8ab0daf5bceef75ecfd2085d1fcc6548c657ea970d9a23a60610d0737e392612d129291615324565b60405180910390a160405163121cbc4d60e11b81526001600160a01b03891690632439789a90612d4690899060040161531b565b600060405180830381600087803b158015612d6057600080fd5b505af1158015612d74573d6000803e3d6000fd5b505060405163f2e91d7160e01b81526001600160a01b038a16925063f2e91d719150612da490899060040161531b565b600060405180830381600087803b158015612dbe57600080fd5b505af1158015612dd2573d6000803e3d6000fd5b50506040516364a197f360e01b81526001600160a01b038b1692506364a197f39150612e04908a908990600401614f3d565b600060405180830381600087803b158015612e1e57600080fd5b505af1158015612e32573d6000803e3d6000fd5b50505050505050505b50505050565b6011546012819055506000826001600160a01b03166314f6c3be6040518163ffffffff1660e01b815260040160206040518083038186803b158015612e8557600080fd5b505afa158015612e99573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612ebd9190614da7565b90506000600160009054906101000a90046001600160a01b03166001600160a01b03166314f6c3be6040518163ffffffff1660e01b815260040160206040518083038186803b158015612f0f57600080fd5b505afa158015612f23573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612f479190614da7565b9050612f5d81612623848663ffffffff61245716565b60138190556012546040517f51bf4c63ec3cba9d03d43238abbdd979dd91bd16d9895c74ceea9118c7baaf6092612f949291615324565b60405180910390a150505050565b811561301357600954600754604051631062c15f60e11b81526001600160a01b03928316926320c582be92612fe09291169087908790600401614ef7565b600060405180830381600087803b158015612ffa57600080fd5b505af115801561300e573d6000803e3d6000fd5b505050505b8015612e3b576040516364a197f360e01b81526001600160a01b038516906364a197f3906130479086908590600401614f3d565b600060405180830381600087803b15801561306157600080fd5b505af1158015613075573d6000803e3d6000fd5b5050505050505050565b60016001600160a01b03821660009081526010602052604090206003015460ff1660048111156130ab57fe5b14610fac5760405162461bcd60e51b81526004016109bd906152cc565b600061101061315783600360009054906101000a90046001600160a01b03166001600160a01b03166328d28b5b6040518163ffffffff1660e01b815260040160206040518083038186803b15801561311f57600080fd5b505afa158015613133573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906126239190614da7565b670de0b6b3a76400006144e0565b60006121a3670de0b6b3a7640000611162858563ffffffff61267116565b6000806000613191846110b2565b9050600061319e856115b6565b6001600160a01b038616600090815260106020526040812060010154919250906131ce908463ffffffff613a1316565b6001600160a01b038716600090815260106020526040812054919250906131fb908463ffffffff613a1316565b919550909350505050915091565b6000821561323057600061322784611162878663ffffffff61267116565b91506121a39050565b506000199392505050565b6000806132466144f6565b9050600061325c670ddd4b8c6c7d70d883614512565b9050611dab670de0b6b3a764000061116283600e5461267190919063ffffffff16565b6000613296600f544261245790919063ffffffff16565b9050603c8110610fac5742600f8190556040517f860f8d2f0c74dd487e89e2883e3b25b8159ce1e1b3433a291cba7b82c508f3bc91610ee09161531b565b6132dc614a6e565b6132e4614af6565b6132ec614a6e565b848252600060808301526132fe611c93565b60a083015261330b611e79565b8260c001818152505086608001516001600160a01b0316634d6228316040518163ffffffff1660e01b815260040160206040518083038186803b15801561335157600080fd5b505afa158015613365573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906133899190614b86565b82606001906001600160a01b031690816001600160a01b031681525050600087608001516001600160a01b0316631e2231436040518163ffffffff1660e01b815260040160206040518083038186803b1580156133e557600080fd5b505afa1580156133f9573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061341d9190614b86565b6000602085015290505b8483602001511080156134505750806001600160a01b031683606001516001600160a01b031614155b156137705760808801516060840151604051632dc9c0eb60e21b81526000926001600160a01b03169163b72703ac9161348c9190600401614ee3565b60206040518083038186803b1580156134a457600080fd5b505afa1580156134b8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906134dc9190614b86565b90506134ec84606001518961161e565b6040850152608084015161366557600360009054906101000a90046001600160a01b03166001600160a01b031663794e57246040518163ffffffff1660e01b815260040160206040518083038186803b15801561354857600080fd5b505afa15801561355c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906135809190614da7565b84604001511015801561359257508351155b1561359d5750613770565b60006135b28560c001518660a001518b613209565b8a5160208c01516060880151604089015189519495506135d394868f613e22565b608081015186519195506135ed919063ffffffff61245716565b8552608084015160a08601516136089163ffffffff61245716565b8560a001818152505061363584610100015161146e8660a001518860c0015161245790919063ffffffff16565b60c086015261364486856141f8565b95506136598560c001518660a001518b61430f565b15608086015250613752565b836080015180156136fe5750600360009054906101000a90046001600160a01b03166001600160a01b031663794e57246040518163ffffffff1660e01b815260040160206040518083038186803b1580156136bf57600080fd5b505afa1580156136d3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906136f79190614da7565b8460400151105b1561374c5761371f89600001518a60200151866060015187600001516143ae565b60808101518551919450613739919063ffffffff61245716565b845261374585846141f8565b9450613752565b50613770565b6001600160a01b031660608401526020830180516001019052613427565b505050949350505050565b613783614a6e565b61378b614af6565b613793614a6e565b600d54858352600060208401526001600160a01b03165b848360200151101561392557806001600160a01b0316634d6228316040518163ffffffff1660e01b815260040160206040518083038186803b1580156137ef57600080fd5b505afa158015613803573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906138279190614b86565b6001600160a01b031660608401819052613841908861161e565b6040808501919091526003548151631e5395c960e21b815291516001600160a01b039091169163794e5724916004808301926020929190829003018186803b15801561388c57600080fd5b505afa1580156138a0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906138c49190614da7565b83604001511015613910576138e38989856060015186600001516143ae565b608081015184519193506138fd919063ffffffff61245716565b835261390984836141f8565b9350613915565b613925565b60208301805160010190526137aa565b50505095945050505050565b600061101061398883600360009054906101000a90046001600160a01b03166001600160a01b031663f92d34336040518163ffffffff1660e01b815260040160206040518083038186803b15801561311f57600080fd5b600360009054906101000a90046001600160a01b03166001600160a01b031663240926696040518163ffffffff1660e01b815260040160206040518083038186803b1580156139d657600080fd5b505afa1580156139ea573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613a0e9190614da7565b6144e0565b6000828201838110156121a35760405162461bcd60e51b81526004016109bd90614fe0565b601480546001600160a01b038316600090815260166020526040908190209182556015546001909201829055915491517fc437f324d85e369394148dd9d62f98f534b382e01ed3dd2eb98138fb6d3ab49a92610ee0929091615324565b60008115613ac157613aba826111628568056bc75e2d6310000063ffffffff61267116565b9050611010565b50600019611010565b600080613ad5611e79565b90506000613ae1611c93565b9050613aee828286613209565b949350505050565b6000816004811115613b0457fe5b14158015613b1e57506001816004811115613b1b57fe5b14155b613b2457fe5b601754613b30816145bd565b6001600160a01b0383166000908152601060205260409020600301805483919060ff19166001836004811115613b6257fe5b02179055506001600160a01b0383166000908152601060209081526040808320600180820185905590849055601690925282208281550155613ba48382614663565b600d54604051631484968760e11b81526001600160a01b03909116906329092d0e90613bd4908690600401614ee3565b600060405180830381600087803b158015613bee57600080fd5b505af1158015613c02573d6000803e3d6000fd5b50505050505050565b600080613c2a670de0b6b3a7640000611162868663ffffffff61267116565b90508281106121a35760405162461bcd60e51b81526004016109bd90615234565b6001600160a01b038116600090815260106020526040902060020154601154613c7a908263ffffffff61245716565b601155506001600160a01b0316600090815260106020526040812060020155565b60405163121cbc4d60e11b81526001600160a01b03841690632439789a90613cc790859060040161531b565b600060405180830381600087803b158015613ce157600080fd5b505af1158015613cf5573d6000803e3d6000fd5b505060405163f2e91d7160e01b81526001600160a01b038716925063f2e91d719150613d2590859060040161531b565b600060405180830381600087803b158015613d3f57600080fd5b505af1158015613d53573d6000803e3d6000fd5b505060405163be41205f60e01b81526001600160a01b038616925063be41205f915061304790849060040161531b565b60008184841115613da75760405162461bcd60e51b81526004016109bd9190614f8d565b505050900390565b60008060135460001415613dc4575081611010565b600060125411613dd057fe5b6121a36013546111626012548661267190919063ffffffff16565b60008183613e0c5760405162461bcd60e51b81526004016109bd9190614f8d565b506000838581613e1857fe5b0495945050505050565b613e2a614a6e565b613e32614b3e565b601754600110613e4257506141ed565b613e4b8761203c565b60408501526020848101919091528401819052908352613e6a90614804565b604083018190526801158e460913d0000060608401526020830151613e949163ffffffff61245716565b8152670de0b6b3a76400008611613f5f57613eb9898983602001518460400151613c9b565b613ec287613c4b565b60006080830181905260a0830152815160c0830152805160e0830152613ee9876003613af6565b815160208301516040516001600160a01b038a169260008051602061541b83398151915292613f1a92600290615332565b60405180910390a2866001600160a01b031660008051602061543b83398151915260008060006002604051613f529493929190614f61565b60405180910390a26141eb565b670de0b6b3a764000086118015613ffa5750600360009054906101000a90046001600160a01b03166001600160a01b031663794e57246040518163ffffffff1660e01b815260040160206040518083038186803b158015613fbf57600080fd5b505afa158015613fd3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613ff79190614da7565b86105b1561404a57614013898983602001518460400151613c9b565b61401c87613c4b565b8151815161402b919087614890565b60e086015260c085015260a08401526080830152613ee9876003613af6565b600360009054906101000a90046001600160a01b03166001600160a01b031663794e57246040518163ffffffff1660e01b815260040160206040518083038186803b15801561409857600080fd5b505afa1580156140ac573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906140d09190614da7565b86101580156140de57508386105b80156140eb575081518510155b156141da57614104898983602001518460400151613c9b565b8461410b57fe5b61411487613c4b565b61412782600001518360200151856148fc565b9150614134876003613af6565b610100820151156141a957600854610100830151604051633f10abab60e01b81526001600160a01b0390921691633f10abab91614176918b9190600401614f3d565b600060405180830381600087803b15801561419057600080fd5b505af11580156141a4573d6000803e3d6000fd5b505050505b815160a08301516040516001600160a01b038a169260008051602061541b83398151915292613f1a92600290615332565b6141e2614a6e565b91506141ed9050565b505b979650505050505050565b614200614a6e565b604080830151908401516142199163ffffffff613a1316565b6040820152606080830151908401516142379163ffffffff613a1316565b6060820152815160208401516142529163ffffffff613a1316565b602080830191909152820151835161426f9163ffffffff613a1316565b81526080808301519084015161428a9163ffffffff613a1316565b608082015260a080830151908401516142a89163ffffffff613a1316565b60a082015260c080830151908401516142c69163ffffffff613a1316565b60c082015260e080830151908401516142e49163ffffffff613a1316565b60e082015261010080830151908401516143039163ffffffff613a1316565b61010082015292915050565b60008061431d858585613209565b9050600360009054906101000a90046001600160a01b03166001600160a01b0316635733d58f6040518163ffffffff1660e01b815260040160206040518083038186803b15801561436d57600080fd5b505afa158015614381573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906143a59190614da7565b11949350505050565b6143b6614a6e565b6143be614b3e565b6143c78461203c565b604085019081526020858101928352860192909252918452905190516143f1918891889190613c9b565b6143fa84613c4b565b6144078260200151614804565b604083018190526801158e460913d0000060608401526020830151600091614435919063ffffffff61245716565b905061444683600001518286614890565b60e087015260c086015260a08501526080840152614465856003613af6565b825160208401516040516001600160a01b0388169260008051602061541b8339815191529261449692600190615332565b60405180910390a2846001600160a01b031660008051602061543b833981519152600080600060016040516144ce9493929190614f61565b60405180910390a25050949350505050565b60008183106144ef57816121a3565b5090919050565b6000611520603c611162600f544261245790919063ffffffff16565b6000631f54050082111561452857631f54050091505b8161453c5750670de0b6b3a7640000611010565b670de0b6b3a764000083835b60018111156145b3576002810661457d576145638283614a0a565b915061457681600263ffffffff6126ab16565b90506145ae565b6145878284614a0a565b92506145938283614a0a565b91506145ab600261116283600163ffffffff61245716565b90505b614548565b61116e8284614a0a565b6001811180156146475750600d546040805163de8fa43160e01b815290516001926001600160a01b03169163de8fa431916004808301926020929190829003018186803b15801561460d57600080fd5b505afa158015614621573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906146459190614da7565b115b610fac5760405162461bcd60e51b81526004016109bd90615090565b6001600160a01b03821660009081526010602052604081206003015460ff169081600481111561468f57fe5b141580156146a9575060018160048111156146a657fe5b14155b6146af57fe5b6001600160a01b03831660009081526010602052604081206003015461010090046001600160801b03169083906146e7826001612457565b905080836001600160801b031611156146fc57fe5b60006017828154811061470b57fe5b600091825260209091200154601780546001600160a01b03909216925082916001600160801b03871690811061473d57fe5b600091825260208083209190910180546001600160a01b0319166001600160a01b03948516179055918316815260109091526040908190206003018054610100600160881b0319166101006001600160801b03881602179055517f02b04ae5f7be9ca7c103293a2aa15f3c339d15d6eda53b721fef7b0e609c831a906147c69083908790614f1b565b60405180910390a160178054806147d957fe5b600082815260209020810160001990810180546001600160a01b031916905501905550505050505050565b600354604080516324386ecd60e11b815290516000926001600160a01b031691634870dd9a916004808301926020929190829003018186803b15801561484957600080fd5b505afa15801561485d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906148819190614da7565b828161488957fe5b0492915050565b600080808084156148e6576148a587866144e0565b93506148bb87611162888763ffffffff61267116565b92506148cd878563ffffffff61245716565b91506148df868463ffffffff61245716565b90506148f3565b5060009250829150859050845b93509350935093565b614904614a6e565b838152602080820184905260035460408051631e5395c960e21b815290516000936149a0938793611162936001600160a01b039092169263794e572492600480840193829003018186803b15801561495b57600080fd5b505afa15801561496f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906149939190614da7565b889063ffffffff61267116565b90506149ab81614804565b604083018190526801158e460913d000006060840152608083018690526149d990829063ffffffff61245716565b60a08301526149ee848263ffffffff61245716565b61010083015250600060c0820181905260e08201529392505050565b600080614a1d848463ffffffff61267116565b9050613aee670de0b6b3a7640000611162836706f05b59d3b20000613a13565b6040518060a00160405280600081526020016000815260200160001515815260200160008152602001600081525090565b6040518061012001604052806000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081525090565b6040805160e081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c081019190915290565b6040518060e0016040528060008152602001600081526020016000815260200160006001600160a01b0316815260200160001515815260200160008152602001600081525090565b60405180606001604052806000815260200160008152602001600081525090565b803561101081615405565b600060208284031215614b7b578081fd5b81356121a381615405565b600060208284031215614b97578081fd5b81516121a381615405565b60008060408385031215614bb4578081fd5b8235614bbf81615405565b946020939093013593505050565b60006020808385031215614bdf578182fd5b823567ffffffffffffffff811115614bf5578283fd5b80840185601f820112614c06578384fd5b80359150614c1b614c16836153da565b6153b3565b8281528381019082850185850284018601891015614c37578687fd5b8693505b848410156141eb57614c4d8982614b5f565b835260019390930192918501918501614c3b565b60006101c0808385031215614c74578182fd5b614c7d816153b3565b614c878585614b5f565b8152614c968560208601614b5f565b6020820152614ca88560408601614b5f565b6040820152614cba8560608601614b5f565b6060820152614ccc8560808601614b5f565b6080820152614cde8560a08601614b5f565b60a0820152614cf08560c08601614b5f565b60c0820152614d028560e08601614b5f565b60e08201526101009150614d1885838601614b5f565b828201526101209150614d2d85838601614b5f565b828201526101409150614d4285838601614b5f565b828201526101609150614d5785838601614b5f565b828201526101809150614d6c85838601614b5f565b828201526101a09150614d8185838601614b5f565b918101919091529392505050565b600060208284031215614da0578081fd5b5035919050565b600060208284031215614db8578081fd5b5051919050565b600080600080600080600060e0888a031215614dd9578283fd5b873596506020880135614deb81615405565b95506040880135614dfb81615405565b94506060880135614e0b81615405565b9699959850939660808101359560a0820135955060c0909101359350915050565b600080600080600080600080888a03610160811215614e49578182fd5b8935985060208a0135614e5b81615405565b975060408a0135614e6b81615405565b965060608a0135614e7b81615405565b955060808a810135955060a08b0135945060c08b0135935060df1982011215614ea2578182fd5b5060e0890190509295985092959890939650565b6000828483379101908152919050565b7035b2bc9737bbb730b136329737bbb732b960791b815260110190565b6001600160a01b0391909116815260200190565b6001600160a01b039384168152919092166020820152604081019190915260600190565b6001600160a01b039290921682526001600160801b0316602082015260400190565b6001600160a01b03929092168252602082015260400190565b901515815260200190565b848152602081018490526040810183905260808101614f7f836153fa565b606083015295945050505050565b6000602080835283518082850152825b81811015614fb957858101830151858201604001528201614f9d565b81811115614fca5783604083870101525b50601f01601f1916929092016040019392505050565b6020808252601b908201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604082015260600190565b60208082526022908201527f4f776e61626c653a3a7365744f776e65723a20696e76616c6964206164647265604082015261737360f01b606082015260800190565b6020808252601e908201527f4163636f756e742063616e6e6f74206265207a65726f20616464726573730000604082015260600190565b6020808252602a908201527f54726f76654d616e616765723a204f6e6c79206f6e652074726f766520696e206040820152697468652073797374656d60b01b606082015260800190565b60208082526021908201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6040820152607760f81b606082015260800190565b6020808252603b908201527f54726f76654d616e616765723a2043616c6c6572206973206e6f74207468652060408201527f426f72726f7765724f7065726174696f6e7320636f6e74726163740000000000606082015260800190565b60208082526017908201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604082015260600190565b60208082526036908201527f54726f76654d616e616765723a2043616c6c646174612061646472657373206160408201527572726179206d757374206e6f7420626520656d70747960501b606082015260800190565b6020808252818101527f4163636f756e7420636f64652073697a652063616e6e6f74206265207a65726f604082015260600190565b60208082526036908201527f54726f76654d616e616765723a2046656520776f756c642065617420757020616040820152751b1b081c995d1d5c9b99590818dbdb1b185d195c985b60521b606082015260800190565b60208082526022908201527f54726f76654d616e616765723a206e6f7468696e6720746f206c697175696461604082015261746560f01b606082015260800190565b6020808252602f908201527f54726f76654d616e616765723a2054726f766520646f6573206e6f742065786960408201526e1cdd081bdc881a5cc818db1bdcd959608a1b606082015260800190565b90815260200190565b918252602082015260400190565b83815260208101839052606081016004831061534a57fe5b826040830152949350505050565b858152602081018590526040810184905260a081016005841061537757fe5b60608201939093526001600160801b03919091166080909101529392505050565b93845260208401929092526040830152606082015260800190565b60405181810167ffffffffffffffff811182821017156153d257600080fd5b604052919050565b600067ffffffffffffffff8211156153f0578081fd5b5060209081020190565b806004811061107657fe5b6001600160a01b0381168114610fac57600080fdfeea67486ed7ebe3eea8ab3390efd4a3c8aae48be5bea27df104a8af786c408434c3770d654ed33aeea6bf11ac8ef05d02a6a04ed4686dd2f624d853bbec43cc8ba2646970667358221220360ab705f9ed8e8222e50d6d6310ee7c0693ad08921592870dfffe5ff62b48e964736f6c634300060b003360806040523480156200001157600080fd5b5062000026336001600160e01b036200002c16565b62000150565b6001600160a01b0381166200005e5760405162461bcd60e51b815260040162000055906200010e565b60405180910390fd5b6001600160a01b0381166200007b6001600160e01b03620000d016565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000604051620000c090620000f1565b6040519081900390209190915550565b600080604051620000e190620000f1565b6040519081900390205492915050565b7035b2bc9737bbb730b136329737bbb732b960791b815260110190565b60208082526022908201527f4f776e61626c653a3a7365744f776e65723a20696e76616c6964206164647265604082015261737360f01b606082015260800190565b614a7880620001606000396000f3fe6080604052600436106102205760003560e01c80637778a3db1161012e578063a3f4df7e116100ab578063e9fc34611161006f578063e9fc346114610570578063ea9638bf14610585578063ec5472fd14610598578063ec9f7d46146105ad578063f92d3433146105c257610220565b8063a3f4df7e146104f1578063ae91875414610513578063afbc74b514610528578063b5c89bab14610548578063c6a6cf201461055d57610220565b8063887105d3116100f2578063887105d31461049f578063893d20e8146104b45780638d5c3dc1146104c95780639f070670146104dc578063a20baee6146103c357610220565b80637778a3db14610422578063795d26c3146104425780637e3eefdc146104575780637f7dde4a14610477578063860665b31461048c57610220565b8063485f190f116101bc5780636f0b0c1c116101805780636f0b0c1c146103ae57806372fe25aa146103c3578063734f622d146103d8578063741bef1a146103f8578063759b30341461040d57610220565b8063485f190f146103285780634ff814431461033b5780635530273c1461035b57806368647db11461037b5780636ea569601461038e57610220565b80630d43e8ad146102255780630e704d50146102505780630ff9a5121461026757806313af40351461027c5780631a7777171461029c5780631bf43555146102bc5780632771510a146102de5780633cc74225146102fe5780633d83908a14610313575b600080fd5b34801561023157600080fd5b5061023a6105d7565b6040516102479190613fe0565b60405180910390f35b34801561025c57600080fd5b506102656105e6565b005b34801561027357600080fd5b5061023a6105f0565b34801561028857600080fd5b50610265610297366004613bf3565b6105ff565b3480156102a857600080fd5b506102656102b7366004613e27565b61064c565b3480156102c857600080fd5b506102d1610663565b60405161024791906149eb565b3480156102ea57600080fd5b506102656102f9366004613bf3565b610670565b34801561030a57600080fd5b5061023a6106fe565b34801561031f57600080fd5b5061023a61070d565b610265610336366004613e78565b61071c565b34801561034757600080fd5b506102d1610356366004613dd1565b610886565b34801561036757600080fd5b50610265610376366004613e01565b610899565b610265610389366004613c2b565b6108af565b34801561039a57600080fd5b506102656103a9366004613e78565b6108c5565b3480156103ba57600080fd5b506102656108d6565b3480156103cf57600080fd5b506102d1610934565b3480156103e457600080fd5b506102656103f3366004613cad565b610940565b34801561040457600080fd5b5061023a610d04565b34801561041957600080fd5b506102d1610d13565b34801561042e57600080fd5b5061026561043d366004613db6565b610d20565b34801561044e57600080fd5b506102d1610e11565b34801561046357600080fd5b506102d1610472366004613e78565b610f30565b34801561048357600080fd5b5061023a6111ab565b61026561049a366004613e78565b6111ba565b3480156104ab57600080fd5b506102d16111c7565b3480156104c057600080fd5b5061023a611296565b6102656104d7366004613f27565b6112b5565b3480156104e857600080fd5b5061023a6112cd565b3480156104fd57600080fd5b506105066112dc565b60405161024791906140c8565b34801561051f57600080fd5b5061023a61130a565b34801561053457600080fd5b50610265610543366004613e01565b611319565b34801561055457600080fd5b5061023a61132b565b61026561056b366004613ec1565b61133a565b34801561057c57600080fd5b5061023a611351565b610265610593366004613c63565b611360565b3480156105a457600080fd5b5061023a61137a565b3480156105b957600080fd5b5061023a611389565b3480156105ce57600080fd5b506102d1611398565b600d546001600160a01b031681565b6105ee61141a565b565b6009546001600160a01b031681565b610607611296565b6001600160a01b0316336001600160a01b0316146106405760405162461bcd60e51b8152600401610637906145b1565b60405180910390fd5b61064981611809565b50565b61065d600080866000878787611894565b50505050565b6809c2007651b250000081565b610678611296565b6001600160a01b0316336001600160a01b0316146106a85760405162461bcd60e51b8152600401610637906145b1565b600c80546001600160a01b0319166001600160a01b0383161790556040517f6926b3375b54960080b7d8a184061f39a02e8c3bf64aa9df7e75359fdc00d814906106f3908390613fe0565b60405180910390a150565b6001546001600160a01b031681565b6004546001600160a01b031681565b600c546001600160a01b03166107445760405162461bcd60e51b8152600401610637906149bb565b6107518484848430611a4a565b600a54600c5460405163095ea7b360e01b81526001600160a01b039283169263095ea7b392610787929116908790600401614035565b602060405180830381600087803b1580156107a157600080fd5b505af11580156107b5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107d99190613d9a565b6107f55760405162461bcd60e51b81526004016106379061463f565b600c54600a5460405163438b1b4b60e01b81526001600160a01b039283169263438b1b4b9261082d9291169087903390600401614079565b602060405180830381600087803b15801561084757600080fd5b505af115801561085b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061087f9190613de9565b5050505050565b600061089182612075565b90505b919050565b6108aa338460008086866000612090565b505050565b6108c133600080600086866000612090565b5050565b61065d33600085600186868a612090565b60075460405163b32beb5b60e01b81526001600160a01b039091169063b32beb5b90610906903390600401613fe0565b600060405180830381600087803b15801561092057600080fd5b505af115801561065d573d6000803e3d6000fd5b670de0b6b3a764000081565b610948611296565b6001600160a01b0316336001600160a01b0316146109785760405162461bcd60e51b8152600401610637906145b1565b6109818c6120a0565b61098a8b6120a0565b6109938a6120a0565b61099c896120a0565b6109a5886120a0565b6109ae876120a0565b6109b7866120a0565b6109c0856120a0565b6109c9846120a0565b6109d2836120a0565b6109db826120a0565b6109e4816120a0565b600d80546001600160a01b03199081166001600160a01b038f8116919091179092556003805482168e84161790556004805482168d84161790556000805482168c84161790556001805482168b84161790556005805482168a8416179055600680548216898416179055600780548216888416179055600280548216878416179055600b80548216868416179055600a8054821685841617905560098054821692841692831790556008805490911690911790556040517f84861842e6a98dd759145eb5e7b48279d0f02ebeabc8a69e5196b2f4c5023db990610ac8908e90613fe0565b60405180910390a17f143219c9e69b09e07e095fcc889b43d8f46ca892bba65f08dc3a0050869a56788a604051610aff9190613fe0565b60405180910390a17f78f058b189175430c48dc02699e3a0031ea4ff781536dc2fab847de4babdd88289604051610b369190613fe0565b60405180910390a17f5ee0cae2f063ed938bb55046f6a932fb6ae792bf43624806bb90abe68a50be9b88604051610b6d9190613fe0565b60405180910390a17f82966d27eea39b038ee0fa30cd16532bb24f6e65d31cb58fb227aa5766cdcc7f87604051610ba49190613fe0565b60405180910390a17fcfb07d791fcafc032b35837b50eb84b74df518cf4cc287e8084f47630fa70fa086604051610bdb9190613fe0565b60405180910390a17fe67f36a6e961157d6eff83b91f3af5a62131ceb6f04954ef74f51c1c05e7f88d85604051610c129190613fe0565b60405180910390a17f8c537274438aa850a330284665d81a85dd38267d09e4050d416bfc94142db26484604051610c499190613fe0565b60405180910390a17f65f4cf077bc01e4742eb5ad98326f6e95b63548ea24b17f8d5e823111fe7880083604051610c809190613fe0565b60405180910390a17fcdf33850c44a1a874b5fefb51dae615ac6afebd581ef90d571f81b06541d8e9d82604051610cb79190613fe0565b60405180910390a17f7624075ed781e3aa34b0f492d70d1bb5a6fcde04534165e20f990d2e546be4dd81604051610cee9190613fe0565b60405180910390a1505050505050505050505050565b6002546001600160a01b031681565b6801158e460913d0000081565b600c546001600160a01b0316610d485760405162461bcd60e51b8152600401610637906149bb565b6004805460405163d66a255360e01b81526000926001600160a01b039092169163d66a255391610d7a91339101613fe0565b60206040518083038186803b158015610d9257600080fd5b505afa158015610da6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610dca9190613de9565b600c54909150610e08906001600160a01b0316610df6836801158e460913d0000063ffffffff6120e516565b600a546001600160a01b031685612130565b506108c161141a565b60008054604080516272c7d360e71b8152905183926001600160a01b031691633963e980916004808301926020929190829003018186803b158015610e5557600080fd5b505afa158015610e69573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e8d9190613de9565b90506000600160009054906101000a90046001600160a01b03166001600160a01b0316633963e9806040518163ffffffff1660e01b815260040160206040518083038186803b158015610edf57600080fd5b505afa158015610ef3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f179190613de9565b9050610f29828263ffffffff6123e116565b9250505090565b600a546040516370a0823160e01b8152600091309183916001600160a01b0316906370a0823190610f65908590600401613fe0565b60206040518083038186803b158015610f7d57600080fd5b505afa158015610f91573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fb59190613de9565b9050610fc533838888888c612406565b610fd5818763ffffffff6123e116565b600a546040516370a0823160e01b81526001600160a01b03909116906370a0823190611005908690600401613fe0565b60206040518083038186803b15801561101d57600080fd5b505afa158015611031573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110559190613de9565b146110725760405162461bcd60e51b815260040161063790614245565b600a54600c5460405163095ea7b360e01b81526001600160a01b039283169263095ea7b3926110a8929116908a90600401614035565b602060405180830381600087803b1580156110c257600080fd5b505af11580156110d6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110fa9190613d9a565b6111165760405162461bcd60e51b81526004016106379061463f565b600c54600a5460405163438b1b4b60e01b81526001600160a01b039283169263438b1b4b9261114e929116908a903390600401614079565b602060405180830381600087803b15801561116857600080fd5b505af115801561117c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111a09190613de9565b979650505050505050565b6000546001600160a01b031681565b61065d8484848433611a4a565b6000805460408051630a7b61df60e11b8152905183926001600160a01b0316916314f6c3be916004808301926020929190829003018186803b15801561120c57600080fd5b505afa158015611220573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112449190613de9565b90506000600160009054906101000a90046001600160a01b03166001600160a01b03166314f6c3be6040518163ffffffff1660e01b815260040160206040518083038186803b158015610edf57600080fd5b6000806040516112a590613fc3565b6040519081900390205492915050565b6112c487878787878787611894565b50505050505050565b6003546001600160a01b031681565b60405180604001604052806012815260200171426f72726f7765724f7065726174696f6e7360701b81525081565b600b546001600160a01b031681565b6108aa33600085600086866000612090565b600c546001600160a01b031681565b6113493386868686868c612090565b505050505050565b600c546001600160a01b031690565b611368612418565b6108aa83600080600086866000612090565b6008546001600160a01b031681565b600a546001600160a01b031681565b6003546040805163f92d343360e01b815290516000926001600160a01b03169163f92d3433916004808301926020929190829003018186803b1580156113dd57600080fd5b505afa1580156113f1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114159190613de9565b905090565b600454600054600a546001600160a01b0392831692918216911661143e8333612442565b60025460408051630fdb11cf60e01b815290516000926001600160a01b031691630fdb11cf91600480830192602092919082900301818787803b15801561148457600080fd5b505af1158015611498573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114bc9190613de9565b90506114c7816124e3565b604051630b07655760e01b81526001600160a01b03851690630b076557906114f3903390600401613fe0565b600060405180830381600087803b15801561150d57600080fd5b505af1158015611521573d6000803e3d6000fd5b50506040516309019aaf60e31b8152600092506001600160a01b038716915063480cd57890611554903390600401613fe0565b60206040518083038186803b15801561156c57600080fd5b505afa158015611580573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115a49190613de9565b90506000856001600160a01b031663d66a2553336040518263ffffffff1660e01b81526004016115d49190613fe0565b60206040518083038186803b1580156115ec57600080fd5b505afa158015611600573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116249190613de9565b90506116498433611644846801158e460913d0000063ffffffff6120e516565b612509565b600061165a836000846000886125a5565b905061166581612630565b604051631fc5750960e31b81526001600160a01b0388169063fe2ba84890611691903390600401613fe0565b600060405180830381600087803b1580156116ab57600080fd5b505af11580156116bf573d6000803e3d6000fd5b50506040516365e89c5760e11b81526001600160a01b038a16925063cbd138ae91506116ef903390600401613fe0565b600060405180830381600087803b15801561170957600080fd5b505af115801561171d573d6000803e3d6000fd5b50505050336001600160a01b0316600080516020614a2383398151915260008060006001604051611751949392919061409c565b60405180910390a261177d868633611778866801158e460913d0000063ffffffff6120e516565b6126d5565b6006546117a090879087906001600160a01b03166801158e460913d000006126d5565b6040516364a197f360e01b81526001600160a01b038716906364a197f3906117ce9033908790600401614035565b600060405180830381600087803b1580156117e857600080fd5b505af11580156117fc573d6000803e3d6000fd5b5050505050505050505050565b6001600160a01b03811661182f5760405162461bcd60e51b81526004016106379061427c565b806001600160a01b0316611841611296565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3600060405161188490613fc3565b6040519081900390209190915550565b600c546001600160a01b03166118bc5760405162461bcd60e51b8152600401610637906149bb565b831580156118ca5750600085115b156118f057600c54600a546118ee916001600160a01b039081169188911684612130565b505b6119003387878787878d3061278f565b83801561190d5750600085115b156112c457600a54600c5460405163095ea7b360e01b81526001600160a01b039283169263095ea7b392611948929116908990600401614035565b602060405180830381600087803b15801561196257600080fd5b505af1158015611976573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061199a9190613d9a565b6119b65760405162461bcd60e51b81526004016106379061463f565b600c54600a5460405163438b1b4b60e01b81526001600160a01b039283169263438b1b4b926119ee9291169089903390600401614079565b602060405180830381600087803b158015611a0857600080fd5b505af1158015611a1c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a409190613de9565b5050505050505050565b611a52613af2565b50604080516060810182526004546001600160a01b03908116825260005481166020830152600a541691810191909152611a8a613b12565b600260009054906101000a90046001600160a01b03166001600160a01b0316630fdb11cf6040518163ffffffff1660e01b8152600401602060405180830381600087803b158015611ada57600080fd5b505af1158015611aee573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b129190613de9565b808252600090611b2190612d73565b9050611b2d8882612e0e565b8251611b399033612efa565b6040820187905280611b7a57611b5983600001518460400151898b612f9c565b602083018190526040830151611b749163ffffffff6123e116565b60408301525b611b878260400151613155565b611b948260400151612075565b60608301819052611ba157fe5b611bb4348360600151846000015161317e565b60808301526060820151611bc99034906131bd565b60a08301528015611be657611be182608001516131f2565b611c19565b611bf38260800151613297565b6000611c0c3460018560600151600187600001516125a5565b9050611c1781612630565b505b8251604051635d6b480f60e01b81526001600160a01b0390911690635d6b480f90611c4b903390600190600401614035565b600060405180830381600087803b158015611c6557600080fd5b505af1158015611c79573d6000803e3d6000fd5b505084516040516372423c1760e01b81526001600160a01b0390911692506372423c179150611cae9033903490600401614035565b602060405180830381600087803b158015611cc857600080fd5b505af1158015611cdc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d009190613de9565b5082516060830151604051639976cf4560e01b81526001600160a01b0390921691639976cf4591611d3691339190600401614035565b602060405180830381600087803b158015611d5057600080fd5b505af1158015611d64573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d889190613de9565b5082516040516382fe3eb960e01b81526001600160a01b03909116906382fe3eb990611db8903390600401613fe0565b600060405180830381600087803b158015611dd257600080fd5b505af1158015611de6573d6000803e3d6000fd5b50508451604051630c7940bd60e11b81526001600160a01b0390911692506318f2817a9150611e19903390600401613fe0565b602060405180830381600087803b158015611e3357600080fd5b505af1158015611e47573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e6b9190613de9565b60c0830152600b5460a08301516040516346f7cf8760e01b81526001600160a01b03909216916346f7cf8791611eaa913391908b908b9060040161404e565b600060405180830381600087803b158015611ec457600080fd5b505af1158015611ed8573d6000803e3d6000fd5b505084516040516315d549f160e01b81526001600160a01b0390911692506315d549f19150611f0b903390600401613fe0565b602060405180830381600087803b158015611f2557600080fd5b505af1158015611f39573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f5d9190613de9565b60e0830181905260405133917f59cfd0cd754bc5748b6770e94a4ffa5f678d885cb899dcfadc5734edb97c67ab91611f9591906149eb565b60405180910390a2611fab83602001513461333c565b611fc483602001518460400151868a86604001516133b8565b60208301516040840151600654611ff09291906001600160a01b03166801158e460913d00000806133b8565b606082015160c08301516040513392600080516020614a238339815191529261201e9234919060009061409c565b60405180910390a2336001600160a01b03167f71457d8a5ab7e4561ed49d05338674b73ac3b83b0b315f165f5b12bcc0022741836020015160405161206391906149eb565b60405180910390a25050505050505050565b6000610891826801158e460913d0000063ffffffff6123e116565b6112c4878787878787873361278f565b6001600160a01b0381166120c65760405162461bcd60e51b8152600401610637906143be565b803b806108c15760405162461bcd60e51b815260040161063790614762565b600061212783836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061347d565b90505b92915050565b600080856001600160a01b03166321df0da76040518163ffffffff1660e01b815260040160206040518083038186803b15801561216c57600080fd5b505afa158015612180573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121a49190613c0f565b90506000816001600160a01b03166370a08231306040518263ffffffff1660e01b81526004016121d49190613fe0565b60206040518083038186803b1580156121ec57600080fd5b505afa158015612200573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122249190613de9565b9050306001600160a01b03831663605629d633838a893561224b60408c0160208d01613f9f565b8b604001358c606001356040518863ffffffff1660e01b81526004016122779796959493929190613ff4565b600060405180830381600087803b15801561229157600080fd5b505af11580156122a5573d6000803e3d6000fd5b505050508661233683856001600160a01b03166370a08231856040518263ffffffff1660e01b81526004016122da9190613fe0565b60206040518083038186803b1580156122f257600080fd5b505afa158015612306573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061232a9190613de9565b9063ffffffff6120e516565b146123535760405162461bcd60e51b8152600401610637906141c5565b60405163fb2c922360e01b81526001600160a01b0389169063fb2c9223906123839089908b903390600401614079565b602060405180830381600087803b15801561239d57600080fd5b505af11580156123b1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123d59190613de9565b98975050505050505050565b6000828201838110156121275760405162461bcd60e51b81526004016106379061420e565b6113498660008660018787878c61278f565b6005546001600160a01b031633146105ee5760405162461bcd60e51b815260040161063790614800565b6040516321e3780160e01b81526000906001600160a01b038416906321e3780190612471908590600401613fe0565b60206040518083038186803b15801561248957600080fd5b505afa15801561249d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124c19190613de9565b9050806001146108aa5760405162461bcd60e51b815260040161063790614563565b6124ec81612d73565b156106495760405162461bcd60e51b81526004016106379061430e565b6040516370a0823160e01b815281906001600160a01b038516906370a0823190612537908690600401613fe0565b60206040518083038186803b15801561254f57600080fd5b505afa158015612563573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125879190613de9565b10156108aa5760405162461bcd60e51b81526004016106379061411b565b6000806125b06111c7565b905060006125bc610e11565b9050866125d8576125d3828963ffffffff6120e516565b6125e8565b6125e8828963ffffffff6123e116565b915084612604576125ff818763ffffffff6120e516565b612614565b612614818763ffffffff6123e116565b9050600061262383838761317e565b9998505050505050505050565b600360009054906101000a90046001600160a01b03166001600160a01b0316635733d58f6040518163ffffffff1660e01b815260040160206040518083038186803b15801561267e57600080fd5b505afa158015612692573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906126b69190613de9565b8110156106495760405162461bcd60e51b8152600401610637906144f4565b60405163121cbc4d60e11b81526001600160a01b03851690632439789a906127019084906004016149eb565b600060405180830381600087803b15801561271b57600080fd5b505af115801561272f573d6000803e3d6000fd5b5050604051632770a7eb60e21b81526001600160a01b0386169250639dc29fac91506127619085908590600401614035565b600060405180830381600087803b15801561277b57600080fd5b505af1158015611a40573d6000803e3d6000fd5b612797613af2565b50604080516060810182526004546001600160a01b03908116825260005481166020830152600a5416918101919091526127cf613b57565b600260009054906101000a90046001600160a01b03166001600160a01b0316630fdb11cf6040518163ffffffff1660e01b8152600401602060405180830381600087803b15801561281f57600080fd5b505af1158015612833573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906128579190613de9565b80825261286390612d73565b15156101c082015286156128895761288084826101c00151612e0e565b612889886134a9565b612892896134c9565b61289c89896134f0565b81516128a8908b612442565b336001600160a01b038b1614806128de57506005546001600160a01b0316331480156128d45750600034115b80156128de575087155b6128e457fe5b8151604051630b07655760e01b81526001600160a01b0390911690630b07655790612913908d90600401613fe0565b600060405180830381600087803b15801561292d57600080fd5b505af1158015612941573d6000803e3d6000fd5b5050505061294f348a613523565b151560608301526020820152604081018890528680156129725750806101c00151155b156129ad5761298b826000015183604001518a87612f9c565b610120820181905260408201516129a79163ffffffff6123e116565b60408201525b815160405163d66a255360e01b81526001600160a01b039091169063d66a2553906129dc908d90600401613fe0565b60206040518083038186803b1580156129f457600080fd5b505afa158015612a08573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612a2c9190613de9565b608082015281516040516309019aaf60e31b81526001600160a01b039091169063480cd57890612a60908d90600401613fe0565b60206040518083038186803b158015612a7857600080fd5b505afa158015612a8c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612ab09190613de9565b60a0820181905260808201518251612ac992919061317e565b8160c0018181525050612af98160a0015182608001518360200151846060015185604001518c8760000151613542565b60e082015260a0810151891115612b0c57fe5b612b1d816101c001518a8984613575565b86158015612b2b5750600088115b15612b7257612b4d612b48826040015161232a84608001516135e9565b613155565b612b5f81608001518260400151613604565b612b7282604001518b8360400151612509565b612b9082600001518b8360200151846060015185604001518c61363c565b6101408301526101608201528151604051630c7940bd60e11b81526001600160a01b03909116906318f2817a90612bcb908d90600401613fe0565b602060405180830381600087803b158015612be557600080fd5b505af1158015612bf9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612c1d9190613de9565b81610180018181525050612c498160a0015182608001518360200151846060015185604001518c61386a565b6101a08201819052600b5460405163015f109360e51b81526001600160a01b0390911691632be2126091612c85918e918b908b9060040161404e565b600060405180830381600087803b158015612c9f57600080fd5b505af1158015612cb3573d6000803e3d6000fd5b50505050896001600160a01b0316600080516020614a238339815191528261014001518361016001518461018001516002604051612cf4949392919061409c565b60405180910390a2336001600160a01b03167f71457d8a5ab7e4561ed49d05338674b73ac3b83b0b315f165f5b12bcc0022741826101200151604051612d3a91906149eb565b60405180910390a2612d678260200151836040015133846020015185606001518d8d88604001518b61389b565b50505050505050505050565b600080612d7f8361393f565b9050600360009054906101000a90046001600160a01b03166001600160a01b0316635733d58f6040518163ffffffff1660e01b815260040160206040518083038186803b158015612dcf57600080fd5b505afa158015612de3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612e079190613de9565b1192915050565b8015612e4157670de0b6b3a7640000821115612e3c5760405162461bcd60e51b8152600401610637906143f5565b6108c1565b600360009054906101000a90046001600160a01b03166001600160a01b031663f92d34336040518163ffffffff1660e01b815260040160206040518083038186803b158015612e8f57600080fd5b505afa158015612ea3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612ec79190613de9565b8210158015612ede5750670de0b6b3a76400008211155b6108c15760405162461bcd60e51b815260040161063790614849565b6040516321e3780160e01b81526000906001600160a01b038416906321e3780190612f29908590600401613fe0565b60206040518083038186803b158015612f4157600080fd5b505afa158015612f55573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612f799190613de9565b905080600114156108aa5760405162461bcd60e51b815260040161063790614899565b6000846001600160a01b0316635dba4c4a6040518163ffffffff1660e01b8152600401600060405180830381600087803b158015612fd957600080fd5b505af1158015612fed573d6000803e3d6000fd5b5050604051630631203b60e41b8152600092506001600160a01b038816915063631203b0906130209087906004016149eb565b60206040518083038186803b15801561303857600080fd5b505afa15801561304c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906130709190613de9565b905061307d81858561396b565b600d546040516340c10f1960e01b81526001600160a01b03878116926340c10f19926130b192909116908590600401614035565b600060405180830381600087803b1580156130cb57600080fd5b505af11580156130df573d6000803e3d6000fd5b50505050600d60009054906101000a90046001600160a01b03166001600160a01b031663bb57ad206040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561313357600080fd5b505af1158015613147573d6000803e3d6000fd5b509298975050505050505050565b6809c2007651b25000008110156106495760405162461bcd60e51b815260040161063790614705565b600082156131b15760006131a88461319c878663ffffffff6139ab16565b9063ffffffff6139e516565b91506131b69050565b506000195b9392505050565b600081156131e9576131e28261319c8568056bc75e2d6310000063ffffffff6139ab16565b905061212a565b5060001961212a565b600360009054906101000a90046001600160a01b03166001600160a01b0316635733d58f6040518163ffffffff1660e01b815260040160206040518083038186803b15801561324057600080fd5b505afa158015613254573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906132789190613de9565b8110156106495760405162461bcd60e51b815260040161063790614367565b600360009054906101000a90046001600160a01b03166001600160a01b031663794e57246040518163ffffffff1660e01b815260040160206040518083038186803b1580156132e557600080fd5b505afa1580156132f9573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061331d9190613de9565b8110156106495760405162461bcd60e51b815260040161063790614696565b6000826001600160a01b03168260405161335590613fc0565b60006040518083038185875af1925050503d8060008114613392576040519150601f19603f3d011682016040523d82523d6000602084013e613397565b606091505b50509050806108aa5760405162461bcd60e51b815260040161063790614178565b60405163f2e91d7160e01b81526001600160a01b0386169063f2e91d71906133e49084906004016149eb565b600060405180830381600087803b1580156133fe57600080fd5b505af1158015613412573d6000803e3d6000fd5b50506040516340c10f1960e01b81526001600160a01b03871692506340c10f1991506134449086908690600401614035565b600060405180830381600087803b15801561345e57600080fd5b505af1158015613472573d6000803e3d6000fd5b505050505050505050565b600081848411156134a15760405162461bcd60e51b815260040161063791906140c8565b505050900390565b600081116106495760405162461bcd60e51b8152600401610637906148d0565b3415806134d4575080155b6106495760405162461bcd60e51b8152600401610637906142be565b341515806134fd57508115155b8061350757508015155b6108c15760405162461bcd60e51b815260040161063790614447565b60008083156135375750829050600161353b565b8291505b9250929050565b60008060006135558a8a8a8a8a8a613a27565b91509150600061356683838761317e565b9b9a5050505050505050505050565b83156135ae5761358483613a7d565b81156135a9576135978160e001516131f2565b6135a98160e001518260c00151613a9b565b61065d565b6135bb8160e00151613297565b6135d88160200151826060015183604001518585600001516125a5565b610100820181905261065d90612630565b6000610891826801158e460913d0000063ffffffff6120e516565b61361d826801158e460913d0000063ffffffff6120e516565b8111156108c15760405162461bcd60e51b815260040161063790614797565b6000806000856136cb5760405163d3d6f84360e01b81526001600160a01b038a169063d3d6f84390613674908b908b90600401614035565b602060405180830381600087803b15801561368e57600080fd5b505af11580156136a2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906136c69190613de9565b61374b565b6040516372423c1760e01b81526001600160a01b038a16906372423c17906136f9908b908b90600401614035565b602060405180830381600087803b15801561371357600080fd5b505af1158015613727573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061374b9190613de9565b90506000846137d957604051630930874960e11b81526001600160a01b038b16906312610e9290613782908c908a90600401614035565b602060405180830381600087803b15801561379c57600080fd5b505af11580156137b0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906137d49190613de9565b613859565b604051639976cf4560e01b81526001600160a01b038b1690639976cf4590613807908c908a90600401614035565b602060405180830381600087803b15801561382157600080fd5b505af1158015613835573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906138599190613de9565b919a91995090975050505050505050565b600080600061387d898989898989613a27565b91509150600061388d83836131bd565b9a9950505050505050505050565b82156138b3576138ae89898387866133b8565b6138bf565b6138bf898989876126d5565b84156138d4576138cf898761333c565b613472565b6040516364a197f360e01b81526001600160a01b038a16906364a197f390613902908a908a90600401614035565b600060405180830381600087803b15801561391c57600080fd5b505af1158015613930573d6000803e3d6000fd5b50505050505050505050505050565b60008061394a6111c7565b90506000613956610e11565b905061396382828661317e565b949350505050565b60006139898361319c86670de0b6b3a764000063ffffffff6139ab16565b90508181111561065d5760405162461bcd60e51b815260040161063790614984565b6000826139ba5750600061212a565b828202828482816139c757fe5b04146121275760405162461bcd60e51b8152600401610637906144b3565b600061212783836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250613abb565b600080878786613a4657613a418a8963ffffffff6120e516565b613a56565b613a568a8963ffffffff6123e116565b915084613a6d576137d4898763ffffffff6120e516565b613859898763ffffffff6123e116565b80156106495760405162461bcd60e51b8152600401610637906145e2565b808210156108c15760405162461bcd60e51b815260040161063790614927565b60008183613adc5760405162461bcd60e51b815260040161063791906140c8565b506000838581613ae857fe5b0495945050505050565b604080516060810182526000808252602082018190529181019190915290565b60405180610100016040528060008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081525090565b604051806101e00160405280600081526020016000815260200160008152602001600015158152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000151581525090565b803561212a816149ff565b600060808284031215613bed578081fd5b50919050565b600060208284031215613c04578081fd5b8135612127816149ff565b600060208284031215613c20578081fd5b8151612127816149ff565b60008060408385031215613c3d578081fd5b8235613c48816149ff565b91506020830135613c58816149ff565b809150509250929050565b600080600060608486031215613c77578081fd5b8335613c82816149ff565b92506020840135613c92816149ff565b91506040840135613ca2816149ff565b809150509250925092565b6000806000806000806000806000806000806101808d8f031215613ccf578788fd5b8c35613cda816149ff565b9b5060208d0135613cea816149ff565b9a5060408d0135613cfa816149ff565b995060608d0135613d0a816149ff565b985060808d0135613d1a816149ff565b975060a08d0135613d2a816149ff565b9650613d398e60c08f01613bd1565b9550613d488e60e08f01613bd1565b9450613d588e6101008f01613bd1565b9350613d688e6101208f01613bd1565b9250613d788e6101408f01613bd1565b9150613d888e6101608f01613bd1565b90509295989b509295989b509295989b565b600060208284031215613dab578081fd5b815161212781614a14565b600060808284031215613dc7578081fd5b6121278383613bdc565b600060208284031215613de2578081fd5b5035919050565b600060208284031215613dfa578081fd5b5051919050565b600080600060608486031215613e15578283fd5b833592506020840135613c92816149ff565b60008060008060e08587031215613e3c578384fd5b843593506020850135613e4e816149ff565b92506040850135613e5e816149ff565b9150613e6d8660608701613bdc565b905092959194509250565b60008060008060808587031215613e8d578384fd5b84359350602085013592506040850135613ea6816149ff565b91506060850135613eb6816149ff565b939692955090935050565b60008060008060008060c08789031215613ed9578384fd5b8635955060208701359450604087013593506060870135613ef981614a14565b92506080870135613f09816149ff565b915060a0870135613f19816149ff565b809150509295509295509295565b6000806000806000806000610140888a031215613f42578081fd5b8735965060208801359550604088013594506060880135613f6281614a14565b93506080880135613f72816149ff565b925060a0880135613f82816149ff565b9150613f918960c08a01613bdc565b905092959891949750929550565b600060208284031215613fb0578081fd5b813560ff81168114612127578182fd5b90565b7035b2bc9737bbb730b136329737bbb732b960791b815260110190565b6001600160a01b0391909116815260200190565b6001600160a01b0397881681529590961660208601526040850193909352606084019190915260ff16608083015260a082015260c081019190915260e00190565b6001600160a01b03929092168252602082015260400190565b6001600160a01b03948516815260208101939093529083166040830152909116606082015260800190565b6001600160a01b0393841681526020810192909252909116604082015260600190565b8481526020810184905260408101839052608081016140ba836149f4565b606083015295945050505050565b6000602080835283518082850152825b818110156140f4578581018301518582016040015282016140d8565b818111156141055783604083870101525b50601f01601f1916929092016040019392505050565b6020808252603d908201527f426f72726f7765724f70733a2043616c6c657220646f65736e7420686176652060408201527f656e6f756768205a55534420746f206d616b652072657061796d656e74000000606082015260800190565b6020808252602d908201527f426f72726f7765724f70733a2053656e64696e672045544820746f204163746960408201526c1d99541bdbdb0819985a5b1959609a1b606082015260800190565b60208082526029908201527f444c4c52207472616e7366657272656420616d6f756e742076616c69646174696040820152681bdb8819985a5b195960ba1b606082015260800190565b6020808252601b908201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604082015260600190565b6020808252601e908201527f5a555344206973206e6f7420626f72726f77656420636f72726563746c790000604082015260600190565b60208082526022908201527f4f776e61626c653a3a7365744f776e65723a20696e76616c6964206164647265604082015261737360f01b606082015260800190565b60208082526030908201527f426f72726f7765724f7065726174696f6e733a2043616e6e6f7420776974686460408201526f1c985dc8185b99081859190818dbdb1b60821b606082015260800190565b60208082526039908201527f426f72726f7765724f70733a204f7065726174696f6e206e6f74207065726d696040820152787474656420647572696e67205265636f76657279204d6f646560381b606082015260800190565b60208082526037908201527f426f72726f7765724f70733a204f7065726174696f6e206d757374206c65617660408201527632903a3937bb32903bb4ba341024a1a9101f1e9021a1a960491b606082015260800190565b6020808252601e908201527f4163636f756e742063616e6e6f74206265207a65726f20616464726573730000604082015260600190565b60208082526032908201527f4d6178206665652070657263656e74616765206d757374206c657373207468616040820152716e206f7220657175616c20746f203130302560701b606082015260800190565b60208082526046908201527f426f72726f7765724f70733a205468657265206d75737420626520656974686560408201527f72206120636f6c6c61746572616c206368616e6765206f7220612064656274206060820152656368616e676560d01b608082015260a00190565b60208082526021908201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6040820152607760f81b606082015260800190565b60208082526049908201527f426f72726f7765724f70733a20416e206f7065726174696f6e2074686174207760408201527f6f756c6420726573756c7420696e20544352203c20434352206973206e6f74206060820152681c195c9b5a5d1d195960ba1b608082015260a00190565b6020808252602e908201527f426f72726f7765724f70733a2054726f766520646f6573206e6f74206578697360408201526d1d081bdc881a5cc818db1bdcd95960921b606082015260800190565b60208082526017908201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604082015260600190565b6020808252603e908201527f426f72726f7765724f70733a20436f6c6c61746572616c20776974686472617760408201527f616c206e6f74207065726d6974746564205265636f76657279204d6f64650000606082015260800190565b60208082526037908201527f4661696c656420746f20617070726f7665205a55534420616d6f756e7420666f60408201527672204d796e74206d417373657420746f2072656465656d60481b606082015260800190565b60208082526049908201527f426f72726f7765724f70733a20416e206f7065726174696f6e2074686174207760408201527f6f756c6420726573756c7420696e20494352203c204d4352206973206e6f74206060820152681c195c9b5a5d1d195960ba1b608082015260a00190565b6020808252603a908201527f426f72726f7765724f70733a2054726f76652773206e65742064656274206d7560408201527f73742062652067726561746572207468616e206d696e696d756d000000000000606082015260800190565b6020808252818101527f4163636f756e7420636f64652073697a652063616e6e6f74206265207a65726f604082015260600190565b60208082526043908201527f426f72726f7765724f70733a20416d6f756e7420726570616964206d7573742060408201527f6e6f74206265206c6172676572207468616e207468652054726f76652773206460608201526219589d60ea1b608082015260a00190565b60208082526029908201527f426f72726f7765724f70733a2043616c6c6572206973206e6f742053746162696040820152681b1a5d1e48141bdbdb60ba1b606082015260800190565b60208082526030908201527f4d6178206665652070657263656e74616765206d75737420626520626574776560408201526f656e20302e352520616e64203130302560801b606082015260800190565b6020808252601c908201527f426f72726f7765724f70733a2054726f76652069732061637469766500000000604082015260600190565b60208082526037908201527f426f72726f7765724f70733a204465627420696e637265617365207265717569604082015276726573206e6f6e2d7a65726f20646562744368616e676560481b606082015260800190565b6020808252603e908201527f426f72726f7765724f70733a2043616e6e6f7420646563726561736520796f7560408201527f722054726f766527732049435220696e205265636f76657279204d6f64650000606082015260800190565b6020808252601d908201527f4665652065786365656465642070726f7669646564206d6178696d756d000000604082015260600190565b60208082526016908201527513585cdcd95d081859191c995cdcc81b9bdd081cd95d60521b604082015260600190565b90815260200190565b806003811061089457fe5b6001600160a01b038116811461064957600080fd5b801515811461064957600080fdfec3770d654ed33aeea6bf11ac8ef05d02a6a04ed4686dd2f624d853bbec43cc8ba26469706673582212203cec7d4c5337979a752ab4f1b8da0cc607bc2508b28986739fefcae556b2e90264736f6c634300060b0033608060405234801561001057600080fd5b50610023336001600160e01b0361002816565b610110565b6001600160a01b03811661006d5760405162461bcd60e51b8152600401808060200182810382526022815260200180610df66022913960400191505060405180910390fd5b6001600160a01b0381166100886001600160e01b036100e616565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3604080517035b2bc9737bbb730b136329737bbb732b960791b8152905190819003601101902055565b604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205490565b610cd78061011f6000396000f3fe6080604052600436106100b65760003560e01c80635a4d28bb1161006f5780635a4d28bb1461022b57806364a197f314610240578063893d20e814610279578063a3f4df7e1461028e578063aac1846f14610318578063b7f8cf9b1461032d578063f2e91d71146103425761010f565b80630b622ab21461011457806313af40351461014557806314f6c3be1461017a5780632439789a146101a15780633963e980146101cb5780634a945f8d146101e05761010f565b3661010f576100c361036c565b6004546100d6903463ffffffff6103cc16565b600481905560408051918252517fca232b5abb988c540b959ff6c3bfae3e97fff964fd098c508f9613c0a6bf1a809181900360200190a1005b600080fd5b34801561012057600080fd5b5061012961042d565b604080516001600160a01b039092168252519081900360200190f35b34801561015157600080fd5b506101786004803603602081101561016857600080fd5b50356001600160a01b031661043c565b005b34801561018657600080fd5b5061018f6104af565b60408051918252519081900360200190f35b3480156101ad57600080fd5b50610178600480360360208110156101c457600080fd5b50356104b5565b3480156101d757600080fd5b5061018f61050a565b3480156101ec57600080fd5b506101786004803603608081101561020357600080fd5b506001600160a01b038135811691602081013582169160408201358116916060013516610510565b34801561023757600080fd5b506101296106cf565b34801561024c57600080fd5b506101786004803603604081101561026357600080fd5b506001600160a01b0381351690602001356106de565b34801561028557600080fd5b5061012961081f565b34801561029a57600080fd5b506102a3610849565b6040805160208082528351818301528351919283929083019185019080838360005b838110156102dd5781810151838201526020016102c5565b50505050905090810190601f16801561030a5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561032457600080fd5b5061012961086f565b34801561033957600080fd5b5061012961087e565b34801561034e57600080fd5b506101786004803603602081101561036557600080fd5b503561088d565b6000546001600160a01b031633148061038f57506003546001600160a01b031633145b6103ca5760405162461bcd60e51b8152600401808060200182810382526031815260200180610c716031913960400191505060405180910390fd5b565b600082820183811015610426576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b6002546001600160a01b031681565b61044461081f565b6001600160a01b0316336001600160a01b0316146104a3576040805162461bcd60e51b815260206004820152601760248201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604482015290519081900360640190fd5b6104ac816108a8565b50565b60045490565b6104bd61095d565b6005546104d0908263ffffffff6109d016565b600581905560408051918252517fc179e77847def189a2838a920a4d2d78f966467c47494a7fb5fbd1477a2cf4f59181900360200190a150565b60055490565b61051861081f565b6001600160a01b0316336001600160a01b031614610577576040805162461bcd60e51b815260206004820152601760248201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604482015290519081900360640190fd5b61058084610a12565b61058983610a12565b61059282610a12565b61059b81610a12565b600080546001600160a01b038087166001600160a01b031992831681179093556001805487831690841617905560028054868316908416179055600380549185169190921617905560408051918252517f3ca631ffcd2a9b5d9ae18543fc82f58eb4ca33af9e6ab01b7a8e95331e6ed9859181900360200190a1604080516001600160a01b038516815290517f143219c9e69b09e07e095fcc889b43d8f46ca892bba65f08dc3a0050869a56789181900360200190a1604080516001600160a01b038416815290517f82966d27eea39b038ee0fa30cd16532bb24f6e65d31cb58fb227aa5766cdcc7f9181900360200190a1604080516001600160a01b038316815290517f5ee0cae2f063ed938bb55046f6a932fb6ae792bf43624806bb90abe68a50be9b9181900360200190a150505050565b6001546001600160a01b031681565b6106e661095d565b6004546106f9908263ffffffff6109d016565b600481905560408051918252517fca232b5abb988c540b959ff6c3bfae3e97fff964fd098c508f9613c0a6bf1a809181900360200190a1604080516001600160a01b03841681526020810183905281517f6109e2559dfa766aaec7118351d48a523f0a4157f49c8d68749c8ac41318ad12929181900390910190a16040516000906001600160a01b0384169083908381818185875af1925050503d80600081146107bf576040519150601f19603f3d011682016040523d82523d6000602084013e6107c4565b606091505b505090508061081a576040805162461bcd60e51b815260206004820152601e60248201527f416374697665506f6f6c3a2073656e64696e6720455448206661696c65640000604482015290519081900360640190fd5b505050565b604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205490565b6040518060400160405280600a8152602001691058dd1a5d99541bdbdb60b21b81525081565b6003546001600160a01b031681565b6000546001600160a01b031681565b610895610ac5565b6005546104d0908263ffffffff6103cc16565b6001600160a01b0381166108ed5760405162461bcd60e51b8152600401808060200182810382526022815260200180610bfc6022913960400191505060405180910390fd5b806001600160a01b03166108ff61081f565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3604080517035b2bc9737bbb730b136329737bbb732b960791b8152905190819003601101902055565b6000546001600160a01b031633148061098057506001546001600160a01b031633145b8061099557506002546001600160a01b031633145b6103ca5760405162461bcd60e51b8152600401808060200182810382526053815260200180610c1e6053913960600191505060405180910390fd5b600061042683836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610b23565b6001600160a01b038116610a6d576040805162461bcd60e51b815260206004820152601e60248201527f4163636f756e742063616e6e6f74206265207a65726f20616464726573730000604482015290519081900360640190fd5b803b80610ac1576040805162461bcd60e51b815260206004820181905260248201527f4163636f756e7420636f64652073697a652063616e6e6f74206265207a65726f604482015290519081900360640190fd5b5050565b6000546001600160a01b0316331480610ae857506001546001600160a01b031633145b6103ca5760405162461bcd60e51b8152600401808060200182810382526041815260200180610bbb6041913960600191505060405180910390fd5b60008184841115610bb25760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610b77578181015183820152602001610b5f565b50505050905090810190601f168015610ba45780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50505090039056fe416374697665506f6f6c3a2043616c6c6572206973206e65697468657220426f72726f7765724f7065726174696f6e73206e6f722054726f76654d616e616765724f776e61626c653a3a7365744f776e65723a20696e76616c69642061646472657373416374697665506f6f6c3a2043616c6c6572206973206e65697468657220426f72726f7765724f7065726174696f6e73206e6f722054726f76654d616e61676572206e6f722053746162696c697479506f6f6c416374697665506f6f6c3a2043616c6c6572206973206e65697468657220424f206e6f722044656661756c7420506f6f6ca26469706673582212209b05c372200c8127ca513fb34ec2474a15cb2a4151e9268b0749f3eb662cb88b64736f6c634300060b00334f776e61626c653a3a7365744f776e65723a20696e76616c69642061646472657373608060405234801561001057600080fd5b50610023336001600160e01b0361002816565b610110565b6001600160a01b03811661006d5760405162461bcd60e51b8152600401808060200182810382526022815260200180610bd56022913960400191505060405180910390fd5b6001600160a01b0381166100886001600160e01b036100e616565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3604080517035b2bc9737bbb730b136329737bbb732b960791b8152905190819003601101902055565b604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205490565b610ab68061011f6000396000f3fe6080604052600436106100a05760003560e01c8063893d20e811610064578063893d20e8146101ca57806390107afe146101df578063a3f4df7e1461021a578063b08bc722146102a4578063be41205f146102b9578063f2e91d71146102e3576100f9565b806313af4035146100fe57806314f6c3be146101335780632439789a1461015a5780633963e980146101845780635a4d28bb14610199576100f9565b366100f9576100ad61030d565b6002546100c0903463ffffffff61035816565b600281905560408051918252517f9a14ae677a60400af9176bed2e2d5ce8dfa6405e6c1702debb27668f567214289181900360200190a1005b600080fd5b34801561010a57600080fd5b506101316004803603602081101561012157600080fd5b50356001600160a01b03166103b9565b005b34801561013f57600080fd5b5061014861042c565b60408051918252519081900360200190f35b34801561016657600080fd5b506101316004803603602081101561017d57600080fd5b5035610432565b34801561019057600080fd5b50610148610487565b3480156101a557600080fd5b506101ae61048d565b604080516001600160a01b039092168252519081900360200190f35b3480156101d657600080fd5b506101ae61049c565b3480156101eb57600080fd5b506101316004803603604081101561020257600080fd5b506001600160a01b03813581169160200135166104c6565b34801561022657600080fd5b5061022f6105df565b6040805160208082528351818301528351919283929083019185019080838360005b83811015610269578181015183820152602001610251565b50505050905090810190601f1680156102965780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156102b057600080fd5b506101ae610606565b3480156102c557600080fd5b50610131600480360360208110156102dc57600080fd5b5035610615565b3480156102ef57600080fd5b506101316004803603602081101561030657600080fd5b5035610765565b6001546001600160a01b031633146103565760405162461bcd60e51b8152600401808060200182810382526029815260200180610a0b6029913960400191505060405180910390fd5b565b6000828201838110156103b2576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b6103c161049c565b6001600160a01b0316336001600160a01b031614610420576040805162461bcd60e51b815260206004820152601760248201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604482015290519081900360640190fd5b61042981610780565b50565b60025490565b61043a610835565b60035461044d908263ffffffff61087e16565b600381905560408051918252517f636083bfd8929ae461979d51af53349434cd5ee35f983909b704bded4142b9519181900360200190a150565b60035490565b6000546001600160a01b031681565b604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205490565b6104ce61049c565b6001600160a01b0316336001600160a01b03161461052d576040805162461bcd60e51b815260206004820152601760248201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604482015290519081900360640190fd5b610536826108c0565b61053f816108c0565b600080546001600160a01b038085166001600160a01b03199283168117909355600180549185169190921617905560408051918252517f143219c9e69b09e07e095fcc889b43d8f46ca892bba65f08dc3a0050869a56789181900360200190a1604080516001600160a01b038316815290517f78f058b189175430c48dc02699e3a0031ea4ff781536dc2fab847de4babdd8829181900360200190a15050565b6040518060400160405280600b81526020016a111959985d5b1d141bdbdb60aa1b81525081565b6001546001600160a01b031681565b61061d610835565b6001546002546001600160a01b039091169061063f908363ffffffff61087e16565b600281905560408051918252517f9a14ae677a60400af9176bed2e2d5ce8dfa6405e6c1702debb27668f567214289181900360200190a1604080516001600160a01b03831681526020810184905281517f6109e2559dfa766aaec7118351d48a523f0a4157f49c8d68749c8ac41318ad12929181900390910190a16040516000906001600160a01b0383169084908381818185875af1925050503d8060008114610705576040519150601f19603f3d011682016040523d82523d6000602084013e61070a565b606091505b5050905080610760576040805162461bcd60e51b815260206004820152601f60248201527f44656661756c74506f6f6c3a2073656e64696e6720455448206661696c656400604482015290519081900360640190fd5b505050565b61076d610835565b60035461044d908263ffffffff61035816565b6001600160a01b0381166107c55760405162461bcd60e51b8152600401808060200182810382526022815260200180610a346022913960400191505060405180910390fd5b806001600160a01b03166107d761049c565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3604080517035b2bc9737bbb730b136329737bbb732b960791b8152905190819003601101902055565b6000546001600160a01b031633146103565760405162461bcd60e51b815260040180806020018281038252602b815260200180610a56602b913960400191505060405180910390fd5b60006103b283836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610973565b6001600160a01b03811661091b576040805162461bcd60e51b815260206004820152601e60248201527f4163636f756e742063616e6e6f74206265207a65726f20616464726573730000604482015290519081900360640190fd5b803b8061096f576040805162461bcd60e51b815260206004820181905260248201527f4163636f756e7420636f64652073697a652063616e6e6f74206265207a65726f604482015290519081900360640190fd5b5050565b60008184841115610a025760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156109c75781810151838201526020016109af565b50505050905090810190601f1680156109f45780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50505090039056fe44656661756c74506f6f6c3a2043616c6c6572206973206e6f742074686520416374697665506f6f6c4f776e61626c653a3a7365744f776e65723a20696e76616c6964206164647265737344656661756c74506f6f6c3a2043616c6c6572206973206e6f74207468652054726f76654d616e61676572a2646970667358221220d99aea28c644c442996807d1a9df6b9c6fcb9a4741349be927c8e86d5886d30464736f6c634300060b00334f776e61626c653a3a7365744f776e65723a20696e76616c6964206164647265737360806040523480156200001157600080fd5b5062000026336001600160e01b036200002c16565b62000150565b6001600160a01b0381166200005e5760405162461bcd60e51b815260040162000055906200010e565b60405180910390fd5b6001600160a01b0381166200007b6001600160e01b03620000d016565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000604051620000c090620000f1565b6040519081900390209190915550565b600080604051620000e190620000f1565b6040519081900390205492915050565b7035b2bc9737bbb730b136329737bbb732b960791b815260110190565b60208082526022908201527f4f776e61626c653a3a7365744f776e65723a20696e76616c6964206164647265604082015261737360f01b606082015260800190565b61437380620001606000396000f3fe60806040526004361061028c5760003560e01c80638692a8a21161015a578063b31ee965116100c1578063d733cfd01161007a578063d733cfd01461073d578063d7fb04431461075d578063df9cd84f14610772578063ec9f7d4614610792578063fc7e286d146107a7578063fda0101a146107d5576102d7565b8063b31ee965146106a9578063b71d3bf3146106be578063bdaf37ea146106d3578063c0a90828146106e8578063c3a34a0e14610708578063ce4b5bbe14610728576102d7565b80639f070670116101135780639f0706701461061a578063a20baee6146104c6578063a3f4df7e1461062f578063a4e59ac814610651578063a7bfff9714610666578063ae91875414610694576102d7565b80638692a8a21461058657806386da0824146105a6578063887105d3146105c6578063893d20e8146105db5780638b8fbd92146105f057806395fb16bb14610605576102d7565b806340ed1afd116101fe578063759b3034116101b7578063759b3034146104f0578063766718081461050557806377553ad414610527578063795d26c31461053c5780637f7dde4a1461055157806382e0a57414610566576102d7565b806340ed1afd14610446578063556be101146104665780635d2de642146104865780635f788d65146104a657806372fe25aa146104c6578063741bef1a146104db576102d7565b806328a0a04d1161025057806328a0a04d1461038f5780632e54bf95146103af578063335525ad146103cf578063389e92a5146103ef5780633cc742251461040f5780633d83908a14610431576102d7565b80630fbfe38b146102dc57806313af4035146102fe57806314f6c3be1461031e57806316b9d3c5146103495780631bf435551461037a576102d7565b366102d7576102996107f5565b6009546102ac903463ffffffff61082a16565b60098190556040516000805160206142be833981519152916102cd9161422a565b60405180910390a1005b600080fd5b3480156102e857600080fd5b506102fc6102f73660046138ab565b610858565b005b34801561030a57600080fd5b506102fc61031936600461373f565b610a58565b34801561032a57600080fd5b50610333610a9c565b604051610340919061422a565b60405180910390f35b34801561035557600080fd5b5061036961036436600461373f565b610aa2565b604051610340959493929190614279565b34801561038657600080fd5b50610333610add565b34801561039b57600080fd5b506103336103aa366004613877565b610aea565b3480156103bb57600080fd5b506102fc6103ca3660046138ab565b610b07565b3480156103db57600080fd5b506102fc6103ea366004613935565b610b15565b3480156103fb57600080fd5b5061033361040a36600461373f565b610b78565b34801561041b57600080fd5b50610424610c20565b6040516103409190613997565b34801561043d57600080fd5b50610424610c2f565b34801561045257600080fd5b5061033361046136600461373f565b610c3e565b34801561047257600080fd5b506102fc6104813660046138ab565b610cdb565b34801561049257600080fd5b506103336104a136600461373f565b610d53565b3480156104b257600080fd5b506102fc6104c13660046138db565b610d65565b3480156104d257600080fd5b50610333610d6f565b3480156104e757600080fd5b50610424610d7b565b3480156104fc57600080fd5b50610333610d8a565b34801561051157600080fd5b5061051a610d97565b6040516103409190614216565b34801561053357600080fd5b50610424610dad565b34801561054857600080fd5b50610333610dbc565b34801561055d57600080fd5b50610424610edb565b34801561057257600080fd5b50610333610581366004613877565b610eea565b34801561059257600080fd5b506103336105a136600461373f565b610f07565b3480156105b257600080fd5b506103696105c136600461373f565b61100b565b3480156105d257600080fd5b50610333611046565b3480156105e757600080fd5b50610424611115565b3480156105fc57600080fd5b50610333611134565b34801561061157600080fd5b5061042461113a565b34801561062657600080fd5b50610424611149565b34801561063b57600080fd5b50610644611158565b6040516103409190613ab4565b34801561065d57600080fd5b5061051a611181565b34801561067257600080fd5b5061068661068136600461373f565b611190565b60405161034092919061424a565b3480156106a057600080fd5b506104246111ac565b3480156106b557600080fd5b506103336111bb565b3480156106ca57600080fd5b506103336111c1565b3480156106df57600080fd5b506103336111c7565b3480156106f457600080fd5b5061033361070336600461373f565b6111cd565b34801561071457600080fd5b506102fc6107233660046138ff565b6112ca565b34801561073457600080fd5b5061033361136e565b34801561074957600080fd5b506102fc6107583660046137af565b611376565b34801561076957600080fd5b50610333611608565b34801561077e57600080fd5b5061033361078d36600461373f565b61160e565b34801561079e57600080fd5b506104246116ab565b3480156107b357600080fd5b506107c76107c236600461373f565b6116ba565b604051610340929190614233565b3480156107e157600080fd5b506102fc6107f0366004613777565b6116dc565b6000546001600160a01b031633146108285760405162461bcd60e51b815260040161081f90613cac565b60405180910390fd5b565b60008282018381101561084f5760405162461bcd60e51b815260040161081f90613bbc565b90505b92915050565b6000600460009054906101000a90046001600160a01b03166001600160a01b031663e9fc34616040518163ffffffff1660e01b815260040160206040518083038186803b1580156108a857600080fd5b505afa1580156108bc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108e0919061375b565b905060006108ee8330611922565b60065460405163095ea7b360e01b81529192506001600160a01b03169063095ea7b3906109219085908590600401613a33565b602060405180830381600087803b15801561093b57600080fd5b505af115801561094f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109739190613857565b61098f5760405162461bcd60e51b815260040161081f90614043565b60065460405163438b1b4b60e01b81526001600160a01b038481169263438b1b4b926109c5929091169085903390600401613a6d565b602060405180830381600087803b1580156109df57600080fd5b505af11580156109f3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a1791906138c3565b507f2b0fbec1c4e7e30517f196a714775ffe72770d2348f5d586854bb3c0fdf41df8338483604051610a4b93929190613a4c565b60405180910390a1505050565b610a60611115565b6001600160a01b0316336001600160a01b031614610a905760405162461bcd60e51b815260040161081f90613f71565b610a9981611aed565b50565b60095490565b600f602052600090815260409020805460018201546002830154600390930154919290916001600160801b0380821691600160801b90041685565b6809c2007651b250000081565b601260209081526000928352604080842090915290825290205481565b610b118133611922565b5050565b610b1d611b78565b600a54801580610b2b575082155b15610b365750610b11565b600854610b4b906001600160a01b0316611ba2565b600080610b59848685611c22565b91509150610b678282611d1b565b610b71848661201c565b5050505050565b6001600160a01b0381166000908152600b602052604081205480610ba0576000915050610c1b565b610ba86136e7565b506001600160a01b0383166000908152600c60209081526040808320815160a08101835281548152600182015493810193909352600281015491830191909152600301546001600160801b038082166060840152600160801b90910416608082015290610c158383612152565b93505050505b919050565b6001546001600160a01b031681565b6005546001600160a01b031681565b6001600160a01b0381166000908152600b602052604081205480610c66576000915050610c1b565b610c6e6136e7565b506001600160a01b0383166000908152600c60209081526040808320815160a08101835281548152600182015493810193909352600281015491830191909152600301546001600160801b038082166060840152600160801b90910416608082015290610c158383612243565b610ce43361233f565b610ced3361237b565b610cf6816123b2565b336000818152600d6020526040908190208381556001908101805460ff19169091179055517f19bc932fb9e16a8b5a1e41be9f4c2de59d5ddd7567b8b81405f532ca00a9880e90610d4890849061422a565b60405180910390a250565b600e6020526000908152604090205481565b610b1182826123da565b670de0b6b3a764000081565b6002546001600160a01b031681565b6801158e460913d0000081565b601154600160801b90046001600160801b031681565b6004546001600160a01b031681565b60008054604080516272c7d360e71b8152905183926001600160a01b031691633963e980916004808301926020929190829003018186803b158015610e0057600080fd5b505afa158015610e14573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e3891906138c3565b90506000600160009054906101000a90046001600160a01b03166001600160a01b0316633963e9806040518163ffffffff1660e01b815260040160206040518083038186803b158015610e8a57600080fd5b505afa158015610e9e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ec291906138c3565b9050610ed4828263ffffffff61082a16565b9250505090565b6000546001600160a01b031681565b601360209081526000928352604080842090915290825290205481565b6001600160a01b0381166000908152600e602052604081205480610f2f576000915050610c1b565b6001600160a01b0383166000908152600d602052604081205490610f61670de0b6b3a76400008363ffffffff61257d16565b9050610f6b6136e7565b506001600160a01b0385166000908152600f60209081526040808320815160a08101835281548152600182015493810193909352600281015491830191909152600301546001600160801b038082166060840152600160801b90910416608082015290611000670de0b6b3a7640000610ff4610fe788866125bf565b869063ffffffff61264b16565b9063ffffffff61268516565b979650505050505050565b600c602052600090815260409020805460018201546002830154600390930154919290916001600160801b0380821691600160801b90041685565b6000805460408051630a7b61df60e11b8152905183926001600160a01b0316916314f6c3be916004808301926020929190829003018186803b15801561108b57600080fd5b505afa15801561109f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110c391906138c3565b90506000600160009054906101000a90046001600160a01b03166001600160a01b03166314f6c3be6040518163ffffffff1660e01b815260040160206040518083038186803b158015610e8a57600080fd5b6000806040516111249061397a565b6040519081900390205492915050565b60105481565b6008546001600160a01b031681565b6003546001600160a01b031681565b6040518060400160405280600d81526020016c14dd18589a5b1a5d1e541bdbdb609a1b81525081565b6011546001600160801b031681565b600d602052600090815260409020805460019091015460ff1682565b6007546001600160a01b031681565b60165481565b60145481565b600a5490565b6001600160a01b0381166000908152600b6020526040812054806111f5576000915050610c1b565b6001600160a01b038084166000908152600b602052604081206001015490911690811561123a576001600160a01b0382166000908152600d6020526040902054611244565b670de0b6b3a76400005b905061124e6136e7565b506001600160a01b0385166000908152600c60209081526040808320815160a08101835281548152600182015493810193909352600281015491830191909152600301546001600160801b038082166060840152600160801b90910416608082015290611000670de0b6b3a7640000610ff4610fe788866125bf565b600480546040805163e9fc346160e01b8152905160009361135c936001600160a01b03169263e9fc34619281830192602092829003018186803b15801561131057600080fd5b505afa158015611324573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611348919061375b565b60065485906001600160a01b0316856126c7565b90506113698160006123da565b505050565b633b9aca0081565b61137e611115565b6001600160a01b0316336001600160a01b0316146113ae5760405162461bcd60e51b815260040161081f90613f71565b6113b78861296c565b6113c08761296c565b6113c98661296c565b6113d28561296c565b6113db8461296c565b6113e48361296c565b6113ed8261296c565b6113f68161296c565b670de0b6b3a7640000601055600380546001600160a01b03199081166001600160a01b038b8116919091179092556004805482168a8416179055600580548216898416179055600080548216888416179055600680548216878416179055600780548216868416179055600280548216858416179055600880549091169183169190911790556040517f3ca631ffcd2a9b5d9ae18543fc82f58eb4ca33af9e6ab01b7a8e95331e6ed985906114ac908990613997565b60405180910390a17f143219c9e69b09e07e095fcc889b43d8f46ca892bba65f08dc3a0050869a5678866040516114e39190613997565b60405180910390a17f78f058b189175430c48dc02699e3a0031ea4ff781536dc2fab847de4babdd8828560405161151a9190613997565b60405180910390a17fcdf33850c44a1a874b5fefb51dae615ac6afebd581ef90d571f81b06541d8e9d846040516115519190613997565b60405180910390a17f65f4cf077bc01e4742eb5ad98326f6e95b63548ea24b17f8d5e823111fe78800836040516115889190613997565b60405180910390a17f8c537274438aa850a330284665d81a85dd38267d09e4050d416bfc94142db264826040516115bf9190613997565b60405180910390a17f3055265812fb8447b9ada4a5d804ec43bd528ec40e89c952bbc7b85dc5ac6811816040516115f69190613997565b60405180910390a15050505050505050565b60155481565b6001600160a01b0381166000908152600e602052604081205480611636576000915050610c1b565b61163e6136e7565b506001600160a01b0383166000908152600f60209081526040808320815160a08101835281548152600182015493810193909352600281015491830191909152600301546001600160801b038082166060840152600160801b90910416608082015290610c158383612243565b6006546001600160a01b031681565b600b60205260009081526040902080546001909101546001600160a01b031682565b336000908152600b60205260409020546116f5816129b1565b6116fe336129d1565b61170733612a70565b6008546001600160a01b031661171c81611ba2565b600061172733610b78565b9050600061173433610c3e565b90506000611748858363ffffffff61257d16565b336000818152600b60205260409020600101549192506001600160a01b039091169061177690869083612a9d565b60006117818261160e565b90508061178e8382612c12565b826001600160a01b031660008051602061431e83398151915282336040516117b7929190614233565b60405180910390a26117c93386612d5a565b336001600160a01b03166000805160206142fe83398151915287866040516117f2929190613a90565b60405180910390a2336001600160a01b03166000805160206142de83398151915286604051611821919061422a565b60405180910390a260095461183c908763ffffffff61257d16565b60098190556040516000805160206142be8339815191529161185d9161422a565b60405180910390a17f6109e2559dfa766aaec7118351d48a523f0a4157f49c8d68749c8ac41318ad123387604051611896929190613a33565b60405180910390a1600460009054906101000a90046001600160a01b03166001600160a01b031663ea9638bf87338d8d6040518563ffffffff1660e01b81526004016118e4939291906139ab565b6000604051808303818588803b1580156118fd57600080fd5b505af1158015611911573d6000803e3d6000fd5b505050505050505050505050505050565b60006001600160a01b03821661194a5760405162461bcd60e51b815260040161081f90613e88565b821561195857611958612ecf565b336000908152600b6020526040902054611971816129b1565b6008546001600160a01b031661198681611ba2565b600061199133610b78565b9050600061199e33610c3e565b905060006119ac8883613106565b905060006119c0868463ffffffff61257d16565b336000818152600b60205260409020600101549192506001600160a01b03909116906119ee90879083612a9d565b60006119f98261160e565b90506000611a0d828663ffffffff61257d16565b9050611a198382612c12565b826001600160a01b031660008051602061431e8339815191528233604051611a42929190614233565b60405180910390a2611a548b8661311c565b6000611a66878763ffffffff61257d16565b9050611a723382612d5a565b336001600160a01b03166000805160206142de83398151915282604051611a99919061422a565b60405180910390a2336001600160a01b03166000805160206142fe8339815191528987604051611aca929190613a90565b60405180910390a2611adc8833613195565b50939b9a5050505050505050505050565b6001600160a01b038116611b135760405162461bcd60e51b815260040161081f90613cf3565b806001600160a01b0316611b25611115565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000604051611b689061397a565b6040519081900390209190915550565b6005546001600160a01b031633146108285760405162461bcd60e51b815260040161081f90613dbd565b6000816001600160a01b031663e59be5866040518163ffffffff1660e01b8152600401602060405180830381600087803b158015611bdf57600080fd5b505af1158015611bf3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c1791906138c3565b9050610b11816132c4565b6000806000611c54601554611c48670de0b6b3a76400008961264b90919063ffffffff16565b9063ffffffff61082a16565b905083851115611c6057fe5b83851415611c7d576000601655670de0b6b3a76400009150611cdd565b601654600090611cab90611c9f88670de0b6b3a764000063ffffffff61264b16565b9063ffffffff61257d16565b9050611cc26001611c48838863ffffffff61268516565b9250611cd881611c9f858863ffffffff61264b16565b601655505b611ced818563ffffffff61268516565b9250611d0f611d02848663ffffffff61264b16565b829063ffffffff61257d16565b60155550935093915050565b6010546000670de0b6b3a7640000831115611d3257fe5b6000611d4c670de0b6b3a76400008563ffffffff61257d16565b6011546001600160801b03600160801b820481166000818152601260209081526040808320949095168083529390529283205493945090929091611d90898861264b565b90506000611da4838363ffffffff61082a16565b6001600160801b038086166000908152601260209081526040808320938a168352929052819020829055519091507fe12e2cd2c9afa8069203ca07e7eff1edce4a075686d0736a8e7e0d593597b20790611e039083908790899061425a565b60405180910390a185611edc57611e2a6001600160801b038516600163ffffffff6133d516565b601180546001600160801b03908116600160801b938216840217918290556040517fb50f0f59e7cb5b421dc77581c3a9919e3806e076e5fa78a874c3f120cb7d874d93611e7b930490911690614216565b60405180910390a1601180546001600160801b03191690556040517f1f9dfc70cd666adb18a39d60a797518f7b4febf4b6e24ef37d44f6e1e7219fbe90611ec490600090614216565b60405180910390a1670de0b6b3a76400009650611fc9565b633b9aca00611efd670de0b6b3a7640000610ff48b8a63ffffffff61264b16565b1015611faa57611f33670de0b6b3a7640000610ff4633b9aca00611f278c8b63ffffffff61264b16565b9063ffffffff61264b16565b9650611f4f6001600160801b038616600163ffffffff6133d516565b601180546001600160801b0319166001600160801b0392831617908190556040517f1f9dfc70cd666adb18a39d60a797518f7b4febf4b6e24ef37d44f6e1e7219fbe92611f9d921690614216565b60405180910390a1611fc9565b611fc6670de0b6b3a7640000610ff48a8963ffffffff61264b16565b96505b60008711611fd357fe5b60108790556040517fc1a9618cb59ebca77cbdbc2949f126823c407ff13edb285fd0262519a9c18e8c9061200890899061422a565b60405180910390a150505050505050505050565b60005460405163121cbc4d60e11b81526001600160a01b03909116908190632439789a9061204e90859060040161422a565b600060405180830381600087803b15801561206857600080fd5b505af115801561207c573d6000803e3d6000fd5b5050505061208982613406565b600654604051632770a7eb60e21b81526001600160a01b0390911690639dc29fac906120bb9030908690600401613a33565b600060405180830381600087803b1580156120d557600080fd5b505af11580156120e9573d6000803e3d6000fd5b50506040516364a197f360e01b81526001600160a01b03841692506364a197f3915061211b9030908790600401613a33565b600060405180830381600087803b15801561213557600080fd5b505af1158015612149573d6000803e3d6000fd5b50505050505050565b6080810151606082015182516020808501516001600160801b038086166000908152601284526040808220928716825291909352822054919493929185906121a0908463ffffffff61257d16565b6001600160801b0380871660009081526012602052604081209293509161220391633b9aca00919084906121dd908a16600163ffffffff6133d516565b6001600160801b031681526020810191909152604001600020549063ffffffff61268516565b90506000612235670de0b6b3a7640000610ff48681612228888863ffffffff61082a16565b8f9063ffffffff61264b16565b9a9950505050505050505050565b6020810151606082015160808301516011546000939291906001600160801b03600160801b909104811690821610156122825760009350505050610852565b60115460009081906122a3906001600160801b03168563ffffffff61346016565b90506001600160801b0381166122d3576122cc85610ff46010548b61264b90919063ffffffff16565b915061230b565b806001600160801b031660011415612306576122cc633b9aca00610ff487610ff46010548d61264b90919063ffffffff16565b600091505b61231f88633b9aca0063ffffffff61268516565b82101561233457600095505050505050610852565b509695505050505050565b6001600160a01b0381166000908152600d602052604090206001015460ff1615610a995760405162461bcd60e51b815260040161081f90613fa2565b6001600160a01b0381166000908152600b60205260409020548015610b115760405162461bcd60e51b815260040161081f90613ffb565b670de0b6b3a7640000811115610a995760405162461bcd60e51b815260040161081f90613ed8565b6123e38161349a565b6123ec3361233f565b6123f5826134e7565b336000908152600b60205260409020546008546001600160a01b031661241a81611ba2565b81612429576124293384613507565b600061243433610b78565b9050600061244133610c3e565b90506000612455858363ffffffff61257d16565b336000818152600b60205260409020600101549192506001600160a01b039091169061248390869083612a9d565b600061248e8261160e565b905060006124a2828b63ffffffff61082a16565b90506124ae8382612c12565b826001600160a01b031660008051602061431e83398151915282336040516124d7929190614233565b60405180910390a26124e9338b613561565b60006124fb868c63ffffffff61082a16565b90506125073382612d5a565b336001600160a01b03166000805160206142de8339815191528260405161252e919061422a565b60405180910390a2336001600160a01b03166000805160206142fe833981519152888760405161255f929190613a90565b60405180910390a261257087613615565b5050505050505050505050565b600061084f83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061361f565b608081015160608201516040808401516020808601516001600160801b0380871660009081526013845285812091871681529252928120549094939290859061260e908463ffffffff61257d16565b6001600160801b0380871660009081526013602052604081209293509161220391633b9aca00919084906121dd908a16600163ffffffff6133d516565b60008261265a57506000610852565b8282028284828161266757fe5b041461084f5760405162461bcd60e51b815260040161081f90613e47565b600061084f83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061364b565b600080856001600160a01b03166321df0da76040518163ffffffff1660e01b815260040160206040518083038186803b15801561270357600080fd5b505afa158015612717573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061273b919061375b565b90506000816001600160a01b03166370a08231306040518263ffffffff1660e01b815260040161276b9190613997565b60206040518083038186803b15801561278357600080fd5b505afa158015612797573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127bb91906138c3565b9050306001600160a01b03831663605629d633838a89356127e260408c0160208d01613956565b8b604001358c606001356040518863ffffffff1660e01b815260040161280e97969594939291906139f2565b600060405180830381600087803b15801561282857600080fd5b505af115801561283c573d6000803e3d6000fd5b50505050866128c183856001600160a01b03166370a08231856040518263ffffffff1660e01b81526004016128719190613997565b60206040518083038186803b15801561288957600080fd5b505afa15801561289d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c9f91906138c3565b146128de5760405162461bcd60e51b815260040161081f90613b73565b60405163fb2c922360e01b81526001600160a01b0389169063fb2c92239061290e9089908b903390600401613a6d565b602060405180830381600087803b15801561292857600080fd5b505af115801561293c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061296091906138c3565b98975050505050505050565b6001600160a01b0381166129925760405162461bcd60e51b815260040161081f90613d35565b803b80610b115760405162461bcd60e51b815260040161081f9061409a565b60008111610a995760405162461bcd60e51b815260040161081f906140cf565b6005546040516321e3780160e01b81526001600160a01b03909116906321e3780190612a01908490600401613997565b60206040518083038186803b158015612a1957600080fd5b505afa158015612a2d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612a5191906138c3565b600114610a995760405162461bcd60e51b815260040161081f90613b07565b6000612a7b82610b78565b905060008111610b115760405162461bcd60e51b815260040161081f90613d6c565b6001600160a01b03811615612b5d576000612ab782610f07565b6040516306e6c58360e31b81529091506001600160a01b038516906337362c1890612ae89085908590600401613a33565b600060405180830381600087803b158015612b0257600080fd5b505af1158015612b16573d6000803e3d6000fd5b50505050816001600160a01b03167fea80c5084fc812c1d3ccd3e420d32e85001442759aa2261773ffa052cbd660b682604051612b53919061422a565b60405180910390a2505b6000612b68836111cd565b6040516306e6c58360e31b81529091506001600160a01b038516906337362c1890612b999086908590600401613a33565b600060405180830381600087803b158015612bb357600080fd5b505af1158015612bc7573d6000803e3d6000fd5b50505050826001600160a01b03167fc250d4f5c804eafb4ed97612e247bbc934de6fede0e59e4d263e190fb335193f82604051612c04919061422a565b60405180910390a250505050565b6001600160a01b0382166000908152600e6020526040902081905580612c9d576001600160a01b0382166000818152600f60205260408082208281556001810183905560028101839055600301829055517fbb1322f85cc7cc8bac4e172a5bc5dcc0c1959007f9a030032abf9258205f0e4591612c90918190613a90565b60405180910390a2610b11565b6011546010546001600160801b03600160801b80840482166000818152601360209081526040808320978616808452978252808320546001600160a01b038b16808552600f90935292819020600181018890556002810184905560030180546001600160801b0319168917909616948402949094179094559151909392907fbb1322f85cc7cc8bac4e172a5bc5dcc0c1959007f9a030032abf9258205f0e4590612d4a9085908590613a90565b60405180910390a2505050505050565b6001600160a01b0382166000908152600b6020526040902081905580612df8576001600160a01b0382166000818152600b60209081526040808320600190810180546001600160a01b0319169055600c909252808320838155918201839055600282018390556003909101829055517f2d6cc0bcdf72c9486f6451bde6b80f44066f4558f77f44dbfedbe7d8b295225a91612c909181908190613a9e565b6011546010546001600160801b03600160801b8084048216600081815260126020908152604080832097861680845297825280832054848452601383528184208985528352818420546001600160a01b038c16808652600c90945293829020600181018990558181556002810185905560030180546001600160801b0319168a1790971695850295909517909555935191949390917f2d6cc0bcdf72c9486f6451bde6b80f44066f4558f77f44dbfedbe7d8b295225a90612ebe90869086908690613a9e565b60405180910390a250505050505050565b60025460408051630fdb11cf60e01b815290516000926001600160a01b031691630fdb11cf91600480830192602092919082900301818787803b158015612f1557600080fd5b505af1158015612f29573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612f4d91906138c3565b90506000600760009054906101000a90046001600160a01b03166001600160a01b0316634d6228316040518163ffffffff1660e01b815260040160206040518083038186803b158015612f9f57600080fd5b505afa158015612fb3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612fd7919061375b565b600554604051630d293c7160e41b81529192506000916001600160a01b039091169063d293c7109061300f9085908790600401613a33565b60206040518083038186803b15801561302757600080fd5b505afa15801561303b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061305f91906138c3565b9050600360009054906101000a90046001600160a01b03166001600160a01b031663794e57246040518163ffffffff1660e01b815260040160206040518083038186803b1580156130af57600080fd5b505afa1580156130c3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906130e791906138c3565b8110156113695760405162461bcd60e51b815260040161081f906141ac565b6000818310613115578161084f565b5090919050565b8061312657610b11565b600654604051631062c15f60e11b81526001600160a01b03909116906320c582be9061315a903090869086906004016139ce565b600060405180830381600087803b15801561317457600080fd5b505af1158015613188573d6000803e3d6000fd5b50505050610b1181613406565b6001600160a01b0381166131bb5760405162461bcd60e51b815260040161081f90613bf3565b816131c557610b11565b6009546000906131db908463ffffffff61257d16565b9050806009819055506000805160206142be83398151915281604051613201919061422a565b60405180910390a17f6109e2559dfa766aaec7118351d48a523f0a4157f49c8d68749c8ac41318ad12338460405161323a929190613a33565b60405180910390a16000336001600160a01b03168460405161325b90613977565b60006040518083038185875af1925050503d8060008114613298576040519150601f19603f3d011682016040523d82523d6000602084013e61329d565b606091505b50509050806132be5760405162461bcd60e51b815260040161081f90613e06565b50505050565b600a548015806132d2575081155b156132dd5750610a99565b60006132e98383613682565b905060006133026010548361264b90919063ffffffff16565b6011546001600160801b03600160801b820481166000908152601360209081526040808320939094168252919091522054909150613346908263ffffffff61082a16565b601180546001600160801b03600160801b80830482166000908152601360208181526040808420968616845295815285832097909755945491820483168082529486528381209190921680835294528190205490517f2d6127771b164a9cc8827d24b5955db2a77e7a81dac389107ebb8bce9fb64968936133c7939161425a565b60405180910390a150505050565b60008282016001600160801b03808516908216101561084f5760405162461bcd60e51b815260040161081f90614167565b600a5460009061341c908363ffffffff61257d16565b905080600a819055507ff3c69a10dcea5d744225cbe910fb39d6f8208bb8e21fff523d6756a7966093c781604051613454919061422a565b60405180910390a15050565b6000826001600160801b0316826001600160801b031611156134945760405162461bcd60e51b815260040161081f9061411f565b50900390565b6001600160a01b0381166000908152600d602052604090206001015460ff16806134cb57506001600160a01b038116155b610a995760405162461bcd60e51b815260040161081f90613c40565b60008111610a995760405162461bcd60e51b815260040161081f90613f2b565b6001600160a01b038281166000818152600b602052604080822060010180546001600160a01b0319169486169485179055517f094c08e96a8890877a8390b4f967180a7507ad8622244d05fcd0f9f8e086564e9190a35050565b600654604051632ee65eeb60e21b81526001600160a01b039091169063bb997bac90613595908590309086906004016139ce565b600060405180830381600087803b1580156135af57600080fd5b505af11580156135c3573d6000803e3d6000fd5b5050600a54600092506135dd91508363ffffffff61082a16565b905080600a819055507ff3c69a10dcea5d744225cbe910fb39d6f8208bb8e21fff523d6756a7966093c781604051610a4b919061422a565b610a998133613195565b600081848411156136435760405162461bcd60e51b815260040161081f9190613ab4565b505050900390565b6000818361366c5760405162461bcd60e51b815260040161081f9190613ab4565b50600083858161367857fe5b0495945050505050565b6000806136a6601454611c48670de0b6b3a76400008761264b90919063ffffffff16565b905060006136ba828563ffffffff61268516565b90506136dc6136cf828663ffffffff61264b16565b839063ffffffff61257d16565b601455949350505050565b6040518060a0016040528060008152602001600081526020016000815260200160006001600160801b0316815260200160006001600160801b031681525090565b80356001600160801b038116811461085257600080fd5b600060208284031215613750578081fd5b813561084f816142a8565b60006020828403121561376c578081fd5b815161084f816142a8565b60008060408385031215613789578081fd5b8235613794816142a8565b915060208301356137a4816142a8565b809150509250929050565b600080600080600080600080610100898b0312156137cb578384fd5b88356137d6816142a8565b975060208901356137e6816142a8565b965060408901356137f6816142a8565b95506060890135613806816142a8565b94506080890135613816816142a8565b935060a0890135613826816142a8565b925060c0890135613836816142a8565b915060e0890135613846816142a8565b809150509295985092959890939650565b600060208284031215613868578081fd5b8151801515811461084f578182fd5b60008060408385031215613889578182fd5b6138938484613728565b91506138a28460208501613728565b90509250929050565b6000602082840312156138bc578081fd5b5035919050565b6000602082840312156138d4578081fd5b5051919050565b600080604083850312156138ed578182fd5b8235915060208301356137a4816142a8565b60008082840360a0811215613912578283fd5b833592506080601f1982011215613927578182fd5b506020830190509250929050565b60008060408385031215613947578182fd5b50508035926020909101359150565b600060208284031215613967578081fd5b813560ff8116811461084f578182fd5b90565b7035b2bc9737bbb730b136329737bbb732b960791b815260110190565b6001600160a01b0391909116815260200190565b6001600160a01b0393841681529183166020830152909116604082015260600190565b6001600160a01b039384168152919092166020820152604081019190915260600190565b6001600160a01b0397881681529590961660208601526040850193909352606084019190915260ff16608083015260a082015260c081019190915260e00190565b6001600160a01b03929092168252602082015260400190565b6001600160a01b039390931683526020830191909152604082015260600190565b6001600160a01b0393841681526020810192909252909116604082015260600190565b918252602082015260400190565b9283526020830191909152604082015260600190565b6000602080835283518082850152825b81811015613ae057858101830151858201604001528201613ac4565b81811115613af15783604083870101525b50601f01601f1916929092016040019392505050565b60208082526046908201527f53746162696c697479506f6f6c3a2063616c6c6572206d75737420686176652060408201527f616e206163746976652074726f766520746f207769746864726177204554484760608201526561696e20746f60d01b608082015260a00190565b60208082526029908201527f444c4c52207472616e7366657272656420616d6f756e742076616c69646174696040820152681bdb8819985a5b195960ba1b606082015260800190565b6020808252601b908201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604082015260600190565b6020808252602d908201527f53503a3a5f73656e644554484761696e546f3a205f726563656976657220697360408201526c207a65726f206164647265737360981b606082015260800190565b60208082526046908201527f53746162696c697479506f6f6c3a20546167206d75737420626520612072656760408201527f697374657265642066726f6e7420656e642c206f7220746865207a65726f206160608201526564647265737360d01b608082015260a00190565b60208082526027908201527f53746162696c697479506f6f6c3a2043616c6c6572206973206e6f74204163746040820152661a5d99541bdbdb60ca1b606082015260800190565b60208082526022908201527f4f776e61626c653a3a7365744f776e65723a20696e76616c6964206164647265604082015261737360f01b606082015260800190565b6020808252601e908201527f4163636f756e742063616e6e6f74206265207a65726f20616464726573730000604082015260600190565b60208082526031908201527f53746162696c697479506f6f6c3a2063616c6c6572206d7573742068617665206040820152703737b716bd32b9379022aa241023b0b4b760791b606082015260800190565b60208082526029908201527f53746162696c697479506f6f6c3a2043616c6c6572206973206e6f742054726f6040820152683b32a6b0b730b3b2b960b91b606082015260800190565b60208082526021908201527f53746162696c697479506f6f6c3a2073656e64696e6720455448206661696c656040820152601960fa1b606082015260800190565b60208082526021908201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6040820152607760f81b606082015260800190565b60208082526030908201527f53503a3a5f776974686472617746726f6d5370546f3a205f726563656976657260408201526f206973207a65726f206164647265737360801b606082015260800190565b60208082526033908201527f53746162696c697479506f6f6c3a204b69636b6261636b2072617465206d75736040820152727420626520696e2072616e6765205b302c315d60681b606082015260800190565b60208082526026908201527f53746162696c697479506f6f6c3a20416d6f756e74206d757374206265206e6f6040820152656e2d7a65726f60d01b606082015260800190565b60208082526017908201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604082015260600190565b60208082526039908201527f53746162696c697479506f6f6c3a206d757374206e6f7420616c72656164792060408201527818994818481c9959da5cdd195c995908199c9bdb9d08195b99603a1b606082015260800190565b60208082526028908201527f53746162696c697479506f6f6c3a2055736572206d7573742068617665206e6f6040820152670819195c1bdcda5d60c21b606082015260800190565b60208082526037908201527f4661696c656420746f20617070726f7665205a55534420616d6f756e7420666f60408201527672204d796e74206d417373657420746f2072656465656d60481b606082015260800190565b6020808252818101527f4163636f756e7420636f64652073697a652063616e6e6f74206265207a65726f604082015260600190565b60208082526030908201527f53746162696c697479506f6f6c3a2055736572206d757374206861766520612060408201526f1b9bdb8b5e995c9bc819195c1bdcda5d60821b606082015260800190565b60208082526028908201527f4c697175697479536166654d6174683132383a207375627472616374696f6e206040820152676f766572666c6f7760c01b606082015260800190565b60208082526025908201527f4c697175697479536166654d6174683132383a206164646974696f6e206f766560408201526472666c6f7760d81b606082015260800190565b60208082526044908201527f53746162696c697479506f6f6c3a2043616e6e6f74207769746864726177207760408201527f68696c65207468657265206172652074726f766573207769746820494352203c6060820152631026a1a960e11b608082015260a00190565b6001600160801b0391909116815260200190565b90815260200190565b9182526001600160a01b0316602082015260400190565b9182521515602082015260400190565b9283526001600160801b03918216602084015216604082015260600190565b948552602085019390935260408401919091526001600160801b03908116606084015216608082015260a00190565b6001600160a01b0381168114610a9957600080fdfeceb6d671277d4354fd29977ada70695fbd93a16612abf765d6b0e25c28dc6db3bce78369dccab09eec1986f4d409ab09ffbb47d65423e5148fcf98411c5111c951457222ebca92c335c9c86e2baa1cc0e40ffaa9084a51452980d5ba8dec2f6399920012339b5a3368d3a04b8606ce412c46ed92b7dcd8602d41fc8862cb8f25a2646970667358221220e955fa7f80b9ad38eba52b70ed60457b452eb83b2417f8f09df3b2acb6ae421364736f6c634300060b00336080604052348015600f57600080fd5b50603f80601d6000396000f3fe6080604052600080fdfea264697066735822122066e9d13e845a93dc2501d42df6e2e92fe003bd0b9c468fc3e0baf1634cbfcecf64736f6c634300060b0033608060405234801561001057600080fd5b50610023336001600160e01b0361002816565b610110565b6001600160a01b03811661006d5760405162461bcd60e51b81526004018080602001828103825260228152602001806118646022913960400191505060405180910390fd5b6001600160a01b0381166100886001600160e01b036100e616565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3604080517035b2bc9737bbb730b136329737bbb732b960791b8152905190819003601101902055565b604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205490565b6117458061011f6000396000f3fe608060405234801561001057600080fd5b506004361061014d5760003560e01c806370a08231116100c3578063a9059cbb1161007c578063a9059cbb14610413578063bb997bac1461043f578063c0c53b8b14610475578063d505accf146104ad578063dd62ed3e146104fe578063f698da251461052c5761014d565b806370a08231146103435780637ecebe0014610369578063893d20e81461038f57806395d89b41146103b35780639dc29fac146103bb578063a457c2d7146103e75761014d565b806320c582be1161011557806320c582be1461025957806323b872dd1461028f578063313ce567146102c557806339509351146102e357806340c10f191461030f57806354fd4d501461033b5761014d565b806306fdde0314610152578063095ea7b3146101cf57806310ce43bd1461020f57806313af40351461022957806318160ddd14610251575b600080fd5b61015a610534565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561019457818101518382015260200161017c565b50505050905090810190601f1680156101c15780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101fb600480360360408110156101e557600080fd5b506001600160a01b03813516906020013561055e565b604080519115158252519081900360200190f35b610217610574565b60408051918252519081900360200190f35b61024f6004803603602081101561023f57600080fd5b50356001600160a01b0316610598565b005b61021761060b565b61024f6004803603606081101561026f57600080fd5b506001600160a01b03813581169160208101359091169060400135610611565b6101fb600480360360608110156102a557600080fd5b506001600160a01b03813581169160208101359091169060400135610629565b6102cd6106a1565b6040805160ff9092168252519081900360200190f35b6101fb600480360360408110156102f957600080fd5b506001600160a01b0381351690602001356106a6565b61024f6004803603604081101561032557600080fd5b506001600160a01b0381351690602001356106e2565b61015a6106f8565b6102176004803603602081101561035957600080fd5b50356001600160a01b0316610713565b6102176004803603602081101561037f57600080fd5b50356001600160a01b031661072e565b610397610749565b604080516001600160a01b039092168252519081900360200190f35b61015a610773565b61024f600480360360408110156103d157600080fd5b506001600160a01b038135169060200135610791565b6101fb600480360360408110156103fd57600080fd5b506001600160a01b0381351690602001356107a3565b6101fb6004803603604081101561042957600080fd5b506001600160a01b0381351690602001356107f8565b61024f6004803603606081101561045557600080fd5b506001600160a01b0381358116916020810135909116906040013561080e565b61024f6004803603606081101561048b57600080fd5b506001600160a01b038135811691602081013582169160409091013516610816565b61024f600480360360e08110156104c357600080fd5b506001600160a01b03813581169160208101359091169060408101359060608101359060ff6080820135169060a08101359060c0013561092d565b6102176004803603604081101561051457600080fd5b506001600160a01b0381358116916020013516610b22565b610217610b4d565b60408051808201909152600f81526e2d2aa9a21029ba30b13632b1b7b4b760891b60208201525b90565b600061056b338484610ba2565b50600192915050565b7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c990565b6105a0610749565b6001600160a01b0316336001600160a01b0316146105ff576040805162461bcd60e51b815260206004820152601760248201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604482015290519081900360640190fd5b61060881610c24565b50565b60335490565b610619610cd9565b610624838383610d39565b505050565b600061063483610e1b565b61063f848484610d39565b61069784336106928560405180606001604052806028815260200161161a602891396001600160a01b038a166000908152603a60209081526040808320338452909152902054919063ffffffff610e7716565b610ba2565b5060019392505050565b601290565b336000818152603a602090815260408083206001600160a01b0387168452909152812054909161056b918590610692908663ffffffff610f0e16565b6106ea610f6f565b6106f48282610fb8565b5050565b6040805180820190915260018152603160f81b602082015290565b6001600160a01b031660009081526039602052604090205490565b6001600160a01b031660009081526038602052604090205490565b604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205490565b604080518082019091526004815263169554d160e21b602082015290565b61079961104d565b6106f482826110c0565b600061056b3384610692856040518060600160405280602581526020016116eb60259139336000908152603a602090815260408083206001600160a01b038d168452909152902054919063ffffffff610e7716565b600061080383610e1b565b61056b338484610d39565b610619611175565b600054610100900460ff168061082f575061082f6111be565b8061083d575060005460ff16155b6108785760405162461bcd60e51b815260040180806020018281038252602e815260200180611642602e913960400191505060405180910390fd5b600054610100900460ff161580156108a3576000805460ff1961ff0019909116610100171660011790555b6108ab610749565b6001600160a01b0316336001600160a01b03161461090a576040805162461bcd60e51b815260206004820152601760248201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604482015290519081900360640190fd5b6109158484846111c4565b8015610927576000805461ff00191690555b50505050565b4284101561097b576040805162461bcd60e51b81526020600482015260166024820152755a5553443a206578706972656420646561646c696e6560501b604482015290519081900360640190fd5b6000610985610b4d565b6001600160a01b03808a1660008181526038602090815260408083208054600180820190925582517f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98186015280840196909652958e166060860152608085018d905260a085019590955260c08085018c90528151808603909101815260e08501825280519083012061190160f01b6101008601526101028501969096526101228085019690965280518085039096018652610142840180825286519683019690962095839052610162840180825286905260ff8a166101828501526101a284018990526101c284018890525194955090936101e280840193601f198301929081900390910190855afa158015610aa0573d6000803e3d6000fd5b505050602060405103519050886001600160a01b0316816001600160a01b031614610b0c576040805162461bcd60e51b81526020600482015260176024820152765a5553443a20696e76616c6964207369676e617475726560481b604482015290519081900360640190fd5b610b17898989610ba2565b505050505050505050565b6001600160a01b039182166000908152603a6020908152604080832093909416825291909152205490565b6000603554610b5a611398565b1415610b69575060345461055b565b610b9b7f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60001b60365460375461139c565b905061055b565b6001600160a01b038316610bb257fe5b6001600160a01b038216610bc257fe5b6001600160a01b038084166000818152603a6020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b038116610c695760405162461bcd60e51b81526004018080602001828103825260228152602001806115a46022913960400191505060405180910390fd5b806001600160a01b0316610c7b610749565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3604080517035b2bc9737bbb730b136329737bbb732b960791b8152905190819003601101902055565b603b546001600160a01b0316331480610cfc5750603c546001600160a01b031633145b610d375760405162461bcd60e51b81526004018080602001828103825260368152602001806116b56036913960400191505060405180910390fd5b565b6001600160a01b038316610d4957fe5b6001600160a01b038216610d5957fe5b610d9c81604051806060016040528060268152602001611531602691396001600160a01b038616600090815260396020526040902054919063ffffffff610e7716565b6001600160a01b038085166000908152603960205260408082209390935590841681522054610dd1908263ffffffff610f0e16565b6001600160a01b03808416600081815260396020908152604091829020949094558051858152905191939287169260008051602061169583398151915292918290030190a3505050565b6001600160a01b03811615801590610e3c57506001600160a01b0381163014155b6106085760405162461bcd60e51b81526004018080602001828103825260548152602001806115c66054913960600191505060405180910390fd5b60008184841115610f065760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610ecb578181015183820152602001610eb3565b50505050905090810190601f168015610ef85780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b600082820183811015610f68576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b603d546001600160a01b03163314610d375760405162461bcd60e51b815260040180806020018281038252602b815260200180611506602b913960400191505060405180910390fd5b6001600160a01b038216610fc857fe5b603354610fdb908263ffffffff610f0e16565b6033556001600160a01b038216600090815260396020526040902054611007908263ffffffff610f0e16565b6001600160a01b03831660008181526039602090815260408083209490945583518581529351929391926000805160206116958339815191529281900390910190a35050565b603d546001600160a01b03163314806110705750603b546001600160a01b031633145b806110855750603c546001600160a01b031633145b610d375760405162461bcd60e51b815260040180806020018281038252604d815260200180611557604d913960600191505060405180910390fd5b6001600160a01b0382166110d057fe5b611113816040518060600160405280602281526020016114e4602291396001600160a01b038516600090815260396020526040902054919063ffffffff610e7716565b6001600160a01b03831660009081526039602052604090205560335461113f908263ffffffff6113f216565b6033556040805182815290516000916001600160a01b038516916000805160206116958339815191529181900360200190a35050565b603c546001600160a01b03163314610d375760405162461bcd60e51b81526004018080602001828103825260258152602001806116706025913960400191505060405180910390fd5b303b1590565b6111cd83611434565b6111d682611434565b6111df81611434565b603b80546001600160a01b0385166001600160a01b0319909116811790915560408051918252517f143219c9e69b09e07e095fcc889b43d8f46ca892bba65f08dc3a0050869a56789181900360200190a1603c80546001600160a01b0384166001600160a01b0319909116811790915560408051918252517f82966d27eea39b038ee0fa30cd16532bb24f6e65d31cb58fb227aa5766cdcc7f9181900360200190a1603d80546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f3ca631ffcd2a9b5d9ae18543fc82f58eb4ca33af9e6ab01b7a8e95331e6ed9859181900360200190a1604080518082018252600f81526e2d2aa9a21029ba30b13632b1b7b4b760891b602091820152815180830190925260018252603160f81b9101527fd28848e7c3cbededd42b8bfb722b93a1d091c2e7280388a67bb55fc505b758eb60368190557fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc66037819055611360611398565b60355561138e7f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f838361139c565b6034555050505050565b4690565b60008383836113a9611398565b6040805160208082019690965280820194909452606084019290925260808301523060a0808401919091528151808403909101815260c090920190528051910120949350505050565b6000610f6883836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610e77565b6001600160a01b03811661148f576040805162461bcd60e51b815260206004820152601e60248201527f4163636f756e742063616e6e6f74206265207a65726f20616464726573730000604482015290519081900360640190fd5b803b806106f4576040805162461bcd60e51b815260206004820181905260248201527f4163636f756e7420636f64652073697a652063616e6e6f74206265207a65726f604482015290519081900360640190fdfe45524332303a206275726e20616d6f756e7420657863656564732062616c616e63655a555344546f6b656e3a2043616c6c6572206973206e6f7420426f72726f7765724f7065726174696f6e7345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e63655a5553443a2043616c6c6572206973206e65697468657220426f72726f7765724f7065726174696f6e73206e6f722054726f76654d616e61676572206e6f722053746162696c697479506f6f6c4f776e61626c653a3a7365744f776e65723a20696e76616c696420616464726573735a5553443a2043616e6e6f74207472616e7366657220746f6b656e73206469726563746c7920746f20746865205a55534420746f6b656e20636f6e7472616374206f7220746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365436f6e747261637420696e7374616e63652068617320616c7265616479206265656e20696e697469616c697a65645a5553443a2043616c6c6572206973206e6f74207468652053746162696c697479506f6f6cddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef5a5553443a2043616c6c6572206973206e6569746865722054726f76654d616e61676572206e6f722053746162696c697479506f6f6c45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220f50801aa88b31fd77d008212bfb89f94e9589a1713a72c6a58c4d6412ee8a87f64736f6c634300060b00334f776e61626c653a3a7365744f776e65723a20696e76616c69642061646472657373608060405234801561001057600080fd5b50610023336001600160e01b0361002816565b610110565b6001600160a01b03811661006d5760405162461bcd60e51b8152600401808060200182810382526022815260200180610d786022913960400191505060405180910390fd5b6001600160a01b0381166100886001600160e01b036100e616565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3604080517035b2bc9737bbb730b136329737bbb732b960791b8152905190819003601101902055565b604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205490565b610c598061011f6000396000f3fe6080604052600436106100a05760003560e01c8063893d20e811610064578063893d20e8146101d55780639b56d6c9146101ea578063a3f4df7e1461021d578063b08bc722146102a7578063b32beb5b146102bc578063b7f8cf9b146102ef576100c5565b806313af4035146100ca57806314f6c3be146100ff578063363bf964146101265780633f10abab1461016b5780635a4d28bb146101a4576100c5565b366100c5576100ad610304565b6003546100c0903463ffffffff61034f16565b600355005b600080fd5b3480156100d657600080fd5b506100fd600480360360208110156100ed57600080fd5b50356001600160a01b03166103b0565b005b34801561010b57600080fd5b50610114610423565b60408051918252519081900360200190f35b34801561013257600080fd5b506100fd6004803603606081101561014957600080fd5b506001600160a01b038135811691602081013582169160409091013516610429565b34801561017757600080fd5b506100fd6004803603604081101561018e57600080fd5b506001600160a01b038135169060200135610595565b3480156101b057600080fd5b506101b9610621565b604080516001600160a01b039092168252519081900360200190f35b3480156101e157600080fd5b506101b9610630565b3480156101f657600080fd5b506101146004803603602081101561020d57600080fd5b50356001600160a01b031661065a565b34801561022957600080fd5b50610232610675565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561026c578181015183820152602001610254565b50505050905090810190601f1680156102995780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156102b357600080fd5b506101b96106a0565b3480156102c857600080fd5b506100fd600480360360208110156102df57600080fd5b50356001600160a01b03166106af565b3480156102fb57600080fd5b506101b9610849565b6002546001600160a01b0316331461034d5760405162461bcd60e51b815260040180806020018281038252602a815260200180610b58602a913960400191505060405180910390fd5b565b6000828201838110156103a9576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b6103b8610630565b6001600160a01b0316336001600160a01b031614610417576040805162461bcd60e51b815260206004820152601760248201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604482015290519081900360640190fd5b61042081610858565b50565b60035490565b610431610630565b6001600160a01b0316336001600160a01b031614610490576040805162461bcd60e51b815260206004820152601760248201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604482015290519081900360640190fd5b6104998361090d565b6104a28261090d565b6104ab8161090d565b600080546001600160a01b038086166001600160a01b0319928316811790935560018054868316908416179055600280549185169190921617905560408051918252517f3ca631ffcd2a9b5d9ae18543fc82f58eb4ca33af9e6ab01b7a8e95331e6ed9859181900360200190a1604080516001600160a01b038416815290517f143219c9e69b09e07e095fcc889b43d8f46ca892bba65f08dc3a0050869a56789181900360200190a1604080516001600160a01b038316815290517f78f058b189175430c48dc02699e3a0031ea4ff781536dc2fab847de4babdd8829181900360200190a1505050565b61059d6109c0565b6001600160a01b0382166000908152600460205260408120546105c6908363ffffffff61034f16565b6001600160a01b0384166000818152600460209081526040918290208490558151848152915193945091927ff0393a34d05e6567686ad4e097f9d9d2781565957394f1f0d984e5d8e6378f20929181900390910190a2505050565b6001546001600160a01b031681565b604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205490565b6001600160a01b031660009081526004602052604090205490565b6040518060400160405280600f81526020016e10dbdb1b14dd5c9c1b1d5cd41bdbdb608a1b81525081565b6002546001600160a01b031681565b6106b7610a09565b6001600160a01b0381166000908152600460205260409020548061070c5760405162461bcd60e51b8152600401808060200182810382526031815260200180610b276031913960400191505060405180910390fd5b6001600160a01b03821660008181526004602090815260408083208390558051928352517ff0393a34d05e6567686ad4e097f9d9d2781565957394f1f0d984e5d8e6378f209281900390910190a260035461076d908263ffffffff610a5216565b600355604080516001600160a01b03841681526020810183905281517f6109e2559dfa766aaec7118351d48a523f0a4157f49c8d68749c8ac41318ad12929181900390910190a16040516000906001600160a01b0384169083908381818185875af1925050503d80600081146107ff576040519150601f19603f3d011682016040523d82523d6000602084013e610804565b606091505b50509050806108445760405162461bcd60e51b8152600401808060200182810382526023815260200180610ba46023913960400191505060405180910390fd5b505050565b6000546001600160a01b031681565b6001600160a01b03811661089d5760405162461bcd60e51b8152600401808060200182810382526022815260200180610b826022913960400191505060405180910390fd5b806001600160a01b03166108af610630565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3604080517035b2bc9737bbb730b136329737bbb732b960791b8152905190819003601101902055565b6001600160a01b038116610968576040805162461bcd60e51b815260206004820152601e60248201527f4163636f756e742063616e6e6f74206265207a65726f20616464726573730000604482015290519081900360640190fd5b803b806109bc576040805162461bcd60e51b815260206004820181905260248201527f4163636f756e7420636f64652073697a652063616e6e6f74206265207a65726f604482015290519081900360640190fd5b5050565b6001546001600160a01b0316331461034d5760405162461bcd60e51b815260040180806020018281038252602b815260200180610bf9602b913960400191505060405180910390fd5b6000546001600160a01b0316331461034d5760405162461bcd60e51b8152600401808060200182810382526032815260200180610bc76032913960400191505060405180910390fd5b60006103a983836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525060008184841115610b1e5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610ae3578181015183820152602001610acb565b50505050905090810190601f168015610b105780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50505090039056fe436f6c6c537572706c7573506f6f6c3a204e6f20636f6c6c61746572616c20617661696c61626c6520746f20636c61696d436f6c6c537572706c7573506f6f6c3a2043616c6c6572206973206e6f742041637469766520506f6f6c4f776e61626c653a3a7365744f776e65723a20696e76616c69642061646472657373436f6c6c537572706c7573506f6f6c3a2073656e64696e6720455448206661696c6564436f6c6c537572706c7573506f6f6c3a2043616c6c6572206973206e6f7420426f72726f776572204f7065726174696f6e73436f6c6c537572706c7573506f6f6c3a2043616c6c6572206973206e6f742054726f76654d616e61676572a2646970667358221220ec19e79dbe7180a98cb7d6212d7b49be2e6c8b1fa1ef966e63158e1190ee1e1e64736f6c634300060b00334f776e61626c653a3a7365744f776e65723a20696e76616c696420616464726573736080604052680ad78ebc5ac620000060005534801561001d57600080fd5b5061010e8061002d6000396000f3fe6080604052348015600f57600080fd5b5060043610603c5760003560e01c80630fdb11cf14604157806391b7f5ed14605957806398d5fdca146087575b600080fd5b6047608d565b60408051918252519081900360200190f35b607360048036036020811015606d57600080fd5b503560ca565b604080519115158252519081900360200190f35b604760d2565b6000805460408051918252517f4d29de21de555af78a62fc82dd4bc05e9ae5b0660a37f04729527e0f22780cd39181900360200190a15060005490565b600055600190565b6000549056fea2646970667358221220164ba700becaab6addb0063cb07fd2e3060ebb0990f72b63246d2dc261ecdc9364736f6c634300060b0033608060405234801561001057600080fd5b50610023336001600160e01b0361002816565b610110565b6001600160a01b03811661006d5760405162461bcd60e51b8152600401808060200182810382526022815260200180611b186022913960400191505060405180910390fd5b6001600160a01b0381166100886001600160e01b036100e616565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3604080517035b2bc9737bbb730b136329737bbb732b960791b8152905190819003601101902055565b604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205490565b6119f98061011f6000396000f3fe608060405234801561001057600080fd5b50600436106101375760003560e01c806363e1d57c116100b8578063a3f4df7e1161007c578063a3f4df7e14610388578063b72703ac14610405578063b7f8cf9b1461042b578063babd3d9a14610433578063de8fa4311461043b578063f376d7981461044357610137565b806363e1d57c146102fe578063681fe70c1461031857806373d4a13a14610320578063765e01591461035a578063893d20e81461038057610137565b80633fce12d5116100ff5780633fce12d5146101f2578063416980dc1461023a57806346f7cf87146102945780634d622831146102d05780635dbe47e8146102d857610137565b806313af40351461013c5780631e2231431461016457806329092d0e146101885780632be21260146101ae5780633d83908a146101ea575b600080fd5b6101626004803603602081101561015257600080fd5b50356001600160a01b0316610477565b005b61016c6104ea565b604080516001600160a01b039092168252519081900360200190f35b6101626004803603602081101561019e57600080fd5b50356001600160a01b03166104f9565b610162600480360360808110156101c457600080fd5b506001600160a01b0381358116916020810135916040820135811691606001351661050a565b61016c6105bf565b6102266004803603606081101561020857600080fd5b508035906001600160a01b03602082013581169160400135166105ce565b604080519115158252519081900360200190f35b61026e6004803603606081101561025057600080fd5b508035906001600160a01b03602082013581169160400135166105f1565b604080516001600160a01b03938416815291909216602082015281519081900390910190f35b610162600480360360808110156102aa57600080fd5b506001600160a01b0381358116916020810135916040820135811691606001351661061b565b61016c610630565b610226600480360360208110156102ee57600080fd5b50356001600160a01b031661063f565b61030661065d565b60408051918252519081900360200190f35b610226610663565b61032861066a565b604080516001600160a01b03958616815293909416602084015282840191909152606082015290519081900360800190f35b61016c6004803603602081101561037057600080fd5b50356001600160a01b0316610689565b61016c6106ac565b6103906106d6565b6040805160208082528351818301528351919283929083019185019080838360005b838110156103ca5781810151838201526020016103b2565b50505050905090810190601f1680156103f75780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61016c6004803603602081101561041b57600080fd5b50356001600160a01b03166106fe565b61016c61071f565b61022661072e565b610306610738565b6101626004803603606081101561045957600080fd5b508035906001600160a01b036020820135811691604001351661073e565b61047f6106ac565b6001600160a01b0316336001600160a01b0316146104de576040805162461bcd60e51b815260206004820152601760248201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604482015290519081900360640190fd5b6104e78161089c565b50565b6002546001600160a01b031690565b610501610951565b6104e78161099c565b6001546001600160a01b031661051f81610bd0565b6105288561063f565b6105635760405162461bcd60e51b815260040180806020018281038252602a8152602001806118da602a913960400191505060405180910390fd5b600084116105a25760405162461bcd60e51b81526004018080602001828103825260238152602001806119a16023913960400191505060405180910390fd5b6105ab8561099c565b6105b88186868686610c2c565b5050505050565b6001546001600160a01b031681565b6001546000906105e9906001600160a01b0316858585610fb0565b949350505050565b600154600090819061060e906001600160a01b0316868686611257565b915091505b935093915050565b6001546001600160a01b03166105ab81610bd0565b6003546001600160a01b031690565b6001600160a01b031660009081526006602052604090205460ff1690565b60045490565b6005541590565b6002546003546004546005546001600160a01b03938416939092169184565b6001600160a01b0390811660009081526006602052604090205461010090041690565b604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205490565b6040518060400160405280600c81526020016b536f7274656454726f76657360a01b81525081565b6001600160a01b039081166000908152600660205260409020600101541690565b6000546001600160a01b031681565b6004546005541490565b60055490565b6107466106ac565b6001600160a01b0316336001600160a01b0316146107a5576040805162461bcd60e51b815260206004820152601760248201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604482015290519081900360640190fd5b600083116107e45760405162461bcd60e51b81526004018080602001828103825260228152602001806119046022913960400191505060405180910390fd5b6107ed82611444565b6107f681611444565b6004839055600180546001600160a01b038085166001600160a01b03199283168117909355600080549185169190921617905560408051918252517f143219c9e69b09e07e095fcc889b43d8f46ca892bba65f08dc3a0050869a56789181900360200190a1604080516001600160a01b038316815290517f3ca631ffcd2a9b5d9ae18543fc82f58eb4ca33af9e6ab01b7a8e95331e6ed9859181900360200190a1505050565b6001600160a01b0381166108e15760405162461bcd60e51b81526004018080602001828103825260228152602001806119526022913960400191505060405180910390fd5b806001600160a01b03166108f36106ac565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3604080517035b2bc9737bbb730b136329737bbb732b960791b8152905190819003601101902055565b6001546001600160a01b0316331461099a5760405162461bcd60e51b815260040180806020018281038252602c815260200180611926602c913960400191505060405180910390fd5b565b6109a58161063f565b6109e05760405162461bcd60e51b815260040180806020018281038252602a8152602001806118da602a913960400191505060405180910390fd5b60055460011015610b26576002546001600160a01b0382811691161415610a4f576001600160a01b03818116600090815260066020526040808220546002805461010090920485166001600160a01b031992831617908190559093168252902060010180549091169055610b21565b6003546001600160a01b0382811691161415610ab6576001600160a01b0380821660009081526006602052604080822060010154600380546001600160a01b03191691851691909117908190559092168152208054610100600160a81b0319169055610b21565b6001600160a01b038082166000908152600660205260408082208054600180830180548716865284862080546101009485900489168502610100600160a81b03199091161790555492549190910485168452919092200180546001600160a01b031916919092161790555b610b43565b600280546001600160a01b03199081169091556003805490911690555b6001600160a01b038116600090815260066020526040902080546001600160a81b0319168155600190810180546001600160a01b0319169055600554610b8e9163ffffffff6114f716565b600555604080516001600160a01b038316815290517fcfc24166db4bb677e857cacabd1541fb2b30645021b27c5130419589b84db52b9181900360200190a150565b6000546001600160a01b0316331480610bf15750336001600160a01b038216145b6104e75760405162461bcd60e51b815260040180806020018281038252602d815260200180611974602d913960400191505060405180910390fd5b610c3461072e565b15610c86576040805162461bcd60e51b815260206004820152601a60248201527f536f7274656454726f7665733a204c6973742069732066756c6c000000000000604482015290519081900360640190fd5b610c8f8461063f565b15610ccb5760405162461bcd60e51b815260040180806020018281038252602c8152602001806118ae602c913960400191505060405180910390fd5b6001600160a01b038416610d26576040805162461bcd60e51b815260206004820152601f60248201527f536f7274656454726f7665733a2049642063616e6e6f74206265207a65726f00604482015290519081900360640190fd5b60008311610d655760405162461bcd60e51b81526004018080602001828103825260238152602001806119a16023913960400191505060405180910390fd5b8181610d7387868484610fb0565b610d8957610d8387868484611257565b90925090505b6001600160a01b038087166000908152600660205260409020805460ff191660011790558216158015610dc357506001600160a01b038116155b15610df857600280546001600160a01b0388166001600160a01b03199182168117909255600380549091169091179055610f4c565b6001600160a01b038216610e6c57600280546001600160a01b03888116600081815260066020526040808220805495851661010002610100600160a81b0319909616959095179094558454909216825291902060010180546001600160a01b03199081168317909155825416179055610f4c565b6001600160a01b038116610edc57600380546001600160a01b0388811660008181526006602052604080822060010180549585166001600160a01b031996871617905585549093168152919091208054610100600160a81b03191661010083021790558254909116179055610f4c565b6001600160a01b038087166000818152600660205260408082208054858716610100818102610100600160a81b031993841617845560019384018054988b166001600160a01b0319998a168117909155865284862080549188029190931617909155835291200180549092161790555b600554610f6090600163ffffffff61154016565b600555604080516001600160a01b03881681526020810187905281517fe02b43adbee0c123de070a04554a71877a0007e2fc161466299cae3c094fe82f929181900390910190a150505050505050565b60006001600160a01b038316158015610fd057506001600160a01b038216155b15610fe457610fdd610663565b90506105e9565b6001600160a01b038316611096576002546001600160a01b038381169116148015610fdd5750846001600160a01b031663b0d8e181836040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b15801561106057600080fd5b505afa158015611074573d6000803e3d6000fd5b505050506040513d602081101561108a57600080fd5b505184101590506105e9565b6001600160a01b038216611148576003546001600160a01b038481169116148015610fdd5750846001600160a01b031663b0d8e181846040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b15801561111257600080fd5b505afa158015611126573d6000803e3d6000fd5b505050506040513d602081101561113c57600080fd5b505184111590506105e9565b6001600160a01b03838116600090815260066020526040902054610100900481169083161480156111fa575083856001600160a01b031663b0d8e181856040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b1580156111cb57600080fd5b505afa1580156111df573d6000803e3d6000fd5b505050506040513d60208110156111f557600080fd5b505110155b8015610fdd5750846001600160a01b031663b0d8e181836040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b15801561106057600080fd5b60008083836001600160a01b0382161561130a576112748261063f565b15806113005750876001600160a01b031663b0d8e181836040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b1580156112d157600080fd5b505afa1580156112e5573d6000803e3d6000fd5b505050506040513d60208110156112fb57600080fd5b505187115b1561130a57600091505b6001600160a01b038116156113b7576113228161063f565b15806113ae5750876001600160a01b031663b0d8e181826040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b15801561137f57600080fd5b505afa158015611393573d6000803e3d6000fd5b505050506040513d60208110156113a957600080fd5b505187105b156113b7575060005b6001600160a01b0382161580156113d557506001600160a01b038116155b156113fe576002546113f390899089906001600160a01b031661159a565b93509350505061143b565b6001600160a01b038216611417576113f38888836116db565b6001600160a01b038116611430576113f388888461159a565b6113f388888461159a565b94509492505050565b6001600160a01b03811661149f576040805162461bcd60e51b815260206004820152601e60248201527f4163636f756e742063616e6e6f74206265207a65726f20616464726573730000604482015290519081900360640190fd5b803b806114f3576040805162461bcd60e51b815260206004820181905260248201527f4163636f756e7420636f64652073697a652063616e6e6f74206265207a65726f604482015290519081900360640190fd5b5050565b600061153983836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611816565b9392505050565b600082820183811015611539576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b60025460009081906001600160a01b03848116911614801561163d5750846001600160a01b031663b0d8e181846040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b15801561160d57600080fd5b505afa158015611621573d6000803e3d6000fd5b505050506040513d602081101561163757600080fd5b50518410155b1561164d57506000905081610613565b6001600160a01b038084166000908152600660205260409020548491610100909104165b6001600160a01b03821615801590611692575061169087878484610fb0565b155b156116cf57506001600160a01b03908116600090815260066020526040808220546101009081900484168084529190922054909291900416611671565b90969095509350505050565b60035460009081906001600160a01b03848116911614801561177e5750846001600160a01b031663b0d8e181846040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b15801561174e57600080fd5b505afa158015611762573d6000803e3d6000fd5b505050506040513d602081101561177857600080fd5b50518411155b1561178e57508190506000610613565b6001600160a01b038084166000908152600660205260409020600101548491165b6001600160a01b038216158015906117d057506117ce87878385610fb0565b155b1561180b57506001600160a01b03908116600090815260066020526040808220600190810154841680845291909220909101549091166117af565b969095509350505050565b600081848411156118a55760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561186a578181015183820152602001611852565b50505050905090810190601f1680156118975780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50505090039056fe536f7274656454726f7665733a204c69737420616c726561647920636f6e7461696e7320746865206e6f6465536f7274656454726f7665733a204c69737420646f6573206e6f7420636f6e7461696e20746865206964536f7274656454726f7665733a2053697a652063616ee2809974206265207a65726f536f7274656454726f7665733a2043616c6c6572206973206e6f74207468652054726f76654d616e616765724f776e61626c653a3a7365744f776e65723a20696e76616c69642061646472657373536f7274656454726f7665733a2043616c6c6572206973206e65697468657220424f206e6f722054726f76654d536f7274656454726f7665733a204e494352206d75737420626520706f736974697665a264697066735822122032b466fa1ae0f54c795858e19523f6f623b02846824d1e4a37750d801b21599064736f6c634300060b00334f776e61626c653a3a7365744f776e65723a20696e76616c69642061646472657373608060405234801561001057600080fd5b50604051610e35380380610e358339818101604052608081101561003357600080fd5b50805160208201516040830151606090930151600080546001600160a01b039485166001600160a01b0319918216179091556001805493851693821693909317909255600280549484169483169490941790935560038054929093169116179055610d92806100a36000396000f3fe6080604052600436106100ed5760003560e01c8063650b559c11610085578063650b559c1461034857806372d76c87146103985780637bbb0f5e146103d9578063911347311461041a578063cc51a6c21461045c578063cf83544f14610495578063d466e4eb146104ce578063d94bcec214610507578063f47a1ea71461054a576100f4565b806332e859b9146100f95780633332b3281461012f57806335b1017914610178578063390b5f27146101d35780634903a3dd146102205780634afbac51146102355780634c36240b146102b25780634d37261f146102eb578063641b09b61461031e576100f4565b366100f457005b600080fd5b61012d6004803603606081101561010f57600080fd5b508035906001600160a01b0360208201358116916040013516610574565b005b34801561013b57600080fd5b5061012d6004803603608081101561015257600080fd5b508035906001600160a01b036020820135811691604081013590911690606001356105eb565b34801561018457600080fd5b5061012d600480360360e081101561019b57600080fd5b508035906001600160a01b03602082013581169160408101358216916060820135169060808101359060a08101359060c0013561064f565b3480156101df57600080fd5b5061020c600480360360408110156101f657600080fd5b506001600160a01b0381351690602001356106e7565b604080519115158252519081900360200190f35b34801561022c57600080fd5b5061012d610773565b34801561024157600080fd5b5061012d6004803603602081101561025857600080fd5b81019060208101813564010000000081111561027357600080fd5b82018360208201111561028557600080fd5b803590602001918460208302840111640100000000831117156102a757600080fd5b5090925090506107dd565b3480156102be57600080fd5b5061012d600480360360408110156102d557600080fd5b50803590602001356001600160a01b0316610876565b3480156102f757600080fd5b5061012d6004803603602081101561030e57600080fd5b50356001600160a01b03166108cb565b34801561032a57600080fd5b5061012d6004803603602081101561034157600080fd5b5035610931565b61012d600480360360e081101561035e57600080fd5b5080359060208101359060408101359060608101351515906001600160a01b03608082013581169160a08101359091169060c0013561097e565b3480156103a457600080fd5b5061012d600480360360608110156103bb57600080fd5b508035906001600160a01b0360208201358116916040013516610a16565b3480156103e557600080fd5b5061012d600480360360608110156103fc57600080fd5b508035906001600160a01b0360208201358116916040013516610a90565b61012d600480360360a081101561043057600080fd5b508035906020810135906001600160a01b03604082013581169160608101359091169060800135610aed565b34801561046857600080fd5b5061020c6004803603604081101561047f57600080fd5b506001600160a01b038135169060200135610b74565b3480156104a157600080fd5b5061020c600480360360408110156104b857600080fd5b506001600160a01b038135169060200135610bcd565b3480156104da57600080fd5b5061020c600480360360408110156104f157600080fd5b506001600160a01b038135169060200135610c26565b34801561051357600080fd5b5061020c6004803603606081101561052a57600080fd5b506001600160a01b03813581169160208101359091169060400135610c7f565b34801561055657600080fd5b5061012d6004803603602081101561056d57600080fd5b5035610d14565b600154604080516368647db160e01b81526001600160a01b0385811660048301528481166024830152915191909216916368647db191869160448082019260009290919082900301818588803b1580156105cd57600080fd5b505af11580156105e1573d6000803e3d6000fd5b5050505050505050565b600154604080516303752b4b60e51b815260048101849052602481018790526001600160a01b038681166044830152858116606483015291519190921691636ea5696091608480830192600092919082900301818387803b1580156105cd57600080fd5b6000805460408051635e69ba9360e11b8152600481018b90526001600160a01b038a81166024830152898116604483015288811660648301526084820188905260a4820187905260c482018690529151919092169263bcd375269260e4808201939182900301818387803b1580156106c657600080fd5b505af11580156106da573d6000803e3d6000fd5b5050505050505050505050565b6003546040805163a9059cbb60e01b81526001600160a01b038581166004830152602482018590529151600093929092169163a9059cbb9160448082019260209290919082900301818787803b15801561074057600080fd5b505af1158015610754573d6000803e3d6000fd5b505050506040513d602081101561076a57600080fd5b50519392505050565b600160009054906101000a90046001600160a01b03166001600160a01b0316630e704d506040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156107c357600080fd5b505af11580156107d7573d6000803e3d6000fd5b50505050565b600054604051631e8b1c2b60e01b8152602060048201818152602483018590526001600160a01b0390931692631e8b1c2b92869286929182916044909101908590850280828437600081840152601f19601f8201169050808301925050509350505050600060405180830381600087803b15801561085a57600080fd5b505af115801561086e573d6000803e3d6000fd5b505050505050565b60025460408051635f788d6560e01b8152600481018590526001600160a01b03848116602483015291519190921691635f788d6591604480830192600092919082900301818387803b15801561085a57600080fd5b60008054604080516305f0caad60e31b81526001600160a01b03858116600483015291519190921692632f865568926024808201939182900301818387803b15801561091657600080fd5b505af115801561092a573d6000803e3d6000fd5b5050505050565b60025460408051632e54bf9560e01b81526004810184905290516001600160a01b0390921691632e54bf959160248082019260009290919082900301818387803b15801561091657600080fd5b60015460408051630635367960e51b815260048101849052602481018990526044810188905286151560648201526001600160a01b03868116608483015285811660a48301529151919092169163c6a6cf20918a9160c48082019260009290919082900301818588803b1580156109f457600080fd5b505af1158015610a08573d6000803e3d6000fd5b505050505050505050505050565b6001546040805163afbc74b560e01b8152600481018690526001600160a01b03858116602483015284811660448301529151919092169163afbc74b591606480830192600092919082900301818387803b158015610a7357600080fd5b505af1158015610a87573d6000803e3d6000fd5b50505050505050565b6001546040805163154c09cf60e21b8152600481018690526001600160a01b038581166024830152848116604483015291519190921691635530273c91606480830192600092919082900301818387803b158015610a7357600080fd5b6001546040805163860665b360e01b815260048101849052602481018790526001600160a01b03868116604483015285811660648301529151919092169163860665b391889160848082019260009290919082900301818588803b158015610b5457600080fd5b505af1158015610b68573d6000803e3d6000fd5b50505050505050505050565b60035460408051633950935160e01b81526001600160a01b038581166004830152602482018590529151600093929092169163395093519160448082019260209290919082900301818787803b15801561074057600080fd5b6003546040805163095ea7b360e01b81526001600160a01b038581166004830152602482018590529151600093929092169163095ea7b39160448082019260209290919082900301818787803b15801561074057600080fd5b6003546040805163a457c2d760e01b81526001600160a01b038581166004830152602482018590529151600093929092169163a457c2d79160448082019260209290919082900301818787803b15801561074057600080fd5b600354604080516323b872dd60e01b81526001600160a01b038681166004830152858116602483015260448201859052915160009392909216916323b872dd9160648082019260209290919082900301818787803b158015610ce057600080fd5b505af1158015610cf4573d6000803e3d6000fd5b505050506040513d6020811015610d0a57600080fd5b5051949350505050565b600080546040805163653d46e760e01b81526004810185905290516001600160a01b039092169263653d46e79260248084019382900301818387803b15801561091657600080fdfea264697066735822122012ac4d1a12df541b01c9dac4edc3b532ed9e20c4b17857d25541d24b0c54a5fb64736f6c634300060b0033", - "deployedBytecode": "0x60806040526004361061023b5760003560e01c80637ca8b0281161012e578063ba5a851f116100ab578063e44891271161006f578063e4489127146105ea578063ec9f7d461461060a578063efa83cf91461061f578063f2a903a714610632578063fa08b038146106475761023b565b8063ba5a851f14610562578063baf5d65f14610582578063c325347f146105a2578063cda775f9146105c2578063d21af968146105d75761023b565b80639cdd0978116100f25780639cdd0978146104e35780639f070670146105035780639f56ac1814610518578063a2f5cbdd1461052d578063a3d36834146105425761023b565b80637ca8b028146104595780637f7dde4a146104795780638e4707d31461048e57806391a4a426146104ae578063980c55d7146104ce5761023b565b80634e792a30116101bc57806359bed84b1161018057806359bed84b146103e757806369690936146103fc578063716c47e61461040f57806377553ad4146104245780637c22900e146104395761023b565b80634e792a301461036c57806354e174d81461038c57806357285cc5146103ac5780635895ac4e146103bf578063597ec799146103d45761023b565b80633ca4afc1116102035780633ca4afc1146102e25780633cc74225146103025780633d83908a1461031757806340ba2e271461032c5780634557559f1461034c5761023b565b8063048c661d1461024057806304bbf59c1461026b578063119be5d0146102985780631c6fbd23146102b857806325df85a2146102cd575b600080fd5b34801561024c57600080fd5b5061025561065c565b6040516102629190612689565b60405180910390f35b34801561027757600080fd5b5061028b610286366004612358565b61066b565b6040516102629190612728565b3480156102a457600080fd5b5061028b6102b3366004612358565b61070d565b6102cb6102c63660046125c2565b610754565b005b3480156102d957600080fd5b5061028b61081e565b3480156102ee57600080fd5b506102cb6102fd366004612427565b610cac565b34801561030e57600080fd5b50610255610d2a565b34801561032357600080fd5b50610255610d39565b34801561033857600080fd5b506102cb6103473660046122b2565b610d48565b34801561035857600080fd5b506102cb6103673660046122b2565b610dc8565b34801561037857600080fd5b506102cb6103873660046122e2565b610e58565b34801561039857600080fd5b506102cb6103a736600461245f565b610ed3565b6102cb6103ba366004612406565b610f54565b3480156103cb57600080fd5b5061028b610ffc565b6102cb6103e236600461260e565b61109e565b3480156103f357600080fd5b5061028b61112b565b6102cb61040a36600461245f565b611408565b34801561041b57600080fd5b50610255611450565b34801561043057600080fd5b5061025561145f565b34801561044557600080fd5b5061028b610454366004612311565b61146e565b34801561046557600080fd5b506102cb6104743660046124a8565b611513565b34801561048557600080fd5b5061025561159f565b34801561049a57600080fd5b5061028b6104a9366004612358565b6115ae565b3480156104ba57600080fd5b506102556104c93660046122b2565b6115f5565b3480156104da57600080fd5b5061028b611612565b3480156104ef57600080fd5b5061028b6104fe366004612358565b6118fb565b34801561050f57600080fd5b50610255611942565b34801561052457600080fd5b5061028b611951565b34801561053957600080fd5b5061028b611974565b34801561054e57600080fd5b506102cb61055d36600461245f565b611989565b34801561056e57600080fd5b506102cb61057d36600461250e565b6119d1565b34801561058e57600080fd5b506102cb61059d366004612406565b611a1b565b3480156105ae57600080fd5b506102cb6105bd36600461238f565b611a5f565b3480156105ce57600080fd5b50610255611aa5565b6102cb6105e536600461255f565b611ab4565b3480156105f657600080fd5b506102cb610605366004612406565b611bfc565b34801561061657600080fd5b50610255611c40565b6102cb61062d36600461258a565b611c4f565b34801561063e57600080fd5b5061028b611c9b565b34801561065357600080fd5b50610255611f00565b6009546001600160a01b031681565b600080606485069050600f816064811061068157fe5b015460405163d466e4eb60e01b81526001600160a01b039091169063d466e4eb906106b290879087906004016126c1565b602060405180830381600087803b1580156106cc57600080fd5b505af11580156106e0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107049190612296565b50509392505050565b600080606485069050600f816064811061072357fe5b015460405163cf83544f60e01b81526001600160a01b039091169063cf83544f906106b290879087906004016126c1565b60006064860690506000600f826064811061076b57fe5b0154600080546001600160a01b03909216925082319161078e9083908a90611f0f565b90508585156107a7576107a48288600054611ffa565b90505b604051631942d56760e21b81526001600160a01b0385169063650b559c906107e09085908c9086908c90600090819081906004016128cd565b600060405180830381600087803b1580156107fa57600080fd5b505af115801561080e573d6000803e3d6000fd5b5050505050505050505050505050565b600080600c60009054906101000a90046001600160a01b03166001600160a01b03166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b15801561086f57600080fd5b505afa158015610883573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108a791906122ca565b600c54600a546040516370a0823160e01b81529293506000926001600160a01b03928316926370a08231926108e192911690600401612689565b60206040518083038186803b1580156108f957600080fd5b505afa15801561090d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061093191906122ca565b90506000600760009054906101000a90046001600160a01b03166001600160a01b0316633963e9806040518163ffffffff1660e01b815260040160206040518083038186803b15801561098357600080fd5b505afa158015610997573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109bb91906122ca565b90506000600860009054906101000a90046001600160a01b03166001600160a01b0316633963e9806040518163ffffffff1660e01b815260040160206040518083038186803b158015610a0d57600080fd5b505afa158015610a21573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a4591906122ca565b90508082018414610a5d576000945050505050610ca9565b60095460408051635ed79bf560e11b815290516000926001600160a01b03169163bdaf37ea916004808301926020929190829003018186803b158015610aa257600080fd5b505afa158015610ab6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ada91906122ca565b90506000600e60009054906101000a90046001600160a01b03166001600160a01b0316631e2231436040518163ffffffff1660e01b815260040160206040518083038186803b158015610b2c57600080fd5b505afa158015610b40573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b64919061227a565b905060005b6001600160a01b03821615610c8257600c546040516370a0823160e01b81526001600160a01b03909116906370a0823190610ba8908590600401612689565b60206040518083038186803b158015610bc057600080fd5b505afa158015610bd4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bf891906122ca565b600e5460405163765e015960e01b815291909201916001600160a01b03169063765e015990610c2b908590600401612689565b60206040518083038186803b158015610c4357600080fd5b505afa158015610c57573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c7b919061227a565b9150610b69565b85818401018711610c9d576000975050505050505050610ca9565b60019750505050505050505b90565b6000606484069050600f8160648110610cc157fe5b0154604051634c36240b60e01b81526001600160a01b0390911690634c36240b90610cf29086908690600401612807565b600060405180830381600087803b158015610d0c57600080fd5b505af1158015610d20573d6000803e3d6000fd5b5050505050505050565b6008546001600160a01b031681565b6005546001600160a01b031681565b6000606482069050600f8160648110610d5d57fe5b0160009054906101000a90046001600160a01b03166001600160a01b0316634903a3dd6040518163ffffffff1660e01b8152600401600060405180830381600087803b158015610dac57600080fd5b505af1158015610dc0573d6000803e3d6000fd5b505050505050565b600d546040516391b7f5ed60e01b81526000916001600160a01b0316906391b7f5ed90610df99085906004016127fe565b602060405180830381600087803b158015610e1357600080fd5b505af1158015610e27573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e4b9190612296565b905080610e5457fe5b5050565b6000606483069050600f8160648110610e6d57fe5b0154604051634d37261f60e01b81526001600160a01b0390911690634d37261f90610e9c908590600401612689565b600060405180830381600087803b158015610eb657600080fd5b505af1158015610eca573d6000803e3d6000fd5b50505050505050565b6000606485069050600f8160648110610ee857fe5b01546040516372d76c8760e01b81526001600160a01b03909116906372d76c8790610f1b9087908790879060040161281e565b600060405180830381600087803b158015610f3557600080fd5b505af1158015610f49573d6000803e3d6000fd5b505050505050505050565b60006064830690506000600f8260648110610f6b57fe5b0154600080546001600160a01b039092169250823191610f8e9083908790611f0f565b6040516332e859b960e01b81529091506001600160a01b038416906332e859b990610fc2908490600090819060040161281e565b600060405180830381600087803b158015610fdc57600080fd5b505af1158015610ff0573d6000803e3d6000fd5b50505050505050505050565b600080600d60009054906101000a90046001600160a01b03166001600160a01b03166398d5fdca6040518163ffffffff1660e01b815260040160206040518083038186803b15801561104d57600080fd5b505afa158015611061573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061108591906122ca565b905080611096576000915050610ca9565b600191505090565b6000606489069050600f81606481106110b357fe5b0154604051631942d56760e21b81526001600160a01b039091169063650b559c906110ee908b908b908b908b908b908b908b906004016128cd565b600060405180830381600087803b15801561110857600080fd5b505af115801561111c573d6000803e3d6000fd5b50505050505050505050505050565b600080600e60009054906101000a90046001600160a01b03166001600160a01b0316631e2231436040518163ffffffff1660e01b815260040160206040518083038186803b15801561117c57600080fd5b505afa158015611190573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111b4919061227a565b600e5460405163765e015960e01b81529192506000916001600160a01b039091169063765e0159906111ea908590600401612689565b60206040518083038186803b15801561120257600080fd5b505afa158015611216573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061123a919061227a565b90505b6001600160a01b0382161580159061125d57506001600160a01b03811615155b156113ff5760055460405163b0d8e18160e01b81526001600160a01b039091169063b0d8e18190611292908590600401612689565b60206040518083038186803b1580156112aa57600080fd5b505afa1580156112be573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112e291906122ca565b60055460405163b0d8e18160e01b81526001600160a01b039091169063b0d8e18190611312908590600401612689565b60206040518083038186803b15801561132a57600080fd5b505afa15801561133e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061136291906122ca565b111561137357600092505050610ca9565b600e5460405163765e015960e01b815291925082916001600160a01b039091169063765e0159906113a8908490600401612689565b60206040518083038186803b1580156113c057600080fd5b505afa1580156113d4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113f8919061227a565b905061123d565b60019250505090565b6000606485069050600f816064811061141d57fe5b01546040516332e859b960e01b81526001600160a01b03909116906332e859b990610f1b9087908790879060040161281e565b6004546001600160a01b031681565b6006546001600160a01b031681565b600080606486069050600f816064811061148457fe5b0154604051636ca5e76160e11b81526001600160a01b039091169063d94bcec2906114b79088908890889060040161269d565b602060405180830381600087803b1580156114d157600080fd5b505af11580156114e5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115099190612296565b5050949350505050565b6000606487069050600f816064811061152857fe5b01546040516335b1017960e01b81526001600160a01b03909116906335b10179906115649089908990899089908990600090819060040161283d565b600060405180830381600087803b15801561157e57600080fd5b505af1158015611592573d6000803e3d6000fd5b5050505050505050505050565b6007546001600160a01b031681565b600080606485069050600f81606481106115c457fe5b0154604051636628d36160e11b81526001600160a01b039091169063cc51a6c2906106b290879087906004016126c1565b600f816064811061160257fe5b01546001600160a01b0316905081565b600080600e60009054906101000a90046001600160a01b03166001600160a01b0316631e2231436040518163ffffffff1660e01b815260040160206040518083038186803b15801561166357600080fd5b505afa158015611677573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061169b919061227a565b90505b6001600160a01b03811615611096576005546040516321e3780160e01b81526001916001600160a01b0316906321e37801906116de908590600401612689565b60206040518083038186803b1580156116f657600080fd5b505afa15801561170a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061172e91906122ca565b600481111561173957fe5b600481111561174457fe5b14611753576000915050610ca9565b60025460055460405163d66a255360e01b81526001600160a01b039091169063d66a255390611786908590600401612689565b60206040518083038186803b15801561179e57600080fd5b505afa1580156117b2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117d691906122ca565b10156117e6576000915050610ca9565b600554604051630326771360e51b81526001600160a01b03909116906364cee26090611816908490600401612689565b60206040518083038186803b15801561182e57600080fd5b505afa158015611842573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061186691906122ca565b611874576000915050610ca9565b600e5460405163765e015960e01b81526001600160a01b039091169063765e0159906118a4908490600401612689565b60206040518083038186803b1580156118bc57600080fd5b505afa1580156118d0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118f4919061227a565b905061169e565b600080606485069050600f816064811061191157fe5b015460405163390b5f2760e01b81526001600160a01b039091169063390b5f27906106b290879087906004016126c1565b6003546001600160a01b031681565b6007546000906001600160a01b0316311561196e57506000610ca9565b50600190565b60006014607354111561196e57506000610ca9565b6000606485069050600f816064811061199e57fe5b0154604051633ddd87af60e11b81526001600160a01b0390911690637bbb0f5e90610f1b9087908790879060040161281e565b6000606486069050600f81606481106119e657fe5b0154604051630666566560e31b81526001600160a01b0390911690633332b32890610fc290889088908890889060040161287c565b6000606483069050600f8160648110611a3057fe5b015460405163f47a1ea760e01b81526001600160a01b039091169063f47a1ea790610e9c9085906004016127fe565b6000606484069050600f8160648110611a7457fe5b0154604051634afbac5160e01b81526001600160a01b0390911690634afbac5190610cf290869086906004016126da565b600b546001600160a01b031681565b60006064840690506000600f8260648110611acb57fe5b01546001546001600160a01b039091169150813190600090611af09083908890611f0f565b90506000611b018287600154611ffa565b604051639113473160e01b81529091506001600160a01b03851690639113473190611b399085908590600090819081906004016128a1565b600060405180830381600087803b158015611b5357600080fd5b505af1158015611b67573d6000803e3d6000fd5b50505050600560009054906101000a90046001600160a01b03166001600160a01b03166349eefeee6040518163ffffffff1660e01b815260040160206040518083038186803b158015611bb957600080fd5b505afa158015611bcd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611bf191906122ca565b6073819055610d2057fe5b6000606483069050600f8160648110611c1157fe5b015460405163320d84db60e11b81526001600160a01b039091169063641b09b690610e9c9085906004016127fe565b600c546001600160a01b031681565b6000606487069050600f8160648110611c6457fe5b0154604051639113473160e01b81526001600160a01b039091169063911347319061156490899089908990899089906004016128a1565b6005546000906001600160a01b03163115611cb857506000610ca9565b6006546001600160a01b03163115611cd257506000610ca9565b600760009054906101000a90046001600160a01b03166001600160a01b03166314f6c3be6040518163ffffffff1660e01b815260040160206040518083038186803b158015611d2057600080fd5b505afa158015611d34573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d5891906122ca565b6007546001600160a01b03163114611d7257506000610ca9565b600860009054906101000a90046001600160a01b03166001600160a01b03166314f6c3be6040518163ffffffff1660e01b815260040160206040518083038186803b158015611dc057600080fd5b505afa158015611dd4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611df891906122ca565b6008546001600160a01b03163114611e1257506000610ca9565b600960009054906101000a90046001600160a01b03166001600160a01b03166314f6c3be6040518163ffffffff1660e01b815260040160206040518083038186803b158015611e6057600080fd5b505afa158015611e74573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e9891906122ca565b6009546001600160a01b03163114611eb257506000610ca9565b600c546001600160a01b03163115611ecc57506000610ca9565b600d546001600160a01b03163115611ee657506000610ca9565b600e546001600160a01b0316311561196e57506000610ca9565b600a546001600160a01b031681565b600080600d60009054906101000a90046001600160a01b03166001600160a01b03166398d5fdca6040518163ffffffff1660e01b815260040160206040518083038186803b158015611f6057600080fd5b505afa158015611f74573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f9891906122ca565b905060008111611fa757600080fd5b6000611fce82611fc2600254876120f290919063ffffffff16565b9063ffffffff61213e16565b9050808611611fdc57600080fd5b60008187038681611fe957fe5b0691909101925050505b9392505050565b600080600d60009054906101000a90046001600160a01b03166001600160a01b03166398d5fdca6040518163ffffffff1660e01b815260040160206040518083038186803b15801561204b57600080fd5b505afa15801561205f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061208391906122ca565b600254909150849060009061209f90839063ffffffff61218016565b905060006120ae8883866121a5565b9050858110156120e6576120cc86611fc28a8763ffffffff6120f216565b91506120e3600254836121d590919063ffffffff16565b92505b50909695505050505050565b60008261210157506000612138565b8282028284828161210e57fe5b04146121355760405162461bcd60e51b815260040161212c906127bd565b60405180910390fd5b90505b92915050565b600061213583836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612217565b6000828201838110156121355760405162461bcd60e51b815260040161212c90612786565b600082156121cc5760006121c384611fc2878663ffffffff6120f216565b9150611ff39050565b50600019611ff3565b600061213583836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061224e565b600081836122385760405162461bcd60e51b815260040161212c9190612733565b50600083858161224457fe5b0495945050505050565b600081848411156122725760405162461bcd60e51b815260040161212c9190612733565b505050900390565b60006020828403121561228b578081fd5b815161213581612909565b6000602082840312156122a7578081fd5b815161213581612921565b6000602082840312156122c3578081fd5b5035919050565b6000602082840312156122db578081fd5b5051919050565b600080604083850312156122f4578081fd5b82359150602083013561230681612909565b809150509250929050565b60008060008060808587031215612326578182fd5b84359350602085013561233881612909565b9250604085013561234881612909565b9396929550929360600135925050565b60008060006060848603121561236c578283fd5b83359250602084013561237e81612909565b929592945050506040919091013590565b6000806000604084860312156123a3578283fd5b83359250602084013567ffffffffffffffff808211156123c1578384fd5b81860187601f8201126123d2578485fd5b80359250818311156123e2578485fd5b87602080850283010111156123f5578485fd5b949760209095019650909450505050565b60008060408385031215612418578182fd5b50508035926020909101359150565b60008060006060848603121561243b578283fd5b8335925060208401359150604084013561245481612909565b809150509250925092565b60008060008060808587031215612474578384fd5b8435935060208501359250604085013561248d81612909565b9150606085013561249d81612909565b939692955090935050565b60008060008060008060c087890312156124c0578182fd5b863595506020870135945060408701356124d981612909565b935060608701356124e981612909565b925060808701356124f981612909565b8092505060a087013590509295509295509295565b600080600080600060a08688031215612525578081fd5b8535945060208601359350604086013561253e81612909565b9250606086013561254e81612909565b949793965091946080013592915050565b600080600060608486031215612573578081fd5b505081359360208301359350604090920135919050565b60008060008060008060c087890312156125a2578384fd5b86359550602087013594506040870135935060608701356124e981612909565b600080600080600060a086880312156125d9578283fd5b85359450602086013593506040860135925060608601359150608086013561260081612921565b809150509295509295909350565b600080600080600080600080610100898b03121561262a578586fd5b88359750602089013596506040890135955060608901359450608089013561265181612921565b935060a089013561266181612909565b925060c089013561267181612909565b8092505060e089013590509295985092959890939650565b6001600160a01b0391909116815260200190565b6001600160a01b039384168152919092166020820152604081019190915260600190565b6001600160a01b03929092168252602082015260400190565b60208082528181018390526000908460408401835b8681101561271d57823561270281612909565b6001600160a01b0316825291830191908301906001016126ef565b509695505050505050565b901515815260200190565b6000602080835283518082850152825b8181101561275f57858101830151858201604001528201612743565b818111156127705783604083870101525b50601f01601f1916929092016040019392505050565b6020808252601b908201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604082015260600190565b60208082526021908201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6040820152607760f81b606082015260800190565b90815260200190565b9182526001600160a01b0316602082015260400190565b9283526001600160a01b03918216602084015216604082015260600190565b9687526001600160a01b0395861660208801529385166040870152919093166060850152608084019290925260a083019190915260c082015260e00190565b9384526001600160a01b03928316602085015291166040830152606082015260800190565b94855260208501939093526001600160a01b039182166040850152166060830152608082015260a00190565b9687526020870195909552604086019390935290151560608501526001600160a01b0390811660808501521660a083015260c082015260e00190565b6001600160a01b038116811461291e57600080fd5b50565b801515811461291e57600080fdfea2646970667358221220eb7ad9d5b909f9e648eae8c7f89922a08c7cbcabc1ba72a37e06f9184fc06c6364736f6c634300060b0033", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/packages/lib-ethers/live/ExternalPriceFeedTester.json b/packages/lib-ethers/live/ExternalPriceFeedTester.json deleted file mode 100644 index 4a452598a..000000000 --- a/packages/lib-ethers/live/ExternalPriceFeedTester.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "ExternalPriceFeedTester", - "sourceName": "contracts/TestContracts/ExternalPriceFeedTester.sol", - "abi": [ - { - "inputs": [], - "name": "latestAnswer", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_price", - "type": "uint256" - }, - { - "internalType": "bool", - "name": "_success", - "type": "bool" - } - ], - "name": "setLatestAnswer", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": "0x608060405234801561001057600080fd5b5060d68061001f6000396000f3fe6080604052348015600f57600080fd5b506004361060325760003560e01c806350d25bcd146037578063c56c4d6c146056575b600080fd5b603d607a565b6040805192835290151560208301528051918290030190f35b607860048036036040811015606a57600080fd5b508035906020013515156087565b005b60005460015460ff169091565b6000919091556001805460ff191691151591909117905556fea26469706673582212208530989d69cf0cd8ccc34297142e5e2b8316a44647be842239f8ffdb9e46a9bc64736f6c634300060b0033", - "deployedBytecode": "0x6080604052348015600f57600080fd5b506004361060325760003560e01c806350d25bcd146037578063c56c4d6c146056575b600080fd5b603d607a565b6040805192835290151560208301528051918290030190f35b607860048036036040811015606a57600080fd5b508035906020013515156087565b005b60005460015460ff169091565b6000919091556001805460ff191691151591909117905556fea26469706673582212208530989d69cf0cd8ccc34297142e5e2b8316a44647be842239f8ffdb9e46a9bc64736f6c634300060b0033", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/packages/lib-ethers/live/FeeDistributor.json b/packages/lib-ethers/live/FeeDistributor.json deleted file mode 100644 index b01ff338a..000000000 --- a/packages/lib-ethers/live/FeeDistributor.json +++ /dev/null @@ -1,357 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "FeeDistributor", - "sourceName": "contracts/FeeDistributor.sol", - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_activePoolAddress", - "type": "address" - } - ], - "name": "ActivePoolAddressSet", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_borrowerOperationsAddress", - "type": "address" - } - ], - "name": "BorrowerOperationsAddressChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_feeSharingCollectorAddress", - "type": "address" - } - ], - "name": "FeeSharingCollectorAddressChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "previousOwner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnershipTransferred", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "_rbtcDistributedAmount", - "type": "uint256" - } - ], - "name": "RBTCistributed", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_troveManagerAddress", - "type": "address" - } - ], - "name": "TroveManagerAddressChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_wrbtcAddress", - "type": "address" - } - ], - "name": "WrbtcAddressChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "_zusdDistributedAmount", - "type": "uint256" - } - ], - "name": "ZUSDDistributed", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_zusdTokenAddress", - "type": "address" - } - ], - "name": "ZUSDTokenAddressChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_zeroStakingAddress", - "type": "address" - } - ], - "name": "ZeroStakingAddressChanged", - "type": "event" - }, - { - "inputs": [], - "name": "FEE_TO_FEE_SHARING_COLLECTOR", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "NAME", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "activePoolAddress", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "borrowerOperations", - "outputs": [ - { - "internalType": "contract IBorrowerOperations", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "distributeFees", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "feeSharingCollector", - "outputs": [ - { - "internalType": "contract IFeeSharingCollector", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getOwner", - "outputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_feeSharingCollectorAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_zeroStakingAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_borrowerOperationsAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_troveManagerAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_wrbtcAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_zusdTokenAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_activePoolAddress", - "type": "address" - } - ], - "name": "setAddresses", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "FEE_TO_FEE_SHARING_COLLECTOR_", - "type": "uint256" - } - ], - "name": "setFeeToFeeSharingCollector", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - } - ], - "name": "setOwner", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "troveManager", - "outputs": [ - { - "internalType": "contract ITroveManager", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "wrbtc", - "outputs": [ - { - "internalType": "contract IWrbtc", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "zeroStaking", - "outputs": [ - { - "internalType": "contract IZEROStaking", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "zusdToken", - "outputs": [ - { - "internalType": "contract IZUSDToken", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "stateMutability": "payable", - "type": "receive" - } - ], - "bytecode": "0x608060405234801561001057600080fd5b50610023336001600160e01b0361002816565b610110565b6001600160a01b03811661006d5760405162461bcd60e51b815260040180806020018281038252602281526020018061129c6022913960400191505060405180910390fd5b6001600160a01b0381166100886001600160e01b036100e616565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3604080517035b2bc9737bbb730b136329737bbb732b960791b8152905190819003601101902055565b604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205490565b61117d8061011f6000396000f3fe6080604052600436106100c15760003560e01c8063b08bc7221161006f578063b08bc72214610229578063bb57ad201461023e578063d9db1a6814610253578063eaa8ba7f14610268578063ec5472fd146102cd578063ec9f7d46146102e2578063f231f7cd146102f7576100d0565b806313af4035146100d55780633d83908a146101085780636b7dbb2d1461013957806377553ad41461014e578063893d20e8146101635780638e93c64914610178578063a3f4df7e1461019f576100d0565b366100d0576100ce610321565b005b600080fd5b3480156100e157600080fd5b506100ce600480360360208110156100f857600080fd5b50356001600160a01b031661036c565b34801561011457600080fd5b5061011d6103df565b604080516001600160a01b039092168252519081900360200190f35b34801561014557600080fd5b5061011d6103ee565b34801561015a57600080fd5b5061011d6103fd565b34801561016f57600080fd5b5061011d61040c565b34801561018457600080fd5b5061018d610436565b60408051918252519081900360200190f35b3480156101ab57600080fd5b506101b461043c565b6040805160208082528351818301528351919283929083019185019080838360005b838110156101ee5781810151838201526020016101d6565b50505050905090810190601f16801561021b5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561023557600080fd5b5061011d610466565b34801561024a57600080fd5b506100ce610475565b34801561025f57600080fd5b5061011d610585565b34801561027457600080fd5b506100ce600480360360e081101561028b57600080fd5b506001600160a01b038135811691602081013582169160408201358116916060810135821691608082013581169160a081013582169160c09091013516610594565b3480156102d957600080fd5b5061011d610857565b3480156102ee57600080fd5b5061011d610866565b34801561030357600080fd5b506100ce6004803603602081101561031a57600080fd5b5035610875565b6006546001600160a01b0316331461036a5760405162461bcd60e51b81526004018080602001828103825260288152602001806111206028913960400191505060405180910390fd5b565b61037461040c565b6001600160a01b0316336001600160a01b0316146103d3576040805162461bcd60e51b815260206004820152601760248201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604482015290519081900360640190fd5b6103dc816108e1565b50565b6003546001600160a01b031681565b6000546001600160a01b031681565b6002546001600160a01b031681565b604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205490565b60075481565b6040518060400160405280600e81526020016d2332b2a234b9ba3934b13aba37b960911b81525081565b6006546001600160a01b031681565b6002546001600160a01b031633148061049857506003546001600160a01b031633145b6104e9576040805162461bcd60e51b815260206004820152601e60248201527f4665654469737472696275746f723a20696e76616c69642063616c6c65720000604482015290519081900360640190fd5b600554604080516370a0823160e01b815230600482015290516000926001600160a01b0316916370a08231916024808301926020929190829003018186803b15801561053457600080fd5b505afa158015610548573d6000803e3d6000fd5b505050506040513d602081101561055e57600080fd5b505190504781156105725761057282610996565b80156105815761058181610c58565b5050565b6004546001600160a01b031681565b61059c61040c565b6001600160a01b0316336001600160a01b0316146105fb576040805162461bcd60e51b815260206004820152601760248201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604482015290519081900360640190fd5b61060487610e29565b61060d86610e29565b61061685610e29565b61061f84610e29565b61062883610e29565b61063182610e29565b61063a81610e29565b600080546001600160a01b03199081166001600160a01b038a81169182179093556001805483168a851617905560028054831689851617905560038054831688851617905560048054831687851617905560058054831686851617905560068054909216928416929092179055670de0b6b3a764000060075560408051918252517f963023df1091dc8c0e46db982274139953d69a4d688a740bee4aa40fa318497e916020908290030190a1604080516001600160a01b038816815290517fc7b150c129c1c24ff23a07f2d3c9579928b1a51697a8a1f79dd07888fc904b849181900360200190a1604080516001600160a01b038716815290517f3ca631ffcd2a9b5d9ae18543fc82f58eb4ca33af9e6ab01b7a8e95331e6ed9859181900360200190a1604080516001600160a01b038616815290517f143219c9e69b09e07e095fcc889b43d8f46ca892bba65f08dc3a0050869a56789181900360200190a1604080516001600160a01b038516815290517f35bae0aeb0bdf7e62f85dbfcc7876b98015f550d75ae3deb0505c0565db12f4b9181900360200190a1604080516001600160a01b038416815290517fcdf33850c44a1a874b5fefb51dae615ac6afebd581ef90d571f81b06541d8e9d9181900360200190a1604080516001600160a01b038316815290517f8f6a6e7d20a3233e0a79883272259ffbd7a243734e397bc2b4642c79d7fa8a6d9181900360200190a150505050505050565b6001546001600160a01b031681565b6005546001600160a01b031681565b61087d61040c565b6001600160a01b0316336001600160a01b0316146108dc576040805162461bcd60e51b815260206004820152601760248201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604482015290519081900360640190fd5b600755565b6001600160a01b0381166109265760405162461bcd60e51b81526004018080602001828103825260228152602001806110bb6022913960400191505060405180910390fd5b806001600160a01b031661093861040c565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3604080517035b2bc9737bbb730b136329737bbb732b960791b8152905190819003601101902055565b60006109c5670de0b6b3a76400006109b960075485610ed890919063ffffffff16565b9063ffffffff610f3a16565b600554600080546040805163095ea7b360e01b81526001600160a01b03928316600482015260248101869052905194955092169263095ea7b3926044808201936020939283900390910190829087803b158015610a2157600080fd5b505af1158015610a35573d6000803e3d6000fd5b505050506040513d6020811015610a4b57600080fd5b5050600080546005546040805163abe979e160e01b81526001600160a01b0392831660048201526bffffffffffffffffffffffff861660248201529051919092169263abe979e1926044808201939182900301818387803b158015610aaf57600080fd5b505af1158015610ac3573d6000803e3d6000fd5b505050506000610adc8284610f7c90919063ffffffff16565b90508015610c20576005546001546040805163a9059cbb60e01b81526001600160a01b039283166004820152602481018590529051919092169163a9059cbb9160448083019260209291908290030181600087803b158015610b3d57600080fd5b505af1158015610b51573d6000803e3d6000fd5b505050506040513d6020811015610b6757600080fd5b5051610bba576040805162461bcd60e51b815260206004820152601d60248201527f436f75646e27742065786563757465205a555344207472616e73666572000000604482015290519081900360640190fd5b6001546040805163187daae360e21b81526004810184905290516001600160a01b03909216916361f6ab8c9160248082019260009290919082900301818387803b158015610c0757600080fd5b505af1158015610c1b573d6000803e3d6000fd5b505050505b6040805184815290517f3168880c2a9a8e657d1de00769e3baefa8c1153f1847a85b43070ee5fed512959181900360200190a1505050565b6000610c7b670de0b6b3a76400006109b960075485610ed890919063ffffffff16565b60008054604080516322a6fd9560e01b815290519394506001600160a01b03909116926322a6fd959285926004808201939182900301818588803b158015610cc257600080fd5b505af1158015610cd6573d6000803e3d6000fd5b50505050506000610cf08284610f7c90919063ffffffff16565b90508015610df1576001546040516000916001600160a01b03169083908381818185875af1925050503d8060008114610d45576040519150601f19603f3d011682016040523d82523d6000602084013e610d4a565b606091505b5050905080610d8a5760405162461bcd60e51b81526004018080602001828103825260228152602001806110dd6022913960400191505060405180910390fd5b60015460408051630f1f150d60e11b81526004810185905290516001600160a01b0390921691631e3e2a1a9160248082019260009290919082900301818387803b158015610dd757600080fd5b505af1158015610deb573d6000803e3d6000fd5b50505050505b6040805184815290517f3289490aa1b0ec56454cbd5d18bd6b8d79609982b2abe74eee579eb6f67581919181900360200190a1505050565b6001600160a01b038116610e84576040805162461bcd60e51b815260206004820152601e60248201527f4163636f756e742063616e6e6f74206265207a65726f20616464726573730000604482015290519081900360640190fd5b803b80610581576040805162461bcd60e51b815260206004820181905260248201527f4163636f756e7420636f64652073697a652063616e6e6f74206265207a65726f604482015290519081900360640190fd5b600082610ee757506000610f34565b82820282848281610ef457fe5b0414610f315760405162461bcd60e51b81526004018080602001828103825260218152602001806110ff6021913960400191505060405180910390fd5b90505b92915050565b6000610f3183836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250610fbe565b6000610f3183836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611060565b6000818361104a5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561100f578181015183820152602001610ff7565b50505050905090810190601f16801561103c5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50600083858161105657fe5b0495945050505050565b600081848411156110b25760405162461bcd60e51b815260206004820181815283516024840152835190928392604490910191908501908083836000831561100f578181015183820152602001610ff7565b50505090039056fe4f776e61626c653a3a7365744f776e65723a20696e76616c696420616464726573734665654469737472696275746f723a2073656e64696e6720455448206661696c6564536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f774665654469737472696275746f723a2063616c6c6572206973206e6f7420416374697665506f6f6ca264697066735822122068cbf3a893e2b9713149ddceb6b3570b9d11482f5f07b3b3066ad70f4eec87e264736f6c634300060b00334f776e61626c653a3a7365744f776e65723a20696e76616c69642061646472657373", - "deployedBytecode": "0x6080604052600436106100c15760003560e01c8063b08bc7221161006f578063b08bc72214610229578063bb57ad201461023e578063d9db1a6814610253578063eaa8ba7f14610268578063ec5472fd146102cd578063ec9f7d46146102e2578063f231f7cd146102f7576100d0565b806313af4035146100d55780633d83908a146101085780636b7dbb2d1461013957806377553ad41461014e578063893d20e8146101635780638e93c64914610178578063a3f4df7e1461019f576100d0565b366100d0576100ce610321565b005b600080fd5b3480156100e157600080fd5b506100ce600480360360208110156100f857600080fd5b50356001600160a01b031661036c565b34801561011457600080fd5b5061011d6103df565b604080516001600160a01b039092168252519081900360200190f35b34801561014557600080fd5b5061011d6103ee565b34801561015a57600080fd5b5061011d6103fd565b34801561016f57600080fd5b5061011d61040c565b34801561018457600080fd5b5061018d610436565b60408051918252519081900360200190f35b3480156101ab57600080fd5b506101b461043c565b6040805160208082528351818301528351919283929083019185019080838360005b838110156101ee5781810151838201526020016101d6565b50505050905090810190601f16801561021b5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561023557600080fd5b5061011d610466565b34801561024a57600080fd5b506100ce610475565b34801561025f57600080fd5b5061011d610585565b34801561027457600080fd5b506100ce600480360360e081101561028b57600080fd5b506001600160a01b038135811691602081013582169160408201358116916060810135821691608082013581169160a081013582169160c09091013516610594565b3480156102d957600080fd5b5061011d610857565b3480156102ee57600080fd5b5061011d610866565b34801561030357600080fd5b506100ce6004803603602081101561031a57600080fd5b5035610875565b6006546001600160a01b0316331461036a5760405162461bcd60e51b81526004018080602001828103825260288152602001806111206028913960400191505060405180910390fd5b565b61037461040c565b6001600160a01b0316336001600160a01b0316146103d3576040805162461bcd60e51b815260206004820152601760248201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604482015290519081900360640190fd5b6103dc816108e1565b50565b6003546001600160a01b031681565b6000546001600160a01b031681565b6002546001600160a01b031681565b604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205490565b60075481565b6040518060400160405280600e81526020016d2332b2a234b9ba3934b13aba37b960911b81525081565b6006546001600160a01b031681565b6002546001600160a01b031633148061049857506003546001600160a01b031633145b6104e9576040805162461bcd60e51b815260206004820152601e60248201527f4665654469737472696275746f723a20696e76616c69642063616c6c65720000604482015290519081900360640190fd5b600554604080516370a0823160e01b815230600482015290516000926001600160a01b0316916370a08231916024808301926020929190829003018186803b15801561053457600080fd5b505afa158015610548573d6000803e3d6000fd5b505050506040513d602081101561055e57600080fd5b505190504781156105725761057282610996565b80156105815761058181610c58565b5050565b6004546001600160a01b031681565b61059c61040c565b6001600160a01b0316336001600160a01b0316146105fb576040805162461bcd60e51b815260206004820152601760248201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604482015290519081900360640190fd5b61060487610e29565b61060d86610e29565b61061685610e29565b61061f84610e29565b61062883610e29565b61063182610e29565b61063a81610e29565b600080546001600160a01b03199081166001600160a01b038a81169182179093556001805483168a851617905560028054831689851617905560038054831688851617905560048054831687851617905560058054831686851617905560068054909216928416929092179055670de0b6b3a764000060075560408051918252517f963023df1091dc8c0e46db982274139953d69a4d688a740bee4aa40fa318497e916020908290030190a1604080516001600160a01b038816815290517fc7b150c129c1c24ff23a07f2d3c9579928b1a51697a8a1f79dd07888fc904b849181900360200190a1604080516001600160a01b038716815290517f3ca631ffcd2a9b5d9ae18543fc82f58eb4ca33af9e6ab01b7a8e95331e6ed9859181900360200190a1604080516001600160a01b038616815290517f143219c9e69b09e07e095fcc889b43d8f46ca892bba65f08dc3a0050869a56789181900360200190a1604080516001600160a01b038516815290517f35bae0aeb0bdf7e62f85dbfcc7876b98015f550d75ae3deb0505c0565db12f4b9181900360200190a1604080516001600160a01b038416815290517fcdf33850c44a1a874b5fefb51dae615ac6afebd581ef90d571f81b06541d8e9d9181900360200190a1604080516001600160a01b038316815290517f8f6a6e7d20a3233e0a79883272259ffbd7a243734e397bc2b4642c79d7fa8a6d9181900360200190a150505050505050565b6001546001600160a01b031681565b6005546001600160a01b031681565b61087d61040c565b6001600160a01b0316336001600160a01b0316146108dc576040805162461bcd60e51b815260206004820152601760248201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604482015290519081900360640190fd5b600755565b6001600160a01b0381166109265760405162461bcd60e51b81526004018080602001828103825260228152602001806110bb6022913960400191505060405180910390fd5b806001600160a01b031661093861040c565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3604080517035b2bc9737bbb730b136329737bbb732b960791b8152905190819003601101902055565b60006109c5670de0b6b3a76400006109b960075485610ed890919063ffffffff16565b9063ffffffff610f3a16565b600554600080546040805163095ea7b360e01b81526001600160a01b03928316600482015260248101869052905194955092169263095ea7b3926044808201936020939283900390910190829087803b158015610a2157600080fd5b505af1158015610a35573d6000803e3d6000fd5b505050506040513d6020811015610a4b57600080fd5b5050600080546005546040805163abe979e160e01b81526001600160a01b0392831660048201526bffffffffffffffffffffffff861660248201529051919092169263abe979e1926044808201939182900301818387803b158015610aaf57600080fd5b505af1158015610ac3573d6000803e3d6000fd5b505050506000610adc8284610f7c90919063ffffffff16565b90508015610c20576005546001546040805163a9059cbb60e01b81526001600160a01b039283166004820152602481018590529051919092169163a9059cbb9160448083019260209291908290030181600087803b158015610b3d57600080fd5b505af1158015610b51573d6000803e3d6000fd5b505050506040513d6020811015610b6757600080fd5b5051610bba576040805162461bcd60e51b815260206004820152601d60248201527f436f75646e27742065786563757465205a555344207472616e73666572000000604482015290519081900360640190fd5b6001546040805163187daae360e21b81526004810184905290516001600160a01b03909216916361f6ab8c9160248082019260009290919082900301818387803b158015610c0757600080fd5b505af1158015610c1b573d6000803e3d6000fd5b505050505b6040805184815290517f3168880c2a9a8e657d1de00769e3baefa8c1153f1847a85b43070ee5fed512959181900360200190a1505050565b6000610c7b670de0b6b3a76400006109b960075485610ed890919063ffffffff16565b60008054604080516322a6fd9560e01b815290519394506001600160a01b03909116926322a6fd959285926004808201939182900301818588803b158015610cc257600080fd5b505af1158015610cd6573d6000803e3d6000fd5b50505050506000610cf08284610f7c90919063ffffffff16565b90508015610df1576001546040516000916001600160a01b03169083908381818185875af1925050503d8060008114610d45576040519150601f19603f3d011682016040523d82523d6000602084013e610d4a565b606091505b5050905080610d8a5760405162461bcd60e51b81526004018080602001828103825260228152602001806110dd6022913960400191505060405180910390fd5b60015460408051630f1f150d60e11b81526004810185905290516001600160a01b0390921691631e3e2a1a9160248082019260009290919082900301818387803b158015610dd757600080fd5b505af1158015610deb573d6000803e3d6000fd5b50505050505b6040805184815290517f3289490aa1b0ec56454cbd5d18bd6b8d79609982b2abe74eee579eb6f67581919181900360200190a1505050565b6001600160a01b038116610e84576040805162461bcd60e51b815260206004820152601e60248201527f4163636f756e742063616e6e6f74206265207a65726f20616464726573730000604482015290519081900360640190fd5b803b80610581576040805162461bcd60e51b815260206004820181905260248201527f4163636f756e7420636f64652073697a652063616e6e6f74206265207a65726f604482015290519081900360640190fd5b600082610ee757506000610f34565b82820282848281610ef457fe5b0414610f315760405162461bcd60e51b81526004018080602001828103825260218152602001806110ff6021913960400191505060405180910390fd5b90505b92915050565b6000610f3183836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250610fbe565b6000610f3183836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611060565b6000818361104a5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561100f578181015183820152602001610ff7565b50505050905090810190601f16801561103c5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50600083858161105657fe5b0495945050505050565b600081848411156110b25760405162461bcd60e51b815260206004820181815283516024840152835190928392604490910191908501908083836000831561100f578181015183820152602001610ff7565b50505090039056fe4f776e61626c653a3a7365744f776e65723a20696e76616c696420616464726573734665654469737472696275746f723a2073656e64696e6720455448206661696c6564536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f774665654469737472696275746f723a2063616c6c6572206973206e6f7420416374697665506f6f6ca264697066735822122068cbf3a893e2b9713149ddceb6b3570b9d11482f5f07b3b3066ad70f4eec87e264736f6c634300060b0033", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/packages/lib-ethers/live/FeeDistributorStorage.json b/packages/lib-ethers/live/FeeDistributorStorage.json deleted file mode 100644 index c3fadf36a..000000000 --- a/packages/lib-ethers/live/FeeDistributorStorage.json +++ /dev/null @@ -1,173 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "FeeDistributorStorage", - "sourceName": "contracts/FeeDistributorStorage.sol", - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "previousOwner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnershipTransferred", - "type": "event" - }, - { - "inputs": [], - "name": "FEE_TO_FEE_SHARING_COLLECTOR", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "NAME", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "activePoolAddress", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "borrowerOperations", - "outputs": [ - { - "internalType": "contract IBorrowerOperations", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "feeSharingCollector", - "outputs": [ - { - "internalType": "contract IFeeSharingCollector", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getOwner", - "outputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - } - ], - "name": "setOwner", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "troveManager", - "outputs": [ - { - "internalType": "contract ITroveManager", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "wrbtc", - "outputs": [ - { - "internalType": "contract IWrbtc", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "zeroStaking", - "outputs": [ - { - "internalType": "contract IZEROStaking", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "zusdToken", - "outputs": [ - { - "internalType": "contract IZUSDToken", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": "0x608060405234801561001057600080fd5b50610023336001600160e01b0361002816565b610110565b6001600160a01b03811661006d5760405162461bcd60e51b815260040180806020018281038252602281526020018061052b6022913960400191505060405180910390fd5b6001600160a01b0381166100886001600160e01b036100e616565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3604080517035b2bc9737bbb730b136329737bbb732b960791b8152905190819003601101902055565b604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205490565b61040c8061011f6000396000f3fe608060405234801561001057600080fd5b50600436106100a95760003560e01c80638e93c649116100715780638e93c64914610112578063a3f4df7e1461012c578063b08bc722146101a9578063d9db1a68146101b1578063ec5472fd146101b9578063ec9f7d46146101c1576100a9565b806313af4035146100ae5780633d83908a146100d65780636b7dbb2d146100fa57806377553ad414610102578063893d20e81461010a575b600080fd5b6100d4600480360360208110156100c457600080fd5b50356001600160a01b03166101c9565b005b6100de61023c565b604080516001600160a01b039092168252519081900360200190f35b6100de61024b565b6100de61025a565b6100de610269565b61011a610293565b60408051918252519081900360200190f35b610134610299565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561016e578181015183820152602001610156565b50505050905090810190601f16801561019b5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6100de6102c3565b6100de6102d2565b6100de6102e1565b6100de6102f0565b6101d1610269565b6001600160a01b0316336001600160a01b031614610230576040805162461bcd60e51b815260206004820152601760248201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604482015290519081900360640190fd5b610239816102ff565b50565b6003546001600160a01b031681565b6000546001600160a01b031681565b6002546001600160a01b031681565b604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205490565b60075481565b6040518060400160405280600e81526020016d2332b2a234b9ba3934b13aba37b960911b81525081565b6006546001600160a01b031681565b6004546001600160a01b031681565b6001546001600160a01b031681565b6005546001600160a01b031681565b6001600160a01b0381166103445760405162461bcd60e51b81526004018080602001828103825260228152602001806103b56022913960400191505060405180910390fd5b806001600160a01b0316610356610269565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205556fe4f776e61626c653a3a7365744f776e65723a20696e76616c69642061646472657373a26469706673582212206cfebe73d486b68329906f42a6ec81d233994ac818d87ad7498e1a662459139064736f6c634300060b00334f776e61626c653a3a7365744f776e65723a20696e76616c69642061646472657373", - "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100a95760003560e01c80638e93c649116100715780638e93c64914610112578063a3f4df7e1461012c578063b08bc722146101a9578063d9db1a68146101b1578063ec5472fd146101b9578063ec9f7d46146101c1576100a9565b806313af4035146100ae5780633d83908a146100d65780636b7dbb2d146100fa57806377553ad414610102578063893d20e81461010a575b600080fd5b6100d4600480360360208110156100c457600080fd5b50356001600160a01b03166101c9565b005b6100de61023c565b604080516001600160a01b039092168252519081900360200190f35b6100de61024b565b6100de61025a565b6100de610269565b61011a610293565b60408051918252519081900360200190f35b610134610299565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561016e578181015183820152602001610156565b50505050905090810190601f16801561019b5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6100de6102c3565b6100de6102d2565b6100de6102e1565b6100de6102f0565b6101d1610269565b6001600160a01b0316336001600160a01b031614610230576040805162461bcd60e51b815260206004820152601760248201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604482015290519081900360640190fd5b610239816102ff565b50565b6003546001600160a01b031681565b6000546001600160a01b031681565b6002546001600160a01b031681565b604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205490565b60075481565b6040518060400160405280600e81526020016d2332b2a234b9ba3934b13aba37b960911b81525081565b6006546001600160a01b031681565b6004546001600160a01b031681565b6001546001600160a01b031681565b6005546001600160a01b031681565b6001600160a01b0381166103445760405162461bcd60e51b81526004018080602001828103825260228152602001806103b56022913960400191505060405180910390fd5b806001600160a01b0316610356610269565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205556fe4f776e61626c653a3a7365744f776e65723a20696e76616c69642061646472657373a26469706673582212206cfebe73d486b68329906f42a6ec81d233994ac818d87ad7498e1a662459139064736f6c634300060b0033", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/packages/lib-ethers/live/FunctionCaller.json b/packages/lib-ethers/live/FunctionCaller.json deleted file mode 100644 index 7604240d6..000000000 --- a/packages/lib-ethers/live/FunctionCaller.json +++ /dev/null @@ -1,147 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "FunctionCaller", - "sourceName": "contracts/TestContracts/FunctionCaller.sol", - "abi": [ - { - "inputs": [], - "name": "priceFeedAddress", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_priceFeedAddress", - "type": "address" - } - ], - "name": "setPriceFeedAddress", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_sortedTrovesAddress", - "type": "address" - } - ], - "name": "setSortedTrovesAddress", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_troveManagerAddress", - "type": "address" - } - ], - "name": "setTroveManagerAddress", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "sortedTrovesAddress", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_NICR", - "type": "uint256" - }, - { - "internalType": "address", - "name": "_prevId", - "type": "address" - }, - { - "internalType": "address", - "name": "_nextId", - "type": "address" - } - ], - "name": "sortedTroves_findInsertPosition", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "troveManagerAddress", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_address", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_price", - "type": "uint256" - } - ], - "name": "troveManager_getCurrentICR", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": "0x608060405234801561001057600080fd5b506103c6806100206000396000f3fe608060405234801561001057600080fd5b50600436106100775760003560e01c8062cf5db41461007c5780632caffa81146100a45780635a4d28bb146100c8578063a06dec71146100d0578063ced2027c146100f6578063dcc6710f1461011c578063e0abca0b14610176578063f4f9e5461461017e575b600080fd5b6100a26004803603602081101561009257600080fd5b50356001600160a01b03166101bc565b005b6100ac6101e8565b604080516001600160a01b039092168252519081900360200190f35b6100ac6101f7565b6100a2600480360360208110156100e657600080fd5b50356001600160a01b0316610206565b6100a26004803603602081101561010c57600080fd5b50356001600160a01b0316610232565b6101506004803603606081101561013257600080fd5b508035906001600160a01b036020820135811691604001351661025e565b604080516001600160a01b03938416815291909216602082015281519081900390910190f35b6100ac6102f9565b6101aa6004803603604081101561019457600080fd5b506001600160a01b038135169060200135610308565b60408051918252519081900360200190f35b600580546001600160a01b039092166001600160a01b0319928316811790915560048054909216179055565b6003546001600160a01b031681565b6001546001600160a01b031681565b600180546001600160a01b039092166001600160a01b0319928316811790915560028054909216179055565b600180546001600160a01b039092166001600160a01b0319928316811790915560008054909216179055565b6002546040805163105a603760e21b8152600481018690526001600160a01b03858116602483015284811660448301528251600094859492169263416980dc926064808301939192829003018186803b1580156102ba57600080fd5b505afa1580156102ce573d6000803e3d6000fd5b505050506040513d60408110156102e457600080fd5b50805160209091015190969095509350505050565b6005546001600160a01b031681565b6000805460408051630d293c7160e41b81526001600160a01b038681166004830152602482018690529151919092169163d293c710916044808301926020929190829003018186803b15801561035d57600080fd5b505afa158015610371573d6000803e3d6000fd5b505050506040513d602081101561038757600080fd5b5051939250505056fea26469706673582212208f8f7f8254a01f8d22633f50dcd75fc5759e6b347538fef70d047dcaf368387b64736f6c634300060b0033", - "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100775760003560e01c8062cf5db41461007c5780632caffa81146100a45780635a4d28bb146100c8578063a06dec71146100d0578063ced2027c146100f6578063dcc6710f1461011c578063e0abca0b14610176578063f4f9e5461461017e575b600080fd5b6100a26004803603602081101561009257600080fd5b50356001600160a01b03166101bc565b005b6100ac6101e8565b604080516001600160a01b039092168252519081900360200190f35b6100ac6101f7565b6100a2600480360360208110156100e657600080fd5b50356001600160a01b0316610206565b6100a26004803603602081101561010c57600080fd5b50356001600160a01b0316610232565b6101506004803603606081101561013257600080fd5b508035906001600160a01b036020820135811691604001351661025e565b604080516001600160a01b03938416815291909216602082015281519081900390910190f35b6100ac6102f9565b6101aa6004803603604081101561019457600080fd5b506001600160a01b038135169060200135610308565b60408051918252519081900360200190f35b600580546001600160a01b039092166001600160a01b0319928316811790915560048054909216179055565b6003546001600160a01b031681565b6001546001600160a01b031681565b600180546001600160a01b039092166001600160a01b0319928316811790915560028054909216179055565b600180546001600160a01b039092166001600160a01b0319928316811790915560008054909216179055565b6002546040805163105a603760e21b8152600481018690526001600160a01b03858116602483015284811660448301528251600094859492169263416980dc926064808301939192829003018186803b1580156102ba57600080fd5b505afa1580156102ce573d6000803e3d6000fd5b505050506040513d60408110156102e457600080fd5b50805160209091015190969095509350505050565b6005546001600160a01b031681565b6000805460408051630d293c7160e41b81526001600160a01b038681166004830152602482018690529151919092169163d293c710916044808301926020929190829003018186803b15801561035d57600080fd5b505afa158015610371573d6000803e3d6000fd5b505050506040513d602081101561038757600080fd5b5051939250505056fea26469706673582212208f8f7f8254a01f8d22633f50dcd75fc5759e6b347538fef70d047dcaf368387b64736f6c634300060b0033", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/packages/lib-ethers/live/GasPool.json b/packages/lib-ethers/live/GasPool.json deleted file mode 100644 index a92ed02c7..000000000 --- a/packages/lib-ethers/live/GasPool.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "GasPool", - "sourceName": "contracts/GasPool.sol", - "abi": [], - "bytecode": "0x6080604052348015600f57600080fd5b50603f80601d6000396000f3fe6080604052600080fdfea264697066735822122066e9d13e845a93dc2501d42df6e2e92fe003bd0b9c468fc3e0baf1634cbfcecf64736f6c634300060b0033", - "deployedBytecode": "0x6080604052600080fdfea264697066735822122066e9d13e845a93dc2501d42df6e2e92fe003bd0b9c468fc3e0baf1634cbfcecf64736f6c634300060b0033", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/packages/lib-ethers/live/HintHelpers.json b/packages/lib-ethers/live/HintHelpers.json deleted file mode 100644 index a7c6ee9f4..000000000 --- a/packages/lib-ethers/live/HintHelpers.json +++ /dev/null @@ -1,405 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "HintHelpers", - "sourceName": "contracts/HintHelpers.sol", - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "previousOwner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnershipTransferred", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_sortedTrovesAddress", - "type": "address" - } - ], - "name": "SortedTrovesAddressChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_troveManagerAddress", - "type": "address" - } - ], - "name": "TroveManagerAddressChanged", - "type": "event" - }, - { - "inputs": [], - "name": "DECIMAL_PRECISION", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "MIN_NET_DEBT", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "NAME", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "ZUSD_GAS_COMPENSATION", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_100pct", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "activePool", - "outputs": [ - { - "internalType": "contract IActivePool", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_coll", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_debt", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_price", - "type": "uint256" - } - ], - "name": "computeCR", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "pure", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_coll", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_debt", - "type": "uint256" - } - ], - "name": "computeNominalCR", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "pure", - "type": "function" - }, - { - "inputs": [], - "name": "defaultPool", - "outputs": [ - { - "internalType": "contract IDefaultPool", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_CR", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_numTrials", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_inputRandomSeed", - "type": "uint256" - } - ], - "name": "getApproxHint", - "outputs": [ - { - "internalType": "address", - "name": "hintAddress", - "type": "address" - }, - { - "internalType": "uint256", - "name": "diff", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "latestRandomSeed", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getEntireSystemColl", - "outputs": [ - { - "internalType": "uint256", - "name": "entireSystemColl", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getEntireSystemDebt", - "outputs": [ - { - "internalType": "uint256", - "name": "entireSystemDebt", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getOwner", - "outputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_ZUSDamount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_price", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_maxIterations", - "type": "uint256" - } - ], - "name": "getRedemptionHints", - "outputs": [ - { - "internalType": "address", - "name": "firstRedemptionHint", - "type": "address" - }, - { - "internalType": "uint256", - "name": "partialRedemptionHintNICR", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "truncatedZUSDamount", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "liquityBaseParams", - "outputs": [ - { - "internalType": "contract ILiquityBaseParams", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "priceFeed", - "outputs": [ - { - "internalType": "contract IPriceFeed", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_liquityBaseParamsAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_sortedTrovesAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_troveManagerAddress", - "type": "address" - } - ], - "name": "setAddresses", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - } - ], - "name": "setOwner", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "sortedTroves", - "outputs": [ - { - "internalType": "contract ISortedTroves", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "troveManager", - "outputs": [ - { - "internalType": "contract ITroveManager", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": "0x608060405234801561001057600080fd5b50610023336001600160e01b0361002816565b610110565b6001600160a01b03811661006d5760405162461bcd60e51b81526004018080602001828103825260228152602001806116d46022913960400191505060405180910390fd5b6001600160a01b0381166100886001600160e01b036100e616565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3604080517035b2bc9737bbb730b136329737bbb732b960791b8152905190819003601101902055565b604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205490565b6115b58061011f6000396000f3fe608060405234801561001057600080fd5b506004361061012c5760003560e01c8063795d26c3116100ad5780639f070670116100715780639f070670146102b2578063a20baee614610251578063a3f4df7e146102ba578063ae91875414610337578063c394a7fa1461033f5761012c565b8063795d26c3146102695780637b41bdbe146102715780637f7dde4a1461029a578063887105d3146102a2578063893d20e8146102aa5761012c565b80633d83908a116100f45780633d83908a14610220578063525acdbb1461022857806372fe25aa14610251578063741bef1a14610259578063759b3034146102615761012c565b806313144dba1461013157806313af4035146101825780631bf43555146101aa578063363bf964146101c45780633cc74225146101fc575b600080fd5b61015a6004803603606081101561014757600080fd5b5080359060208101359060400135610362565b604080516001600160a01b039094168452602084019290925282820152519081900360600190f35b6101a86004803603602081101561019857600080fd5b50356001600160a01b0316610951565b005b6101b26109c4565b60408051918252519081900360200190f35b6101a8600480360360608110156101da57600080fd5b506001600160a01b0381358116916020810135821691604090910135166109d1565b610204610b05565b604080516001600160a01b039092168252519081900360200190f35b610204610b14565b6101b26004803603606081101561023e57600080fd5b5080359060208101359060400135610b23565b6101b2610b3a565b610204610b46565b6101b2610b55565b6101b2610b62565b61015a6004803603606081101561028757600080fd5b5080359060208101359060400135610c61565b610204610f72565b6101b2610f81565b61020461103d565b610204611067565b6102c2611076565b6040805160208082528351818301528351919283929083019185019080838360005b838110156102fc5781810151838201526020016102e4565b50505050905090810190601f1680156103295780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61020461109d565b6101b26004803603604081101561035557600080fd5b50803590602001356110ac565b6004805460408051634d62283160e01b81529051600093849384936001600160a01b0390911692899285928592634d62283192828101926020929190829003018186803b1580156103b257600080fd5b505afa1580156103c6573d6000803e3d6000fd5b505050506040513d60208110156103dc57600080fd5b505190505b6001600160a01b038116158015906104f05750600360009054906101000a90046001600160a01b03166001600160a01b031663794e57246040518163ffffffff1660e01b815260040160206040518083038186803b15801561044257600080fd5b505afa158015610456573d6000803e3d6000fd5b505050506040513d602081101561046c57600080fd5b505160055460408051630d293c7160e41b81526001600160a01b038581166004830152602482018d90529151919092169163d293c710916044808301926020929190829003018186803b1580156104c257600080fd5b505afa1580156104d6573d6000803e3d6000fd5b505050506040513d60208110156104ec57600080fd5b5051105b1561057e57826001600160a01b031663b72703ac826040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b15801561054b57600080fd5b505afa15801561055f573d6000803e3d6000fd5b505050506040513d602081101561057557600080fd5b505190506103e1565b9450848661058c5760001996505b6001600160a01b038116158015906105a45750600082115b80156105b4575060001987019615155b1561093357600554604080516317c62b1760e01b81526001600160a01b03848116600483015291516000936106c59316916317c62b17916024808301926020929190829003018186803b15801561060a57600080fd5b505afa15801561061e573d6000803e3d6000fd5b505050506040513d602081101561063457600080fd5b50516005546040805163d66a255360e01b81526001600160a01b03878116600483015291516106b993929092169163d66a255391602480820192602092909190829003018186803b15801561068857600080fd5b505afa15801561069c573d6000803e3d6000fd5b505050506040513d60208110156106b257600080fd5b50516110c1565b9063ffffffff6110dc16565b905082811115610896576809c2007651b2500000811115610890576000610704846106ff846809c2007651b250000063ffffffff61113616565b611178565b60055460408051635d8c960960e01b81526001600160a01b038781166004830152915193945060009361080d939290921691635d8c960991602480820192602092909190829003018186803b15801561075c57600080fd5b505afa158015610770573d6000803e3d6000fd5b505050506040513d602081101561078657600080fd5b5051600554604080516309019aaf60e31b81526001600160a01b0389811660048301529151919092169163480cd578916024808301926020929190829003018186803b1580156107d557600080fd5b505afa1580156107e9573d6000803e3d6000fd5b505050506040513d60208110156107ff57600080fd5b50519063ffffffff6110dc16565b9050600061084961083c8d61083086670de0b6b3a764000063ffffffff61118e16565b9063ffffffff6111e716565b839063ffffffff61113616565b9050600061085d858563ffffffff61113616565b9050600061086a82611229565b90506108768382611244565b9a50610888888663ffffffff61113616565b975050505050505b50610933565b6108a6838263ffffffff61113616565b9250836001600160a01b031663b72703ac836040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b1580156108fe57600080fd5b505afa158015610912573d6000803e3d6000fd5b505050506040513d602081101561092857600080fd5b5051915061058c9050565b610943898363ffffffff61113616565b935050505093509350939050565b61095961103d565b6001600160a01b0316336001600160a01b0316146109b8576040805162461bcd60e51b815260206004820152601760248201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604482015290519081900360640190fd5b6109c181611279565b50565b6809c2007651b250000081565b6109d961103d565b6001600160a01b0316336001600160a01b031614610a38576040805162461bcd60e51b815260206004820152601760248201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604482015290519081900360640190fd5b610a418361132e565b610a4a8261132e565b610a538161132e565b600380546001600160a01b038086166001600160a01b031992831617909255600480548584169083168117909155600580549385169390921692909217905560408051918252517f65f4cf077bc01e4742eb5ad98326f6e95b63548ea24b17f8d5e823111fe788009181900360200190a1604080516001600160a01b038316815290517f143219c9e69b09e07e095fcc889b43d8f46ca892bba65f08dc3a0050869a56789181900360200190a1505050565b6001546001600160a01b031681565b6005546001600160a01b031681565b6000610b308484846113e1565b90505b9392505050565b670de0b6b3a764000081565b6002546001600160a01b031681565b6801158e460913d0000081565b60008054604080516272c7d360e71b8152905183926001600160a01b031691633963e980916004808301926020929190829003018186803b158015610ba657600080fd5b505afa158015610bba573d6000803e3d6000fd5b505050506040513d6020811015610bd057600080fd5b5051600154604080516272c7d360e71b815290519293506000926001600160a01b0390921691633963e98091600480820192602092909190829003018186803b158015610c1c57600080fd5b505afa158015610c30573d6000803e3d6000fd5b505050506040513d6020811015610c4657600080fd5b50519050610c5a828263ffffffff6110dc16565b9250505090565b600080600080600560009054906101000a90046001600160a01b03166001600160a01b03166349eefeee6040518163ffffffff1660e01b815260040160206040518083038186803b158015610cb557600080fd5b505afa158015610cc9573d6000803e3d6000fd5b505050506040513d6020811015610cdf57600080fd5b5051905080610cf8575060009250829150839050610f69565b6004805460408051634d62283160e01b815290516001600160a01b0390921692634d622831928282019260209290829003018186803b158015610d3a57600080fd5b505afa158015610d4e573d6000803e3d6000fd5b505050506040513d6020811015610d6457600080fd5b50516005546040805163b0d8e18160e01b81526001600160a01b0380851660048301529151939750610dee938b93929092169163b0d8e18191602480820192602092909190829003018186803b158015610dbd57600080fd5b505afa158015610dd1573d6000803e3d6000fd5b505050506040513d6020811015610de757600080fd5b5051611411565b925084915060015b86811015610f6657604080516020808201959095528151808203860181529082019091528051930192909220916000828481610e2e57fe5b0690506000600560009054906101000a90046001600160a01b03166001600160a01b031663d9a72444836040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015610e8c57600080fd5b505afa158015610ea0573d6000803e3d6000fd5b505050506040513d6020811015610eb657600080fd5b50516005546040805163b0d8e18160e01b81526001600160a01b0380851660048301529151939450600093919092169163b0d8e181916024808301926020929190829003018186803b158015610f0b57600080fd5b505afa158015610f1f573d6000803e3d6000fd5b505050506040513d6020811015610f3557600080fd5b505190506000610f45828d611411565b905087811015610f56578097508298505b505060019092019150610df69050565b50505b93509350939050565b6000546001600160a01b031681565b6000805460408051630a7b61df60e11b8152905183926001600160a01b0316916314f6c3be916004808301926020929190829003018186803b158015610fc657600080fd5b505afa158015610fda573d6000803e3d6000fd5b505050506040513d6020811015610ff057600080fd5b505160015460408051630a7b61df60e11b815290519293506000926001600160a01b03909216916314f6c3be91600480820192602092909190829003018186803b158015610c1c57600080fd5b604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205490565b6003546001600160a01b031681565b6040518060400160405280600b81526020016a48696e7448656c7065727360a81b81525081565b6004546001600160a01b031681565b60006110b88383611244565b90505b92915050565b60006110bb826801158e460913d0000063ffffffff61113616565b6000828201838110156110b8576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b60006110b883836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611440565b600081831061118757816110b8565b5090919050565b60008261119d575060006110bb565b828202828482816111aa57fe5b04146110b85760405162461bcd60e51b815260040180806020018281038252602181526020018061155f6021913960400191505060405180910390fd5b60006110b883836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506114d7565b60006110bb826801158e460913d0000063ffffffff6110dc16565b6000811561127057611269826108308568056bc75e2d6310000063ffffffff61118e16565b90506110bb565b506000196110bb565b6001600160a01b0381166112be5760405162461bcd60e51b815260040180806020018281038252602281526020018061153d6022913960400191505060405180910390fd5b806001600160a01b03166112d061103d565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3604080517035b2bc9737bbb730b136329737bbb732b960791b8152905190819003601101902055565b6001600160a01b038116611389576040805162461bcd60e51b815260206004820152601e60248201527f4163636f756e742063616e6e6f74206265207a65726f20616464726573730000604482015290519081900360640190fd5b803b806113dd576040805162461bcd60e51b815260206004820181905260248201527f4163636f756e7420636f64652073697a652063616e6e6f74206265207a65726f604482015290519081900360640190fd5b5050565b600082156114085760006113ff84610830878663ffffffff61118e16565b9150610b339050565b50600019610b33565b6000818310156114305761142b828463ffffffff61113616565b6110b8565b6110b8838363ffffffff61113616565b600081848411156114cf5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561149457818101518382015260200161147c565b50505050905090810190601f1680156114c15780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b600081836115265760405162461bcd60e51b815260206004820181815283516024840152835190928392604490910191908501908083836000831561149457818101518382015260200161147c565b50600083858161153257fe5b049594505050505056fe4f776e61626c653a3a7365744f776e65723a20696e76616c69642061646472657373536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77a2646970667358221220b45699dc70b63074cc3f4814bee259edea28c29802a6fd53970398c4e3e6509564736f6c634300060b00334f776e61626c653a3a7365744f776e65723a20696e76616c69642061646472657373", - "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061012c5760003560e01c8063795d26c3116100ad5780639f070670116100715780639f070670146102b2578063a20baee614610251578063a3f4df7e146102ba578063ae91875414610337578063c394a7fa1461033f5761012c565b8063795d26c3146102695780637b41bdbe146102715780637f7dde4a1461029a578063887105d3146102a2578063893d20e8146102aa5761012c565b80633d83908a116100f45780633d83908a14610220578063525acdbb1461022857806372fe25aa14610251578063741bef1a14610259578063759b3034146102615761012c565b806313144dba1461013157806313af4035146101825780631bf43555146101aa578063363bf964146101c45780633cc74225146101fc575b600080fd5b61015a6004803603606081101561014757600080fd5b5080359060208101359060400135610362565b604080516001600160a01b039094168452602084019290925282820152519081900360600190f35b6101a86004803603602081101561019857600080fd5b50356001600160a01b0316610951565b005b6101b26109c4565b60408051918252519081900360200190f35b6101a8600480360360608110156101da57600080fd5b506001600160a01b0381358116916020810135821691604090910135166109d1565b610204610b05565b604080516001600160a01b039092168252519081900360200190f35b610204610b14565b6101b26004803603606081101561023e57600080fd5b5080359060208101359060400135610b23565b6101b2610b3a565b610204610b46565b6101b2610b55565b6101b2610b62565b61015a6004803603606081101561028757600080fd5b5080359060208101359060400135610c61565b610204610f72565b6101b2610f81565b61020461103d565b610204611067565b6102c2611076565b6040805160208082528351818301528351919283929083019185019080838360005b838110156102fc5781810151838201526020016102e4565b50505050905090810190601f1680156103295780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61020461109d565b6101b26004803603604081101561035557600080fd5b50803590602001356110ac565b6004805460408051634d62283160e01b81529051600093849384936001600160a01b0390911692899285928592634d62283192828101926020929190829003018186803b1580156103b257600080fd5b505afa1580156103c6573d6000803e3d6000fd5b505050506040513d60208110156103dc57600080fd5b505190505b6001600160a01b038116158015906104f05750600360009054906101000a90046001600160a01b03166001600160a01b031663794e57246040518163ffffffff1660e01b815260040160206040518083038186803b15801561044257600080fd5b505afa158015610456573d6000803e3d6000fd5b505050506040513d602081101561046c57600080fd5b505160055460408051630d293c7160e41b81526001600160a01b038581166004830152602482018d90529151919092169163d293c710916044808301926020929190829003018186803b1580156104c257600080fd5b505afa1580156104d6573d6000803e3d6000fd5b505050506040513d60208110156104ec57600080fd5b5051105b1561057e57826001600160a01b031663b72703ac826040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b15801561054b57600080fd5b505afa15801561055f573d6000803e3d6000fd5b505050506040513d602081101561057557600080fd5b505190506103e1565b9450848661058c5760001996505b6001600160a01b038116158015906105a45750600082115b80156105b4575060001987019615155b1561093357600554604080516317c62b1760e01b81526001600160a01b03848116600483015291516000936106c59316916317c62b17916024808301926020929190829003018186803b15801561060a57600080fd5b505afa15801561061e573d6000803e3d6000fd5b505050506040513d602081101561063457600080fd5b50516005546040805163d66a255360e01b81526001600160a01b03878116600483015291516106b993929092169163d66a255391602480820192602092909190829003018186803b15801561068857600080fd5b505afa15801561069c573d6000803e3d6000fd5b505050506040513d60208110156106b257600080fd5b50516110c1565b9063ffffffff6110dc16565b905082811115610896576809c2007651b2500000811115610890576000610704846106ff846809c2007651b250000063ffffffff61113616565b611178565b60055460408051635d8c960960e01b81526001600160a01b038781166004830152915193945060009361080d939290921691635d8c960991602480820192602092909190829003018186803b15801561075c57600080fd5b505afa158015610770573d6000803e3d6000fd5b505050506040513d602081101561078657600080fd5b5051600554604080516309019aaf60e31b81526001600160a01b0389811660048301529151919092169163480cd578916024808301926020929190829003018186803b1580156107d557600080fd5b505afa1580156107e9573d6000803e3d6000fd5b505050506040513d60208110156107ff57600080fd5b50519063ffffffff6110dc16565b9050600061084961083c8d61083086670de0b6b3a764000063ffffffff61118e16565b9063ffffffff6111e716565b839063ffffffff61113616565b9050600061085d858563ffffffff61113616565b9050600061086a82611229565b90506108768382611244565b9a50610888888663ffffffff61113616565b975050505050505b50610933565b6108a6838263ffffffff61113616565b9250836001600160a01b031663b72703ac836040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b1580156108fe57600080fd5b505afa158015610912573d6000803e3d6000fd5b505050506040513d602081101561092857600080fd5b5051915061058c9050565b610943898363ffffffff61113616565b935050505093509350939050565b61095961103d565b6001600160a01b0316336001600160a01b0316146109b8576040805162461bcd60e51b815260206004820152601760248201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604482015290519081900360640190fd5b6109c181611279565b50565b6809c2007651b250000081565b6109d961103d565b6001600160a01b0316336001600160a01b031614610a38576040805162461bcd60e51b815260206004820152601760248201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604482015290519081900360640190fd5b610a418361132e565b610a4a8261132e565b610a538161132e565b600380546001600160a01b038086166001600160a01b031992831617909255600480548584169083168117909155600580549385169390921692909217905560408051918252517f65f4cf077bc01e4742eb5ad98326f6e95b63548ea24b17f8d5e823111fe788009181900360200190a1604080516001600160a01b038316815290517f143219c9e69b09e07e095fcc889b43d8f46ca892bba65f08dc3a0050869a56789181900360200190a1505050565b6001546001600160a01b031681565b6005546001600160a01b031681565b6000610b308484846113e1565b90505b9392505050565b670de0b6b3a764000081565b6002546001600160a01b031681565b6801158e460913d0000081565b60008054604080516272c7d360e71b8152905183926001600160a01b031691633963e980916004808301926020929190829003018186803b158015610ba657600080fd5b505afa158015610bba573d6000803e3d6000fd5b505050506040513d6020811015610bd057600080fd5b5051600154604080516272c7d360e71b815290519293506000926001600160a01b0390921691633963e98091600480820192602092909190829003018186803b158015610c1c57600080fd5b505afa158015610c30573d6000803e3d6000fd5b505050506040513d6020811015610c4657600080fd5b50519050610c5a828263ffffffff6110dc16565b9250505090565b600080600080600560009054906101000a90046001600160a01b03166001600160a01b03166349eefeee6040518163ffffffff1660e01b815260040160206040518083038186803b158015610cb557600080fd5b505afa158015610cc9573d6000803e3d6000fd5b505050506040513d6020811015610cdf57600080fd5b5051905080610cf8575060009250829150839050610f69565b6004805460408051634d62283160e01b815290516001600160a01b0390921692634d622831928282019260209290829003018186803b158015610d3a57600080fd5b505afa158015610d4e573d6000803e3d6000fd5b505050506040513d6020811015610d6457600080fd5b50516005546040805163b0d8e18160e01b81526001600160a01b0380851660048301529151939750610dee938b93929092169163b0d8e18191602480820192602092909190829003018186803b158015610dbd57600080fd5b505afa158015610dd1573d6000803e3d6000fd5b505050506040513d6020811015610de757600080fd5b5051611411565b925084915060015b86811015610f6657604080516020808201959095528151808203860181529082019091528051930192909220916000828481610e2e57fe5b0690506000600560009054906101000a90046001600160a01b03166001600160a01b031663d9a72444836040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015610e8c57600080fd5b505afa158015610ea0573d6000803e3d6000fd5b505050506040513d6020811015610eb657600080fd5b50516005546040805163b0d8e18160e01b81526001600160a01b0380851660048301529151939450600093919092169163b0d8e181916024808301926020929190829003018186803b158015610f0b57600080fd5b505afa158015610f1f573d6000803e3d6000fd5b505050506040513d6020811015610f3557600080fd5b505190506000610f45828d611411565b905087811015610f56578097508298505b505060019092019150610df69050565b50505b93509350939050565b6000546001600160a01b031681565b6000805460408051630a7b61df60e11b8152905183926001600160a01b0316916314f6c3be916004808301926020929190829003018186803b158015610fc657600080fd5b505afa158015610fda573d6000803e3d6000fd5b505050506040513d6020811015610ff057600080fd5b505160015460408051630a7b61df60e11b815290519293506000926001600160a01b03909216916314f6c3be91600480820192602092909190829003018186803b158015610c1c57600080fd5b604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205490565b6003546001600160a01b031681565b6040518060400160405280600b81526020016a48696e7448656c7065727360a81b81525081565b6004546001600160a01b031681565b60006110b88383611244565b90505b92915050565b60006110bb826801158e460913d0000063ffffffff61113616565b6000828201838110156110b8576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b60006110b883836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611440565b600081831061118757816110b8565b5090919050565b60008261119d575060006110bb565b828202828482816111aa57fe5b04146110b85760405162461bcd60e51b815260040180806020018281038252602181526020018061155f6021913960400191505060405180910390fd5b60006110b883836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506114d7565b60006110bb826801158e460913d0000063ffffffff6110dc16565b6000811561127057611269826108308568056bc75e2d6310000063ffffffff61118e16565b90506110bb565b506000196110bb565b6001600160a01b0381166112be5760405162461bcd60e51b815260040180806020018281038252602281526020018061153d6022913960400191505060405180910390fd5b806001600160a01b03166112d061103d565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3604080517035b2bc9737bbb730b136329737bbb732b960791b8152905190819003601101902055565b6001600160a01b038116611389576040805162461bcd60e51b815260206004820152601e60248201527f4163636f756e742063616e6e6f74206265207a65726f20616464726573730000604482015290519081900360640190fd5b803b806113dd576040805162461bcd60e51b815260206004820181905260248201527f4163636f756e7420636f64652073697a652063616e6e6f74206265207a65726f604482015290519081900360640190fd5b5050565b600082156114085760006113ff84610830878663ffffffff61118e16565b9150610b339050565b50600019610b33565b6000818310156114305761142b828463ffffffff61113616565b6110b8565b6110b8838363ffffffff61113616565b600081848411156114cf5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561149457818101518382015260200161147c565b50505050905090810190601f1680156114c15780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b600081836115265760405162461bcd60e51b815260206004820181815283516024840152835190928392604490910191908501908083836000831561149457818101518382015260200161147c565b50600083858161153257fe5b049594505050505056fe4f776e61626c653a3a7365744f776e65723a20696e76616c69642061646472657373536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77a2646970667358221220b45699dc70b63074cc3f4814bee259edea28c29802a6fd53970398c4e3e6509564736f6c634300060b0033", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/packages/lib-ethers/live/HintHelpersStorage.json b/packages/lib-ethers/live/HintHelpersStorage.json deleted file mode 100644 index 6b17c5055..000000000 --- a/packages/lib-ethers/live/HintHelpersStorage.json +++ /dev/null @@ -1,95 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "HintHelpersStorage", - "sourceName": "contracts/HintHelpersStorage.sol", - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "previousOwner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnershipTransferred", - "type": "event" - }, - { - "inputs": [], - "name": "NAME", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getOwner", - "outputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - } - ], - "name": "setOwner", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "sortedTroves", - "outputs": [ - { - "internalType": "contract ISortedTroves", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "troveManager", - "outputs": [ - { - "internalType": "contract ITroveManager", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": "0x608060405234801561001057600080fd5b50610023336001600160e01b0361002816565b610110565b6001600160a01b03811661006d5760405162461bcd60e51b81526004018080602001828103825260228152602001806104436022913960400191505060405180910390fd5b6001600160a01b0381166100886001600160e01b036100e616565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3604080517035b2bc9737bbb730b136329737bbb732b960791b8152905190819003601101902055565b604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205490565b6103248061011f6000396000f3fe608060405234801561001057600080fd5b50600436106100575760003560e01c806313af40351461005c5780633d83908a14610084578063893d20e8146100a8578063a3f4df7e146100b0578063ae9187541461012d575b600080fd5b6100826004803603602081101561007257600080fd5b50356001600160a01b0316610135565b005b61008c6101a8565b604080516001600160a01b039092168252519081900360200190f35b61008c6101b7565b6100b86101e1565b6040805160208082528351818301528351919283929083019185019080838360005b838110156100f25781810151838201526020016100da565b50505050905090810190601f16801561011f5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61008c610208565b61013d6101b7565b6001600160a01b0316336001600160a01b03161461019c576040805162461bcd60e51b815260206004820152601760248201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604482015290519081900360640190fd5b6101a581610217565b50565b6001546001600160a01b031681565b604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205490565b6040518060400160405280600b81526020016a48696e7448656c7065727360a81b81525081565b6000546001600160a01b031681565b6001600160a01b03811661025c5760405162461bcd60e51b81526004018080602001828103825260228152602001806102cd6022913960400191505060405180910390fd5b806001600160a01b031661026e6101b7565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205556fe4f776e61626c653a3a7365744f776e65723a20696e76616c69642061646472657373a2646970667358221220908fbfc447608f6847defe56ff58f1e913830946a1a60b47be9ae66ca6a10bbc64736f6c634300060b00334f776e61626c653a3a7365744f776e65723a20696e76616c69642061646472657373", - "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100575760003560e01c806313af40351461005c5780633d83908a14610084578063893d20e8146100a8578063a3f4df7e146100b0578063ae9187541461012d575b600080fd5b6100826004803603602081101561007257600080fd5b50356001600160a01b0316610135565b005b61008c6101a8565b604080516001600160a01b039092168252519081900360200190f35b61008c6101b7565b6100b86101e1565b6040805160208082528351818301528351919283929083019185019080838360005b838110156100f25781810151838201526020016100da565b50505050905090810190601f16801561011f5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61008c610208565b61013d6101b7565b6001600160a01b0316336001600160a01b03161461019c576040805162461bcd60e51b815260206004820152601760248201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604482015290519081900360640190fd5b6101a581610217565b50565b6001546001600160a01b031681565b604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205490565b6040518060400160405280600b81526020016a48696e7448656c7065727360a81b81525081565b6000546001600160a01b031681565b6001600160a01b03811661025c5760405162461bcd60e51b81526004018080602001828103825260228152602001806102cd6022913960400191505060405180910390fd5b806001600160a01b031661026e6101b7565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205556fe4f776e61626c653a3a7365744f776e65723a20696e76616c69642061646472657373a2646970667358221220908fbfc447608f6847defe56ff58f1e913830946a1a60b47be9ae66ca6a10bbc64736f6c634300060b0033", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/packages/lib-ethers/live/IActivePool.json b/packages/lib-ethers/live/IActivePool.json deleted file mode 100644 index bcc6825ba..000000000 --- a/packages/lib-ethers/live/IActivePool.json +++ /dev/null @@ -1,217 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "IActivePool", - "sourceName": "contracts/Interfaces/IActivePool.sol", - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_newActivePoolAddress", - "type": "address" - } - ], - "name": "ActivePoolAddressChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "_ETH", - "type": "uint256" - } - ], - "name": "ActivePoolETHBalanceUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "_ZUSDDebt", - "type": "uint256" - } - ], - "name": "ActivePoolZUSDDebtUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_newBorrowerOperationsAddress", - "type": "address" - } - ], - "name": "BorrowerOperationsAddressChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_newDefaultPoolAddress", - "type": "address" - } - ], - "name": "DefaultPoolAddressChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "_newBalance", - "type": "uint256" - } - ], - "name": "ETHBalanceUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_to", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "name": "EtherSent", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_newStabilityPoolAddress", - "type": "address" - } - ], - "name": "StabilityPoolAddressChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_newTroveManagerAddress", - "type": "address" - } - ], - "name": "TroveManagerAddressChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "_newBalance", - "type": "uint256" - } - ], - "name": "ZUSDBalanceUpdated", - "type": "event" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "name": "decreaseZUSDDebt", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "getETH", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getZUSDDebt", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "name": "increaseZUSDDebt", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_account", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "name": "sendETH", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": "0x", - "deployedBytecode": "0x", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/packages/lib-ethers/live/IBalanceRedirectPresale.json b/packages/lib-ethers/live/IBalanceRedirectPresale.json deleted file mode 100644 index c5c772aca..000000000 --- a/packages/lib-ethers/live/IBalanceRedirectPresale.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "IBalanceRedirectPresale", - "sourceName": "contracts/Interfaces/IBalanceRedirectPresale.sol", - "abi": [ - { - "inputs": [], - "name": "isClosed", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": "0x", - "deployedBytecode": "0x", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/packages/lib-ethers/live/IBorrowerOperations.json b/packages/lib-ethers/live/IBorrowerOperations.json deleted file mode 100644 index 0ebd9cf98..000000000 --- a/packages/lib-ethers/live/IBorrowerOperations.json +++ /dev/null @@ -1,749 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "IBorrowerOperations", - "sourceName": "contracts/Interfaces/IBorrowerOperations.sol", - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_activePoolAddress", - "type": "address" - } - ], - "name": "ActivePoolAddressChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_collSurplusPoolAddress", - "type": "address" - } - ], - "name": "CollSurplusPoolAddressChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_defaultPoolAddress", - "type": "address" - } - ], - "name": "DefaultPoolAddressChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_feeDistributorAddress", - "type": "address" - } - ], - "name": "FeeDistributorAddressChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_gasPoolAddress", - "type": "address" - } - ], - "name": "GasPoolAddressChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_newPriceFeedAddress", - "type": "address" - } - ], - "name": "PriceFeedAddressChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_sortedTrovesAddress", - "type": "address" - } - ], - "name": "SortedTrovesAddressChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_stabilityPoolAddress", - "type": "address" - } - ], - "name": "StabilityPoolAddressChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "_borrower", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "arrayIndex", - "type": "uint256" - } - ], - "name": "TroveCreated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_newTroveManagerAddress", - "type": "address" - } - ], - "name": "TroveManagerAddressChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "_borrower", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_debt", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_coll", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "stake", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint8", - "name": "operation", - "type": "uint8" - } - ], - "name": "TroveUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_zeroStakingAddress", - "type": "address" - } - ], - "name": "ZEROStakingAddressChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "_borrower", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_ZUSDFee", - "type": "uint256" - } - ], - "name": "ZUSDBorrowingFeePaid", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_zusdTokenAddress", - "type": "address" - } - ], - "name": "ZUSDTokenAddressChanged", - "type": "event" - }, - { - "inputs": [], - "name": "BORROWING_FEE_FLOOR", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_upperHint", - "type": "address" - }, - { - "internalType": "address", - "name": "_lowerHint", - "type": "address" - } - ], - "name": "addColl", - "outputs": [], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_maxFee", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_collWithdrawal", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_debtChange", - "type": "uint256" - }, - { - "internalType": "bool", - "name": "isDebtIncrease", - "type": "bool" - }, - { - "internalType": "address", - "name": "_upperHint", - "type": "address" - }, - { - "internalType": "address", - "name": "_lowerHint", - "type": "address" - }, - { - "components": [ - { - "internalType": "uint256", - "name": "deadline", - "type": "uint256" - }, - { - "internalType": "uint8", - "name": "v", - "type": "uint8" - }, - { - "internalType": "bytes32", - "name": "r", - "type": "bytes32" - }, - { - "internalType": "bytes32", - "name": "s", - "type": "bytes32" - } - ], - "internalType": "struct IMassetManager.PermitParams", - "name": "_permitParams", - "type": "tuple" - } - ], - "name": "adjustNueTrove", - "outputs": [], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_maxFee", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_collWithdrawal", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_debtChange", - "type": "uint256" - }, - { - "internalType": "bool", - "name": "isDebtIncrease", - "type": "bool" - }, - { - "internalType": "address", - "name": "_upperHint", - "type": "address" - }, - { - "internalType": "address", - "name": "_lowerHint", - "type": "address" - } - ], - "name": "adjustTrove", - "outputs": [], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [], - "name": "claimCollateral", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "components": [ - { - "internalType": "uint256", - "name": "deadline", - "type": "uint256" - }, - { - "internalType": "uint8", - "name": "v", - "type": "uint8" - }, - { - "internalType": "bytes32", - "name": "r", - "type": "bytes32" - }, - { - "internalType": "bytes32", - "name": "s", - "type": "bytes32" - } - ], - "internalType": "struct IMassetManager.PermitParams", - "name": "_permitParams", - "type": "tuple" - } - ], - "name": "closeNueTrove", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "closeTrove", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_debt", - "type": "uint256" - } - ], - "name": "getCompositeDebt", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getMassetManager", - "outputs": [ - { - "internalType": "contract IMassetManager", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_user", - "type": "address" - }, - { - "internalType": "address", - "name": "_upperHint", - "type": "address" - }, - { - "internalType": "address", - "name": "_lowerHint", - "type": "address" - } - ], - "name": "moveETHGainToTrove", - "outputs": [], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_maxFee", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_ZUSDAmount", - "type": "uint256" - }, - { - "internalType": "address", - "name": "_upperHint", - "type": "address" - }, - { - "internalType": "address", - "name": "_lowerHint", - "type": "address" - } - ], - "name": "openNueTrove", - "outputs": [], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_maxFee", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_ZUSDAmount", - "type": "uint256" - }, - { - "internalType": "address", - "name": "_upperHint", - "type": "address" - }, - { - "internalType": "address", - "name": "_lowerHint", - "type": "address" - } - ], - "name": "openTrove", - "outputs": [], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - }, - { - "internalType": "address", - "name": "_upperHint", - "type": "address" - }, - { - "internalType": "address", - "name": "_lowerHint", - "type": "address" - } - ], - "name": "repayZUSD", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_dllrAmount", - "type": "uint256" - }, - { - "internalType": "address", - "name": "_upperHint", - "type": "address" - }, - { - "internalType": "address", - "name": "_lowerHint", - "type": "address" - }, - { - "components": [ - { - "internalType": "uint256", - "name": "deadline", - "type": "uint256" - }, - { - "internalType": "uint8", - "name": "v", - "type": "uint8" - }, - { - "internalType": "bytes32", - "name": "r", - "type": "bytes32" - }, - { - "internalType": "bytes32", - "name": "s", - "type": "bytes32" - } - ], - "internalType": "struct IMassetManager.PermitParams", - "name": "_permitParams", - "type": "tuple" - } - ], - "name": "repayZusdFromDLLR", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_feeDistributorAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_liquityBaseParamsAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_troveManagerAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_activePoolAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_defaultPoolAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_stabilityPoolAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_gasPoolAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_collSurplusPoolAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_priceFeedAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_sortedTrovesAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_zusdTokenAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_zeroStakingAddress", - "type": "address" - } - ], - "name": "setAddresses", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - }, - { - "internalType": "address", - "name": "_upperHint", - "type": "address" - }, - { - "internalType": "address", - "name": "_lowerHint", - "type": "address" - } - ], - "name": "withdrawColl", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_maxFee", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - }, - { - "internalType": "address", - "name": "_upperHint", - "type": "address" - }, - { - "internalType": "address", - "name": "_lowerHint", - "type": "address" - } - ], - "name": "withdrawZUSD", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_maxFeePercentage", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_ZUSDAmount", - "type": "uint256" - }, - { - "internalType": "address", - "name": "_upperHint", - "type": "address" - }, - { - "internalType": "address", - "name": "_lowerHint", - "type": "address" - } - ], - "name": "withdrawZusdAndConvertToDLLR", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": "0x", - "deployedBytecode": "0x", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/packages/lib-ethers/live/ICollSurplusPool.json b/packages/lib-ethers/live/ICollSurplusPool.json deleted file mode 100644 index 58ecb06b7..000000000 --- a/packages/lib-ethers/live/ICollSurplusPool.json +++ /dev/null @@ -1,174 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "ICollSurplusPool", - "sourceName": "contracts/Interfaces/ICollSurplusPool.sol", - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_newActivePoolAddress", - "type": "address" - } - ], - "name": "ActivePoolAddressChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_newBorrowerOperationsAddress", - "type": "address" - } - ], - "name": "BorrowerOperationsAddressChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "_account", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_newBalance", - "type": "uint256" - } - ], - "name": "CollBalanceUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_to", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "name": "EtherSent", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_newTroveManagerAddress", - "type": "address" - } - ], - "name": "TroveManagerAddressChanged", - "type": "event" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_account", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "name": "accountSurplus", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_account", - "type": "address" - } - ], - "name": "claimColl", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_account", - "type": "address" - } - ], - "name": "getCollateral", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getETH", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_borrowerOperationsAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_troveManagerAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_activePoolAddress", - "type": "address" - } - ], - "name": "setAddresses", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": "0x", - "deployedBytecode": "0x", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/packages/lib-ethers/live/ICommunityIssuance.json b/packages/lib-ethers/live/ICommunityIssuance.json deleted file mode 100644 index 2f4d6df25..000000000 --- a/packages/lib-ethers/live/ICommunityIssuance.json +++ /dev/null @@ -1,122 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "ICommunityIssuance", - "sourceName": "contracts/Interfaces/ICommunityIssuance.sol", - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_communityPotAddress", - "type": "address" - } - ], - "name": "CommunityPotAddressSet", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "_totalZEROIssued", - "type": "uint256" - } - ], - "name": "TotalZEROIssuedUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_zeroTokenAddress", - "type": "address" - } - ], - "name": "ZEROTokenAddressSet", - "type": "event" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_zeroTokenAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_communityPotAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_fundingWalletAddress", - "type": "address" - } - ], - "name": "initialize", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "issueZERO", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_account", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_ZEROamount", - "type": "uint256" - } - ], - "name": "receiveZero", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_account", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_ZEROamount", - "type": "uint256" - } - ], - "name": "sendZERO", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": "0x", - "deployedBytecode": "0x", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/packages/lib-ethers/live/IDLLR.json b/packages/lib-ethers/live/IDLLR.json deleted file mode 100644 index 1abc1b262..000000000 --- a/packages/lib-ethers/live/IDLLR.json +++ /dev/null @@ -1,347 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "IDLLR", - "sourceName": "contracts/Dependencies/Mynt/IDLLR.sol", - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "Approval", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "Transfer", - "type": "event" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "address", - "name": "spender", - "type": "address" - } - ], - "name": "allowance", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "approve", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "_data", - "type": "bytes" - } - ], - "name": "approveAndCall", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "balanceOf", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "decimals", - "outputs": [ - { - "internalType": "uint8", - "name": "", - "type": "uint8" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "subtractedValue", - "type": "uint256" - } - ], - "name": "decreaseAllowance", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "addedValue", - "type": "uint256" - } - ], - "name": "increaseAllowance", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "name", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "symbol", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "totalSupply", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "name": "transfer", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_from", - "type": "address" - }, - { - "internalType": "address", - "name": "_to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "name": "transferFrom", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_from", - "type": "address" - }, - { - "internalType": "address", - "name": "_to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_deadline", - "type": "uint256" - }, - { - "internalType": "uint8", - "name": "_v", - "type": "uint8" - }, - { - "internalType": "bytes32", - "name": "_r", - "type": "bytes32" - }, - { - "internalType": "bytes32", - "name": "_s", - "type": "bytes32" - } - ], - "name": "transferWithPermit", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": "0x", - "deployedBytecode": "0x", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/packages/lib-ethers/live/IDefaultPool.json b/packages/lib-ethers/live/IDefaultPool.json deleted file mode 100644 index 2b42dc33e..000000000 --- a/packages/lib-ethers/live/IDefaultPool.json +++ /dev/null @@ -1,199 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "IDefaultPool", - "sourceName": "contracts/Interfaces/IDefaultPool.sol", - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_newActivePoolAddress", - "type": "address" - } - ], - "name": "ActivePoolAddressChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_newDefaultPoolAddress", - "type": "address" - } - ], - "name": "DefaultPoolAddressChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "_ETH", - "type": "uint256" - } - ], - "name": "DefaultPoolETHBalanceUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "_ZUSDDebt", - "type": "uint256" - } - ], - "name": "DefaultPoolZUSDDebtUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "_newBalance", - "type": "uint256" - } - ], - "name": "ETHBalanceUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_to", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "name": "EtherSent", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_newStabilityPoolAddress", - "type": "address" - } - ], - "name": "StabilityPoolAddressChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_newTroveManagerAddress", - "type": "address" - } - ], - "name": "TroveManagerAddressChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "_newBalance", - "type": "uint256" - } - ], - "name": "ZUSDBalanceUpdated", - "type": "event" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "name": "decreaseZUSDDebt", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "getETH", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getZUSDDebt", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "name": "increaseZUSDDebt", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "name": "sendETHToActivePool", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": "0x", - "deployedBytecode": "0x", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/packages/lib-ethers/live/IERC20.json b/packages/lib-ethers/live/IERC20.json deleted file mode 100644 index e0c9599a6..000000000 --- a/packages/lib-ethers/live/IERC20.json +++ /dev/null @@ -1,281 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "IERC20", - "sourceName": "contracts/Dependencies/IERC20.sol", - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "Approval", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "Transfer", - "type": "event" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "address", - "name": "spender", - "type": "address" - } - ], - "name": "allowance", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "approve", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "balanceOf", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "decimals", - "outputs": [ - { - "internalType": "uint8", - "name": "", - "type": "uint8" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "subtractedValue", - "type": "uint256" - } - ], - "name": "decreaseAllowance", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "addedValue", - "type": "uint256" - } - ], - "name": "increaseAllowance", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "name", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "symbol", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "totalSupply", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "transfer", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "transferFrom", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": "0x", - "deployedBytecode": "0x", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/packages/lib-ethers/live/IERC2612.json b/packages/lib-ethers/live/IERC2612.json deleted file mode 100644 index 5f471b811..000000000 --- a/packages/lib-ethers/live/IERC2612.json +++ /dev/null @@ -1,112 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "IERC2612", - "sourceName": "contracts/Dependencies/IERC2612.sol", - "abi": [ - { - "inputs": [], - "name": "domainSeparator", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - } - ], - "name": "nonces", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "deadline", - "type": "uint256" - }, - { - "internalType": "uint8", - "name": "v", - "type": "uint8" - }, - { - "internalType": "bytes32", - "name": "r", - "type": "bytes32" - }, - { - "internalType": "bytes32", - "name": "s", - "type": "bytes32" - } - ], - "name": "permit", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "permitTypeHash", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "version", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": "0x", - "deployedBytecode": "0x", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/packages/lib-ethers/live/IExternalPriceFeed.json b/packages/lib-ethers/live/IExternalPriceFeed.json deleted file mode 100644 index dfc235aa4..000000000 --- a/packages/lib-ethers/live/IExternalPriceFeed.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "IExternalPriceFeed", - "sourceName": "contracts/Dependencies/PriceFeed/IExternalPriceFeed.sol", - "abi": [ - { - "inputs": [], - "name": "latestAnswer", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": "0x", - "deployedBytecode": "0x", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/packages/lib-ethers/live/IFeeDistributor.json b/packages/lib-ethers/live/IFeeDistributor.json deleted file mode 100644 index 71c78a2d5..000000000 --- a/packages/lib-ethers/live/IFeeDistributor.json +++ /dev/null @@ -1,178 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "IFeeDistributor", - "sourceName": "contracts/Interfaces/IFeeDistributor.sol", - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_activePoolAddress", - "type": "address" - } - ], - "name": "ActivePoolAddressSet", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_borrowerOperationsAddress", - "type": "address" - } - ], - "name": "BorrowerOperationsAddressChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_feeSharingCollectorAddress", - "type": "address" - } - ], - "name": "FeeSharingCollectorAddressChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "_rbtcDistributedAmount", - "type": "uint256" - } - ], - "name": "RBTCistributed", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_troveManagerAddress", - "type": "address" - } - ], - "name": "TroveManagerAddressChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_wrbtcAddress", - "type": "address" - } - ], - "name": "WrbtcAddressChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "_zusdDistributedAmount", - "type": "uint256" - } - ], - "name": "ZUSDDistributed", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_zusdTokenAddress", - "type": "address" - } - ], - "name": "ZUSDTokenAddressChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_zeroStakingAddress", - "type": "address" - } - ], - "name": "ZeroStakingAddressChanged", - "type": "event" - }, - { - "inputs": [], - "name": "distributeFees", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_feeSharingCollectorAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_zeroStakingAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_borrowerOperationsAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_troveManagerAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_wrbtcAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_zusdTokenAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_activePoolAddress", - "type": "address" - } - ], - "name": "setAddresses", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": "0x", - "deployedBytecode": "0x", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/packages/lib-ethers/live/IFeeSharingCollector.json b/packages/lib-ethers/live/IFeeSharingCollector.json deleted file mode 100644 index 6b2d76ba0..000000000 --- a/packages/lib-ethers/live/IFeeSharingCollector.json +++ /dev/null @@ -1,72 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "IFeeSharingCollector", - "sourceName": "contracts/Interfaces/IFeeSharingCollector.sol", - "abi": [ - { - "inputs": [], - "name": "transferRBTC", - "outputs": [], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_token", - "type": "address" - }, - { - "internalType": "uint96", - "name": "_amount", - "type": "uint96" - } - ], - "name": "transferTokens", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_loanPoolToken", - "type": "address" - }, - { - "internalType": "uint32", - "name": "_maxCheckpoints", - "type": "uint32" - }, - { - "internalType": "address", - "name": "_receiver", - "type": "address" - } - ], - "name": "withdraw", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_token", - "type": "address" - } - ], - "name": "withdrawFees", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": "0x", - "deployedBytecode": "0x", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/packages/lib-ethers/live/ILiquityBase.json b/packages/lib-ethers/live/ILiquityBase.json deleted file mode 100644 index e78f7ca87..000000000 --- a/packages/lib-ethers/live/ILiquityBase.json +++ /dev/null @@ -1,37 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "ILiquityBase", - "sourceName": "contracts/Interfaces/ILiquityBase.sol", - "abi": [ - { - "inputs": [], - "name": "liquityBaseParams", - "outputs": [ - { - "internalType": "contract ILiquityBaseParams", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "priceFeed", - "outputs": [ - { - "internalType": "contract IPriceFeed", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": "0x", - "deployedBytecode": "0x", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/packages/lib-ethers/live/ILiquityBaseParams.json b/packages/lib-ethers/live/ILiquityBaseParams.json deleted file mode 100644 index 57a09e6b1..000000000 --- a/packages/lib-ethers/live/ILiquityBaseParams.json +++ /dev/null @@ -1,89 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "ILiquityBaseParams", - "sourceName": "contracts/Interfaces/ILiquityBaseParams.sol", - "abi": [ - { - "inputs": [], - "name": "BORROWING_FEE_FLOOR", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "CCR", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "MAX_BORROWING_FEE", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "MCR", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "PERCENT_DIVISOR", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "REDEMPTION_FEE_FLOOR", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": "0x", - "deployedBytecode": "0x", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/packages/lib-ethers/live/IMassetManager.json b/packages/lib-ethers/live/IMassetManager.json deleted file mode 100644 index 55105473d..000000000 --- a/packages/lib-ethers/live/IMassetManager.json +++ /dev/null @@ -1,82 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "IMassetManager", - "sourceName": "contracts/Dependencies/Mynt/IMassetManager.sol", - "abi": [ - { - "inputs": [], - "name": "getToken", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_bAsset", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_bAssetQuantity", - "type": "uint256" - }, - { - "internalType": "address", - "name": "_recipient", - "type": "address" - } - ], - "name": "mintTo", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_bAsset", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_massetQuantity", - "type": "uint256" - }, - { - "internalType": "address", - "name": "_recipient", - "type": "address" - } - ], - "name": "redeemTo", - "outputs": [ - { - "internalType": "uint256", - "name": "massetRedeemed", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": "0x", - "deployedBytecode": "0x", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/packages/lib-ethers/live/IMoCBaseOracle.json b/packages/lib-ethers/live/IMoCBaseOracle.json deleted file mode 100644 index 162725118..000000000 --- a/packages/lib-ethers/live/IMoCBaseOracle.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "IMoCBaseOracle", - "sourceName": "contracts/TestContracts/ExternalPriceFeedTester.sol", - "abi": [ - { - "inputs": [], - "name": "peek", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - }, - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": "0x", - "deployedBytecode": "0x", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/packages/lib-ethers/live/IPool.json b/packages/lib-ethers/live/IPool.json deleted file mode 100644 index 31911664f..000000000 --- a/packages/lib-ethers/live/IPool.json +++ /dev/null @@ -1,147 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "IPool", - "sourceName": "contracts/Interfaces/IPool.sol", - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_newActivePoolAddress", - "type": "address" - } - ], - "name": "ActivePoolAddressChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_newDefaultPoolAddress", - "type": "address" - } - ], - "name": "DefaultPoolAddressChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "_newBalance", - "type": "uint256" - } - ], - "name": "ETHBalanceUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_to", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "name": "EtherSent", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_newStabilityPoolAddress", - "type": "address" - } - ], - "name": "StabilityPoolAddressChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "_newBalance", - "type": "uint256" - } - ], - "name": "ZUSDBalanceUpdated", - "type": "event" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "name": "decreaseZUSDDebt", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "getETH", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getZUSDDebt", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "name": "increaseZUSDDebt", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": "0x", - "deployedBytecode": "0x", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/packages/lib-ethers/live/IPriceFeed.json b/packages/lib-ethers/live/IPriceFeed.json deleted file mode 100644 index 56631d63c..000000000 --- a/packages/lib-ethers/live/IPriceFeed.json +++ /dev/null @@ -1,37 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "IPriceFeed", - "sourceName": "contracts/Interfaces/IPriceFeed.sol", - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "_lastGoodPrice", - "type": "uint256" - } - ], - "name": "LastGoodPriceUpdated", - "type": "event" - }, - { - "inputs": [], - "name": "fetchPrice", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": "0x", - "deployedBytecode": "0x", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/packages/lib-ethers/live/IRSKOracle.json b/packages/lib-ethers/live/IRSKOracle.json deleted file mode 100644 index b2f20f815..000000000 --- a/packages/lib-ethers/live/IRSKOracle.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "IRSKOracle", - "sourceName": "contracts/Dependencies/PriceFeed/RskOracle.sol", - "abi": [ - { - "inputs": [], - "name": "getPricing", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": "0x", - "deployedBytecode": "0x", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/packages/lib-ethers/live/ISortedTroves.json b/packages/lib-ethers/live/ISortedTroves.json deleted file mode 100644 index b5729934f..000000000 --- a/packages/lib-ethers/live/ISortedTroves.json +++ /dev/null @@ -1,359 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "ISortedTroves", - "sourceName": "contracts/Interfaces/ISortedTroves.sol", - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_borrowerOperationsAddress", - "type": "address" - } - ], - "name": "BorrowerOperationsAddressChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_id", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_NICR", - "type": "uint256" - } - ], - "name": "NodeAdded", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_id", - "type": "address" - } - ], - "name": "NodeRemoved", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_sortedDoublyLLAddress", - "type": "address" - } - ], - "name": "SortedTrovesAddressChanged", - "type": "event" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_id", - "type": "address" - } - ], - "name": "contains", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_ICR", - "type": "uint256" - }, - { - "internalType": "address", - "name": "_prevId", - "type": "address" - }, - { - "internalType": "address", - "name": "_nextId", - "type": "address" - } - ], - "name": "findInsertPosition", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getFirst", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getLast", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getMaxSize", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_id", - "type": "address" - } - ], - "name": "getNext", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_id", - "type": "address" - } - ], - "name": "getPrev", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getSize", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_id", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_ICR", - "type": "uint256" - }, - { - "internalType": "address", - "name": "_prevId", - "type": "address" - }, - { - "internalType": "address", - "name": "_nextId", - "type": "address" - } - ], - "name": "insert", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "isEmpty", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "isFull", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_id", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_newICR", - "type": "uint256" - }, - { - "internalType": "address", - "name": "_prevId", - "type": "address" - }, - { - "internalType": "address", - "name": "_nextId", - "type": "address" - } - ], - "name": "reInsert", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_id", - "type": "address" - } - ], - "name": "remove", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_size", - "type": "uint256" - }, - { - "internalType": "address", - "name": "_TroveManagerAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_borrowerOperationsAddress", - "type": "address" - } - ], - "name": "setParams", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_ICR", - "type": "uint256" - }, - { - "internalType": "address", - "name": "_prevId", - "type": "address" - }, - { - "internalType": "address", - "name": "_nextId", - "type": "address" - } - ], - "name": "validInsertPosition", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": "0x", - "deployedBytecode": "0x", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/packages/lib-ethers/live/IStabilityPool.json b/packages/lib-ethers/live/IStabilityPool.json deleted file mode 100644 index f4f95573f..000000000 --- a/packages/lib-ethers/live/IStabilityPool.json +++ /dev/null @@ -1,777 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "IStabilityPool", - "sourceName": "contracts/Interfaces/IStabilityPool.sol", - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_newActivePoolAddress", - "type": "address" - } - ], - "name": "ActivePoolAddressChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_newBorrowerOperationsAddress", - "type": "address" - } - ], - "name": "BorrowerOperationsAddressChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_newCommunityIssuanceAddress", - "type": "address" - } - ], - "name": "CommunityIssuanceAddressChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_newDefaultPoolAddress", - "type": "address" - } - ], - "name": "DefaultPoolAddressChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "_depositor", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_P", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_S", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_G", - "type": "uint256" - } - ], - "name": "DepositSnapshotUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "_depositor", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_ETH", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_ZUSDLoss", - "type": "uint256" - } - ], - "name": "ETHGainWithdrawn", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint128", - "name": "_currentEpoch", - "type": "uint128" - } - ], - "name": "EpochUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_to", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "name": "EtherSent", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "_frontEnd", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_kickbackRate", - "type": "uint256" - } - ], - "name": "FrontEndRegistered", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "_frontEnd", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_P", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_G", - "type": "uint256" - } - ], - "name": "FrontEndSnapshotUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "_frontEnd", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_newFrontEndStake", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "address", - "name": "_depositor", - "type": "address" - } - ], - "name": "FrontEndStakeChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "_depositor", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "_frontEnd", - "type": "address" - } - ], - "name": "FrontEndTagSet", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "_G", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint128", - "name": "_epoch", - "type": "uint128" - }, - { - "indexed": false, - "internalType": "uint128", - "name": "_scale", - "type": "uint128" - } - ], - "name": "G_Updated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "_P", - "type": "uint256" - } - ], - "name": "P_Updated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_newPriceFeedAddress", - "type": "address" - } - ], - "name": "PriceFeedAddressChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "_S", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint128", - "name": "_epoch", - "type": "uint128" - }, - { - "indexed": false, - "internalType": "uint128", - "name": "_scale", - "type": "uint128" - } - ], - "name": "S_Updated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint128", - "name": "_currentScale", - "type": "uint128" - } - ], - "name": "ScaleUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_newSortedTrovesAddress", - "type": "address" - } - ], - "name": "SortedTrovesAddressChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "_newBalance", - "type": "uint256" - } - ], - "name": "StabilityPoolETHBalanceUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "_newBalance", - "type": "uint256" - } - ], - "name": "StabilityPoolZUSDBalanceUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_newTroveManagerAddress", - "type": "address" - } - ], - "name": "TroveManagerAddressChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "_depositor", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_newDeposit", - "type": "uint256" - } - ], - "name": "UserDepositChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_depositor", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_zusdAmountRequested", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_dllrAmountReceived", - "type": "uint256" - } - ], - "name": "WithdrawFromSpAndConvertToDLLR", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "_depositor", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_ZERO", - "type": "uint256" - } - ], - "name": "ZEROPaidToDepositor", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "_frontEnd", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_ZERO", - "type": "uint256" - } - ], - "name": "ZEROPaidToFrontEnd", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_newZUSDTokenAddress", - "type": "address" - } - ], - "name": "ZUSDTokenAddressChanged", - "type": "event" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_frontEnd", - "type": "address" - } - ], - "name": "getCompoundedFrontEndStake", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_depositor", - "type": "address" - } - ], - "name": "getCompoundedZUSDDeposit", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_depositor", - "type": "address" - } - ], - "name": "getDepositorETHGain", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_depositor", - "type": "address" - } - ], - "name": "getDepositorZEROGain", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getETH", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_frontEnd", - "type": "address" - } - ], - "name": "getFrontEndZEROGain", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getTotalZUSDDeposits", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_debt", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_coll", - "type": "uint256" - } - ], - "name": "offset", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - }, - { - "internalType": "address", - "name": "_frontEndTag", - "type": "address" - } - ], - "name": "provideToSP", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_dllrAmount", - "type": "uint256" - }, - { - "components": [ - { - "internalType": "uint256", - "name": "deadline", - "type": "uint256" - }, - { - "internalType": "uint8", - "name": "v", - "type": "uint8" - }, - { - "internalType": "bytes32", - "name": "r", - "type": "bytes32" - }, - { - "internalType": "bytes32", - "name": "s", - "type": "bytes32" - } - ], - "internalType": "struct IMassetManager.PermitParams", - "name": "_permitParams", - "type": "tuple" - } - ], - "name": "provideToSpFromDLLR", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_kickbackRate", - "type": "uint256" - } - ], - "name": "registerFrontEnd", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_liquityBaseParamsAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_borrowerOperationsAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_troveManagerAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_activePoolAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_zusdTokenAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_sortedTrovesAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_priceFeedAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_communityIssuanceAddress", - "type": "address" - } - ], - "name": "setAddresses", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_upperHint", - "type": "address" - }, - { - "internalType": "address", - "name": "_lowerHint", - "type": "address" - } - ], - "name": "withdrawETHGainToTrove", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "name": "withdrawFromSP", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_zusdAmount", - "type": "uint256" - } - ], - "name": "withdrawFromSpAndConvertToDLLR", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": "0x", - "deployedBytecode": "0x", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/packages/lib-ethers/live/ITroveManager.json b/packages/lib-ethers/live/ITroveManager.json deleted file mode 100644 index b206ae870..000000000 --- a/packages/lib-ethers/live/ITroveManager.json +++ /dev/null @@ -1,1340 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "ITroveManager", - "sourceName": "contracts/Interfaces/ITroveManager.sol", - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_activePoolAddress", - "type": "address" - } - ], - "name": "ActivePoolAddressChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "_baseRate", - "type": "uint256" - } - ], - "name": "BaseRateUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_newBorrowerOperationsAddress", - "type": "address" - } - ], - "name": "BorrowerOperationsAddressChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_collSurplusPoolAddress", - "type": "address" - } - ], - "name": "CollSurplusPoolAddressChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_defaultPoolAddress", - "type": "address" - } - ], - "name": "DefaultPoolAddressChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_feeDistributorAddress", - "type": "address" - } - ], - "name": "FeeDistributorAddressChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_gasPoolAddress", - "type": "address" - } - ], - "name": "GasPoolAddressChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "_L_ETH", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_L_ZUSDDebt", - "type": "uint256" - } - ], - "name": "LTermsUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "_lastFeeOpTime", - "type": "uint256" - } - ], - "name": "LastFeeOpTimeUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "_liquidatedDebt", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_liquidatedColl", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_collGasCompensation", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_ZUSDGasCompensation", - "type": "uint256" - } - ], - "name": "Liquidation", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_borrowerOperationsAddress", - "type": "address" - } - ], - "name": "LiquityBaseParamsAddressChanges", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_newPriceFeedAddress", - "type": "address" - } - ], - "name": "PriceFeedAddressChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "_attemptedZUSDAmount", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_actualZUSDAmount", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_ETHSent", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_ETHFee", - "type": "uint256" - } - ], - "name": "Redemption", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_sortedTrovesAddress", - "type": "address" - } - ], - "name": "SortedTrovesAddressChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_stabilityPoolAddress", - "type": "address" - } - ], - "name": "StabilityPoolAddressChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "_totalStakesSnapshot", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_totalCollateralSnapshot", - "type": "uint256" - } - ], - "name": "SystemSnapshotsUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "_newTotalStakes", - "type": "uint256" - } - ], - "name": "TotalStakesUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_borrower", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_newIndex", - "type": "uint256" - } - ], - "name": "TroveIndexUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "_borrower", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_debt", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_coll", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint8", - "name": "operation", - "type": "uint8" - } - ], - "name": "TroveLiquidated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_troveManagerRedeemOps", - "type": "address" - } - ], - "name": "TroveManagerRedeemOpsAddressChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "_L_ETH", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_L_ZUSDDebt", - "type": "uint256" - } - ], - "name": "TroveSnapshotsUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "_borrower", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_debt", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_coll", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "stake", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint8", - "name": "operation", - "type": "uint8" - } - ], - "name": "TroveUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_zeroStakingAddress", - "type": "address" - } - ], - "name": "ZEROStakingAddressChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_zeroTokenAddress", - "type": "address" - } - ], - "name": "ZEROTokenAddressChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_newZUSDTokenAddress", - "type": "address" - } - ], - "name": "ZUSDTokenAddressChanged", - "type": "event" - }, - { - "inputs": [], - "name": "CCR", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "MCR", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_borrower", - "type": "address" - } - ], - "name": "addTroveOwnerToArray", - "outputs": [ - { - "internalType": "uint256", - "name": "index", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_borrower", - "type": "address" - } - ], - "name": "applyPendingRewards", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address[]", - "name": "_troveArray", - "type": "address[]" - } - ], - "name": "batchLiquidateTroves", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_price", - "type": "uint256" - } - ], - "name": "checkRecoveryMode", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_borrower", - "type": "address" - } - ], - "name": "closeTrove", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "decayBaseRateFromBorrowing", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_borrower", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_collDecrease", - "type": "uint256" - } - ], - "name": "decreaseTroveColl", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_borrower", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_debtDecrease", - "type": "uint256" - } - ], - "name": "decreaseTroveDebt", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "ZUSDDebt", - "type": "uint256" - } - ], - "name": "getBorrowingFee", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_ZUSDDebt", - "type": "uint256" - } - ], - "name": "getBorrowingFeeWithDecay", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getBorrowingRate", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getBorrowingRateWithDecay", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_borrower", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_price", - "type": "uint256" - } - ], - "name": "getCurrentICR", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_borrower", - "type": "address" - } - ], - "name": "getEntireDebtAndColl", - "outputs": [ - { - "internalType": "uint256", - "name": "debt", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "coll", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "pendingZUSDDebtReward", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "pendingETHReward", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_borrower", - "type": "address" - } - ], - "name": "getNominalICR", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_borrower", - "type": "address" - } - ], - "name": "getPendingETHReward", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_borrower", - "type": "address" - } - ], - "name": "getPendingZUSDDebtReward", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_ETHDrawn", - "type": "uint256" - } - ], - "name": "getRedemptionFeeWithDecay", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getRedemptionRate", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getRedemptionRateWithDecay", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_price", - "type": "uint256" - } - ], - "name": "getTCR", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_borrower", - "type": "address" - } - ], - "name": "getTroveColl", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_borrower", - "type": "address" - } - ], - "name": "getTroveDebt", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_index", - "type": "uint256" - } - ], - "name": "getTroveFromTroveOwnersArray", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getTroveOwnersCount", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_borrower", - "type": "address" - } - ], - "name": "getTroveStake", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_borrower", - "type": "address" - } - ], - "name": "getTroveStatus", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_borrower", - "type": "address" - } - ], - "name": "hasPendingRewards", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_borrower", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_collIncrease", - "type": "uint256" - } - ], - "name": "increaseTroveColl", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_borrower", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_debtIncrease", - "type": "uint256" - } - ], - "name": "increaseTroveDebt", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_borrower", - "type": "address" - } - ], - "name": "liquidate", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_n", - "type": "uint256" - } - ], - "name": "liquidateTroves", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "liquityBaseParams", - "outputs": [ - { - "internalType": "contract ILiquityBaseParams", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "priceFeed", - "outputs": [ - { - "internalType": "contract IPriceFeed", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_ZUSDAmount", - "type": "uint256" - }, - { - "internalType": "address", - "name": "_firstRedemptionHint", - "type": "address" - }, - { - "internalType": "address", - "name": "_upperPartialRedemptionHint", - "type": "address" - }, - { - "internalType": "address", - "name": "_lowerPartialRedemptionHint", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_partialRedemptionHintNICR", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_maxIterations", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_maxFee", - "type": "uint256" - } - ], - "name": "redeemCollateral", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_dllrAmount", - "type": "uint256" - }, - { - "internalType": "address", - "name": "_firstRedemptionHint", - "type": "address" - }, - { - "internalType": "address", - "name": "_upperPartialRedemptionHint", - "type": "address" - }, - { - "internalType": "address", - "name": "_lowerPartialRedemptionHint", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_partialRedemptionHintNICR", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_maxIterations", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_maxFeePercentage", - "type": "uint256" - }, - { - "components": [ - { - "internalType": "uint256", - "name": "deadline", - "type": "uint256" - }, - { - "internalType": "uint8", - "name": "v", - "type": "uint8" - }, - { - "internalType": "bytes32", - "name": "r", - "type": "bytes32" - }, - { - "internalType": "bytes32", - "name": "s", - "type": "bytes32" - } - ], - "internalType": "struct IMassetManager.PermitParams", - "name": "_permitParams", - "type": "tuple" - } - ], - "name": "redeemCollateralViaDLLR", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_borrower", - "type": "address" - } - ], - "name": "removeStake", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "components": [ - { - "internalType": "address", - "name": "_feeDistributorAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_troveManagerRedeemOps", - "type": "address" - }, - { - "internalType": "address", - "name": "_liquityBaseParamsAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_borrowerOperationsAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_activePoolAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_defaultPoolAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_stabilityPoolAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_gasPoolAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_collSurplusPoolAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_priceFeedAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_zusdTokenAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_sortedTrovesAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_zeroTokenAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_zeroStakingAddress", - "type": "address" - } - ], - "internalType": "struct ITroveManager.TroveManagerInitAddressesParams", - "name": "_troveManagerInitAddresses", - "type": "tuple" - } - ], - "name": "setAddresses", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_troveManagerRedeemOps", - "type": "address" - } - ], - "name": "setTroveManagerRedeemOps", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_borrower", - "type": "address" - }, - { - "internalType": "uint256", - "name": "num", - "type": "uint256" - } - ], - "name": "setTroveStatus", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_borrower", - "type": "address" - } - ], - "name": "updateStakeAndTotalStakes", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_borrower", - "type": "address" - } - ], - "name": "updateTroveRewardSnapshots", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": "0x", - "deployedBytecode": "0x", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/packages/lib-ethers/live/IWrbtc.json b/packages/lib-ethers/live/IWrbtc.json deleted file mode 100644 index f34c02bf6..000000000 --- a/packages/lib-ethers/live/IWrbtc.json +++ /dev/null @@ -1,301 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "IWrbtc", - "sourceName": "contracts/Interfaces/IWrbtc.sol", - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "Approval", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "Transfer", - "type": "event" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "address", - "name": "spender", - "type": "address" - } - ], - "name": "allowance", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "approve", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "balanceOf", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "decimals", - "outputs": [ - { - "internalType": "uint8", - "name": "", - "type": "uint8" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "subtractedValue", - "type": "uint256" - } - ], - "name": "decreaseAllowance", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "deposit", - "outputs": [], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "addedValue", - "type": "uint256" - } - ], - "name": "increaseAllowance", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "name", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "symbol", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "totalSupply", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "transfer", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "transferFrom", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "wad", - "type": "uint256" - } - ], - "name": "withdraw", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": "0x", - "deployedBytecode": "0x", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/packages/lib-ethers/live/IZEROStaking.json b/packages/lib-ethers/live/IZEROStaking.json deleted file mode 100644 index d66cbe7d5..000000000 --- a/packages/lib-ethers/live/IZEROStaking.json +++ /dev/null @@ -1,308 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "IZEROStaking", - "sourceName": "contracts/Interfaces/IZEROStaking.sol", - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_activePoolAddress", - "type": "address" - } - ], - "name": "ActivePoolAddressSet", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_account", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "name": "EtherSent", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "_F_ETH", - "type": "uint256" - } - ], - "name": "F_ETHUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "_F_ZUSD", - "type": "uint256" - } - ], - "name": "F_ZUSDUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_feeDistributorAddress", - "type": "address" - } - ], - "name": "FeeDistributorAddressAddressSet", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "staker", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "newStake", - "type": "uint256" - } - ], - "name": "StakeChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_staker", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_F_ETH", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_F_ZUSD", - "type": "uint256" - } - ], - "name": "StakerSnapshotsUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "staker", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "ZUSDGain", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "ETHGain", - "type": "uint256" - } - ], - "name": "StakingGainsWithdrawn", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "_totalZEROStaked", - "type": "uint256" - } - ], - "name": "TotalZEROStakedUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_zeroTokenAddress", - "type": "address" - } - ], - "name": "ZEROTokenAddressSet", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_zusdTokenAddress", - "type": "address" - } - ], - "name": "ZUSDTokenAddressSet", - "type": "event" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_user", - "type": "address" - } - ], - "name": "getPendingETHGain", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_user", - "type": "address" - } - ], - "name": "getPendingZUSDGain", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_ETHFee", - "type": "uint256" - } - ], - "name": "increaseF_ETH", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_ZEROFee", - "type": "uint256" - } - ], - "name": "increaseF_ZUSD", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_zeroTokenAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_zusdTokenAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_feeDistributorAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_activePoolAddress", - "type": "address" - } - ], - "name": "setAddresses", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_ZEROamount", - "type": "uint256" - } - ], - "name": "stake", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_ZEROamount", - "type": "uint256" - } - ], - "name": "unstake", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": "0x", - "deployedBytecode": "0x", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/packages/lib-ethers/live/IZEROToken.json b/packages/lib-ethers/live/IZEROToken.json deleted file mode 100644 index c2ec512f4..000000000 --- a/packages/lib-ethers/live/IZEROToken.json +++ /dev/null @@ -1,413 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "IZEROToken", - "sourceName": "contracts/Interfaces/IZEROToken.sol", - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "Approval", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "Transfer", - "type": "event" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "address", - "name": "spender", - "type": "address" - } - ], - "name": "allowance", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "approve", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "balanceOf", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "decimals", - "outputs": [ - { - "internalType": "uint8", - "name": "", - "type": "uint8" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "subtractedValue", - "type": "uint256" - } - ], - "name": "decreaseAllowance", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "domainSeparator", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getDeploymentStartTime", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "addedValue", - "type": "uint256" - } - ], - "name": "increaseAllowance", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "name", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - } - ], - "name": "nonces", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "deadline", - "type": "uint256" - }, - { - "internalType": "uint8", - "name": "v", - "type": "uint8" - }, - { - "internalType": "bytes32", - "name": "r", - "type": "bytes32" - }, - { - "internalType": "bytes32", - "name": "s", - "type": "bytes32" - } - ], - "name": "permit", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "permitTypeHash", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_sender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "name": "sendToZEROStaking", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "symbol", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "totalSupply", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "transfer", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "transferFrom", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "version", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": "0x", - "deployedBytecode": "0x", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/packages/lib-ethers/live/IZUSDToken.json b/packages/lib-ethers/live/IZUSDToken.json deleted file mode 100644 index 20c15984b..000000000 --- a/packages/lib-ethers/live/IZUSDToken.json +++ /dev/null @@ -1,522 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "IZUSDToken", - "sourceName": "contracts/Interfaces/IZUSDToken.sol", - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "Approval", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_newBorrowerOperationsAddress", - "type": "address" - } - ], - "name": "BorrowerOperationsAddressChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_newStabilityPoolAddress", - "type": "address" - } - ], - "name": "StabilityPoolAddressChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "Transfer", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_troveManagerAddress", - "type": "address" - } - ], - "name": "TroveManagerAddressChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_user", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "name": "ZUSDTokenBalanceUpdated", - "type": "event" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "address", - "name": "spender", - "type": "address" - } - ], - "name": "allowance", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "approve", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "balanceOf", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_account", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "name": "burn", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "decimals", - "outputs": [ - { - "internalType": "uint8", - "name": "", - "type": "uint8" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "subtractedValue", - "type": "uint256" - } - ], - "name": "decreaseAllowance", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "domainSeparator", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "addedValue", - "type": "uint256" - } - ], - "name": "increaseAllowance", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_account", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "name": "mint", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "name", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - } - ], - "name": "nonces", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "deadline", - "type": "uint256" - }, - { - "internalType": "uint8", - "name": "v", - "type": "uint8" - }, - { - "internalType": "bytes32", - "name": "r", - "type": "bytes32" - }, - { - "internalType": "bytes32", - "name": "s", - "type": "bytes32" - } - ], - "name": "permit", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "permitTypeHash", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "poolAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "user", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "name": "returnFromPool", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_sender", - "type": "address" - }, - { - "internalType": "address", - "name": "poolAddress", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "name": "sendToPool", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "symbol", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "totalSupply", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "transfer", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "transferFrom", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "version", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": "0x", - "deployedBytecode": "0x", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/packages/lib-ethers/live/Initializable.json b/packages/lib-ethers/live/Initializable.json deleted file mode 100644 index 025e98213..000000000 --- a/packages/lib-ethers/live/Initializable.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "Initializable", - "sourceName": "contracts/Dependencies/Initializable.sol", - "abi": [], - "bytecode": "0x6080604052348015600f57600080fd5b50603f80601d6000396000f3fe6080604052600080fdfea264697066735822122030ff26545d1b81d80f65983ece190a12baa56a70594d66c6f3a7b669431f8cab64736f6c634300060b0033", - "deployedBytecode": "0x6080604052600080fdfea264697066735822122030ff26545d1b81d80f65983ece190a12baa56a70594d66c6f3a7b669431f8cab64736f6c634300060b0033", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/packages/lib-ethers/live/LiquityBase.json b/packages/lib-ethers/live/LiquityBase.json deleted file mode 100644 index 810c8c7e7..000000000 --- a/packages/lib-ethers/live/LiquityBase.json +++ /dev/null @@ -1,141 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "LiquityBase", - "sourceName": "contracts/Dependencies/LiquityBase.sol", - "abi": [ - { - "inputs": [], - "name": "DECIMAL_PRECISION", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "MIN_NET_DEBT", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "ZUSD_GAS_COMPENSATION", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_100pct", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "activePool", - "outputs": [ - { - "internalType": "contract IActivePool", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "defaultPool", - "outputs": [ - { - "internalType": "contract IDefaultPool", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getEntireSystemColl", - "outputs": [ - { - "internalType": "uint256", - "name": "entireSystemColl", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getEntireSystemDebt", - "outputs": [ - { - "internalType": "uint256", - "name": "entireSystemDebt", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "liquityBaseParams", - "outputs": [ - { - "internalType": "contract ILiquityBaseParams", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "priceFeed", - "outputs": [ - { - "internalType": "contract IPriceFeed", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": "0x608060405234801561001057600080fd5b506103cd806100206000396000f3fe608060405234801561001057600080fd5b506004361061009e5760003560e01c8063795d26c311610066578063795d26c3146100f95780637f7dde4a14610101578063887105d3146101095780639f07067014610111578063a20baee6146100e15761009e565b80631bf43555146100a35780633cc74225146100bd57806372fe25aa146100e1578063741bef1a146100e9578063759b3034146100f1575b600080fd5b6100ab610119565b60408051918252519081900360200190f35b6100c5610126565b604080516001600160a01b039092168252519081900360200190f35b6100ab610135565b6100c5610141565b6100ab610150565b6100ab61015d565b6100c561025c565b6100ab61026b565b6100c5610327565b6809c2007651b250000081565b6001546001600160a01b031681565b670de0b6b3a764000081565b6002546001600160a01b031681565b6801158e460913d0000081565b60008054604080516272c7d360e71b8152905183926001600160a01b031691633963e980916004808301926020929190829003018186803b1580156101a157600080fd5b505afa1580156101b5573d6000803e3d6000fd5b505050506040513d60208110156101cb57600080fd5b5051600154604080516272c7d360e71b815290519293506000926001600160a01b0390921691633963e98091600480820192602092909190829003018186803b15801561021757600080fd5b505afa15801561022b573d6000803e3d6000fd5b505050506040513d602081101561024157600080fd5b50519050610255828263ffffffff61033616565b9250505090565b6000546001600160a01b031681565b6000805460408051630a7b61df60e11b8152905183926001600160a01b0316916314f6c3be916004808301926020929190829003018186803b1580156102b057600080fd5b505afa1580156102c4573d6000803e3d6000fd5b505050506040513d60208110156102da57600080fd5b505160015460408051630a7b61df60e11b815290519293506000926001600160a01b03909216916314f6c3be91600480820192602092909190829003018186803b15801561021757600080fd5b6003546001600160a01b031681565b600082820183811015610390576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b939250505056fea26469706673582212208253ef5c74201a75593965818ea06f0850be07107427178bfac7d4310bf3fa4964736f6c634300060b0033", - "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061009e5760003560e01c8063795d26c311610066578063795d26c3146100f95780637f7dde4a14610101578063887105d3146101095780639f07067014610111578063a20baee6146100e15761009e565b80631bf43555146100a35780633cc74225146100bd57806372fe25aa146100e1578063741bef1a146100e9578063759b3034146100f1575b600080fd5b6100ab610119565b60408051918252519081900360200190f35b6100c5610126565b604080516001600160a01b039092168252519081900360200190f35b6100ab610135565b6100c5610141565b6100ab610150565b6100ab61015d565b6100c561025c565b6100ab61026b565b6100c5610327565b6809c2007651b250000081565b6001546001600160a01b031681565b670de0b6b3a764000081565b6002546001600160a01b031681565b6801158e460913d0000081565b60008054604080516272c7d360e71b8152905183926001600160a01b031691633963e980916004808301926020929190829003018186803b1580156101a157600080fd5b505afa1580156101b5573d6000803e3d6000fd5b505050506040513d60208110156101cb57600080fd5b5051600154604080516272c7d360e71b815290519293506000926001600160a01b0390921691633963e98091600480820192602092909190829003018186803b15801561021757600080fd5b505afa15801561022b573d6000803e3d6000fd5b505050506040513d602081101561024157600080fd5b50519050610255828263ffffffff61033616565b9250505090565b6000546001600160a01b031681565b6000805460408051630a7b61df60e11b8152905183926001600160a01b0316916314f6c3be916004808301926020929190829003018186803b1580156102b057600080fd5b505afa1580156102c4573d6000803e3d6000fd5b505050506040513d60208110156102da57600080fd5b505160015460408051630a7b61df60e11b815290519293506000926001600160a01b03909216916314f6c3be91600480820192602092909190829003018186803b15801561021757600080fd5b6003546001600160a01b031681565b600082820183811015610390576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b939250505056fea26469706673582212208253ef5c74201a75593965818ea06f0850be07107427178bfac7d4310bf3fa4964736f6c634300060b0033", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/packages/lib-ethers/live/LiquityBaseParams.json b/packages/lib-ethers/live/LiquityBaseParams.json deleted file mode 100644 index 652b2f6ab..000000000 --- a/packages/lib-ethers/live/LiquityBaseParams.json +++ /dev/null @@ -1,232 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "LiquityBaseParams", - "sourceName": "contracts/LiquityBaseParams.sol", - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "previousOwner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnershipTransferred", - "type": "event" - }, - { - "inputs": [], - "name": "BORROWING_FEE_FLOOR", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "CCR", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "DECIMAL_PRECISION", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "MAX_BORROWING_FEE", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "MCR", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "PERCENT_DIVISOR", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "REDEMPTION_FEE_FLOOR", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getOwner", - "outputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "initialize", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "BORROWING_FEE_FLOOR_", - "type": "uint256" - } - ], - "name": "setBorrowingFeeFloor", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "CCR_", - "type": "uint256" - } - ], - "name": "setCCR", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "MCR_", - "type": "uint256" - } - ], - "name": "setMCR", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "MAX_BORROWING_FEE_", - "type": "uint256" - } - ], - "name": "setMaxBorrowingFee", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - } - ], - "name": "setOwner", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "PERCENT_DIVISOR_", - "type": "uint256" - } - ], - "name": "setPercentDivisor", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "REDEMPTION_FEE_FLOOR_", - "type": "uint256" - } - ], - "name": "setRedemptionFeeFloor", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": "0x608060405234801561001057600080fd5b50610023336001600160e01b0361002816565b610110565b6001600160a01b03811661006d5760405162461bcd60e51b81526004018080602001828103825260228152602001806108e66022913960400191505060405180910390fd5b6001600160a01b0381166100886001600160e01b036100e616565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3604080517035b2bc9737bbb730b136329737bbb732b960791b8152905190819003601101902055565b604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205490565b6107c78061011f6000396000f3fe608060405234801561001057600080fd5b50600436106100e05760003560e01c80636030cc8c116100875780636030cc8c146101965780636d454561146101b3578063794e5724146101d057806380038a0b146101d85780638129fc1c146101f5578063893d20e8146101fd578063a20baee614610221578063f92d343314610229576100e0565b806313af4035146100e5578063240926691461010d57806328d28b5b146101275780632e2465f81461012f578063385a128f1461014c5780634139ad60146101695780634870dd9a146101865780635733d58f1461018e575b600080fd5b61010b600480360360208110156100fb57600080fd5b50356001600160a01b0316610231565b005b610115610298565b60408051918252519081900360200190f35b61011561029e565b61010b6004803603602081101561014557600080fd5b50356102a4565b61010b6004803603602081101561016257600080fd5b5035610304565b61010b6004803603602081101561017f57600080fd5b5035610364565b6101156103c4565b6101156103ca565b61010b600480360360208110156101ac57600080fd5b50356103d0565b61010b600480360360208110156101c957600080fd5b5035610430565b610115610490565b61010b600480360360208110156101ee57600080fd5b5035610496565b61010b6104f6565b61020561062a565b604080516001600160a01b039092168252519081900360200190f35b610115610654565b610115610660565b61023961062a565b6001600160a01b0316336001600160a01b03161461028c576040805162461bcd60e51b81526020600482015260176024820152600080516020610722833981519152604482015290519081900360640190fd5b61029581610666565b50565b60385481565b60375481565b6102ac61062a565b6001600160a01b0316336001600160a01b0316146102ff576040805162461bcd60e51b81526020600482015260176024820152600080516020610722833981519152604482015290519081900360640190fd5b603655565b61030c61062a565b6001600160a01b0316336001600160a01b03161461035f576040805162461bcd60e51b81526020600482015260176024820152600080516020610722833981519152604482015290519081900360640190fd5b603355565b61036c61062a565b6001600160a01b0316336001600160a01b0316146103bf576040805162461bcd60e51b81526020600482015260176024820152600080516020610722833981519152604482015290519081900360640190fd5b603455565b60355481565b60345481565b6103d861062a565b6001600160a01b0316336001600160a01b03161461042b576040805162461bcd60e51b81526020600482015260176024820152600080516020610722833981519152604482015290519081900360640190fd5b603755565b61043861062a565b6001600160a01b0316336001600160a01b03161461048b576040805162461bcd60e51b81526020600482015260176024820152600080516020610722833981519152604482015290519081900360640190fd5b603555565b60335481565b61049e61062a565b6001600160a01b0316336001600160a01b0316146104f1576040805162461bcd60e51b81526020600482015260176024820152600080516020610722833981519152604482015290519081900360640190fd5b603855565b600054610100900460ff168061050f575061050f61071b565b8061051d575060005460ff16155b6105585760405162461bcd60e51b815260040180806020018281038252602e815260200180610764602e913960400191505060405180910390fd5b600054610100900460ff16158015610583576000805460ff1961ff0019909116610100171660011790555b61058b61062a565b6001600160a01b0316336001600160a01b0316146105de576040805162461bcd60e51b81526020600482015260176024820152600080516020610722833981519152604482015290519081900360640190fd5b670f43fc2c04ee00006033556714d1120d7b16000060345560c86035556611c37937e08000603681905560375566b1a2bc2ec500006038558015610295576000805461ff001916905550565b604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205490565b670de0b6b3a764000081565b60365481565b6001600160a01b0381166106ab5760405162461bcd60e51b81526004018080602001828103825260228152602001806107426022913960400191505060405180910390fd5b806001600160a01b03166106bd61062a565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3604080517035b2bc9737bbb730b136329737bbb732b960791b8152905190819003601101902055565b303b159056fe4f776e61626c653a3a206163636573732064656e6965640000000000000000004f776e61626c653a3a7365744f776e65723a20696e76616c69642061646472657373436f6e747261637420696e7374616e63652068617320616c7265616479206265656e20696e697469616c697a6564a26469706673582212209b1fc4ebe36b013e04c33c8b1574ab765154511a9b95fe7e760cf2d686fd7abb64736f6c634300060b00334f776e61626c653a3a7365744f776e65723a20696e76616c69642061646472657373", - "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100e05760003560e01c80636030cc8c116100875780636030cc8c146101965780636d454561146101b3578063794e5724146101d057806380038a0b146101d85780638129fc1c146101f5578063893d20e8146101fd578063a20baee614610221578063f92d343314610229576100e0565b806313af4035146100e5578063240926691461010d57806328d28b5b146101275780632e2465f81461012f578063385a128f1461014c5780634139ad60146101695780634870dd9a146101865780635733d58f1461018e575b600080fd5b61010b600480360360208110156100fb57600080fd5b50356001600160a01b0316610231565b005b610115610298565b60408051918252519081900360200190f35b61011561029e565b61010b6004803603602081101561014557600080fd5b50356102a4565b61010b6004803603602081101561016257600080fd5b5035610304565b61010b6004803603602081101561017f57600080fd5b5035610364565b6101156103c4565b6101156103ca565b61010b600480360360208110156101ac57600080fd5b50356103d0565b61010b600480360360208110156101c957600080fd5b5035610430565b610115610490565b61010b600480360360208110156101ee57600080fd5b5035610496565b61010b6104f6565b61020561062a565b604080516001600160a01b039092168252519081900360200190f35b610115610654565b610115610660565b61023961062a565b6001600160a01b0316336001600160a01b03161461028c576040805162461bcd60e51b81526020600482015260176024820152600080516020610722833981519152604482015290519081900360640190fd5b61029581610666565b50565b60385481565b60375481565b6102ac61062a565b6001600160a01b0316336001600160a01b0316146102ff576040805162461bcd60e51b81526020600482015260176024820152600080516020610722833981519152604482015290519081900360640190fd5b603655565b61030c61062a565b6001600160a01b0316336001600160a01b03161461035f576040805162461bcd60e51b81526020600482015260176024820152600080516020610722833981519152604482015290519081900360640190fd5b603355565b61036c61062a565b6001600160a01b0316336001600160a01b0316146103bf576040805162461bcd60e51b81526020600482015260176024820152600080516020610722833981519152604482015290519081900360640190fd5b603455565b60355481565b60345481565b6103d861062a565b6001600160a01b0316336001600160a01b03161461042b576040805162461bcd60e51b81526020600482015260176024820152600080516020610722833981519152604482015290519081900360640190fd5b603755565b61043861062a565b6001600160a01b0316336001600160a01b03161461048b576040805162461bcd60e51b81526020600482015260176024820152600080516020610722833981519152604482015290519081900360640190fd5b603555565b60335481565b61049e61062a565b6001600160a01b0316336001600160a01b0316146104f1576040805162461bcd60e51b81526020600482015260176024820152600080516020610722833981519152604482015290519081900360640190fd5b603855565b600054610100900460ff168061050f575061050f61071b565b8061051d575060005460ff16155b6105585760405162461bcd60e51b815260040180806020018281038252602e815260200180610764602e913960400191505060405180910390fd5b600054610100900460ff16158015610583576000805460ff1961ff0019909116610100171660011790555b61058b61062a565b6001600160a01b0316336001600160a01b0316146105de576040805162461bcd60e51b81526020600482015260176024820152600080516020610722833981519152604482015290519081900360640190fd5b670f43fc2c04ee00006033556714d1120d7b16000060345560c86035556611c37937e08000603681905560375566b1a2bc2ec500006038558015610295576000805461ff001916905550565b604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205490565b670de0b6b3a764000081565b60365481565b6001600160a01b0381166106ab5760405162461bcd60e51b81526004018080602001828103825260228152602001806107426022913960400191505060405180910390fd5b806001600160a01b03166106bd61062a565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3604080517035b2bc9737bbb730b136329737bbb732b960791b8152905190819003601101902055565b303b159056fe4f776e61626c653a3a206163636573732064656e6965640000000000000000004f776e61626c653a3a7365744f776e65723a20696e76616c69642061646472657373436f6e747261637420696e7374616e63652068617320616c7265616479206265656e20696e697469616c697a6564a26469706673582212209b1fc4ebe36b013e04c33c8b1574ab765154511a9b95fe7e760cf2d686fd7abb64736f6c634300060b0033", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/packages/lib-ethers/live/LiquityMath.json b/packages/lib-ethers/live/LiquityMath.json deleted file mode 100644 index 9547a9f92..000000000 --- a/packages/lib-ethers/live/LiquityMath.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "LiquityMath", - "sourceName": "contracts/Dependencies/LiquityMath.sol", - "abi": [], - "bytecode": "0x60566023600b82828239805160001a607314601657fe5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220fbc3a43f3d6b11871a62e8f9d6cd0f2abe8ef488d930d8a9f3caca90f1f5c93f64736f6c634300060b0033", - "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220fbc3a43f3d6b11871a62e8f9d6cd0f2abe8ef488d930d8a9f3caca90f1f5c93f64736f6c634300060b0033", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/packages/lib-ethers/live/LiquityMathTester.json b/packages/lib-ethers/live/LiquityMathTester.json deleted file mode 100644 index 7e9c862e8..000000000 --- a/packages/lib-ethers/live/LiquityMathTester.json +++ /dev/null @@ -1,83 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "LiquityMathTester", - "sourceName": "contracts/TestContracts/LiquityMathTester.sol", - "abi": [ - { - "inputs": [ - { - "internalType": "uint256", - "name": "_base", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_n", - "type": "uint256" - } - ], - "name": "callDecPow", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "pure", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_base", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_n", - "type": "uint256" - } - ], - "name": "callDecPowTx", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_a", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_b", - "type": "uint256" - } - ], - "name": "callMax", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "pure", - "type": "function" - } - ], - "bytecode": "0x608060405234801561001057600080fd5b5061045b806100206000396000f3fe608060405234801561001057600080fd5b50600436106100405760003560e01c8062fa72ff1461004557806336090b011461007a578063d407725214610045575b600080fd5b6100686004803603604081101561005b57600080fd5b508035906020013561009d565b60408051918252519081900360200190f35b6100686004803603604081101561009057600080fd5b50803590602001356100b2565b60006100a983836100be565b90505b92915050565b60006100a9838361017f565b6000631f5405008211156100d457631f54050091505b816100e85750670de0b6b3a76400006100ac565b670de0b6b3a764000083835b600181111561016b57600281066101295761010f8283610196565b915061012281600263ffffffff6101d116565b9050610166565b6101338284610196565b925061013f8283610196565b9150610163600261015783600163ffffffff61021316565b9063ffffffff6101d116565b90505b6100f4565b6101758284610196565b9695505050505050565b60008183101561018f57816100a9565b5090919050565b6000806101a9848463ffffffff61025516565b90506101c9670de0b6b3a7640000610157836706f05b59d3b200006102ae565b949350505050565b60006100a983836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250610308565b60006100a983836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506103aa565b600082610264575060006100ac565b8282028284828161027157fe5b04146100a95760405162461bcd60e51b81526004018080602001828103825260218152602001806104056021913960400191505060405180910390fd5b6000828201838110156100a9576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b600081836103945760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610359578181015183820152602001610341565b50505050905090810190601f1680156103865780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385816103a057fe5b0495945050505050565b600081848411156103fc5760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610359578181015183820152602001610341565b50505090039056fe536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77a26469706673582212203ff72df43c80931fc8e7f938d93838c9c205c84ab1e8fbeaf207bb10ec4fcd6164736f6c634300060b0033", - "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100405760003560e01c8062fa72ff1461004557806336090b011461007a578063d407725214610045575b600080fd5b6100686004803603604081101561005b57600080fd5b508035906020013561009d565b60408051918252519081900360200190f35b6100686004803603604081101561009057600080fd5b50803590602001356100b2565b60006100a983836100be565b90505b92915050565b60006100a9838361017f565b6000631f5405008211156100d457631f54050091505b816100e85750670de0b6b3a76400006100ac565b670de0b6b3a764000083835b600181111561016b57600281066101295761010f8283610196565b915061012281600263ffffffff6101d116565b9050610166565b6101338284610196565b925061013f8283610196565b9150610163600261015783600163ffffffff61021316565b9063ffffffff6101d116565b90505b6100f4565b6101758284610196565b9695505050505050565b60008183101561018f57816100a9565b5090919050565b6000806101a9848463ffffffff61025516565b90506101c9670de0b6b3a7640000610157836706f05b59d3b200006102ae565b949350505050565b60006100a983836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250610308565b60006100a983836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506103aa565b600082610264575060006100ac565b8282028284828161027157fe5b04146100a95760405162461bcd60e51b81526004018080602001828103825260218152602001806104056021913960400191505060405180910390fd5b6000828201838110156100a9576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b600081836103945760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610359578181015183820152602001610341565b50505050905090810190601f1680156103865780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385816103a057fe5b0495945050505050565b600081848411156103fc5760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610359578181015183820152602001610341565b50505090039056fe536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77a26469706673582212203ff72df43c80931fc8e7f938d93838c9c205c84ab1e8fbeaf207bb10ec4fcd6164736f6c634300060b0033", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/packages/lib-ethers/live/LiquitySafeMath128.json b/packages/lib-ethers/live/LiquitySafeMath128.json deleted file mode 100644 index 1cf0705e0..000000000 --- a/packages/lib-ethers/live/LiquitySafeMath128.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "LiquitySafeMath128", - "sourceName": "contracts/Dependencies/LiquitySafeMath128.sol", - "abi": [], - "bytecode": "0x60566023600b82828239805160001a607314601657fe5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220d1b8af9d5680a58f76d453a8e162f0848b63455a9cbcc89279f52533e8eef5c964736f6c634300060b0033", - "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220d1b8af9d5680a58f76d453a8e162f0848b63455a9cbcc89279f52533e8eef5c964736f6c634300060b0033", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/packages/lib-ethers/live/LiquitySafeMath128Tester.json b/packages/lib-ethers/live/LiquitySafeMath128Tester.json deleted file mode 100644 index a9cacad53..000000000 --- a/packages/lib-ethers/live/LiquitySafeMath128Tester.json +++ /dev/null @@ -1,59 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "LiquitySafeMath128Tester", - "sourceName": "contracts/TestContracts/LiquitySafeMath128Tester.sol", - "abi": [ - { - "inputs": [ - { - "internalType": "uint128", - "name": "a", - "type": "uint128" - }, - { - "internalType": "uint128", - "name": "b", - "type": "uint128" - } - ], - "name": "add", - "outputs": [ - { - "internalType": "uint128", - "name": "", - "type": "uint128" - } - ], - "stateMutability": "pure", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint128", - "name": "a", - "type": "uint128" - }, - { - "internalType": "uint128", - "name": "b", - "type": "uint128" - } - ], - "name": "sub", - "outputs": [ - { - "internalType": "uint128", - "name": "", - "type": "uint128" - } - ], - "stateMutability": "pure", - "type": "function" - } - ], - "bytecode": "0x608060405234801561001057600080fd5b5061021c806100206000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c8063a6fd00851461003b578063feb9939014610085575b600080fd5b6100696004803603604081101561005157600080fd5b506001600160801b03813581169160200135166100b3565b604080516001600160801b039092168252519081900360200190f35b6100696004803603604081101561009b57600080fd5b506001600160801b03813581169160200135166100d5565b60006100ce6001600160801b0384168363ffffffff6100f016565b9392505050565b60006100ce6001600160801b0384168363ffffffff61014916565b6000826001600160801b0316826001600160801b031611156101435760405162461bcd60e51b815260040180806020018281038252602881526020018061019a6028913960400191505060405180910390fd5b50900390565b60008282016001600160801b0380851690821610156100ce5760405162461bcd60e51b81526004018080602001828103825260258152602001806101c26025913960400191505060405180910390fdfe4c697175697479536166654d6174683132383a207375627472616374696f6e206f766572666c6f774c697175697479536166654d6174683132383a206164646974696f6e206f766572666c6f77a2646970667358221220dbd80a07f4fea298711b3006e9166e79237c69c6619ba28e6e4ae561b899123064736f6c634300060b0033", - "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100365760003560e01c8063a6fd00851461003b578063feb9939014610085575b600080fd5b6100696004803603604081101561005157600080fd5b506001600160801b03813581169160200135166100b3565b604080516001600160801b039092168252519081900360200190f35b6100696004803603604081101561009b57600080fd5b506001600160801b03813581169160200135166100d5565b60006100ce6001600160801b0384168363ffffffff6100f016565b9392505050565b60006100ce6001600160801b0384168363ffffffff61014916565b6000826001600160801b0316826001600160801b031611156101435760405162461bcd60e51b815260040180806020018281038252602881526020018061019a6028913960400191505060405180910390fd5b50900390565b60008282016001600160801b0380851690821610156100ce5760405162461bcd60e51b81526004018080602001828103825260258152602001806101c26025913960400191505060405180910390fdfe4c697175697479536166654d6174683132383a207375627472616374696f6e206f766572666c6f774c697175697479536166654d6174683132383a206164646974696f6e206f766572666c6f77a2646970667358221220dbd80a07f4fea298711b3006e9166e79237c69c6619ba28e6e4ae561b899123064736f6c634300060b0033", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/packages/lib-ethers/live/MassetManagerTester.json b/packages/lib-ethers/live/MassetManagerTester.json deleted file mode 100644 index 3f9c5017f..000000000 --- a/packages/lib-ethers/live/MassetManagerTester.json +++ /dev/null @@ -1,100 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "MassetManagerTester", - "sourceName": "contracts/TestContracts/MassetManagerTester.sol", - "abi": [ - { - "inputs": [], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [], - "name": "getToken", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_bAsset", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_bAssetQuantity", - "type": "uint256" - }, - { - "internalType": "address", - "name": "_recipient", - "type": "address" - } - ], - "name": "mintTo", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "nueMockToken", - "outputs": [ - { - "internalType": "contract NueMockToken", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_bAsset", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_massetQuantity", - "type": "uint256" - }, - { - "internalType": "address", - "name": "_recipient", - "type": "address" - } - ], - "name": "redeemTo", - "outputs": [ - { - "internalType": "uint256", - "name": "massetRedeemed", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": "0x608060405234801561001057600080fd5b5060405161001d9061005f565b604051809103906000f080158015610039573d6000803e3d6000fd5b50600080546001600160a01b0319166001600160a01b039290921691909117905561006c565b611aa6806104a883390190565b61042d8061007b6000396000f3fe608060405234801561001057600080fd5b506004361061004c5760003560e01c806321df0da714610051578063438b1b4b146100755780639f324846146100bd578063fb2c9223146100c5575b600080fd5b6100596100fb565b604080516001600160a01b039092168252519081900360200190f35b6100ab6004803603606081101561008b57600080fd5b506001600160a01b0381358116916020810135916040909101351661010a565b60408051918252519081900360200190f35b6100596102fb565b6100ab600480360360608110156100db57600080fd5b506001600160a01b0381358116916020810135916040909101351661030a565b6000546001600160a01b031690565b604080516323b872dd60e01b81523360048201523060248201526044810184905290516000916001600160a01b038616916323b872dd9160648082019260209290919082900301818787803b15801561016257600080fd5b505af1158015610176573d6000803e3d6000fd5b505050506040513d602081101561018c57600080fd5b505060008054604080516370a0823160e01b81526001600160a01b038681166004830152915191909216916370a08231916024808301926020929190829003018186803b1580156101dc57600080fd5b505afa1580156101f0573d6000803e3d6000fd5b505050506040513d602081101561020657600080fd5b505160008054604080516340c10f1960e01b81526001600160a01b038881166004830152602482018a905291519495509116926340c10f199260448084019391929182900301818387803b15801561025d57600080fd5b505af1158015610271573d6000803e3d6000fd5b5050600054604080516370a0823160e01b81526001600160a01b03888116600483015291518695509190921692506370a0823191602480820192602092909190829003018186803b1580156102c557600080fd5b505afa1580156102d9573d6000803e3d6000fd5b505050506040513d60208110156102ef57600080fd5b50510395945050505050565b6000546001600160a01b031681565b6040805163a9059cbb60e01b81526001600160a01b03838116600483015260248201859052915160009286169163a9059cbb91604480830192602092919082900301818787803b15801561035d57600080fd5b505af1158015610371573d6000803e3d6000fd5b505050506040513d602081101561038757600080fd5b50506000805460408051632770a7eb60e21b81523360048201526024810187905290516001600160a01b0390921692639dc29fac9260448084019382900301818387803b1580156103d757600080fd5b505af11580156103eb573d6000803e3d6000fd5b5094969550505050505056fea2646970667358221220377cd237457815df6d30da178018fd368ff28859e531a544d06eba953471a26d64736f6c634300060b0033610140604081905280605262001a02823960405190819003605201902061012052503480156200002e57600080fd5b50604051806040016040528060078152602001664e75657374726f60c81b81525080604051806040016040528060018152602001603160f81b815250604051806040016040528060078152602001664e75657374726f60c81b815250604051806040016040528060038152602001624e554560e81b8152508160039080519060200190620000be929190620002c7565b508051620000d4906004906020840190620002c7565b50506005805460ff1916601217905550815160208084019190912082519183019190912060405160009080605262001a54823960405190819003605201902060c085905260e084905291506200013490506001600160e01b036200017616565b60a0526200014d8184846001600160e01b036200017a16565b6080526101005250620001709350339250506001600160e01b03620001db169050565b6200036c565b4690565b6000838383620001926001600160e01b036200017616565b6040805160208082019690965280820194909452606084019290925260808301523060a0808401919091528151808403909101815260c090920190528051910120949350505050565b6001600160a01b038116620002225760405162461bcd60e51b8152600401808060200182810382526022815260200180620019e06022913960400191505060405180910390fd5b6001600160a01b0381166200023f6001600160e01b036200029d16565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3604080517035b2bc9737bbb730b136329737bbb732b960791b8152905190819003601101902055565b604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205490565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200030a57805160ff19168380011785556200033a565b828001600101855582156200033a579182015b828111156200033a5782518255916020019190600101906200031d565b50620003489291506200034c565b5090565b6200036991905b8082111562000348576000815560010162000353565b90565b60805160a05160c05160e051610100516101205161162a620003b6600039806109aa525080610f00525080610f42525080610f21525080610ea7525080610ed7525061162a6000f3fe608060405234801561001057600080fd5b506004361061012c5760003560e01c8063605629d6116100ad5780639dc29fac116100715780639dc29fac146103b5578063a457c2d7146103e1578063a9059cbb1461040d578063d505accf14610439578063dd62ed3e1461048a5761012c565b8063605629d6146102ec57806370a082311461033d5780637ecebe0014610363578063893d20e81461038957806395d89b41146103ad5761012c565b8063313ce567116100f4578063313ce567146102665780633408e470146102845780633644e5151461028c578063395093511461029457806340c10f19146102c05761012c565b806306fdde0314610131578063095ea7b3146101ae57806313af4035146101ee57806318160ddd1461021657806323b872dd14610230575b600080fd5b6101396104b8565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561017357818101518382015260200161015b565b50505050905090810190601f1680156101a05780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101da600480360360408110156101c457600080fd5b506001600160a01b03813516906020013561054f565b604080519115158252519081900360200190f35b6102146004803603602081101561020457600080fd5b50356001600160a01b031661056c565b005b61021e6105df565b60408051918252519081900360200190f35b6101da6004803603606081101561024657600080fd5b506001600160a01b038135811691602081013590911690604001356105e5565b61026e610672565b6040805160ff9092168252519081900360200190f35b61021e61067b565b61021e61067f565b6101da600480360360408110156102aa57600080fd5b506001600160a01b03813516906020013561068e565b610214600480360360408110156102d657600080fd5b506001600160a01b0381351690602001356106e2565b610214600480360360e081101561030257600080fd5b506001600160a01b03813581169160208101359091169060408101359060608101359060ff6080820135169060a08101359060c00135610757565b61021e6004803603602081101561035357600080fd5b50356001600160a01b031661077b565b61021e6004803603602081101561037957600080fd5b50356001600160a01b0316610796565b6103916107bd565b604080516001600160a01b039092168252519081900360200190f35b6101396107e7565b610214600480360360408110156103cb57600080fd5b506001600160a01b038135169060200135610848565b6101da600480360360408110156103f757600080fd5b506001600160a01b0381351690602001356108b9565b6101da6004803603604081101561042357600080fd5b506001600160a01b038135169060200135610927565b610214600480360360e081101561044f57600080fd5b506001600160a01b03813581169160208101359091169060408101359060608101359060ff6080820135169060a08101359060c0013561093b565b61021e600480360360408110156104a057600080fd5b506001600160a01b0381358116916020013516610ae7565b60038054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156105445780601f1061051957610100808354040283529160200191610544565b820191906000526020600020905b81548152906001019060200180831161052757829003601f168201915b505050505090505b90565b600061056361055c610b12565b8484610b16565b50600192915050565b6105746107bd565b6001600160a01b0316336001600160a01b0316146105d3576040805162461bcd60e51b815260206004820152601760248201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604482015290519081900360640190fd5b6105dc81610c02565b50565b60025490565b60006105f2848484610cb7565b610668846105fe610b12565b6106638560405180606001604052806028815260200161151e602891396001600160a01b038a1660009081526001602052604081209061063c610b12565b6001600160a01b03168152602081019190915260400160002054919063ffffffff610e0c16565b610b16565b5060019392505050565b60055460ff1690565b4690565b6000610689610ea3565b905090565b600061056361069b610b12565b8461066385600160006106ac610b12565b6001600160a01b03908116825260208083019390935260409182016000908120918c16815292529020549063ffffffff610f6d16565b6106ea6107bd565b6001600160a01b0316336001600160a01b031614610749576040805162461bcd60e51b815260206004820152601760248201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604482015290519081900360640190fd5b6107538282610fce565b5050565b6107668733878787878761093b565b6107718787876105e5565b5050505050505050565b6001600160a01b031660009081526020819052604090205490565b6001600160a01b03811660009081526006602052604081206107b7906110b8565b92915050565b604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205490565b60048054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156105445780601f1061051957610100808354040283529160200191610544565b6108506107bd565b6001600160a01b0316336001600160a01b0316146108af576040805162461bcd60e51b815260206004820152601760248201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604482015290519081900360640190fd5b61075382826110bc565b60006105636108c6610b12565b84610663856040518060600160405280602581526020016115d060259139600160006108f0610b12565b6001600160a01b03908116825260208083019390935260409182016000908120918d1681529252902054919063ffffffff610e0c16565b6000610563610934610b12565b8484610cb7565b83421115610990576040805162461bcd60e51b815260206004820152601d60248201527f45524332305065726d69743a206578706972656420646561646c696e65000000604482015290519081900360640190fd5b6001600160a01b03871660009081526006602052604081207f0000000000000000000000000000000000000000000000000000000000000000908990899089906109d9906110b8565b604080516020808201979097526001600160a01b0395861681830152939094166060840152608083019190915260a082015260c08082018990528251808303909101815260e0909101909152805191012090506000610a37826111b2565b90506000610a47828787876111fe565b9050896001600160a01b0316816001600160a01b031614610aaf576040805162461bcd60e51b815260206004820152601e60248201527f45524332305065726d69743a20696e76616c6964207369676e61747572650000604482015290519081900360640190fd5b6001600160a01b038a166000908152600660205260409020610ad090611369565b610adb8a8a8a610b16565b50505050505050505050565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b3390565b6001600160a01b038316610b5b5760405162461bcd60e51b81526004018080602001828103825260248152602001806115ac6024913960400191505060405180910390fd5b6001600160a01b038216610ba05760405162461bcd60e51b81526004018080602001828103825260228152602001806114706022913960400191505060405180910390fd5b6001600160a01b03808416600081815260016020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b038116610c475760405162461bcd60e51b81526004018080602001828103825260228152602001806114da6022913960400191505060405180910390fd5b806001600160a01b0316610c596107bd565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3604080517035b2bc9737bbb730b136329737bbb732b960791b8152905190819003601101902055565b6001600160a01b038316610cfc5760405162461bcd60e51b81526004018080602001828103825260258152602001806115876025913960400191505060405180910390fd5b6001600160a01b038216610d415760405162461bcd60e51b815260040180806020018281038252602381526020018061142b6023913960400191505060405180910390fd5b610d4c838383611372565b610d8f81604051806060016040528060268152602001611492602691396001600160a01b038616600090815260208190526040902054919063ffffffff610e0c16565b6001600160a01b038085166000908152602081905260408082209390935590841681522054610dc4908263ffffffff610f6d16565b6001600160a01b0380841660008181526020818152604091829020949094558051858152905191939287169260008051602061154683398151915292918290030190a3505050565b60008184841115610e9b5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610e60578181015183820152602001610e48565b50505050905090810190601f168015610e8d5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b60007f0000000000000000000000000000000000000000000000000000000000000000610ece61067b565b1415610efb57507f000000000000000000000000000000000000000000000000000000000000000061054c565b610f667f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611377565b905061054c565b600082820183811015610fc7576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b6001600160a01b038216611029576040805162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015290519081900360640190fd5b61103560008383611372565b600254611048908263ffffffff610f6d16565b6002556001600160a01b038216600090815260208190526040902054611074908263ffffffff610f6d16565b6001600160a01b0383166000818152602081815260408083209490945583518581529351929391926000805160206115468339815191529281900390910190a35050565b5490565b6001600160a01b0382166111015760405162461bcd60e51b81526004018080602001828103825260218152602001806115666021913960400191505060405180910390fd5b61110d82600083611372565b6111508160405180606001604052806022815260200161144e602291396001600160a01b038516600090815260208190526040902054919063ffffffff610e0c16565b6001600160a01b03831660009081526020819052604090205560025461117c908263ffffffff6113cd16565b6002556040805182815290516000916001600160a01b038516916000805160206115468339815191529181900360200190a35050565b60006111bc610ea3565b82604051602001808061190160f01b81525060020183815260200182815260200192505050604051602081830303815290604052805190602001209050919050565b60006fa2a8918ca85bafe22016d0b997e4df60600160ff1b038211156112555760405162461bcd60e51b81526004018080602001828103825260228152602001806114b86022913960400191505060405180910390fd5b8360ff16601b148061126a57508360ff16601c145b6112a55760405162461bcd60e51b81526004018080602001828103825260228152602001806114fc6022913960400191505060405180910390fd5b604080516000808252602080830180855289905260ff88168385015260608301879052608083018690529251909260019260a080820193601f1981019281900390910190855afa1580156112fd573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b038116611360576040805162461bcd60e51b815260206004820152601860248201527745434453413a20696e76616c6964207369676e617475726560401b604482015290519081900360640190fd5b95945050505050565b80546001019055565b505050565b600083838361138461067b565b6040805160208082019690965280820194909452606084019290925260808301523060a0808401919091528151808403909101815260c090920190528051910120949350505050565b600082821115611424576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b5090039056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a206275726e20616d6f756e7420657863656564732062616c616e636545524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545434453413a20696e76616c6964207369676e6174757265202773272076616c75654f776e61626c653a3a7365744f776e65723a20696e76616c6964206164647265737345434453413a20696e76616c6964207369676e6174757265202776272076616c756545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef45524332303a206275726e2066726f6d20746865207a65726f206164647265737345524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220fcaf81fe308cd99e0a6d8ddd4221c0cd68860c5571be488af3538234cf7ddc9464736f6c634300060b00334f776e61626c653a3a7365744f776e65723a20696e76616c696420616464726573735065726d69742861646472657373206f776e65722c61646472657373207370656e6465722c75696e743235362076616c75652c75696e74323536206e6f6e63652c75696e7432353620646561646c696e6529454950373132446f6d61696e28737472696e67206e616d652c737472696e672076657273696f6e2c75696e7432353620636861696e49642c6164647265737320766572696679696e67436f6e747261637429", - "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061004c5760003560e01c806321df0da714610051578063438b1b4b146100755780639f324846146100bd578063fb2c9223146100c5575b600080fd5b6100596100fb565b604080516001600160a01b039092168252519081900360200190f35b6100ab6004803603606081101561008b57600080fd5b506001600160a01b0381358116916020810135916040909101351661010a565b60408051918252519081900360200190f35b6100596102fb565b6100ab600480360360608110156100db57600080fd5b506001600160a01b0381358116916020810135916040909101351661030a565b6000546001600160a01b031690565b604080516323b872dd60e01b81523360048201523060248201526044810184905290516000916001600160a01b038616916323b872dd9160648082019260209290919082900301818787803b15801561016257600080fd5b505af1158015610176573d6000803e3d6000fd5b505050506040513d602081101561018c57600080fd5b505060008054604080516370a0823160e01b81526001600160a01b038681166004830152915191909216916370a08231916024808301926020929190829003018186803b1580156101dc57600080fd5b505afa1580156101f0573d6000803e3d6000fd5b505050506040513d602081101561020657600080fd5b505160008054604080516340c10f1960e01b81526001600160a01b038881166004830152602482018a905291519495509116926340c10f199260448084019391929182900301818387803b15801561025d57600080fd5b505af1158015610271573d6000803e3d6000fd5b5050600054604080516370a0823160e01b81526001600160a01b03888116600483015291518695509190921692506370a0823191602480820192602092909190829003018186803b1580156102c557600080fd5b505afa1580156102d9573d6000803e3d6000fd5b505050506040513d60208110156102ef57600080fd5b50510395945050505050565b6000546001600160a01b031681565b6040805163a9059cbb60e01b81526001600160a01b03838116600483015260248201859052915160009286169163a9059cbb91604480830192602092919082900301818787803b15801561035d57600080fd5b505af1158015610371573d6000803e3d6000fd5b505050506040513d602081101561038757600080fd5b50506000805460408051632770a7eb60e21b81523360048201526024810187905290516001600160a01b0390921692639dc29fac9260448084019382900301818387803b1580156103d757600080fd5b505af11580156103eb573d6000803e3d6000fd5b5094969550505050505056fea2646970667358221220377cd237457815df6d30da178018fd368ff28859e531a544d06eba953471a26d64736f6c634300060b0033", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/packages/lib-ethers/live/MoCMedianizer.json b/packages/lib-ethers/live/MoCMedianizer.json deleted file mode 100644 index 66096b8d9..000000000 --- a/packages/lib-ethers/live/MoCMedianizer.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "MoCMedianizer", - "sourceName": "contracts/Dependencies/PriceFeed/MocMedianizer.sol", - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_medianizer", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [], - "name": "latestAnswer", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": "0x608060405234801561001057600080fd5b506040516101743803806101748339818101604052602081101561003357600080fd5b5051600080546001600160a01b039092166001600160a01b031990921691909117905561010f806100656000396000f3fe6080604052348015600f57600080fd5b506004361060285760003560e01c806350d25bcd14602d575b600080fd5b6033604c565b6040805192835290151560208301528051918290030190f35b6000806000806000809054906101000a90046001600160a01b03166001600160a01b03166359e02dd76040518163ffffffff1660e01b8152600401604080518083038186803b158015609d57600080fd5b505afa15801560b0573d6000803e3d6000fd5b505050506040513d604081101560c557600080fd5b50805160209091015190945092505050909156fea2646970667358221220177e340fe712b7221ca7b69999a7b933e115feaba9c5d763c7171f9249649cea64736f6c634300060b0033", - "deployedBytecode": "0x6080604052348015600f57600080fd5b506004361060285760003560e01c806350d25bcd14602d575b600080fd5b6033604c565b6040805192835290151560208301528051918290030190f35b6000806000806000809054906101000a90046001600160a01b03166001600160a01b03166359e02dd76040518163ffffffff1660e01b8152600401604080518083038186803b158015609d57600080fd5b505afa15801560b0573d6000803e3d6000fd5b505050506040513d604081101560c557600080fd5b50805160209091015190945092505050909156fea2646970667358221220177e340fe712b7221ca7b69999a7b933e115feaba9c5d763c7171f9249649cea64736f6c634300060b0033", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/packages/lib-ethers/live/MockBalanceRedirectPresale.json b/packages/lib-ethers/live/MockBalanceRedirectPresale.json deleted file mode 100644 index aa028ca47..000000000 --- a/packages/lib-ethers/live/MockBalanceRedirectPresale.json +++ /dev/null @@ -1,38 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "MockBalanceRedirectPresale", - "sourceName": "contracts/TestContracts/MockBalanceRedirectPresale.sol", - "abi": [ - { - "inputs": [], - "name": "closePresale", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "isClosed", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "openPresale", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": "0x608060405234801561001057600080fd5b5060c38061001f6000396000f3fe6080604052348015600f57600080fd5b5060043610603c5760003560e01c806363cea4501460415780638dd98312146049578063c2b6b58c14604f575b600080fd5b60476069565b005b60476078565b60556084565b604080519115158252519081900360200190f35b6000805460ff19166001179055565b6000805460ff19169055565b60005460ff168156fea2646970667358221220fc2bed8e7b2d3230624b64c8532ad1cf8f5f34c5745b0b66bc2692d7c887c09e64736f6c634300060b0033", - "deployedBytecode": "0x6080604052348015600f57600080fd5b5060043610603c5760003560e01c806363cea4501460415780638dd98312146049578063c2b6b58c14604f575b600080fd5b60476069565b005b60476078565b60556084565b604080519115158252519081900360200190f35b6000805460ff19166001179055565b6000805460ff19169055565b60005460ff168156fea2646970667358221220fc2bed8e7b2d3230624b64c8532ad1cf8f5f34c5745b0b66bc2692d7c887c09e64736f6c634300060b0033", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/packages/lib-ethers/live/MockFeeSharingCollector.json b/packages/lib-ethers/live/MockFeeSharingCollector.json deleted file mode 100644 index e8422cd11..000000000 --- a/packages/lib-ethers/live/MockFeeSharingCollector.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "MockFeeSharingCollector", - "sourceName": "contracts/TestContracts/MockFeeSharingCollector.sol", - "abi": [ - { - "inputs": [], - "name": "transferRBTC", - "outputs": [], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_token", - "type": "address" - }, - { - "internalType": "uint96", - "name": "_amount", - "type": "uint96" - } - ], - "name": "transferTokens", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": "0x608060405234801561001057600080fd5b50610133806100206000396000f3fe60806040526004361060265760003560e01c806322a6fd9514602b578063abe979e1146033575b600080fd5b60316071565b005b348015603e57600080fd5b50603160048036036040811015605357600080fd5b5080356001600160a01b031690602001356001600160601b03166073565b565b604080516323b872dd60e01b81523360048201523060248201526001600160601b038316604482015290516001600160a01b038416916323b872dd9160648083019260209291908290030181600087803b15801560cf57600080fd5b505af115801560e2573d6000803e3d6000fd5b505050506040513d602081101560f757600080fd5b5050505056fea264697066735822122041a1eaed9e2b9a6021fa30c8a9c2e6c66891d8d249f2880ec0bd4039146658fa64736f6c634300060b0033", - "deployedBytecode": "0x60806040526004361060265760003560e01c806322a6fd9514602b578063abe979e1146033575b600080fd5b60316071565b005b348015603e57600080fd5b50603160048036036040811015605357600080fd5b5080356001600160a01b031690602001356001600160601b03166073565b565b604080516323b872dd60e01b81523360048201523060248201526001600160601b038316604482015290516001600160a01b038416916323b872dd9160648083019260209291908290030181600087803b15801560cf57600080fd5b505af115801560e2573d6000803e3d6000fd5b505050506040513d602081101560f757600080fd5b5050505056fea264697066735822122041a1eaed9e2b9a6021fa30c8a9c2e6c66891d8d249f2880ec0bd4039146658fa64736f6c634300060b0033", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/packages/lib-ethers/live/MockIFeeSharingCollector.json b/packages/lib-ethers/live/MockIFeeSharingCollector.json deleted file mode 100644 index 29a3ea3a1..000000000 --- a/packages/lib-ethers/live/MockIFeeSharingCollector.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "MockIFeeSharingCollector", - "sourceName": "contracts/TestContracts/MockFeeSharingCollector.sol", - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_token", - "type": "address" - }, - { - "internalType": "uint96", - "name": "_amount", - "type": "uint96" - } - ], - "name": "transferTokens", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": "0x", - "deployedBytecode": "0x", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/packages/lib-ethers/live/MultiTroveGetter.json b/packages/lib-ethers/live/MultiTroveGetter.json deleted file mode 100644 index f288fb24d..000000000 --- a/packages/lib-ethers/live/MultiTroveGetter.json +++ /dev/null @@ -1,156 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "MultiTroveGetter", - "sourceName": "contracts/MultiTroveGetter.sol", - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "previousOwner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnershipTransferred", - "type": "event" - }, - { - "inputs": [ - { - "internalType": "int256", - "name": "_startIdx", - "type": "int256" - }, - { - "internalType": "uint256", - "name": "_count", - "type": "uint256" - } - ], - "name": "getMultipleSortedTroves", - "outputs": [ - { - "components": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "uint256", - "name": "debt", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "coll", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "stake", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "snapshotETH", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "snapshotZUSDDebt", - "type": "uint256" - } - ], - "internalType": "struct MultiTroveGetter.CombinedTroveData[]", - "name": "_troves", - "type": "tuple[]" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getOwner", - "outputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "contract TroveManager", - "name": "_troveManager", - "type": "address" - }, - { - "internalType": "contract ISortedTroves", - "name": "_sortedTroves", - "type": "address" - } - ], - "name": "setAddresses", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - } - ], - "name": "setOwner", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "sortedTroves", - "outputs": [ - { - "internalType": "contract ISortedTroves", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "troveManager", - "outputs": [ - { - "internalType": "contract TroveManager", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": "0x608060405234801561001057600080fd5b50610023336001600160e01b0361002816565b610143565b6001600160a01b0381166100575760405162461bcd60e51b815260040161004e90610101565b60405180910390fd5b6001600160a01b0381166100726001600160e01b036100c516565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360006040516100b5906100e4565b6040519081900390209190915550565b6000806040516100d4906100e4565b6040519081900390205492915050565b7035b2bc9737bbb730b136329737bbb732b960791b815260110190565b60208082526022908201527f4f776e61626c653a3a7365744f776e65723a20696e76616c6964206164647265604082015261737360f01b606082015260800190565b610dc7806101526000396000f3fe608060405234801561001057600080fd5b50600436106100625760003560e01c806313af4035146100675780633d83908a1461007c578063893d20e81461009a57806390107afe146100a2578063ae918754146100b5578063b90bce45146100bd575b600080fd5b61007a610075366004610b20565b6100dd565b005b61008461012a565b6040516100919190610c74565b60405180910390f35b610084610139565b61007a6100b0366004610b5f565b610158565b6100846101be565b6100d06100cb366004610b97565b6101cd565b6040516100919190610c88565b6100e5610139565b6001600160a01b0316336001600160a01b03161461011e5760405162461bcd60e51b815260040161011590610d4b565b60405180910390fd5b610127816102f0565b50565b6000546001600160a01b031681565b60008060405161014890610c57565b6040519081900390205492915050565b610160610139565b6001600160a01b0316336001600160a01b0316146101905760405162461bcd60e51b815260040161011590610d4b565b600080546001600160a01b039384166001600160a01b03199182161790915560018054929093169116179055565b6001546001600160a01b031681565b6060600080600085126101e5575083905060016101f3565b846001016000039150600090505b6001546040805163de8fa43160e01b815290516000926001600160a01b03169163de8fa431916004808301926020929190829003018186803b15801561023857600080fd5b505afa15801561024c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102709190610bb8565b90508083106102b25760408051600080825260208201909252906102aa565b610297610ae1565b81526020019060019003908161028f5790505b5093506102e7565b828103808611156102c1578095505b82156102d8576102d1848761037b565b94506102e5565b6102e28487610732565b94505b505b50505092915050565b6001600160a01b0381166103165760405162461bcd60e51b815260040161011590610d09565b806001600160a01b0316610328610139565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3600060405161036b90610c57565b6040519081900390209190915550565b60606000600160009054906101000a90046001600160a01b03166001600160a01b0316631e2231436040518163ffffffff1660e01b815260040160206040518083038186803b1580156103cd57600080fd5b505afa1580156103e1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104059190610b43565b905060005b8481101561049c5760015460405163765e015960e01b81526001600160a01b039091169063765e015990610442908590600401610c74565b60206040518083038186803b15801561045a57600080fd5b505afa15801561046e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104929190610b43565b915060010161040a565b508267ffffffffffffffff811180156104b457600080fd5b506040519080825280602002602001820160405280156104ee57816020015b6104db610ae1565b8152602001906001900390816104d35790505b50915060005b8381101561072a578183828151811061050957fe5b60209081029190910101516001600160a01b039182169052600054604051630ddec86760e31b8152911690636ef6433890610548908590600401610c74565b60a06040518083038186803b15801561056057600080fd5b505afa158015610574573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105989190610bf3565b9050508584815181106105a757fe5b60200260200101516020018685815181106105be57fe5b60200260200101516040018786815181106105d557fe5b60209081029190910101516060019290925291905252600054604051630b39e3cd60e11b81526001600160a01b0390911690631673c79a9061061b908590600401610c74565b604080518083038186803b15801561063257600080fd5b505afa158015610646573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061066a9190610bd0565b84838151811061067657fe5b602002602001015160800185848151811061068d57fe5b602090810291909101015160a001919091525260015460405163765e015960e01b81526001600160a01b039091169063765e0159906106d0908590600401610c74565b60206040518083038186803b1580156106e857600080fd5b505afa1580156106fc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107209190610b43565b91506001016104f4565b505092915050565b60606000600160009054906101000a90046001600160a01b03166001600160a01b0316634d6228316040518163ffffffff1660e01b815260040160206040518083038186803b15801561078457600080fd5b505afa158015610798573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107bc9190610b43565b905060005b8481101561085357600154604051632dc9c0eb60e21b81526001600160a01b039091169063b72703ac906107f9908590600401610c74565b60206040518083038186803b15801561081157600080fd5b505afa158015610825573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108499190610b43565b91506001016107c1565b508267ffffffffffffffff8111801561086b57600080fd5b506040519080825280602002602001820160405280156108a557816020015b610892610ae1565b81526020019060019003908161088a5790505b50915060005b8381101561072a57818382815181106108c057fe5b60209081029190910101516001600160a01b039182169052600054604051630ddec86760e31b8152911690636ef64338906108ff908590600401610c74565b60a06040518083038186803b15801561091757600080fd5b505afa15801561092b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061094f9190610bf3565b90505085848151811061095e57fe5b602002602001015160200186858151811061097557fe5b602002602001015160400187868151811061098c57fe5b60209081029190910101516060019290925291905252600054604051630b39e3cd60e11b81526001600160a01b0390911690631673c79a906109d2908590600401610c74565b604080518083038186803b1580156109e957600080fd5b505afa1580156109fd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a219190610bd0565b848381518110610a2d57fe5b6020026020010151608001858481518110610a4457fe5b602090810291909101015160a0019190915252600154604051632dc9c0eb60e21b81526001600160a01b039091169063b72703ac90610a87908590600401610c74565b60206040518083038186803b158015610a9f57600080fd5b505afa158015610ab3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ad79190610b43565b91506001016108ab565b6040518060c0016040528060006001600160a01b0316815260200160008152602001600081526020016000815260200160008152602001600081525090565b600060208284031215610b31578081fd5b8135610b3c81610d7c565b9392505050565b600060208284031215610b54578081fd5b8151610b3c81610d7c565b60008060408385031215610b71578081fd5b8235610b7c81610d7c565b91506020830135610b8c81610d7c565b809150509250929050565b60008060408385031215610ba9578182fd5b50508035926020909101359150565b600060208284031215610bc9578081fd5b5051919050565b60008060408385031215610be2578182fd5b505080516020909101519092909150565b600080600080600060a08688031215610c0a578081fd5b855194506020860151935060408601519250606086015160058110610c2d578182fd5b60808701519092506001600160801b0381168114610c49578182fd5b809150509295509295909350565b7035b2bc9737bbb730b136329737bbb732b960791b815260110190565b6001600160a01b0391909116815260200190565b602080825282518282018190526000919060409081850190868401855b82811015610cfc57815180516001600160a01b0316855286810151878601528581015186860152606080820151908601526080808201519086015260a0908101519085015260c09093019290850190600101610ca5565b5091979650505050505050565b60208082526022908201527f4f776e61626c653a3a7365744f776e65723a20696e76616c6964206164647265604082015261737360f01b606082015260800190565b60208082526017908201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604082015260600190565b6001600160a01b038116811461012757600080fdfea2646970667358221220659f4dc0a25b28f8b8a559e447b60b3ff6f5f3d8084d3627ee2f90efdfe1a25864736f6c634300060b0033", - "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100625760003560e01c806313af4035146100675780633d83908a1461007c578063893d20e81461009a57806390107afe146100a2578063ae918754146100b5578063b90bce45146100bd575b600080fd5b61007a610075366004610b20565b6100dd565b005b61008461012a565b6040516100919190610c74565b60405180910390f35b610084610139565b61007a6100b0366004610b5f565b610158565b6100846101be565b6100d06100cb366004610b97565b6101cd565b6040516100919190610c88565b6100e5610139565b6001600160a01b0316336001600160a01b03161461011e5760405162461bcd60e51b815260040161011590610d4b565b60405180910390fd5b610127816102f0565b50565b6000546001600160a01b031681565b60008060405161014890610c57565b6040519081900390205492915050565b610160610139565b6001600160a01b0316336001600160a01b0316146101905760405162461bcd60e51b815260040161011590610d4b565b600080546001600160a01b039384166001600160a01b03199182161790915560018054929093169116179055565b6001546001600160a01b031681565b6060600080600085126101e5575083905060016101f3565b846001016000039150600090505b6001546040805163de8fa43160e01b815290516000926001600160a01b03169163de8fa431916004808301926020929190829003018186803b15801561023857600080fd5b505afa15801561024c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102709190610bb8565b90508083106102b25760408051600080825260208201909252906102aa565b610297610ae1565b81526020019060019003908161028f5790505b5093506102e7565b828103808611156102c1578095505b82156102d8576102d1848761037b565b94506102e5565b6102e28487610732565b94505b505b50505092915050565b6001600160a01b0381166103165760405162461bcd60e51b815260040161011590610d09565b806001600160a01b0316610328610139565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3600060405161036b90610c57565b6040519081900390209190915550565b60606000600160009054906101000a90046001600160a01b03166001600160a01b0316631e2231436040518163ffffffff1660e01b815260040160206040518083038186803b1580156103cd57600080fd5b505afa1580156103e1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104059190610b43565b905060005b8481101561049c5760015460405163765e015960e01b81526001600160a01b039091169063765e015990610442908590600401610c74565b60206040518083038186803b15801561045a57600080fd5b505afa15801561046e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104929190610b43565b915060010161040a565b508267ffffffffffffffff811180156104b457600080fd5b506040519080825280602002602001820160405280156104ee57816020015b6104db610ae1565b8152602001906001900390816104d35790505b50915060005b8381101561072a578183828151811061050957fe5b60209081029190910101516001600160a01b039182169052600054604051630ddec86760e31b8152911690636ef6433890610548908590600401610c74565b60a06040518083038186803b15801561056057600080fd5b505afa158015610574573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105989190610bf3565b9050508584815181106105a757fe5b60200260200101516020018685815181106105be57fe5b60200260200101516040018786815181106105d557fe5b60209081029190910101516060019290925291905252600054604051630b39e3cd60e11b81526001600160a01b0390911690631673c79a9061061b908590600401610c74565b604080518083038186803b15801561063257600080fd5b505afa158015610646573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061066a9190610bd0565b84838151811061067657fe5b602002602001015160800185848151811061068d57fe5b602090810291909101015160a001919091525260015460405163765e015960e01b81526001600160a01b039091169063765e0159906106d0908590600401610c74565b60206040518083038186803b1580156106e857600080fd5b505afa1580156106fc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107209190610b43565b91506001016104f4565b505092915050565b60606000600160009054906101000a90046001600160a01b03166001600160a01b0316634d6228316040518163ffffffff1660e01b815260040160206040518083038186803b15801561078457600080fd5b505afa158015610798573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107bc9190610b43565b905060005b8481101561085357600154604051632dc9c0eb60e21b81526001600160a01b039091169063b72703ac906107f9908590600401610c74565b60206040518083038186803b15801561081157600080fd5b505afa158015610825573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108499190610b43565b91506001016107c1565b508267ffffffffffffffff8111801561086b57600080fd5b506040519080825280602002602001820160405280156108a557816020015b610892610ae1565b81526020019060019003908161088a5790505b50915060005b8381101561072a57818382815181106108c057fe5b60209081029190910101516001600160a01b039182169052600054604051630ddec86760e31b8152911690636ef64338906108ff908590600401610c74565b60a06040518083038186803b15801561091757600080fd5b505afa15801561092b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061094f9190610bf3565b90505085848151811061095e57fe5b602002602001015160200186858151811061097557fe5b602002602001015160400187868151811061098c57fe5b60209081029190910101516060019290925291905252600054604051630b39e3cd60e11b81526001600160a01b0390911690631673c79a906109d2908590600401610c74565b604080518083038186803b1580156109e957600080fd5b505afa1580156109fd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a219190610bd0565b848381518110610a2d57fe5b6020026020010151608001858481518110610a4457fe5b602090810291909101015160a0019190915252600154604051632dc9c0eb60e21b81526001600160a01b039091169063b72703ac90610a87908590600401610c74565b60206040518083038186803b158015610a9f57600080fd5b505afa158015610ab3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ad79190610b43565b91506001016108ab565b6040518060c0016040528060006001600160a01b0316815260200160008152602001600081526020016000815260200160008152602001600081525090565b600060208284031215610b31578081fd5b8135610b3c81610d7c565b9392505050565b600060208284031215610b54578081fd5b8151610b3c81610d7c565b60008060408385031215610b71578081fd5b8235610b7c81610d7c565b91506020830135610b8c81610d7c565b809150509250929050565b60008060408385031215610ba9578182fd5b50508035926020909101359150565b600060208284031215610bc9578081fd5b5051919050565b60008060408385031215610be2578182fd5b505080516020909101519092909150565b600080600080600060a08688031215610c0a578081fd5b855194506020860151935060408601519250606086015160058110610c2d578182fd5b60808701519092506001600160801b0381168114610c49578182fd5b809150509295509295909350565b7035b2bc9737bbb730b136329737bbb732b960791b815260110190565b6001600160a01b0391909116815260200190565b602080825282518282018190526000919060409081850190868401855b82811015610cfc57815180516001600160a01b0316855286810151878601528581015186860152606080820151908601526080808201519086015260a0908101519085015260c09093019290850190600101610ca5565b5091979650505050505050565b60208082526022908201527f4f776e61626c653a3a7365744f776e65723a20696e76616c6964206164647265604082015261737360f01b606082015260800190565b60208082526017908201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604082015260600190565b6001600160a01b038116811461012757600080fdfea2646970667358221220659f4dc0a25b28f8b8a559e447b60b3ff6f5f3d8084d3627ee2f90efdfe1a25864736f6c634300060b0033", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/packages/lib-ethers/live/MultiTroveGetterStorage.json b/packages/lib-ethers/live/MultiTroveGetterStorage.json deleted file mode 100644 index b19af0263..000000000 --- a/packages/lib-ethers/live/MultiTroveGetterStorage.json +++ /dev/null @@ -1,82 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "MultiTroveGetterStorage", - "sourceName": "contracts/MultiTroveGetterStorage.sol", - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "previousOwner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnershipTransferred", - "type": "event" - }, - { - "inputs": [], - "name": "getOwner", - "outputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - } - ], - "name": "setOwner", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "sortedTroves", - "outputs": [ - { - "internalType": "contract ISortedTroves", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "troveManager", - "outputs": [ - { - "internalType": "contract TroveManager", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": "0x608060405234801561001057600080fd5b50610023336001600160e01b0361002816565b610110565b6001600160a01b03811661006d5760405162461bcd60e51b81526004018080602001828103825260228152602001806103946022913960400191505060405180910390fd5b6001600160a01b0381166100886001600160e01b036100e616565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3604080517035b2bc9737bbb730b136329737bbb732b960791b8152905190819003601101902055565b604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205490565b6102758061011f6000396000f3fe608060405234801561001057600080fd5b506004361061004c5760003560e01c806313af4035146100515780633d83908a14610079578063893d20e81461009d578063ae918754146100a5575b600080fd5b6100776004803603602081101561006757600080fd5b50356001600160a01b03166100ad565b005b610081610120565b604080516001600160a01b039092168252519081900360200190f35b61008161012f565b610081610159565b6100b561012f565b6001600160a01b0316336001600160a01b031614610114576040805162461bcd60e51b815260206004820152601760248201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604482015290519081900360640190fd5b61011d81610168565b50565b6000546001600160a01b031681565b604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205490565b6001546001600160a01b031681565b6001600160a01b0381166101ad5760405162461bcd60e51b815260040180806020018281038252602281526020018061021e6022913960400191505060405180910390fd5b806001600160a01b03166101bf61012f565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205556fe4f776e61626c653a3a7365744f776e65723a20696e76616c69642061646472657373a2646970667358221220157adbe3ddac271693837b0122f5ab220db6b3025fbfd145087db45a59f4be4d64736f6c634300060b00334f776e61626c653a3a7365744f776e65723a20696e76616c69642061646472657373", - "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061004c5760003560e01c806313af4035146100515780633d83908a14610079578063893d20e81461009d578063ae918754146100a5575b600080fd5b6100776004803603602081101561006757600080fd5b50356001600160a01b03166100ad565b005b610081610120565b604080516001600160a01b039092168252519081900360200190f35b61008161012f565b610081610159565b6100b561012f565b6001600160a01b0316336001600160a01b031614610114576040805162461bcd60e51b815260206004820152601760248201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604482015290519081900360640190fd5b61011d81610168565b50565b6000546001600160a01b031681565b604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205490565b6001546001600160a01b031681565b6001600160a01b0381166101ad5760405162461bcd60e51b815260040180806020018281038252602281526020018061021e6022913960400191505060405180910390fd5b806001600160a01b03166101bf61012f565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205556fe4f776e61626c653a3a7365744f776e65723a20696e76616c69642061646472657373a2646970667358221220157adbe3ddac271693837b0122f5ab220db6b3025fbfd145087db45a59f4be4d64736f6c634300060b0033", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/packages/lib-ethers/live/MyntLib.json b/packages/lib-ethers/live/MyntLib.json deleted file mode 100644 index 90d53d2bb..000000000 --- a/packages/lib-ethers/live/MyntLib.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "MyntLib", - "sourceName": "contracts/Dependencies/Mynt/MyntLib.sol", - "abi": [], - "bytecode": "0x60566023600b82828239805160001a607314601657fe5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea264697066735822122080306348875b87a5d5ac8904b635a118e4584820b315ddc8df2bf1591d0555fd64736f6c634300060b0033", - "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea264697066735822122080306348875b87a5d5ac8904b635a118e4584820b315ddc8df2bf1591d0555fd64736f6c634300060b0033", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/packages/lib-ethers/live/NonPayable.json b/packages/lib-ethers/live/NonPayable.json deleted file mode 100644 index 93e693383..000000000 --- a/packages/lib-ethers/live/NonPayable.json +++ /dev/null @@ -1,46 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "NonPayable", - "sourceName": "contracts/TestContracts/NonPayable.sol", - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_dest", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_data", - "type": "bytes" - } - ], - "name": "forward", - "outputs": [], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bool", - "name": "_isPayable", - "type": "bool" - } - ], - "name": "setPayable", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "stateMutability": "payable", - "type": "receive" - } - ], - "bytecode": "0x608060405234801561001057600080fd5b5061023c806100206000396000f3fe60806040526004361061002d5760003560e01c80636fadcf7214610048578063f124a300146100c857610043565b366100435760005460ff1661004157600080fd5b005b600080fd5b6100416004803603604081101561005e57600080fd5b6001600160a01b03823516919081019060408101602082013564010000000081111561008957600080fd5b82018360208201111561009b57600080fd5b803590602001918460018302840111640100000000831117156100bd57600080fd5b5090925090506100f4565b3480156100d457600080fd5b50610041600480360360208110156100eb57600080fd5b503515156101f3565b60006060846001600160a01b0316348585604051808383808284376040519201945060009350909150508083038185875af1925050503d8060008114610156576040519150601f19603f3d011682016040523d82523d6000602084013e61015b565b606091505b50915091508181906101eb5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156101b0578181015183820152602001610198565b50505050905090810190601f1680156101dd5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050505050565b6000805460ff191691151591909117905556fea26469706673582212207fcdfa613abf37ee1d28ed912556686e915da4851ad1142cc60c3e5b9482b58764736f6c634300060b0033", - "deployedBytecode": "0x60806040526004361061002d5760003560e01c80636fadcf7214610048578063f124a300146100c857610043565b366100435760005460ff1661004157600080fd5b005b600080fd5b6100416004803603604081101561005e57600080fd5b6001600160a01b03823516919081019060408101602082013564010000000081111561008957600080fd5b82018360208201111561009b57600080fd5b803590602001918460018302840111640100000000831117156100bd57600080fd5b5090925090506100f4565b3480156100d457600080fd5b50610041600480360360208110156100eb57600080fd5b503515156101f3565b60006060846001600160a01b0316348585604051808383808284376040519201945060009350909150508083038185875af1925050503d8060008114610156576040519150601f19603f3d011682016040523d82523d6000602084013e61015b565b606091505b50915091508181906101eb5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156101b0578181015183820152602001610198565b50505050905090810190601f1680156101dd5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050505050565b6000805460ff191691151591909117905556fea26469706673582212207fcdfa613abf37ee1d28ed912556686e915da4851ad1142cc60c3e5b9482b58764736f6c634300060b0033", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/packages/lib-ethers/live/NueMockToken.json b/packages/lib-ethers/live/NueMockToken.json deleted file mode 100644 index b74b169ec..000000000 --- a/packages/lib-ethers/live/NueMockToken.json +++ /dev/null @@ -1,498 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "NueMockToken", - "sourceName": "contracts/TestContracts/MassetManagerTester.sol", - "abi": [ - { - "inputs": [], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "Approval", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "previousOwner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnershipTransferred", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "Transfer", - "type": "event" - }, - { - "inputs": [], - "name": "DOMAIN_SEPARATOR", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "address", - "name": "spender", - "type": "address" - } - ], - "name": "allowance", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "approve", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "balanceOf", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_account", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "name": "burn", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "decimals", - "outputs": [ - { - "internalType": "uint8", - "name": "", - "type": "uint8" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "subtractedValue", - "type": "uint256" - } - ], - "name": "decreaseAllowance", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "getChainId", - "outputs": [ - { - "internalType": "uint256", - "name": "chainID", - "type": "uint256" - } - ], - "stateMutability": "pure", - "type": "function" - }, - { - "inputs": [], - "name": "getOwner", - "outputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "addedValue", - "type": "uint256" - } - ], - "name": "increaseAllowance", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_account", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "name": "mint", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "name", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - } - ], - "name": "nonces", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "value", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "deadline", - "type": "uint256" - }, - { - "internalType": "uint8", - "name": "v", - "type": "uint8" - }, - { - "internalType": "bytes32", - "name": "r", - "type": "bytes32" - }, - { - "internalType": "bytes32", - "name": "s", - "type": "bytes32" - } - ], - "name": "permit", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - } - ], - "name": "setOwner", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "symbol", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "totalSupply", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "transfer", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "transferFrom", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_from", - "type": "address" - }, - { - "internalType": "address", - "name": "_to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_deadline", - "type": "uint256" - }, - { - "internalType": "uint8", - "name": "_v", - "type": "uint8" - }, - { - "internalType": "bytes32", - "name": "_r", - "type": "bytes32" - }, - { - "internalType": "bytes32", - "name": "_s", - "type": "bytes32" - } - ], - "name": "transferWithPermit", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": "0x610140604081905280605262001a02823960405190819003605201902061012052503480156200002e57600080fd5b50604051806040016040528060078152602001664e75657374726f60c81b81525080604051806040016040528060018152602001603160f81b815250604051806040016040528060078152602001664e75657374726f60c81b815250604051806040016040528060038152602001624e554560e81b8152508160039080519060200190620000be929190620002c7565b508051620000d4906004906020840190620002c7565b50506005805460ff1916601217905550815160208084019190912082519183019190912060405160009080605262001a54823960405190819003605201902060c085905260e084905291506200013490506001600160e01b036200017616565b60a0526200014d8184846001600160e01b036200017a16565b6080526101005250620001709350339250506001600160e01b03620001db169050565b6200036c565b4690565b6000838383620001926001600160e01b036200017616565b6040805160208082019690965280820194909452606084019290925260808301523060a0808401919091528151808403909101815260c090920190528051910120949350505050565b6001600160a01b038116620002225760405162461bcd60e51b8152600401808060200182810382526022815260200180620019e06022913960400191505060405180910390fd5b6001600160a01b0381166200023f6001600160e01b036200029d16565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3604080517035b2bc9737bbb730b136329737bbb732b960791b8152905190819003601101902055565b604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205490565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200030a57805160ff19168380011785556200033a565b828001600101855582156200033a579182015b828111156200033a5782518255916020019190600101906200031d565b50620003489291506200034c565b5090565b6200036991905b8082111562000348576000815560010162000353565b90565b60805160a05160c05160e051610100516101205161162a620003b6600039806109aa525080610f00525080610f42525080610f21525080610ea7525080610ed7525061162a6000f3fe608060405234801561001057600080fd5b506004361061012c5760003560e01c8063605629d6116100ad5780639dc29fac116100715780639dc29fac146103b5578063a457c2d7146103e1578063a9059cbb1461040d578063d505accf14610439578063dd62ed3e1461048a5761012c565b8063605629d6146102ec57806370a082311461033d5780637ecebe0014610363578063893d20e81461038957806395d89b41146103ad5761012c565b8063313ce567116100f4578063313ce567146102665780633408e470146102845780633644e5151461028c578063395093511461029457806340c10f19146102c05761012c565b806306fdde0314610131578063095ea7b3146101ae57806313af4035146101ee57806318160ddd1461021657806323b872dd14610230575b600080fd5b6101396104b8565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561017357818101518382015260200161015b565b50505050905090810190601f1680156101a05780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101da600480360360408110156101c457600080fd5b506001600160a01b03813516906020013561054f565b604080519115158252519081900360200190f35b6102146004803603602081101561020457600080fd5b50356001600160a01b031661056c565b005b61021e6105df565b60408051918252519081900360200190f35b6101da6004803603606081101561024657600080fd5b506001600160a01b038135811691602081013590911690604001356105e5565b61026e610672565b6040805160ff9092168252519081900360200190f35b61021e61067b565b61021e61067f565b6101da600480360360408110156102aa57600080fd5b506001600160a01b03813516906020013561068e565b610214600480360360408110156102d657600080fd5b506001600160a01b0381351690602001356106e2565b610214600480360360e081101561030257600080fd5b506001600160a01b03813581169160208101359091169060408101359060608101359060ff6080820135169060a08101359060c00135610757565b61021e6004803603602081101561035357600080fd5b50356001600160a01b031661077b565b61021e6004803603602081101561037957600080fd5b50356001600160a01b0316610796565b6103916107bd565b604080516001600160a01b039092168252519081900360200190f35b6101396107e7565b610214600480360360408110156103cb57600080fd5b506001600160a01b038135169060200135610848565b6101da600480360360408110156103f757600080fd5b506001600160a01b0381351690602001356108b9565b6101da6004803603604081101561042357600080fd5b506001600160a01b038135169060200135610927565b610214600480360360e081101561044f57600080fd5b506001600160a01b03813581169160208101359091169060408101359060608101359060ff6080820135169060a08101359060c0013561093b565b61021e600480360360408110156104a057600080fd5b506001600160a01b0381358116916020013516610ae7565b60038054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156105445780601f1061051957610100808354040283529160200191610544565b820191906000526020600020905b81548152906001019060200180831161052757829003601f168201915b505050505090505b90565b600061056361055c610b12565b8484610b16565b50600192915050565b6105746107bd565b6001600160a01b0316336001600160a01b0316146105d3576040805162461bcd60e51b815260206004820152601760248201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604482015290519081900360640190fd5b6105dc81610c02565b50565b60025490565b60006105f2848484610cb7565b610668846105fe610b12565b6106638560405180606001604052806028815260200161151e602891396001600160a01b038a1660009081526001602052604081209061063c610b12565b6001600160a01b03168152602081019190915260400160002054919063ffffffff610e0c16565b610b16565b5060019392505050565b60055460ff1690565b4690565b6000610689610ea3565b905090565b600061056361069b610b12565b8461066385600160006106ac610b12565b6001600160a01b03908116825260208083019390935260409182016000908120918c16815292529020549063ffffffff610f6d16565b6106ea6107bd565b6001600160a01b0316336001600160a01b031614610749576040805162461bcd60e51b815260206004820152601760248201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604482015290519081900360640190fd5b6107538282610fce565b5050565b6107668733878787878761093b565b6107718787876105e5565b5050505050505050565b6001600160a01b031660009081526020819052604090205490565b6001600160a01b03811660009081526006602052604081206107b7906110b8565b92915050565b604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205490565b60048054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156105445780601f1061051957610100808354040283529160200191610544565b6108506107bd565b6001600160a01b0316336001600160a01b0316146108af576040805162461bcd60e51b815260206004820152601760248201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604482015290519081900360640190fd5b61075382826110bc565b60006105636108c6610b12565b84610663856040518060600160405280602581526020016115d060259139600160006108f0610b12565b6001600160a01b03908116825260208083019390935260409182016000908120918d1681529252902054919063ffffffff610e0c16565b6000610563610934610b12565b8484610cb7565b83421115610990576040805162461bcd60e51b815260206004820152601d60248201527f45524332305065726d69743a206578706972656420646561646c696e65000000604482015290519081900360640190fd5b6001600160a01b03871660009081526006602052604081207f0000000000000000000000000000000000000000000000000000000000000000908990899089906109d9906110b8565b604080516020808201979097526001600160a01b0395861681830152939094166060840152608083019190915260a082015260c08082018990528251808303909101815260e0909101909152805191012090506000610a37826111b2565b90506000610a47828787876111fe565b9050896001600160a01b0316816001600160a01b031614610aaf576040805162461bcd60e51b815260206004820152601e60248201527f45524332305065726d69743a20696e76616c6964207369676e61747572650000604482015290519081900360640190fd5b6001600160a01b038a166000908152600660205260409020610ad090611369565b610adb8a8a8a610b16565b50505050505050505050565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b3390565b6001600160a01b038316610b5b5760405162461bcd60e51b81526004018080602001828103825260248152602001806115ac6024913960400191505060405180910390fd5b6001600160a01b038216610ba05760405162461bcd60e51b81526004018080602001828103825260228152602001806114706022913960400191505060405180910390fd5b6001600160a01b03808416600081815260016020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b038116610c475760405162461bcd60e51b81526004018080602001828103825260228152602001806114da6022913960400191505060405180910390fd5b806001600160a01b0316610c596107bd565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3604080517035b2bc9737bbb730b136329737bbb732b960791b8152905190819003601101902055565b6001600160a01b038316610cfc5760405162461bcd60e51b81526004018080602001828103825260258152602001806115876025913960400191505060405180910390fd5b6001600160a01b038216610d415760405162461bcd60e51b815260040180806020018281038252602381526020018061142b6023913960400191505060405180910390fd5b610d4c838383611372565b610d8f81604051806060016040528060268152602001611492602691396001600160a01b038616600090815260208190526040902054919063ffffffff610e0c16565b6001600160a01b038085166000908152602081905260408082209390935590841681522054610dc4908263ffffffff610f6d16565b6001600160a01b0380841660008181526020818152604091829020949094558051858152905191939287169260008051602061154683398151915292918290030190a3505050565b60008184841115610e9b5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610e60578181015183820152602001610e48565b50505050905090810190601f168015610e8d5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b60007f0000000000000000000000000000000000000000000000000000000000000000610ece61067b565b1415610efb57507f000000000000000000000000000000000000000000000000000000000000000061054c565b610f667f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611377565b905061054c565b600082820183811015610fc7576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b6001600160a01b038216611029576040805162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015290519081900360640190fd5b61103560008383611372565b600254611048908263ffffffff610f6d16565b6002556001600160a01b038216600090815260208190526040902054611074908263ffffffff610f6d16565b6001600160a01b0383166000818152602081815260408083209490945583518581529351929391926000805160206115468339815191529281900390910190a35050565b5490565b6001600160a01b0382166111015760405162461bcd60e51b81526004018080602001828103825260218152602001806115666021913960400191505060405180910390fd5b61110d82600083611372565b6111508160405180606001604052806022815260200161144e602291396001600160a01b038516600090815260208190526040902054919063ffffffff610e0c16565b6001600160a01b03831660009081526020819052604090205560025461117c908263ffffffff6113cd16565b6002556040805182815290516000916001600160a01b038516916000805160206115468339815191529181900360200190a35050565b60006111bc610ea3565b82604051602001808061190160f01b81525060020183815260200182815260200192505050604051602081830303815290604052805190602001209050919050565b60006fa2a8918ca85bafe22016d0b997e4df60600160ff1b038211156112555760405162461bcd60e51b81526004018080602001828103825260228152602001806114b86022913960400191505060405180910390fd5b8360ff16601b148061126a57508360ff16601c145b6112a55760405162461bcd60e51b81526004018080602001828103825260228152602001806114fc6022913960400191505060405180910390fd5b604080516000808252602080830180855289905260ff88168385015260608301879052608083018690529251909260019260a080820193601f1981019281900390910190855afa1580156112fd573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b038116611360576040805162461bcd60e51b815260206004820152601860248201527745434453413a20696e76616c6964207369676e617475726560401b604482015290519081900360640190fd5b95945050505050565b80546001019055565b505050565b600083838361138461067b565b6040805160208082019690965280820194909452606084019290925260808301523060a0808401919091528151808403909101815260c090920190528051910120949350505050565b600082821115611424576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b5090039056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a206275726e20616d6f756e7420657863656564732062616c616e636545524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545434453413a20696e76616c6964207369676e6174757265202773272076616c75654f776e61626c653a3a7365744f776e65723a20696e76616c6964206164647265737345434453413a20696e76616c6964207369676e6174757265202776272076616c756545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef45524332303a206275726e2066726f6d20746865207a65726f206164647265737345524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220fcaf81fe308cd99e0a6d8ddd4221c0cd68860c5571be488af3538234cf7ddc9464736f6c634300060b00334f776e61626c653a3a7365744f776e65723a20696e76616c696420616464726573735065726d69742861646472657373206f776e65722c61646472657373207370656e6465722c75696e743235362076616c75652c75696e74323536206e6f6e63652c75696e7432353620646561646c696e6529454950373132446f6d61696e28737472696e67206e616d652c737472696e672076657273696f6e2c75696e7432353620636861696e49642c6164647265737320766572696679696e67436f6e747261637429", - "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061012c5760003560e01c8063605629d6116100ad5780639dc29fac116100715780639dc29fac146103b5578063a457c2d7146103e1578063a9059cbb1461040d578063d505accf14610439578063dd62ed3e1461048a5761012c565b8063605629d6146102ec57806370a082311461033d5780637ecebe0014610363578063893d20e81461038957806395d89b41146103ad5761012c565b8063313ce567116100f4578063313ce567146102665780633408e470146102845780633644e5151461028c578063395093511461029457806340c10f19146102c05761012c565b806306fdde0314610131578063095ea7b3146101ae57806313af4035146101ee57806318160ddd1461021657806323b872dd14610230575b600080fd5b6101396104b8565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561017357818101518382015260200161015b565b50505050905090810190601f1680156101a05780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101da600480360360408110156101c457600080fd5b506001600160a01b03813516906020013561054f565b604080519115158252519081900360200190f35b6102146004803603602081101561020457600080fd5b50356001600160a01b031661056c565b005b61021e6105df565b60408051918252519081900360200190f35b6101da6004803603606081101561024657600080fd5b506001600160a01b038135811691602081013590911690604001356105e5565b61026e610672565b6040805160ff9092168252519081900360200190f35b61021e61067b565b61021e61067f565b6101da600480360360408110156102aa57600080fd5b506001600160a01b03813516906020013561068e565b610214600480360360408110156102d657600080fd5b506001600160a01b0381351690602001356106e2565b610214600480360360e081101561030257600080fd5b506001600160a01b03813581169160208101359091169060408101359060608101359060ff6080820135169060a08101359060c00135610757565b61021e6004803603602081101561035357600080fd5b50356001600160a01b031661077b565b61021e6004803603602081101561037957600080fd5b50356001600160a01b0316610796565b6103916107bd565b604080516001600160a01b039092168252519081900360200190f35b6101396107e7565b610214600480360360408110156103cb57600080fd5b506001600160a01b038135169060200135610848565b6101da600480360360408110156103f757600080fd5b506001600160a01b0381351690602001356108b9565b6101da6004803603604081101561042357600080fd5b506001600160a01b038135169060200135610927565b610214600480360360e081101561044f57600080fd5b506001600160a01b03813581169160208101359091169060408101359060608101359060ff6080820135169060a08101359060c0013561093b565b61021e600480360360408110156104a057600080fd5b506001600160a01b0381358116916020013516610ae7565b60038054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156105445780601f1061051957610100808354040283529160200191610544565b820191906000526020600020905b81548152906001019060200180831161052757829003601f168201915b505050505090505b90565b600061056361055c610b12565b8484610b16565b50600192915050565b6105746107bd565b6001600160a01b0316336001600160a01b0316146105d3576040805162461bcd60e51b815260206004820152601760248201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604482015290519081900360640190fd5b6105dc81610c02565b50565b60025490565b60006105f2848484610cb7565b610668846105fe610b12565b6106638560405180606001604052806028815260200161151e602891396001600160a01b038a1660009081526001602052604081209061063c610b12565b6001600160a01b03168152602081019190915260400160002054919063ffffffff610e0c16565b610b16565b5060019392505050565b60055460ff1690565b4690565b6000610689610ea3565b905090565b600061056361069b610b12565b8461066385600160006106ac610b12565b6001600160a01b03908116825260208083019390935260409182016000908120918c16815292529020549063ffffffff610f6d16565b6106ea6107bd565b6001600160a01b0316336001600160a01b031614610749576040805162461bcd60e51b815260206004820152601760248201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604482015290519081900360640190fd5b6107538282610fce565b5050565b6107668733878787878761093b565b6107718787876105e5565b5050505050505050565b6001600160a01b031660009081526020819052604090205490565b6001600160a01b03811660009081526006602052604081206107b7906110b8565b92915050565b604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205490565b60048054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156105445780601f1061051957610100808354040283529160200191610544565b6108506107bd565b6001600160a01b0316336001600160a01b0316146108af576040805162461bcd60e51b815260206004820152601760248201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604482015290519081900360640190fd5b61075382826110bc565b60006105636108c6610b12565b84610663856040518060600160405280602581526020016115d060259139600160006108f0610b12565b6001600160a01b03908116825260208083019390935260409182016000908120918d1681529252902054919063ffffffff610e0c16565b6000610563610934610b12565b8484610cb7565b83421115610990576040805162461bcd60e51b815260206004820152601d60248201527f45524332305065726d69743a206578706972656420646561646c696e65000000604482015290519081900360640190fd5b6001600160a01b03871660009081526006602052604081207f0000000000000000000000000000000000000000000000000000000000000000908990899089906109d9906110b8565b604080516020808201979097526001600160a01b0395861681830152939094166060840152608083019190915260a082015260c08082018990528251808303909101815260e0909101909152805191012090506000610a37826111b2565b90506000610a47828787876111fe565b9050896001600160a01b0316816001600160a01b031614610aaf576040805162461bcd60e51b815260206004820152601e60248201527f45524332305065726d69743a20696e76616c6964207369676e61747572650000604482015290519081900360640190fd5b6001600160a01b038a166000908152600660205260409020610ad090611369565b610adb8a8a8a610b16565b50505050505050505050565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b3390565b6001600160a01b038316610b5b5760405162461bcd60e51b81526004018080602001828103825260248152602001806115ac6024913960400191505060405180910390fd5b6001600160a01b038216610ba05760405162461bcd60e51b81526004018080602001828103825260228152602001806114706022913960400191505060405180910390fd5b6001600160a01b03808416600081815260016020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b038116610c475760405162461bcd60e51b81526004018080602001828103825260228152602001806114da6022913960400191505060405180910390fd5b806001600160a01b0316610c596107bd565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3604080517035b2bc9737bbb730b136329737bbb732b960791b8152905190819003601101902055565b6001600160a01b038316610cfc5760405162461bcd60e51b81526004018080602001828103825260258152602001806115876025913960400191505060405180910390fd5b6001600160a01b038216610d415760405162461bcd60e51b815260040180806020018281038252602381526020018061142b6023913960400191505060405180910390fd5b610d4c838383611372565b610d8f81604051806060016040528060268152602001611492602691396001600160a01b038616600090815260208190526040902054919063ffffffff610e0c16565b6001600160a01b038085166000908152602081905260408082209390935590841681522054610dc4908263ffffffff610f6d16565b6001600160a01b0380841660008181526020818152604091829020949094558051858152905191939287169260008051602061154683398151915292918290030190a3505050565b60008184841115610e9b5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610e60578181015183820152602001610e48565b50505050905090810190601f168015610e8d5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b60007f0000000000000000000000000000000000000000000000000000000000000000610ece61067b565b1415610efb57507f000000000000000000000000000000000000000000000000000000000000000061054c565b610f667f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611377565b905061054c565b600082820183811015610fc7576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b6001600160a01b038216611029576040805162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015290519081900360640190fd5b61103560008383611372565b600254611048908263ffffffff610f6d16565b6002556001600160a01b038216600090815260208190526040902054611074908263ffffffff610f6d16565b6001600160a01b0383166000818152602081815260408083209490945583518581529351929391926000805160206115468339815191529281900390910190a35050565b5490565b6001600160a01b0382166111015760405162461bcd60e51b81526004018080602001828103825260218152602001806115666021913960400191505060405180910390fd5b61110d82600083611372565b6111508160405180606001604052806022815260200161144e602291396001600160a01b038516600090815260208190526040902054919063ffffffff610e0c16565b6001600160a01b03831660009081526020819052604090205560025461117c908263ffffffff6113cd16565b6002556040805182815290516000916001600160a01b038516916000805160206115468339815191529181900360200190a35050565b60006111bc610ea3565b82604051602001808061190160f01b81525060020183815260200182815260200192505050604051602081830303815290604052805190602001209050919050565b60006fa2a8918ca85bafe22016d0b997e4df60600160ff1b038211156112555760405162461bcd60e51b81526004018080602001828103825260228152602001806114b86022913960400191505060405180910390fd5b8360ff16601b148061126a57508360ff16601c145b6112a55760405162461bcd60e51b81526004018080602001828103825260228152602001806114fc6022913960400191505060405180910390fd5b604080516000808252602080830180855289905260ff88168385015260608301879052608083018690529251909260019260a080820193601f1981019281900390910190855afa1580156112fd573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b038116611360576040805162461bcd60e51b815260206004820152601860248201527745434453413a20696e76616c6964207369676e617475726560401b604482015290519081900360640190fd5b95945050505050565b80546001019055565b505050565b600083838361138461067b565b6040805160208082019690965280820194909452606084019290925260808301523060a0808401919091528151808403909101815260c090920190528051910120949350505050565b600082821115611424576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b5090039056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a206275726e20616d6f756e7420657863656564732062616c616e636545524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545434453413a20696e76616c6964207369676e6174757265202773272076616c75654f776e61626c653a3a7365744f776e65723a20696e76616c6964206164647265737345434453413a20696e76616c6964207369676e6174757265202776272076616c756545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef45524332303a206275726e2066726f6d20746865207a65726f206164647265737345524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220fcaf81fe308cd99e0a6d8ddd4221c0cd68860c5571be488af3538234cf7ddc9464736f6c634300060b0033", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/packages/lib-ethers/live/Ownable.json b/packages/lib-ethers/live/Ownable.json deleted file mode 100644 index 89ace3e79..000000000 --- a/packages/lib-ethers/live/Ownable.json +++ /dev/null @@ -1,56 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "Ownable", - "sourceName": "contracts/Dependencies/Ownable.sol", - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "previousOwner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnershipTransferred", - "type": "event" - }, - { - "inputs": [], - "name": "getOwner", - "outputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - } - ], - "name": "setOwner", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": "0x", - "deployedBytecode": "0x", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/packages/lib-ethers/live/PriceFeed.json b/packages/lib-ethers/live/PriceFeed.json deleted file mode 100644 index fd09c158e..000000000 --- a/packages/lib-ethers/live/PriceFeed.json +++ /dev/null @@ -1,188 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "PriceFeed", - "sourceName": "contracts/PriceFeed.sol", - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "_lastGoodPrice", - "type": "uint256" - } - ], - "name": "LastGoodPriceUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "previousOwner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnershipTransferred", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint8", - "name": "index", - "type": "uint8" - }, - { - "indexed": false, - "internalType": "address", - "name": "priceFeedAddress", - "type": "address" - } - ], - "name": "PriceFeedBroken", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint8", - "name": "index", - "type": "uint8" - }, - { - "indexed": false, - "internalType": "address", - "name": "newPriceFeedAddress", - "type": "address" - } - ], - "name": "PriceFeedUpdated", - "type": "event" - }, - { - "inputs": [], - "name": "NAME", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "fetchPrice", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "getOwner", - "outputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "lastGoodPrice", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint8", - "name": "_index", - "type": "uint8" - }, - { - "internalType": "address", - "name": "_newPriceFeed", - "type": "address" - } - ], - "name": "setAddress", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_mainPriceFeed", - "type": "address" - }, - { - "internalType": "address", - "name": "_backupPriceFeed", - "type": "address" - } - ], - "name": "setAddresses", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - } - ], - "name": "setOwner", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": "0x608060405234801561001057600080fd5b50610023336001600160e01b0361002816565b610110565b6001600160a01b03811661006d5760405162461bcd60e51b81526004018080602001828103825260228152602001806109936022913960400191505060405180910390fd5b6001600160a01b0381166100886001600160e01b036100e616565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3604080517035b2bc9737bbb730b136329737bbb732b960791b8152905190819003601101902055565b604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205490565b6108748061011f6000396000f3fe608060405234801561001057600080fd5b506004361061006d5760003560e01c80630490be83146100725780630589c4e51461008c5780630fdb11cf146100bb57806313af4035146100c3578063893d20e8146100eb57806390107afe1461010f578063a3f4df7e1461013d575b600080fd5b61007a6101ba565b60408051918252519081900360200190f35b61007a600480360360408110156100a257600080fd5b50803560ff1690602001356001600160a01b03166101c0565b61007a6103b9565b6100e9600480360360208110156100d957600080fd5b50356001600160a01b03166104d9565b005b6100f361054c565b604080516001600160a01b039092168252519081900360200190f35b6100e96004803603604081101561012557600080fd5b506001600160a01b0381358116916020013516610576565b610145610606565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561017f578181015183820152602001610167565b50505050905090810190601f1680156101ac5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b60025481565b60006101ca61054c565b6001600160a01b0316336001600160a01b031614610229576040805162461bcd60e51b815260206004820152601760248201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604482015290519081900360640190fd5b60028360ff161061026b5760405162461bcd60e51b81526004018080602001828103825260298152602001806107cf6029913960400191505060405180910390fd5b6102748261062b565b8160008460ff166002811061028557fe5b0180546001600160a01b0319166001600160a01b03929092169190911790556000808060ff8616600281106102b657fe5b0154604080516350d25bcd60e01b815281516001600160a01b03909316926350d25bcd92600480840193919291829003018186803b1580156102f757600080fd5b505afa15801561030b573d6000803e3d6000fd5b505050506040513d604081101561032157600080fd5b50805160209091015190925090508061036b5760405162461bcd60e51b815260040180806020018281038252602581526020018061081a6025913960400191505060405180910390fd5b6040805160ff871681526001600160a01b038616602082015281517f97f7578becfa7a6013824d8ab1174e8c0522d468cd75e7a7e7fc4bde27338442929181900390910190a1509392505050565b6000805b60028160ff1610156104d05760008060008360ff16600281106103dc57fe5b0154604080516350d25bcd60e01b815281516001600160a01b03909316926350d25bcd92600480840193919291829003018186803b15801561041d57600080fd5b505afa158015610431573d6000803e3d6000fd5b505050506040513d604081101561044757600080fd5b5080516020909101519092509050801561046e57610464826106de565b5091506104d69050565b7f19f3630adb38b0aca2b2ad2b9db00888aef6e2b79bbf683a6c4992500998ea708360008560ff16600281106104a057fe5b01546040805160ff90931683526001600160a01b0390911660208301528051918290030190a150506001016103bd565b50506002545b90565b6104e161054c565b6001600160a01b0316336001600160a01b031614610540576040805162461bcd60e51b815260206004820152601760248201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604482015290519081900360640190fd5b61054981610719565b50565b604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205490565b61057e61054c565b6001600160a01b0316336001600160a01b0316146105dd576040805162461bcd60e51b815260206004820152601760248201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604482015290519081900360640190fd5b60006105ea6000846101c0565b90506105f76001836101c0565b50610601816106de565b505050565b60405180604001604052806009815260200168141c9a58d95199595960ba1b81525081565b6001600160a01b038116610686576040805162461bcd60e51b815260206004820152601e60248201527f4163636f756e742063616e6e6f74206265207a65726f20616464726573730000604482015290519081900360640190fd5b803b806106da576040805162461bcd60e51b815260206004820181905260248201527f4163636f756e7420636f64652073697a652063616e6e6f74206265207a65726f604482015290519081900360640190fd5b5050565b60028190556040805182815290517f4d29de21de555af78a62fc82dd4bc05e9ae5b0660a37f04729527e0f22780cd39181900360200190a150565b6001600160a01b03811661075e5760405162461bcd60e51b81526004018080602001828103825260228152602001806107f86022913960400191505060405180910390fd5b806001600160a01b031661077061054c565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205556fe4f7574206f6620626f756e6473207768656e2073657474696e672074686520707269636520666565644f776e61626c653a3a7365744f776e65723a20696e76616c696420616464726573735072696365466565643a2050726963652066656564206d75737420626520776f726b696e67a2646970667358221220d75a0e789852c7f8e3e44c3497dbdf447a2e3743166b9f9b0216e249934429d564736f6c634300060b00334f776e61626c653a3a7365744f776e65723a20696e76616c69642061646472657373", - "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061006d5760003560e01c80630490be83146100725780630589c4e51461008c5780630fdb11cf146100bb57806313af4035146100c3578063893d20e8146100eb57806390107afe1461010f578063a3f4df7e1461013d575b600080fd5b61007a6101ba565b60408051918252519081900360200190f35b61007a600480360360408110156100a257600080fd5b50803560ff1690602001356001600160a01b03166101c0565b61007a6103b9565b6100e9600480360360208110156100d957600080fd5b50356001600160a01b03166104d9565b005b6100f361054c565b604080516001600160a01b039092168252519081900360200190f35b6100e96004803603604081101561012557600080fd5b506001600160a01b0381358116916020013516610576565b610145610606565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561017f578181015183820152602001610167565b50505050905090810190601f1680156101ac5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b60025481565b60006101ca61054c565b6001600160a01b0316336001600160a01b031614610229576040805162461bcd60e51b815260206004820152601760248201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604482015290519081900360640190fd5b60028360ff161061026b5760405162461bcd60e51b81526004018080602001828103825260298152602001806107cf6029913960400191505060405180910390fd5b6102748261062b565b8160008460ff166002811061028557fe5b0180546001600160a01b0319166001600160a01b03929092169190911790556000808060ff8616600281106102b657fe5b0154604080516350d25bcd60e01b815281516001600160a01b03909316926350d25bcd92600480840193919291829003018186803b1580156102f757600080fd5b505afa15801561030b573d6000803e3d6000fd5b505050506040513d604081101561032157600080fd5b50805160209091015190925090508061036b5760405162461bcd60e51b815260040180806020018281038252602581526020018061081a6025913960400191505060405180910390fd5b6040805160ff871681526001600160a01b038616602082015281517f97f7578becfa7a6013824d8ab1174e8c0522d468cd75e7a7e7fc4bde27338442929181900390910190a1509392505050565b6000805b60028160ff1610156104d05760008060008360ff16600281106103dc57fe5b0154604080516350d25bcd60e01b815281516001600160a01b03909316926350d25bcd92600480840193919291829003018186803b15801561041d57600080fd5b505afa158015610431573d6000803e3d6000fd5b505050506040513d604081101561044757600080fd5b5080516020909101519092509050801561046e57610464826106de565b5091506104d69050565b7f19f3630adb38b0aca2b2ad2b9db00888aef6e2b79bbf683a6c4992500998ea708360008560ff16600281106104a057fe5b01546040805160ff90931683526001600160a01b0390911660208301528051918290030190a150506001016103bd565b50506002545b90565b6104e161054c565b6001600160a01b0316336001600160a01b031614610540576040805162461bcd60e51b815260206004820152601760248201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604482015290519081900360640190fd5b61054981610719565b50565b604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205490565b61057e61054c565b6001600160a01b0316336001600160a01b0316146105dd576040805162461bcd60e51b815260206004820152601760248201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604482015290519081900360640190fd5b60006105ea6000846101c0565b90506105f76001836101c0565b50610601816106de565b505050565b60405180604001604052806009815260200168141c9a58d95199595960ba1b81525081565b6001600160a01b038116610686576040805162461bcd60e51b815260206004820152601e60248201527f4163636f756e742063616e6e6f74206265207a65726f20616464726573730000604482015290519081900360640190fd5b803b806106da576040805162461bcd60e51b815260206004820181905260248201527f4163636f756e7420636f64652073697a652063616e6e6f74206265207a65726f604482015290519081900360640190fd5b5050565b60028190556040805182815290517f4d29de21de555af78a62fc82dd4bc05e9ae5b0660a37f04729527e0f22780cd39181900360200190a150565b6001600160a01b03811661075e5760405162461bcd60e51b81526004018080602001828103825260228152602001806107f86022913960400191505060405180910390fd5b806001600160a01b031661077061054c565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205556fe4f7574206f6620626f756e6473207768656e2073657474696e672074686520707269636520666565644f776e61626c653a3a7365744f776e65723a20696e76616c696420616464726573735072696365466565643a2050726963652066656564206d75737420626520776f726b696e67a2646970667358221220d75a0e789852c7f8e3e44c3497dbdf447a2e3743166b9f9b0216e249934429d564736f6c634300060b0033", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/packages/lib-ethers/live/PriceFeedStorage.json b/packages/lib-ethers/live/PriceFeedStorage.json deleted file mode 100644 index 8816e7fee..000000000 --- a/packages/lib-ethers/live/PriceFeedStorage.json +++ /dev/null @@ -1,82 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "PriceFeedStorage", - "sourceName": "contracts/PriceFeedStorage.sol", - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "previousOwner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnershipTransferred", - "type": "event" - }, - { - "inputs": [], - "name": "NAME", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getOwner", - "outputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "lastGoodPrice", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - } - ], - "name": "setOwner", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": "0x608060405234801561001057600080fd5b50610023336001600160e01b0361002816565b610110565b6001600160a01b03811661006d5760405162461bcd60e51b81526004018080602001828103825260228152602001806104286022913960400191505060405180910390fd5b6001600160a01b0381166100886001600160e01b036100e616565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3604080517035b2bc9737bbb730b136329737bbb732b960791b8152905190819003601101902055565b604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205490565b6103098061011f6000396000f3fe608060405234801561001057600080fd5b506004361061004c5760003560e01c80630490be831461005157806313af40351461006b578063893d20e814610093578063a3f4df7e146100b7575b600080fd5b610059610134565b60408051918252519081900360200190f35b6100916004803603602081101561008157600080fd5b50356001600160a01b031661013a565b005b61009b6101ad565b604080516001600160a01b039092168252519081900360200190f35b6100bf6101d7565b6040805160208082528351818301528351919283929083019185019080838360005b838110156100f95781810151838201526020016100e1565b50505050905090810190601f1680156101265780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b60025481565b6101426101ad565b6001600160a01b0316336001600160a01b0316146101a1576040805162461bcd60e51b815260206004820152601760248201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604482015290519081900360640190fd5b6101aa816101fc565b50565b604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205490565b60405180604001604052806009815260200168141c9a58d95199595960ba1b81525081565b6001600160a01b0381166102415760405162461bcd60e51b81526004018080602001828103825260228152602001806102b26022913960400191505060405180910390fd5b806001600160a01b03166102536101ad565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205556fe4f776e61626c653a3a7365744f776e65723a20696e76616c69642061646472657373a2646970667358221220850a3957ce660509c32c79d3e8dfef2cedb98b17eadf9a1af3e1d6252e9eb16964736f6c634300060b00334f776e61626c653a3a7365744f776e65723a20696e76616c69642061646472657373", - "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061004c5760003560e01c80630490be831461005157806313af40351461006b578063893d20e814610093578063a3f4df7e146100b7575b600080fd5b610059610134565b60408051918252519081900360200190f35b6100916004803603602081101561008157600080fd5b50356001600160a01b031661013a565b005b61009b6101ad565b604080516001600160a01b039092168252519081900360200190f35b6100bf6101d7565b6040805160208082528351818301528351919283929083019185019080838360005b838110156100f95781810151838201526020016100e1565b50505050905090810190601f1680156101265780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b60025481565b6101426101ad565b6001600160a01b0316336001600160a01b0316146101a1576040805162461bcd60e51b815260206004820152601760248201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604482015290519081900360640190fd5b6101aa816101fc565b50565b604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205490565b60405180604001604052806009815260200168141c9a58d95199595960ba1b81525081565b6001600160a01b0381166102415760405162461bcd60e51b81526004018080602001828103825260228152602001806102b26022913960400191505060405180910390fd5b806001600160a01b03166102536101ad565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205556fe4f776e61626c653a3a7365744f776e65723a20696e76616c69642061646472657373a2646970667358221220850a3957ce660509c32c79d3e8dfef2cedb98b17eadf9a1af3e1d6252e9eb16964736f6c634300060b0033", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/packages/lib-ethers/live/PriceFeedTester.json b/packages/lib-ethers/live/PriceFeedTester.json deleted file mode 100644 index c3401ebf1..000000000 --- a/packages/lib-ethers/live/PriceFeedTester.json +++ /dev/null @@ -1,201 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "PriceFeedTester", - "sourceName": "contracts/TestContracts/PriceFeedTester.sol", - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "_lastGoodPrice", - "type": "uint256" - } - ], - "name": "LastGoodPriceUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "previousOwner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnershipTransferred", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint8", - "name": "index", - "type": "uint8" - }, - { - "indexed": false, - "internalType": "address", - "name": "priceFeedAddress", - "type": "address" - } - ], - "name": "PriceFeedBroken", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint8", - "name": "index", - "type": "uint8" - }, - { - "indexed": false, - "internalType": "address", - "name": "newPriceFeedAddress", - "type": "address" - } - ], - "name": "PriceFeedUpdated", - "type": "event" - }, - { - "inputs": [], - "name": "NAME", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "fetchPrice", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "getOwner", - "outputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "lastGoodPrice", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint8", - "name": "_index", - "type": "uint8" - }, - { - "internalType": "address", - "name": "_newPriceFeed", - "type": "address" - } - ], - "name": "setAddress", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_mainPriceFeed", - "type": "address" - }, - { - "internalType": "address", - "name": "_backupPriceFeed", - "type": "address" - } - ], - "name": "setAddresses", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_lastGoodPrice", - "type": "uint256" - } - ], - "name": "setLastGoodPrice", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - } - ], - "name": "setOwner", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": "0x608060405234801561001057600080fd5b50610023336001600160e01b0361002816565b610110565b6001600160a01b03811661006d5760405162461bcd60e51b81526004018080602001828103825260228152602001806109c06022913960400191505060405180910390fd5b6001600160a01b0381166100886001600160e01b036100e616565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3604080517035b2bc9737bbb730b136329737bbb732b960791b8152905190819003601101902055565b604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205490565b6108a18061011f6000396000f3fe608060405234801561001057600080fd5b50600436106100785760003560e01c80630490be831461007d5780630589c4e5146100975780630fdb11cf146100c657806313af4035146100ce578063893d20e8146100f657806390107afe1461011a578063a3f4df7e14610148578063c521b3f5146101c5575b600080fd5b6100856101e2565b60408051918252519081900360200190f35b610085600480360360408110156100ad57600080fd5b50803560ff1690602001356001600160a01b03166101e8565b6100856103e1565b6100f4600480360360208110156100e457600080fd5b50356001600160a01b0316610501565b005b6100fe610574565b604080516001600160a01b039092168252519081900360200190f35b6100f46004803603604081101561013057600080fd5b506001600160a01b038135811691602001351661059e565b61015061062e565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561018a578181015183820152602001610172565b50505050905090810190601f1680156101b75780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6100f4600480360360208110156101db57600080fd5b5035610653565b60025481565b60006101f2610574565b6001600160a01b0316336001600160a01b031614610251576040805162461bcd60e51b815260206004820152601760248201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604482015290519081900360640190fd5b60028360ff16106102935760405162461bcd60e51b81526004018080602001828103825260298152602001806107fc6029913960400191505060405180910390fd5b61029c82610658565b8160008460ff16600281106102ad57fe5b0180546001600160a01b0319166001600160a01b03929092169190911790556000808060ff8616600281106102de57fe5b0154604080516350d25bcd60e01b815281516001600160a01b03909316926350d25bcd92600480840193919291829003018186803b15801561031f57600080fd5b505afa158015610333573d6000803e3d6000fd5b505050506040513d604081101561034957600080fd5b5080516020909101519092509050806103935760405162461bcd60e51b81526004018080602001828103825260258152602001806108476025913960400191505060405180910390fd5b6040805160ff871681526001600160a01b038616602082015281517f97f7578becfa7a6013824d8ab1174e8c0522d468cd75e7a7e7fc4bde27338442929181900390910190a1509392505050565b6000805b60028160ff1610156104f85760008060008360ff166002811061040457fe5b0154604080516350d25bcd60e01b815281516001600160a01b03909316926350d25bcd92600480840193919291829003018186803b15801561044557600080fd5b505afa158015610459573d6000803e3d6000fd5b505050506040513d604081101561046f57600080fd5b508051602090910151909250905080156104965761048c8261070b565b5091506104fe9050565b7f19f3630adb38b0aca2b2ad2b9db00888aef6e2b79bbf683a6c4992500998ea708360008560ff16600281106104c857fe5b01546040805160ff90931683526001600160a01b0390911660208301528051918290030190a150506001016103e5565b50506002545b90565b610509610574565b6001600160a01b0316336001600160a01b031614610568576040805162461bcd60e51b815260206004820152601760248201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604482015290519081900360640190fd5b61057181610746565b50565b604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205490565b6105a6610574565b6001600160a01b0316336001600160a01b031614610605576040805162461bcd60e51b815260206004820152601760248201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604482015290519081900360640190fd5b60006106126000846101e8565b905061061f6001836101e8565b506106298161070b565b505050565b60405180604001604052806009815260200168141c9a58d95199595960ba1b81525081565b600255565b6001600160a01b0381166106b3576040805162461bcd60e51b815260206004820152601e60248201527f4163636f756e742063616e6e6f74206265207a65726f20616464726573730000604482015290519081900360640190fd5b803b80610707576040805162461bcd60e51b815260206004820181905260248201527f4163636f756e7420636f64652073697a652063616e6e6f74206265207a65726f604482015290519081900360640190fd5b5050565b60028190556040805182815290517f4d29de21de555af78a62fc82dd4bc05e9ae5b0660a37f04729527e0f22780cd39181900360200190a150565b6001600160a01b03811661078b5760405162461bcd60e51b81526004018080602001828103825260228152602001806108256022913960400191505060405180910390fd5b806001600160a01b031661079d610574565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205556fe4f7574206f6620626f756e6473207768656e2073657474696e672074686520707269636520666565644f776e61626c653a3a7365744f776e65723a20696e76616c696420616464726573735072696365466565643a2050726963652066656564206d75737420626520776f726b696e67a2646970667358221220ef036ea581505bc85a10052254a8e4ab79708bfd52f07bb45cc61d45601b9da764736f6c634300060b00334f776e61626c653a3a7365744f776e65723a20696e76616c69642061646472657373", - "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100785760003560e01c80630490be831461007d5780630589c4e5146100975780630fdb11cf146100c657806313af4035146100ce578063893d20e8146100f657806390107afe1461011a578063a3f4df7e14610148578063c521b3f5146101c5575b600080fd5b6100856101e2565b60408051918252519081900360200190f35b610085600480360360408110156100ad57600080fd5b50803560ff1690602001356001600160a01b03166101e8565b6100856103e1565b6100f4600480360360208110156100e457600080fd5b50356001600160a01b0316610501565b005b6100fe610574565b604080516001600160a01b039092168252519081900360200190f35b6100f46004803603604081101561013057600080fd5b506001600160a01b038135811691602001351661059e565b61015061062e565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561018a578181015183820152602001610172565b50505050905090810190601f1680156101b75780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6100f4600480360360208110156101db57600080fd5b5035610653565b60025481565b60006101f2610574565b6001600160a01b0316336001600160a01b031614610251576040805162461bcd60e51b815260206004820152601760248201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604482015290519081900360640190fd5b60028360ff16106102935760405162461bcd60e51b81526004018080602001828103825260298152602001806107fc6029913960400191505060405180910390fd5b61029c82610658565b8160008460ff16600281106102ad57fe5b0180546001600160a01b0319166001600160a01b03929092169190911790556000808060ff8616600281106102de57fe5b0154604080516350d25bcd60e01b815281516001600160a01b03909316926350d25bcd92600480840193919291829003018186803b15801561031f57600080fd5b505afa158015610333573d6000803e3d6000fd5b505050506040513d604081101561034957600080fd5b5080516020909101519092509050806103935760405162461bcd60e51b81526004018080602001828103825260258152602001806108476025913960400191505060405180910390fd5b6040805160ff871681526001600160a01b038616602082015281517f97f7578becfa7a6013824d8ab1174e8c0522d468cd75e7a7e7fc4bde27338442929181900390910190a1509392505050565b6000805b60028160ff1610156104f85760008060008360ff166002811061040457fe5b0154604080516350d25bcd60e01b815281516001600160a01b03909316926350d25bcd92600480840193919291829003018186803b15801561044557600080fd5b505afa158015610459573d6000803e3d6000fd5b505050506040513d604081101561046f57600080fd5b508051602090910151909250905080156104965761048c8261070b565b5091506104fe9050565b7f19f3630adb38b0aca2b2ad2b9db00888aef6e2b79bbf683a6c4992500998ea708360008560ff16600281106104c857fe5b01546040805160ff90931683526001600160a01b0390911660208301528051918290030190a150506001016103e5565b50506002545b90565b610509610574565b6001600160a01b0316336001600160a01b031614610568576040805162461bcd60e51b815260206004820152601760248201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604482015290519081900360640190fd5b61057181610746565b50565b604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205490565b6105a6610574565b6001600160a01b0316336001600160a01b031614610605576040805162461bcd60e51b815260206004820152601760248201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604482015290519081900360640190fd5b60006106126000846101e8565b905061061f6001836101e8565b506106298161070b565b505050565b60405180604001604052806009815260200168141c9a58d95199595960ba1b81525081565b600255565b6001600160a01b0381166106b3576040805162461bcd60e51b815260206004820152601e60248201527f4163636f756e742063616e6e6f74206265207a65726f20616464726573730000604482015290519081900360640190fd5b803b80610707576040805162461bcd60e51b815260206004820181905260248201527f4163636f756e7420636f64652073697a652063616e6e6f74206265207a65726f604482015290519081900360640190fd5b5050565b60028190556040805182815290517f4d29de21de555af78a62fc82dd4bc05e9ae5b0660a37f04729527e0f22780cd39181900360200190a150565b6001600160a01b03811661078b5760405162461bcd60e51b81526004018080602001828103825260228152602001806108256022913960400191505060405180910390fd5b806001600160a01b031661079d610574565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205556fe4f7574206f6620626f756e6473207768656e2073657474696e672074686520707269636520666565644f776e61626c653a3a7365744f776e65723a20696e76616c696420616464726573735072696365466565643a2050726963652066656564206d75737420626520776f726b696e67a2646970667358221220ef036ea581505bc85a10052254a8e4ab79708bfd52f07bb45cc61d45601b9da764736f6c634300060b0033", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/packages/lib-ethers/live/PriceFeedTestnet.json b/packages/lib-ethers/live/PriceFeedTestnet.json deleted file mode 100644 index 76401d674..000000000 --- a/packages/lib-ethers/live/PriceFeedTestnet.json +++ /dev/null @@ -1,69 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "PriceFeedTestnet", - "sourceName": "contracts/TestContracts/PriceFeedTestnet.sol", - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "_lastGoodPrice", - "type": "uint256" - } - ], - "name": "LastGoodPriceUpdated", - "type": "event" - }, - { - "inputs": [], - "name": "fetchPrice", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "getPrice", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "price", - "type": "uint256" - } - ], - "name": "setPrice", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": "0x6080604052680ad78ebc5ac620000060005534801561001d57600080fd5b5061010e8061002d6000396000f3fe6080604052348015600f57600080fd5b5060043610603c5760003560e01c80630fdb11cf14604157806391b7f5ed14605957806398d5fdca146087575b600080fd5b6047608d565b60408051918252519081900360200190f35b607360048036036020811015606d57600080fd5b503560ca565b604080519115158252519081900360200190f35b604760d2565b6000805460408051918252517f4d29de21de555af78a62fc82dd4bc05e9ae5b0660a37f04729527e0f22780cd39181900360200190a15060005490565b600055600190565b6000549056fea2646970667358221220164ba700becaab6addb0063cb07fd2e3060ebb0990f72b63246d2dc261ecdc9364736f6c634300060b0033", - "deployedBytecode": "0x6080604052348015600f57600080fd5b5060043610603c5760003560e01c80630fdb11cf14604157806391b7f5ed14605957806398d5fdca146087575b600080fd5b6047608d565b60408051918252519081900360200190f35b607360048036036020811015606d57600080fd5b503560ca565b604080519115158252519081900360200190f35b604760d2565b6000805460408051918252517f4d29de21de555af78a62fc82dd4bc05e9ae5b0660a37f04729527e0f22780cd39181900360200190a15060005490565b600055600190565b6000549056fea2646970667358221220164ba700becaab6addb0063cb07fd2e3060ebb0990f72b63246d2dc261ecdc9364736f6c634300060b0033", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/packages/lib-ethers/live/ProxiableContract.json b/packages/lib-ethers/live/ProxiableContract.json deleted file mode 100644 index 07a04391f..000000000 --- a/packages/lib-ethers/live/ProxiableContract.json +++ /dev/null @@ -1,37 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "ProxiableContract", - "sourceName": "contracts/TestContracts/UpgradableProxyTester.sol", - "abi": [ - { - "inputs": [], - "name": "getSomeVar", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "setSomeVar", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": "0x608060405234801561001057600080fd5b5060ac8061001f6000396000f3fe6080604052348015600f57600080fd5b506004361060325760003560e01c806304f03b6a146037578063fdc658e014604f575b600080fd5b603d606b565b60408051918252519081900360200190f35b606960048036036020811015606357600080fd5b50356071565b005b60005490565b60005556fea264697066735822122007b53bc4aa5a32c49415ca7b56f8d434653ad5ae3c41b8b1959dbc19811d708f64736f6c634300060b0033", - "deployedBytecode": "0x6080604052348015600f57600080fd5b506004361060325760003560e01c806304f03b6a146037578063fdc658e014604f575b600080fd5b603d606b565b60408051918252519081900360200190f35b606960048036036020811015606357600080fd5b50356071565b005b60005490565b60005556fea264697066735822122007b53bc4aa5a32c49415ca7b56f8d434653ad5ae3c41b8b1959dbc19811d708f64736f6c634300060b0033", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/packages/lib-ethers/live/ProxiableContract2.json b/packages/lib-ethers/live/ProxiableContract2.json deleted file mode 100644 index 296eb5b61..000000000 --- a/packages/lib-ethers/live/ProxiableContract2.json +++ /dev/null @@ -1,76 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "ProxiableContract2", - "sourceName": "contracts/TestContracts/UpgradableProxyTester.sol", - "abi": [ - { - "inputs": [], - "name": "getAnotherVar", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getSomeVar", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "mulVars", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "setAnotherVar", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "setSomeVar", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": "0x608060405234801561001057600080fd5b50610105806100206000396000f3fe6080604052348015600f57600080fd5b506004361060505760003560e01c806304f03b6a1460555780634be8254314606d578063ab2bf6b5146073578063afd2f403146079578063fdc658e0146095575b600080fd5b605b60af565b60408051918252519081900360200190f35b605b60b5565b605b60bb565b609360048036036020811015608d57600080fd5b503560c5565b005b60936004803603602081101560a957600080fd5b503560ca565b60005490565b60015490565b6001546000540290565b600155565b60005556fea2646970667358221220e5318cb8e056afe87324cbd0339e66389558cb712d1a8bef68d66df343c80aa764736f6c634300060b0033", - "deployedBytecode": "0x6080604052348015600f57600080fd5b506004361060505760003560e01c806304f03b6a1460555780634be8254314606d578063ab2bf6b5146073578063afd2f403146079578063fdc658e0146095575b600080fd5b605b60af565b60408051918252519081900360200190f35b605b60b5565b605b60bb565b609360048036036020811015608d57600080fd5b503560c5565b005b60936004803603602081101560a957600080fd5b503560ca565b60005490565b60015490565b6001546000540290565b600155565b60005556fea2646970667358221220e5318cb8e056afe87324cbd0339e66389558cb712d1a8bef68d66df343c80aa764736f6c634300060b0033", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/packages/lib-ethers/live/Proxy.json b/packages/lib-ethers/live/Proxy.json deleted file mode 100644 index 686b37fd9..000000000 --- a/packages/lib-ethers/live/Proxy.json +++ /dev/null @@ -1,96 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "Proxy", - "sourceName": "contracts/Proxy/Proxy.sol", - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "_oldImplementation", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "_newImplementation", - "type": "address" - } - ], - "name": "ImplementationChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "previousOwner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnershipTransferred", - "type": "event" - }, - { - "stateMutability": "payable", - "type": "fallback" - }, - { - "inputs": [], - "name": "getImplementation", - "outputs": [ - { - "internalType": "address", - "name": "_implementation", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getOwner", - "outputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - } - ], - "name": "setOwner", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "stateMutability": "payable", - "type": "receive" - } - ], - "bytecode": "0x608060405234801561001057600080fd5b50610023336001600160e01b0361002816565b610110565b6001600160a01b03811661006d5760405162461bcd60e51b81526004018080602001828103825260228152602001806104556022913960400191505060405180910390fd5b6001600160a01b0381166100886001600160e01b036100e616565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3604080517035b2bc9737bbb730b136329737bbb732b960791b8152905190819003601101902055565b604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205490565b6103368061011f6000396000f3fe6080604052600436106100385760003560e01c806313af40351461004f578063893d20e814610082578063aaf10f42146100b357610047565b36610047576100456100c8565b005b6100456100c8565b34801561005b57600080fd5b506100456004803603602081101561007257600080fd5b50356001600160a01b031661013e565b34801561008e57600080fd5b506100976101b1565b604080516001600160a01b039092168252519081900360200190f35b3480156100bf57600080fd5b506100976101db565b60006100d26101db565b90506001600160a01b0381166101195760405162461bcd60e51b81526004018080602001828103825260238152602001806102de6023913960400191505060405180910390fd5b60405136600082376000803683855af43d806000843e81801561013a578184f35b8184fd5b6101466101b1565b6001600160a01b0316336001600160a01b0316146101a5576040805162461bcd60e51b815260206004820152601760248201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604482015290519081900360640190fd5b6101ae81610206565b50565b604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205490565b604080517135b2bc9734b6b83632b6b2b73a30ba34b7b760711b815290519081900360120190205490565b6001600160a01b03811661024b5760405162461bcd60e51b81526004018080602001828103825260228152602001806102bc6022913960400191505060405180910390fd5b806001600160a01b031661025d6101b1565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205556fe4f776e61626c653a3a7365744f776e65723a20696e76616c6964206164647265737350726f78793a3a28293a20696d706c656d656e746174696f6e206e6f7420666f756e64a2646970667358221220847498cad4cff368610e264fcc4280cc45d1a9930fe2330a276d5af4aa5484ce64736f6c634300060b00334f776e61626c653a3a7365744f776e65723a20696e76616c69642061646472657373", - "deployedBytecode": "0x6080604052600436106100385760003560e01c806313af40351461004f578063893d20e814610082578063aaf10f42146100b357610047565b36610047576100456100c8565b005b6100456100c8565b34801561005b57600080fd5b506100456004803603602081101561007257600080fd5b50356001600160a01b031661013e565b34801561008e57600080fd5b506100976101b1565b604080516001600160a01b039092168252519081900360200190f35b3480156100bf57600080fd5b506100976101db565b60006100d26101db565b90506001600160a01b0381166101195760405162461bcd60e51b81526004018080602001828103825260238152602001806102de6023913960400191505060405180910390fd5b60405136600082376000803683855af43d806000843e81801561013a578184f35b8184fd5b6101466101b1565b6001600160a01b0316336001600160a01b0316146101a5576040805162461bcd60e51b815260206004820152601760248201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604482015290519081900360640190fd5b6101ae81610206565b50565b604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205490565b604080517135b2bc9734b6b83632b6b2b73a30ba34b7b760711b815290519081900360120190205490565b6001600160a01b03811661024b5760405162461bcd60e51b81526004018080602001828103825260228152602001806102bc6022913960400191505060405180910390fd5b806001600160a01b031661025d6101b1565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205556fe4f776e61626c653a3a7365744f776e65723a20696e76616c6964206164647265737350726f78793a3a28293a20696d706c656d656e746174696f6e206e6f7420666f756e64a2646970667358221220847498cad4cff368610e264fcc4280cc45d1a9930fe2330a276d5af4aa5484ce64736f6c634300060b0033", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/packages/lib-ethers/live/RskOracle.json b/packages/lib-ethers/live/RskOracle.json deleted file mode 100644 index 88a521330..000000000 --- a/packages/lib-ethers/live/RskOracle.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "RskOracle", - "sourceName": "contracts/Dependencies/PriceFeed/RskOracle.sol", - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_address", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [], - "name": "latestAnswer", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": "0x608060405234801561001057600080fd5b5060405161015e38038061015e8339818101604052602081101561003357600080fd5b5051600080546001600160a01b039092166001600160a01b031990921691909117905560fa806100646000396000f3fe6080604052348015600f57600080fd5b506004361060285760003560e01c806350d25bcd14602d575b600080fd5b6033604c565b6040805192835290151560208301528051918290030190f35b60008054604080516307169c6760e31b81528151849384936001600160a01b03909116926338b4e3389260048083019392829003018186803b158015609057600080fd5b505afa15801560a3573d6000803e3d6000fd5b505050506040513d604081101560b857600080fd5b5051936001935091505056fea2646970667358221220d437286b4d2232b863f78047e05b4b9db19e3c4988087ec1ac17a59bebd77b0b64736f6c634300060b0033", - "deployedBytecode": "0x6080604052348015600f57600080fd5b506004361060285760003560e01c806350d25bcd14602d575b600080fd5b6033604c565b6040805192835290151560208301528051918290030190f35b60008054604080516307169c6760e31b81528151849384936001600160a01b03909116926338b4e3389260048083019392829003018186803b158015609057600080fd5b505afa15801560a3573d6000803e3d6000fd5b505050506040513d604081101560b857600080fd5b5051936001935091505056fea2646970667358221220d437286b4d2232b863f78047e05b4b9db19e3c4988087ec1ac17a59bebd77b0b64736f6c634300060b0033", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/packages/lib-ethers/live/SafeMath.json b/packages/lib-ethers/live/SafeMath.json deleted file mode 100644 index 16a607f58..000000000 --- a/packages/lib-ethers/live/SafeMath.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "SafeMath", - "sourceName": "contracts/Dependencies/SafeMath.sol", - "abi": [], - "bytecode": "0x60566023600b82828239805160001a607314601657fe5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212203b472eae0a04f40447bb68c78ce43b1739eb6bc3af5e6b372427652dc99744ee64736f6c634300060b0033", - "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212203b472eae0a04f40447bb68c78ce43b1739eb6bc3af5e6b372427652dc99744ee64736f6c634300060b0033", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/packages/lib-ethers/live/SortedTroves.json b/packages/lib-ethers/live/SortedTroves.json deleted file mode 100644 index 5efc66dc9..000000000 --- a/packages/lib-ethers/live/SortedTroves.json +++ /dev/null @@ -1,484 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "SortedTroves", - "sourceName": "contracts/SortedTroves.sol", - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_borrowerOperationsAddress", - "type": "address" - } - ], - "name": "BorrowerOperationsAddressChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_id", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_NICR", - "type": "uint256" - } - ], - "name": "NodeAdded", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_id", - "type": "address" - } - ], - "name": "NodeRemoved", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "previousOwner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnershipTransferred", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_sortedDoublyLLAddress", - "type": "address" - } - ], - "name": "SortedTrovesAddressChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_troveManagerAddress", - "type": "address" - } - ], - "name": "TroveManagerAddressChanged", - "type": "event" - }, - { - "inputs": [], - "name": "NAME", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "borrowerOperationsAddress", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_id", - "type": "address" - } - ], - "name": "contains", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "data", - "outputs": [ - { - "internalType": "address", - "name": "head", - "type": "address" - }, - { - "internalType": "address", - "name": "tail", - "type": "address" - }, - { - "internalType": "uint256", - "name": "maxSize", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "size", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_NICR", - "type": "uint256" - }, - { - "internalType": "address", - "name": "_prevId", - "type": "address" - }, - { - "internalType": "address", - "name": "_nextId", - "type": "address" - } - ], - "name": "findInsertPosition", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getFirst", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getLast", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getMaxSize", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_id", - "type": "address" - } - ], - "name": "getNext", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getOwner", - "outputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_id", - "type": "address" - } - ], - "name": "getPrev", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getSize", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_id", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_NICR", - "type": "uint256" - }, - { - "internalType": "address", - "name": "_prevId", - "type": "address" - }, - { - "internalType": "address", - "name": "_nextId", - "type": "address" - } - ], - "name": "insert", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "isEmpty", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "isFull", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_id", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_newNICR", - "type": "uint256" - }, - { - "internalType": "address", - "name": "_prevId", - "type": "address" - }, - { - "internalType": "address", - "name": "_nextId", - "type": "address" - } - ], - "name": "reInsert", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_id", - "type": "address" - } - ], - "name": "remove", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - } - ], - "name": "setOwner", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_size", - "type": "uint256" - }, - { - "internalType": "address", - "name": "_troveManagerAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_borrowerOperationsAddress", - "type": "address" - } - ], - "name": "setParams", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "troveManager", - "outputs": [ - { - "internalType": "contract ITroveManager", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_NICR", - "type": "uint256" - }, - { - "internalType": "address", - "name": "_prevId", - "type": "address" - }, - { - "internalType": "address", - "name": "_nextId", - "type": "address" - } - ], - "name": "validInsertPosition", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": "0x608060405234801561001057600080fd5b50610023336001600160e01b0361002816565b610110565b6001600160a01b03811661006d5760405162461bcd60e51b8152600401808060200182810382526022815260200180611b186022913960400191505060405180910390fd5b6001600160a01b0381166100886001600160e01b036100e616565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3604080517035b2bc9737bbb730b136329737bbb732b960791b8152905190819003601101902055565b604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205490565b6119f98061011f6000396000f3fe608060405234801561001057600080fd5b50600436106101375760003560e01c806363e1d57c116100b8578063a3f4df7e1161007c578063a3f4df7e14610388578063b72703ac14610405578063b7f8cf9b1461042b578063babd3d9a14610433578063de8fa4311461043b578063f376d7981461044357610137565b806363e1d57c146102fe578063681fe70c1461031857806373d4a13a14610320578063765e01591461035a578063893d20e81461038057610137565b80633fce12d5116100ff5780633fce12d5146101f2578063416980dc1461023a57806346f7cf87146102945780634d622831146102d05780635dbe47e8146102d857610137565b806313af40351461013c5780631e2231431461016457806329092d0e146101885780632be21260146101ae5780633d83908a146101ea575b600080fd5b6101626004803603602081101561015257600080fd5b50356001600160a01b0316610477565b005b61016c6104ea565b604080516001600160a01b039092168252519081900360200190f35b6101626004803603602081101561019e57600080fd5b50356001600160a01b03166104f9565b610162600480360360808110156101c457600080fd5b506001600160a01b0381358116916020810135916040820135811691606001351661050a565b61016c6105bf565b6102266004803603606081101561020857600080fd5b508035906001600160a01b03602082013581169160400135166105ce565b604080519115158252519081900360200190f35b61026e6004803603606081101561025057600080fd5b508035906001600160a01b03602082013581169160400135166105f1565b604080516001600160a01b03938416815291909216602082015281519081900390910190f35b610162600480360360808110156102aa57600080fd5b506001600160a01b0381358116916020810135916040820135811691606001351661061b565b61016c610630565b610226600480360360208110156102ee57600080fd5b50356001600160a01b031661063f565b61030661065d565b60408051918252519081900360200190f35b610226610663565b61032861066a565b604080516001600160a01b03958616815293909416602084015282840191909152606082015290519081900360800190f35b61016c6004803603602081101561037057600080fd5b50356001600160a01b0316610689565b61016c6106ac565b6103906106d6565b6040805160208082528351818301528351919283929083019185019080838360005b838110156103ca5781810151838201526020016103b2565b50505050905090810190601f1680156103f75780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61016c6004803603602081101561041b57600080fd5b50356001600160a01b03166106fe565b61016c61071f565b61022661072e565b610306610738565b6101626004803603606081101561045957600080fd5b508035906001600160a01b036020820135811691604001351661073e565b61047f6106ac565b6001600160a01b0316336001600160a01b0316146104de576040805162461bcd60e51b815260206004820152601760248201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604482015290519081900360640190fd5b6104e78161089c565b50565b6002546001600160a01b031690565b610501610951565b6104e78161099c565b6001546001600160a01b031661051f81610bd0565b6105288561063f565b6105635760405162461bcd60e51b815260040180806020018281038252602a8152602001806118da602a913960400191505060405180910390fd5b600084116105a25760405162461bcd60e51b81526004018080602001828103825260238152602001806119a16023913960400191505060405180910390fd5b6105ab8561099c565b6105b88186868686610c2c565b5050505050565b6001546001600160a01b031681565b6001546000906105e9906001600160a01b0316858585610fb0565b949350505050565b600154600090819061060e906001600160a01b0316868686611257565b915091505b935093915050565b6001546001600160a01b03166105ab81610bd0565b6003546001600160a01b031690565b6001600160a01b031660009081526006602052604090205460ff1690565b60045490565b6005541590565b6002546003546004546005546001600160a01b03938416939092169184565b6001600160a01b0390811660009081526006602052604090205461010090041690565b604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205490565b6040518060400160405280600c81526020016b536f7274656454726f76657360a01b81525081565b6001600160a01b039081166000908152600660205260409020600101541690565b6000546001600160a01b031681565b6004546005541490565b60055490565b6107466106ac565b6001600160a01b0316336001600160a01b0316146107a5576040805162461bcd60e51b815260206004820152601760248201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604482015290519081900360640190fd5b600083116107e45760405162461bcd60e51b81526004018080602001828103825260228152602001806119046022913960400191505060405180910390fd5b6107ed82611444565b6107f681611444565b6004839055600180546001600160a01b038085166001600160a01b03199283168117909355600080549185169190921617905560408051918252517f143219c9e69b09e07e095fcc889b43d8f46ca892bba65f08dc3a0050869a56789181900360200190a1604080516001600160a01b038316815290517f3ca631ffcd2a9b5d9ae18543fc82f58eb4ca33af9e6ab01b7a8e95331e6ed9859181900360200190a1505050565b6001600160a01b0381166108e15760405162461bcd60e51b81526004018080602001828103825260228152602001806119526022913960400191505060405180910390fd5b806001600160a01b03166108f36106ac565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3604080517035b2bc9737bbb730b136329737bbb732b960791b8152905190819003601101902055565b6001546001600160a01b0316331461099a5760405162461bcd60e51b815260040180806020018281038252602c815260200180611926602c913960400191505060405180910390fd5b565b6109a58161063f565b6109e05760405162461bcd60e51b815260040180806020018281038252602a8152602001806118da602a913960400191505060405180910390fd5b60055460011015610b26576002546001600160a01b0382811691161415610a4f576001600160a01b03818116600090815260066020526040808220546002805461010090920485166001600160a01b031992831617908190559093168252902060010180549091169055610b21565b6003546001600160a01b0382811691161415610ab6576001600160a01b0380821660009081526006602052604080822060010154600380546001600160a01b03191691851691909117908190559092168152208054610100600160a81b0319169055610b21565b6001600160a01b038082166000908152600660205260408082208054600180830180548716865284862080546101009485900489168502610100600160a81b03199091161790555492549190910485168452919092200180546001600160a01b031916919092161790555b610b43565b600280546001600160a01b03199081169091556003805490911690555b6001600160a01b038116600090815260066020526040902080546001600160a81b0319168155600190810180546001600160a01b0319169055600554610b8e9163ffffffff6114f716565b600555604080516001600160a01b038316815290517fcfc24166db4bb677e857cacabd1541fb2b30645021b27c5130419589b84db52b9181900360200190a150565b6000546001600160a01b0316331480610bf15750336001600160a01b038216145b6104e75760405162461bcd60e51b815260040180806020018281038252602d815260200180611974602d913960400191505060405180910390fd5b610c3461072e565b15610c86576040805162461bcd60e51b815260206004820152601a60248201527f536f7274656454726f7665733a204c6973742069732066756c6c000000000000604482015290519081900360640190fd5b610c8f8461063f565b15610ccb5760405162461bcd60e51b815260040180806020018281038252602c8152602001806118ae602c913960400191505060405180910390fd5b6001600160a01b038416610d26576040805162461bcd60e51b815260206004820152601f60248201527f536f7274656454726f7665733a2049642063616e6e6f74206265207a65726f00604482015290519081900360640190fd5b60008311610d655760405162461bcd60e51b81526004018080602001828103825260238152602001806119a16023913960400191505060405180910390fd5b8181610d7387868484610fb0565b610d8957610d8387868484611257565b90925090505b6001600160a01b038087166000908152600660205260409020805460ff191660011790558216158015610dc357506001600160a01b038116155b15610df857600280546001600160a01b0388166001600160a01b03199182168117909255600380549091169091179055610f4c565b6001600160a01b038216610e6c57600280546001600160a01b03888116600081815260066020526040808220805495851661010002610100600160a81b0319909616959095179094558454909216825291902060010180546001600160a01b03199081168317909155825416179055610f4c565b6001600160a01b038116610edc57600380546001600160a01b0388811660008181526006602052604080822060010180549585166001600160a01b031996871617905585549093168152919091208054610100600160a81b03191661010083021790558254909116179055610f4c565b6001600160a01b038087166000818152600660205260408082208054858716610100818102610100600160a81b031993841617845560019384018054988b166001600160a01b0319998a168117909155865284862080549188029190931617909155835291200180549092161790555b600554610f6090600163ffffffff61154016565b600555604080516001600160a01b03881681526020810187905281517fe02b43adbee0c123de070a04554a71877a0007e2fc161466299cae3c094fe82f929181900390910190a150505050505050565b60006001600160a01b038316158015610fd057506001600160a01b038216155b15610fe457610fdd610663565b90506105e9565b6001600160a01b038316611096576002546001600160a01b038381169116148015610fdd5750846001600160a01b031663b0d8e181836040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b15801561106057600080fd5b505afa158015611074573d6000803e3d6000fd5b505050506040513d602081101561108a57600080fd5b505184101590506105e9565b6001600160a01b038216611148576003546001600160a01b038481169116148015610fdd5750846001600160a01b031663b0d8e181846040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b15801561111257600080fd5b505afa158015611126573d6000803e3d6000fd5b505050506040513d602081101561113c57600080fd5b505184111590506105e9565b6001600160a01b03838116600090815260066020526040902054610100900481169083161480156111fa575083856001600160a01b031663b0d8e181856040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b1580156111cb57600080fd5b505afa1580156111df573d6000803e3d6000fd5b505050506040513d60208110156111f557600080fd5b505110155b8015610fdd5750846001600160a01b031663b0d8e181836040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b15801561106057600080fd5b60008083836001600160a01b0382161561130a576112748261063f565b15806113005750876001600160a01b031663b0d8e181836040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b1580156112d157600080fd5b505afa1580156112e5573d6000803e3d6000fd5b505050506040513d60208110156112fb57600080fd5b505187115b1561130a57600091505b6001600160a01b038116156113b7576113228161063f565b15806113ae5750876001600160a01b031663b0d8e181826040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b15801561137f57600080fd5b505afa158015611393573d6000803e3d6000fd5b505050506040513d60208110156113a957600080fd5b505187105b156113b7575060005b6001600160a01b0382161580156113d557506001600160a01b038116155b156113fe576002546113f390899089906001600160a01b031661159a565b93509350505061143b565b6001600160a01b038216611417576113f38888836116db565b6001600160a01b038116611430576113f388888461159a565b6113f388888461159a565b94509492505050565b6001600160a01b03811661149f576040805162461bcd60e51b815260206004820152601e60248201527f4163636f756e742063616e6e6f74206265207a65726f20616464726573730000604482015290519081900360640190fd5b803b806114f3576040805162461bcd60e51b815260206004820181905260248201527f4163636f756e7420636f64652073697a652063616e6e6f74206265207a65726f604482015290519081900360640190fd5b5050565b600061153983836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611816565b9392505050565b600082820183811015611539576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b60025460009081906001600160a01b03848116911614801561163d5750846001600160a01b031663b0d8e181846040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b15801561160d57600080fd5b505afa158015611621573d6000803e3d6000fd5b505050506040513d602081101561163757600080fd5b50518410155b1561164d57506000905081610613565b6001600160a01b038084166000908152600660205260409020548491610100909104165b6001600160a01b03821615801590611692575061169087878484610fb0565b155b156116cf57506001600160a01b03908116600090815260066020526040808220546101009081900484168084529190922054909291900416611671565b90969095509350505050565b60035460009081906001600160a01b03848116911614801561177e5750846001600160a01b031663b0d8e181846040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b15801561174e57600080fd5b505afa158015611762573d6000803e3d6000fd5b505050506040513d602081101561177857600080fd5b50518411155b1561178e57508190506000610613565b6001600160a01b038084166000908152600660205260409020600101548491165b6001600160a01b038216158015906117d057506117ce87878385610fb0565b155b1561180b57506001600160a01b03908116600090815260066020526040808220600190810154841680845291909220909101549091166117af565b969095509350505050565b600081848411156118a55760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561186a578181015183820152602001611852565b50505050905090810190601f1680156118975780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50505090039056fe536f7274656454726f7665733a204c69737420616c726561647920636f6e7461696e7320746865206e6f6465536f7274656454726f7665733a204c69737420646f6573206e6f7420636f6e7461696e20746865206964536f7274656454726f7665733a2053697a652063616ee2809974206265207a65726f536f7274656454726f7665733a2043616c6c6572206973206e6f74207468652054726f76654d616e616765724f776e61626c653a3a7365744f776e65723a20696e76616c69642061646472657373536f7274656454726f7665733a2043616c6c6572206973206e65697468657220424f206e6f722054726f76654d536f7274656454726f7665733a204e494352206d75737420626520706f736974697665a264697066735822122032b466fa1ae0f54c795858e19523f6f623b02846824d1e4a37750d801b21599064736f6c634300060b00334f776e61626c653a3a7365744f776e65723a20696e76616c69642061646472657373", - "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106101375760003560e01c806363e1d57c116100b8578063a3f4df7e1161007c578063a3f4df7e14610388578063b72703ac14610405578063b7f8cf9b1461042b578063babd3d9a14610433578063de8fa4311461043b578063f376d7981461044357610137565b806363e1d57c146102fe578063681fe70c1461031857806373d4a13a14610320578063765e01591461035a578063893d20e81461038057610137565b80633fce12d5116100ff5780633fce12d5146101f2578063416980dc1461023a57806346f7cf87146102945780634d622831146102d05780635dbe47e8146102d857610137565b806313af40351461013c5780631e2231431461016457806329092d0e146101885780632be21260146101ae5780633d83908a146101ea575b600080fd5b6101626004803603602081101561015257600080fd5b50356001600160a01b0316610477565b005b61016c6104ea565b604080516001600160a01b039092168252519081900360200190f35b6101626004803603602081101561019e57600080fd5b50356001600160a01b03166104f9565b610162600480360360808110156101c457600080fd5b506001600160a01b0381358116916020810135916040820135811691606001351661050a565b61016c6105bf565b6102266004803603606081101561020857600080fd5b508035906001600160a01b03602082013581169160400135166105ce565b604080519115158252519081900360200190f35b61026e6004803603606081101561025057600080fd5b508035906001600160a01b03602082013581169160400135166105f1565b604080516001600160a01b03938416815291909216602082015281519081900390910190f35b610162600480360360808110156102aa57600080fd5b506001600160a01b0381358116916020810135916040820135811691606001351661061b565b61016c610630565b610226600480360360208110156102ee57600080fd5b50356001600160a01b031661063f565b61030661065d565b60408051918252519081900360200190f35b610226610663565b61032861066a565b604080516001600160a01b03958616815293909416602084015282840191909152606082015290519081900360800190f35b61016c6004803603602081101561037057600080fd5b50356001600160a01b0316610689565b61016c6106ac565b6103906106d6565b6040805160208082528351818301528351919283929083019185019080838360005b838110156103ca5781810151838201526020016103b2565b50505050905090810190601f1680156103f75780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61016c6004803603602081101561041b57600080fd5b50356001600160a01b03166106fe565b61016c61071f565b61022661072e565b610306610738565b6101626004803603606081101561045957600080fd5b508035906001600160a01b036020820135811691604001351661073e565b61047f6106ac565b6001600160a01b0316336001600160a01b0316146104de576040805162461bcd60e51b815260206004820152601760248201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604482015290519081900360640190fd5b6104e78161089c565b50565b6002546001600160a01b031690565b610501610951565b6104e78161099c565b6001546001600160a01b031661051f81610bd0565b6105288561063f565b6105635760405162461bcd60e51b815260040180806020018281038252602a8152602001806118da602a913960400191505060405180910390fd5b600084116105a25760405162461bcd60e51b81526004018080602001828103825260238152602001806119a16023913960400191505060405180910390fd5b6105ab8561099c565b6105b88186868686610c2c565b5050505050565b6001546001600160a01b031681565b6001546000906105e9906001600160a01b0316858585610fb0565b949350505050565b600154600090819061060e906001600160a01b0316868686611257565b915091505b935093915050565b6001546001600160a01b03166105ab81610bd0565b6003546001600160a01b031690565b6001600160a01b031660009081526006602052604090205460ff1690565b60045490565b6005541590565b6002546003546004546005546001600160a01b03938416939092169184565b6001600160a01b0390811660009081526006602052604090205461010090041690565b604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205490565b6040518060400160405280600c81526020016b536f7274656454726f76657360a01b81525081565b6001600160a01b039081166000908152600660205260409020600101541690565b6000546001600160a01b031681565b6004546005541490565b60055490565b6107466106ac565b6001600160a01b0316336001600160a01b0316146107a5576040805162461bcd60e51b815260206004820152601760248201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604482015290519081900360640190fd5b600083116107e45760405162461bcd60e51b81526004018080602001828103825260228152602001806119046022913960400191505060405180910390fd5b6107ed82611444565b6107f681611444565b6004839055600180546001600160a01b038085166001600160a01b03199283168117909355600080549185169190921617905560408051918252517f143219c9e69b09e07e095fcc889b43d8f46ca892bba65f08dc3a0050869a56789181900360200190a1604080516001600160a01b038316815290517f3ca631ffcd2a9b5d9ae18543fc82f58eb4ca33af9e6ab01b7a8e95331e6ed9859181900360200190a1505050565b6001600160a01b0381166108e15760405162461bcd60e51b81526004018080602001828103825260228152602001806119526022913960400191505060405180910390fd5b806001600160a01b03166108f36106ac565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3604080517035b2bc9737bbb730b136329737bbb732b960791b8152905190819003601101902055565b6001546001600160a01b0316331461099a5760405162461bcd60e51b815260040180806020018281038252602c815260200180611926602c913960400191505060405180910390fd5b565b6109a58161063f565b6109e05760405162461bcd60e51b815260040180806020018281038252602a8152602001806118da602a913960400191505060405180910390fd5b60055460011015610b26576002546001600160a01b0382811691161415610a4f576001600160a01b03818116600090815260066020526040808220546002805461010090920485166001600160a01b031992831617908190559093168252902060010180549091169055610b21565b6003546001600160a01b0382811691161415610ab6576001600160a01b0380821660009081526006602052604080822060010154600380546001600160a01b03191691851691909117908190559092168152208054610100600160a81b0319169055610b21565b6001600160a01b038082166000908152600660205260408082208054600180830180548716865284862080546101009485900489168502610100600160a81b03199091161790555492549190910485168452919092200180546001600160a01b031916919092161790555b610b43565b600280546001600160a01b03199081169091556003805490911690555b6001600160a01b038116600090815260066020526040902080546001600160a81b0319168155600190810180546001600160a01b0319169055600554610b8e9163ffffffff6114f716565b600555604080516001600160a01b038316815290517fcfc24166db4bb677e857cacabd1541fb2b30645021b27c5130419589b84db52b9181900360200190a150565b6000546001600160a01b0316331480610bf15750336001600160a01b038216145b6104e75760405162461bcd60e51b815260040180806020018281038252602d815260200180611974602d913960400191505060405180910390fd5b610c3461072e565b15610c86576040805162461bcd60e51b815260206004820152601a60248201527f536f7274656454726f7665733a204c6973742069732066756c6c000000000000604482015290519081900360640190fd5b610c8f8461063f565b15610ccb5760405162461bcd60e51b815260040180806020018281038252602c8152602001806118ae602c913960400191505060405180910390fd5b6001600160a01b038416610d26576040805162461bcd60e51b815260206004820152601f60248201527f536f7274656454726f7665733a2049642063616e6e6f74206265207a65726f00604482015290519081900360640190fd5b60008311610d655760405162461bcd60e51b81526004018080602001828103825260238152602001806119a16023913960400191505060405180910390fd5b8181610d7387868484610fb0565b610d8957610d8387868484611257565b90925090505b6001600160a01b038087166000908152600660205260409020805460ff191660011790558216158015610dc357506001600160a01b038116155b15610df857600280546001600160a01b0388166001600160a01b03199182168117909255600380549091169091179055610f4c565b6001600160a01b038216610e6c57600280546001600160a01b03888116600081815260066020526040808220805495851661010002610100600160a81b0319909616959095179094558454909216825291902060010180546001600160a01b03199081168317909155825416179055610f4c565b6001600160a01b038116610edc57600380546001600160a01b0388811660008181526006602052604080822060010180549585166001600160a01b031996871617905585549093168152919091208054610100600160a81b03191661010083021790558254909116179055610f4c565b6001600160a01b038087166000818152600660205260408082208054858716610100818102610100600160a81b031993841617845560019384018054988b166001600160a01b0319998a168117909155865284862080549188029190931617909155835291200180549092161790555b600554610f6090600163ffffffff61154016565b600555604080516001600160a01b03881681526020810187905281517fe02b43adbee0c123de070a04554a71877a0007e2fc161466299cae3c094fe82f929181900390910190a150505050505050565b60006001600160a01b038316158015610fd057506001600160a01b038216155b15610fe457610fdd610663565b90506105e9565b6001600160a01b038316611096576002546001600160a01b038381169116148015610fdd5750846001600160a01b031663b0d8e181836040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b15801561106057600080fd5b505afa158015611074573d6000803e3d6000fd5b505050506040513d602081101561108a57600080fd5b505184101590506105e9565b6001600160a01b038216611148576003546001600160a01b038481169116148015610fdd5750846001600160a01b031663b0d8e181846040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b15801561111257600080fd5b505afa158015611126573d6000803e3d6000fd5b505050506040513d602081101561113c57600080fd5b505184111590506105e9565b6001600160a01b03838116600090815260066020526040902054610100900481169083161480156111fa575083856001600160a01b031663b0d8e181856040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b1580156111cb57600080fd5b505afa1580156111df573d6000803e3d6000fd5b505050506040513d60208110156111f557600080fd5b505110155b8015610fdd5750846001600160a01b031663b0d8e181836040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b15801561106057600080fd5b60008083836001600160a01b0382161561130a576112748261063f565b15806113005750876001600160a01b031663b0d8e181836040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b1580156112d157600080fd5b505afa1580156112e5573d6000803e3d6000fd5b505050506040513d60208110156112fb57600080fd5b505187115b1561130a57600091505b6001600160a01b038116156113b7576113228161063f565b15806113ae5750876001600160a01b031663b0d8e181826040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b15801561137f57600080fd5b505afa158015611393573d6000803e3d6000fd5b505050506040513d60208110156113a957600080fd5b505187105b156113b7575060005b6001600160a01b0382161580156113d557506001600160a01b038116155b156113fe576002546113f390899089906001600160a01b031661159a565b93509350505061143b565b6001600160a01b038216611417576113f38888836116db565b6001600160a01b038116611430576113f388888461159a565b6113f388888461159a565b94509492505050565b6001600160a01b03811661149f576040805162461bcd60e51b815260206004820152601e60248201527f4163636f756e742063616e6e6f74206265207a65726f20616464726573730000604482015290519081900360640190fd5b803b806114f3576040805162461bcd60e51b815260206004820181905260248201527f4163636f756e7420636f64652073697a652063616e6e6f74206265207a65726f604482015290519081900360640190fd5b5050565b600061153983836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611816565b9392505050565b600082820183811015611539576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b60025460009081906001600160a01b03848116911614801561163d5750846001600160a01b031663b0d8e181846040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b15801561160d57600080fd5b505afa158015611621573d6000803e3d6000fd5b505050506040513d602081101561163757600080fd5b50518410155b1561164d57506000905081610613565b6001600160a01b038084166000908152600660205260409020548491610100909104165b6001600160a01b03821615801590611692575061169087878484610fb0565b155b156116cf57506001600160a01b03908116600090815260066020526040808220546101009081900484168084529190922054909291900416611671565b90969095509350505050565b60035460009081906001600160a01b03848116911614801561177e5750846001600160a01b031663b0d8e181846040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b15801561174e57600080fd5b505afa158015611762573d6000803e3d6000fd5b505050506040513d602081101561177857600080fd5b50518411155b1561178e57508190506000610613565b6001600160a01b038084166000908152600660205260409020600101548491165b6001600160a01b038216158015906117d057506117ce87878385610fb0565b155b1561180b57506001600160a01b03908116600090815260066020526040808220600190810154841680845291909220909101549091166117af565b969095509350505050565b600081848411156118a55760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561186a578181015183820152602001611852565b50505050905090810190601f1680156118975780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50505090039056fe536f7274656454726f7665733a204c69737420616c726561647920636f6e7461696e7320746865206e6f6465536f7274656454726f7665733a204c69737420646f6573206e6f7420636f6e7461696e20746865206964536f7274656454726f7665733a2053697a652063616ee2809974206265207a65726f536f7274656454726f7665733a2043616c6c6572206973206e6f74207468652054726f76654d616e616765724f776e61626c653a3a7365744f776e65723a20696e76616c69642061646472657373536f7274656454726f7665733a2043616c6c6572206973206e65697468657220424f206e6f722054726f76654d536f7274656454726f7665733a204e494352206d75737420626520706f736974697665a264697066735822122032b466fa1ae0f54c795858e19523f6f623b02846824d1e4a37750d801b21599064736f6c634300060b0033", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/packages/lib-ethers/live/SortedTrovesStorage.json b/packages/lib-ethers/live/SortedTrovesStorage.json deleted file mode 100644 index b0f625014..000000000 --- a/packages/lib-ethers/live/SortedTrovesStorage.json +++ /dev/null @@ -1,123 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "SortedTrovesStorage", - "sourceName": "contracts/SortedTrovesStorage.sol", - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "previousOwner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnershipTransferred", - "type": "event" - }, - { - "inputs": [], - "name": "NAME", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "borrowerOperationsAddress", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "data", - "outputs": [ - { - "internalType": "address", - "name": "head", - "type": "address" - }, - { - "internalType": "address", - "name": "tail", - "type": "address" - }, - { - "internalType": "uint256", - "name": "maxSize", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "size", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getOwner", - "outputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - } - ], - "name": "setOwner", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "troveManager", - "outputs": [ - { - "internalType": "contract ITroveManager", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": "0x608060405234801561001057600080fd5b50610023336001600160e01b0361002816565b610110565b6001600160a01b03811661006d5760405162461bcd60e51b81526004018080602001828103825260228152602001806104a86022913960400191505060405180910390fd5b6001600160a01b0381166100886001600160e01b036100e616565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3604080517035b2bc9737bbb730b136329737bbb732b960791b8152905190819003601101902055565b604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205490565b6103898061011f6000396000f3fe608060405234801561001057600080fd5b50600436106100625760003560e01c806313af4035146100675780633d83908a1461008f57806373d4a13a146100b3578063893d20e8146100ed578063a3f4df7e146100f5578063b7f8cf9b14610172575b600080fd5b61008d6004803603602081101561007d57600080fd5b50356001600160a01b031661017a565b005b6100976101ed565b604080516001600160a01b039092168252519081900360200190f35b6100bb6101fc565b604080516001600160a01b03958616815293909416602084015282840191909152606082015290519081900360800190f35b61009761021b565b6100fd610245565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561013757818101518382015260200161011f565b50505050905090810190601f1680156101645780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61009761026d565b61018261021b565b6001600160a01b0316336001600160a01b0316146101e1576040805162461bcd60e51b815260206004820152601760248201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604482015290519081900360640190fd5b6101ea8161027c565b50565b6001546001600160a01b031681565b6002546003546004546005546001600160a01b03938416939092169184565b604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205490565b6040518060400160405280600c81526020016b536f7274656454726f76657360a01b81525081565b6000546001600160a01b031681565b6001600160a01b0381166102c15760405162461bcd60e51b81526004018080602001828103825260228152602001806103326022913960400191505060405180910390fd5b806001600160a01b03166102d361021b565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205556fe4f776e61626c653a3a7365744f776e65723a20696e76616c69642061646472657373a2646970667358221220c869aa6aa6de74ca2c4f35b99a32866318935a648436017e11637f945f5db34e64736f6c634300060b00334f776e61626c653a3a7365744f776e65723a20696e76616c69642061646472657373", - "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100625760003560e01c806313af4035146100675780633d83908a1461008f57806373d4a13a146100b3578063893d20e8146100ed578063a3f4df7e146100f5578063b7f8cf9b14610172575b600080fd5b61008d6004803603602081101561007d57600080fd5b50356001600160a01b031661017a565b005b6100976101ed565b604080516001600160a01b039092168252519081900360200190f35b6100bb6101fc565b604080516001600160a01b03958616815293909416602084015282840191909152606082015290519081900360800190f35b61009761021b565b6100fd610245565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561013757818101518382015260200161011f565b50505050905090810190601f1680156101645780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61009761026d565b61018261021b565b6001600160a01b0316336001600160a01b0316146101e1576040805162461bcd60e51b815260206004820152601760248201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604482015290519081900360640190fd5b6101ea8161027c565b50565b6001546001600160a01b031681565b6002546003546004546005546001600160a01b03938416939092169184565b604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205490565b6040518060400160405280600c81526020016b536f7274656454726f76657360a01b81525081565b6000546001600160a01b031681565b6001600160a01b0381166102c15760405162461bcd60e51b81526004018080602001828103825260228152602001806103326022913960400191505060405180910390fd5b806001600160a01b03166102d361021b565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205556fe4f776e61626c653a3a7365744f776e65723a20696e76616c69642061646472657373a2646970667358221220c869aa6aa6de74ca2c4f35b99a32866318935a648436017e11637f945f5db34e64736f6c634300060b0033", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/packages/lib-ethers/live/SortedTrovesTester.json b/packages/lib-ethers/live/SortedTrovesTester.json deleted file mode 100644 index e8b3444b7..000000000 --- a/packages/lib-ethers/live/SortedTrovesTester.json +++ /dev/null @@ -1,136 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "SortedTrovesTester", - "sourceName": "contracts/TestContracts/SortedTrovesTester.sol", - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "getCurrentICR", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "pure", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "getNominalICR", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "pure", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_id", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_NICR", - "type": "uint256" - }, - { - "internalType": "address", - "name": "_prevId", - "type": "address" - }, - { - "internalType": "address", - "name": "_nextId", - "type": "address" - } - ], - "name": "insert", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_id", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_newNICR", - "type": "uint256" - }, - { - "internalType": "address", - "name": "_prevId", - "type": "address" - }, - { - "internalType": "address", - "name": "_nextId", - "type": "address" - } - ], - "name": "reInsert", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_id", - "type": "address" - } - ], - "name": "remove", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_sortedTrovesAddress", - "type": "address" - } - ], - "name": "setSortedTroves", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": "0x608060405234801561001057600080fd5b5061033f806100206000396000f3fe608060405234801561001057600080fd5b50600436106100625760003560e01c806329092d0e146100675780632be212601461008f57806346f7cf87146100cb578063b0d8e18114610107578063d293c7101461013f578063e24b40d21461016b575b600080fd5b61008d6004803603602081101561007d57600080fd5b50356001600160a01b0316610191565b005b61008d600480360360808110156100a557600080fd5b506001600160a01b038135811691602081013591604082013581169160600135166101f7565b61008d600480360360808110156100e157600080fd5b506001600160a01b03813581169160208101359160408201358116916060013516610277565b61012d6004803603602081101561011d57600080fd5b50356001600160a01b03166102d9565b60408051918252519081900360200190f35b61012d6004803603604081101561015557600080fd5b506001600160a01b0381351690602001356102df565b61008d6004803603602081101561018157600080fd5b50356001600160a01b03166102e7565b6000805460408051631484968760e11b81526001600160a01b038581166004830152915191909216926329092d0e926024808201939182900301818387803b1580156101dc57600080fd5b505af11580156101f0573d6000803e3d6000fd5b5050505050565b600080546040805163015f109360e51b81526001600160a01b038881166004830152602482018890528681166044830152858116606483015291519190921692632be21260926084808201939182900301818387803b15801561025957600080fd5b505af115801561026d573d6000803e3d6000fd5b5050505050505050565b60008054604080516346f7cf8760e01b81526001600160a01b0388811660048301526024820188905286811660448301528581166064830152915191909216926346f7cf87926084808201939182900301818387803b15801561025957600080fd5b50600190565b600192915050565b600080546001600160a01b0319166001600160a01b039290921691909117905556fea2646970667358221220e77f57d705bff27575b5dd23d472c76b82cffb5124b592201051dc2556727b3364736f6c634300060b0033", - "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100625760003560e01c806329092d0e146100675780632be212601461008f57806346f7cf87146100cb578063b0d8e18114610107578063d293c7101461013f578063e24b40d21461016b575b600080fd5b61008d6004803603602081101561007d57600080fd5b50356001600160a01b0316610191565b005b61008d600480360360808110156100a557600080fd5b506001600160a01b038135811691602081013591604082013581169160600135166101f7565b61008d600480360360808110156100e157600080fd5b506001600160a01b03813581169160208101359160408201358116916060013516610277565b61012d6004803603602081101561011d57600080fd5b50356001600160a01b03166102d9565b60408051918252519081900360200190f35b61012d6004803603604081101561015557600080fd5b506001600160a01b0381351690602001356102df565b61008d6004803603602081101561018157600080fd5b50356001600160a01b03166102e7565b6000805460408051631484968760e11b81526001600160a01b038581166004830152915191909216926329092d0e926024808201939182900301818387803b1580156101dc57600080fd5b505af11580156101f0573d6000803e3d6000fd5b5050505050565b600080546040805163015f109360e51b81526001600160a01b038881166004830152602482018890528681166044830152858116606483015291519190921692632be21260926084808201939182900301818387803b15801561025957600080fd5b505af115801561026d573d6000803e3d6000fd5b5050505050505050565b60008054604080516346f7cf8760e01b81526001600160a01b0388811660048301526024820188905286811660448301528581166064830152915191909216926346f7cf87926084808201939182900301818387803b15801561025957600080fd5b50600190565b600192915050565b600080546001600160a01b0319166001600160a01b039290921691909117905556fea2646970667358221220e77f57d705bff27575b5dd23d472c76b82cffb5124b592201051dc2556727b3364736f6c634300060b0033", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/packages/lib-ethers/live/StabilityPool.json b/packages/lib-ethers/live/StabilityPool.json deleted file mode 100644 index e272214a1..000000000 --- a/packages/lib-ethers/live/StabilityPool.json +++ /dev/null @@ -1,1318 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "StabilityPool", - "sourceName": "contracts/StabilityPool.sol", - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_newActivePoolAddress", - "type": "address" - } - ], - "name": "ActivePoolAddressChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_newBorrowerOperationsAddress", - "type": "address" - } - ], - "name": "BorrowerOperationsAddressChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_newCommunityIssuanceAddress", - "type": "address" - } - ], - "name": "CommunityIssuanceAddressChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_newDefaultPoolAddress", - "type": "address" - } - ], - "name": "DefaultPoolAddressChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "_depositor", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_P", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_S", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_G", - "type": "uint256" - } - ], - "name": "DepositSnapshotUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "_depositor", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_ETH", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_ZUSDLoss", - "type": "uint256" - } - ], - "name": "ETHGainWithdrawn", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint128", - "name": "_currentEpoch", - "type": "uint128" - } - ], - "name": "EpochUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_to", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "name": "EtherSent", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "_frontEnd", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_kickbackRate", - "type": "uint256" - } - ], - "name": "FrontEndRegistered", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "_frontEnd", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_P", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_G", - "type": "uint256" - } - ], - "name": "FrontEndSnapshotUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "_frontEnd", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_newFrontEndStake", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "address", - "name": "_depositor", - "type": "address" - } - ], - "name": "FrontEndStakeChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "_depositor", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "_frontEnd", - "type": "address" - } - ], - "name": "FrontEndTagSet", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "_G", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint128", - "name": "_epoch", - "type": "uint128" - }, - { - "indexed": false, - "internalType": "uint128", - "name": "_scale", - "type": "uint128" - } - ], - "name": "G_Updated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "previousOwner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnershipTransferred", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "_P", - "type": "uint256" - } - ], - "name": "P_Updated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_newPriceFeedAddress", - "type": "address" - } - ], - "name": "PriceFeedAddressChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "_S", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint128", - "name": "_epoch", - "type": "uint128" - }, - { - "indexed": false, - "internalType": "uint128", - "name": "_scale", - "type": "uint128" - } - ], - "name": "S_Updated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint128", - "name": "_currentScale", - "type": "uint128" - } - ], - "name": "ScaleUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_newSortedTrovesAddress", - "type": "address" - } - ], - "name": "SortedTrovesAddressChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "_newBalance", - "type": "uint256" - } - ], - "name": "StabilityPoolETHBalanceUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "_newBalance", - "type": "uint256" - } - ], - "name": "StabilityPoolZUSDBalanceUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_newTroveManagerAddress", - "type": "address" - } - ], - "name": "TroveManagerAddressChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "_depositor", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_newDeposit", - "type": "uint256" - } - ], - "name": "UserDepositChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_depositor", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_zusdAmountRequested", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_dllrAmountReceived", - "type": "uint256" - } - ], - "name": "WithdrawFromSpAndConvertToDLLR", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "_depositor", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_ZERO", - "type": "uint256" - } - ], - "name": "ZEROPaidToDepositor", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "_frontEnd", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_ZERO", - "type": "uint256" - } - ], - "name": "ZEROPaidToFrontEnd", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_newZUSDTokenAddress", - "type": "address" - } - ], - "name": "ZUSDTokenAddressChanged", - "type": "event" - }, - { - "inputs": [], - "name": "DECIMAL_PRECISION", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "MIN_NET_DEBT", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "NAME", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "P", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "SCALE_FACTOR", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "ZUSD_GAS_COMPENSATION", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_100pct", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "activePool", - "outputs": [ - { - "internalType": "contract IActivePool", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "borrowerOperations", - "outputs": [ - { - "internalType": "contract IBorrowerOperations", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "communityIssuance", - "outputs": [ - { - "internalType": "contract ICommunityIssuance", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "currentEpoch", - "outputs": [ - { - "internalType": "uint128", - "name": "", - "type": "uint128" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "currentScale", - "outputs": [ - { - "internalType": "uint128", - "name": "", - "type": "uint128" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "defaultPool", - "outputs": [ - { - "internalType": "contract IDefaultPool", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "depositSnapshots", - "outputs": [ - { - "internalType": "uint256", - "name": "S", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "P", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "G", - "type": "uint256" - }, - { - "internalType": "uint128", - "name": "scale", - "type": "uint128" - }, - { - "internalType": "uint128", - "name": "epoch", - "type": "uint128" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "deposits", - "outputs": [ - { - "internalType": "uint256", - "name": "initialValue", - "type": "uint256" - }, - { - "internalType": "address", - "name": "frontEndTag", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint128", - "name": "", - "type": "uint128" - }, - { - "internalType": "uint128", - "name": "", - "type": "uint128" - } - ], - "name": "epochToScaleToG", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint128", - "name": "", - "type": "uint128" - }, - { - "internalType": "uint128", - "name": "", - "type": "uint128" - } - ], - "name": "epochToScaleToSum", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "frontEndSnapshots", - "outputs": [ - { - "internalType": "uint256", - "name": "S", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "P", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "G", - "type": "uint256" - }, - { - "internalType": "uint128", - "name": "scale", - "type": "uint128" - }, - { - "internalType": "uint128", - "name": "epoch", - "type": "uint128" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "frontEndStakes", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "frontEnds", - "outputs": [ - { - "internalType": "uint256", - "name": "kickbackRate", - "type": "uint256" - }, - { - "internalType": "bool", - "name": "registered", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_frontEnd", - "type": "address" - } - ], - "name": "getCompoundedFrontEndStake", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_depositor", - "type": "address" - } - ], - "name": "getCompoundedZUSDDeposit", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_depositor", - "type": "address" - } - ], - "name": "getDepositorETHGain", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_depositor", - "type": "address" - } - ], - "name": "getDepositorZEROGain", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getETH", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getEntireSystemColl", - "outputs": [ - { - "internalType": "uint256", - "name": "entireSystemColl", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getEntireSystemDebt", - "outputs": [ - { - "internalType": "uint256", - "name": "entireSystemDebt", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_frontEnd", - "type": "address" - } - ], - "name": "getFrontEndZEROGain", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getOwner", - "outputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getTotalZUSDDeposits", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "lastETHError_Offset", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "lastZEROError", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "lastZUSDLossError_Offset", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "liquityBaseParams", - "outputs": [ - { - "internalType": "contract ILiquityBaseParams", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_debtToOffset", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_collToAdd", - "type": "uint256" - } - ], - "name": "offset", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "priceFeed", - "outputs": [ - { - "internalType": "contract IPriceFeed", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - }, - { - "internalType": "address", - "name": "_frontEndTag", - "type": "address" - } - ], - "name": "provideToSP", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_dllrAmount", - "type": "uint256" - }, - { - "components": [ - { - "internalType": "uint256", - "name": "deadline", - "type": "uint256" - }, - { - "internalType": "uint8", - "name": "v", - "type": "uint8" - }, - { - "internalType": "bytes32", - "name": "r", - "type": "bytes32" - }, - { - "internalType": "bytes32", - "name": "s", - "type": "bytes32" - } - ], - "internalType": "struct IMassetManager.PermitParams", - "name": "_permitParams", - "type": "tuple" - } - ], - "name": "provideToSpFromDLLR", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_kickbackRate", - "type": "uint256" - } - ], - "name": "registerFrontEnd", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_liquityBaseParamsAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_borrowerOperationsAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_troveManagerAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_activePoolAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_zusdTokenAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_sortedTrovesAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_priceFeedAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_communityIssuanceAddress", - "type": "address" - } - ], - "name": "setAddresses", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - } - ], - "name": "setOwner", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "sortedTroves", - "outputs": [ - { - "internalType": "contract ISortedTroves", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "troveManager", - "outputs": [ - { - "internalType": "contract ITroveManager", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_upperHint", - "type": "address" - }, - { - "internalType": "address", - "name": "_lowerHint", - "type": "address" - } - ], - "name": "withdrawETHGainToTrove", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "name": "withdrawFromSP", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_zusdAmountRequested", - "type": "uint256" - } - ], - "name": "withdrawFromSpAndConvertToDLLR", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "zusdToken", - "outputs": [ - { - "internalType": "contract IZUSDToken", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "stateMutability": "payable", - "type": "receive" - } - ], - "bytecode": "0x60806040523480156200001157600080fd5b5062000026336001600160e01b036200002c16565b62000150565b6001600160a01b0381166200005e5760405162461bcd60e51b815260040162000055906200010e565b60405180910390fd5b6001600160a01b0381166200007b6001600160e01b03620000d016565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000604051620000c090620000f1565b6040519081900390209190915550565b600080604051620000e190620000f1565b6040519081900390205492915050565b7035b2bc9737bbb730b136329737bbb732b960791b815260110190565b60208082526022908201527f4f776e61626c653a3a7365744f776e65723a20696e76616c6964206164647265604082015261737360f01b606082015260800190565b61437380620001606000396000f3fe60806040526004361061028c5760003560e01c80638692a8a21161015a578063b31ee965116100c1578063d733cfd01161007a578063d733cfd01461073d578063d7fb04431461075d578063df9cd84f14610772578063ec9f7d4614610792578063fc7e286d146107a7578063fda0101a146107d5576102d7565b8063b31ee965146106a9578063b71d3bf3146106be578063bdaf37ea146106d3578063c0a90828146106e8578063c3a34a0e14610708578063ce4b5bbe14610728576102d7565b80639f070670116101135780639f0706701461061a578063a20baee6146104c6578063a3f4df7e1461062f578063a4e59ac814610651578063a7bfff9714610666578063ae91875414610694576102d7565b80638692a8a21461058657806386da0824146105a6578063887105d3146105c6578063893d20e8146105db5780638b8fbd92146105f057806395fb16bb14610605576102d7565b806340ed1afd116101fe578063759b3034116101b7578063759b3034146104f0578063766718081461050557806377553ad414610527578063795d26c31461053c5780637f7dde4a1461055157806382e0a57414610566576102d7565b806340ed1afd14610446578063556be101146104665780635d2de642146104865780635f788d65146104a657806372fe25aa146104c6578063741bef1a146104db576102d7565b806328a0a04d1161025057806328a0a04d1461038f5780632e54bf95146103af578063335525ad146103cf578063389e92a5146103ef5780633cc742251461040f5780633d83908a14610431576102d7565b80630fbfe38b146102dc57806313af4035146102fe57806314f6c3be1461031e57806316b9d3c5146103495780631bf435551461037a576102d7565b366102d7576102996107f5565b6009546102ac903463ffffffff61082a16565b60098190556040516000805160206142be833981519152916102cd9161422a565b60405180910390a1005b600080fd5b3480156102e857600080fd5b506102fc6102f73660046138ab565b610858565b005b34801561030a57600080fd5b506102fc61031936600461373f565b610a58565b34801561032a57600080fd5b50610333610a9c565b604051610340919061422a565b60405180910390f35b34801561035557600080fd5b5061036961036436600461373f565b610aa2565b604051610340959493929190614279565b34801561038657600080fd5b50610333610add565b34801561039b57600080fd5b506103336103aa366004613877565b610aea565b3480156103bb57600080fd5b506102fc6103ca3660046138ab565b610b07565b3480156103db57600080fd5b506102fc6103ea366004613935565b610b15565b3480156103fb57600080fd5b5061033361040a36600461373f565b610b78565b34801561041b57600080fd5b50610424610c20565b6040516103409190613997565b34801561043d57600080fd5b50610424610c2f565b34801561045257600080fd5b5061033361046136600461373f565b610c3e565b34801561047257600080fd5b506102fc6104813660046138ab565b610cdb565b34801561049257600080fd5b506103336104a136600461373f565b610d53565b3480156104b257600080fd5b506102fc6104c13660046138db565b610d65565b3480156104d257600080fd5b50610333610d6f565b3480156104e757600080fd5b50610424610d7b565b3480156104fc57600080fd5b50610333610d8a565b34801561051157600080fd5b5061051a610d97565b6040516103409190614216565b34801561053357600080fd5b50610424610dad565b34801561054857600080fd5b50610333610dbc565b34801561055d57600080fd5b50610424610edb565b34801561057257600080fd5b50610333610581366004613877565b610eea565b34801561059257600080fd5b506103336105a136600461373f565b610f07565b3480156105b257600080fd5b506103696105c136600461373f565b61100b565b3480156105d257600080fd5b50610333611046565b3480156105e757600080fd5b50610424611115565b3480156105fc57600080fd5b50610333611134565b34801561061157600080fd5b5061042461113a565b34801561062657600080fd5b50610424611149565b34801561063b57600080fd5b50610644611158565b6040516103409190613ab4565b34801561065d57600080fd5b5061051a611181565b34801561067257600080fd5b5061068661068136600461373f565b611190565b60405161034092919061424a565b3480156106a057600080fd5b506104246111ac565b3480156106b557600080fd5b506103336111bb565b3480156106ca57600080fd5b506103336111c1565b3480156106df57600080fd5b506103336111c7565b3480156106f457600080fd5b5061033361070336600461373f565b6111cd565b34801561071457600080fd5b506102fc6107233660046138ff565b6112ca565b34801561073457600080fd5b5061033361136e565b34801561074957600080fd5b506102fc6107583660046137af565b611376565b34801561076957600080fd5b50610333611608565b34801561077e57600080fd5b5061033361078d36600461373f565b61160e565b34801561079e57600080fd5b506104246116ab565b3480156107b357600080fd5b506107c76107c236600461373f565b6116ba565b604051610340929190614233565b3480156107e157600080fd5b506102fc6107f0366004613777565b6116dc565b6000546001600160a01b031633146108285760405162461bcd60e51b815260040161081f90613cac565b60405180910390fd5b565b60008282018381101561084f5760405162461bcd60e51b815260040161081f90613bbc565b90505b92915050565b6000600460009054906101000a90046001600160a01b03166001600160a01b031663e9fc34616040518163ffffffff1660e01b815260040160206040518083038186803b1580156108a857600080fd5b505afa1580156108bc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108e0919061375b565b905060006108ee8330611922565b60065460405163095ea7b360e01b81529192506001600160a01b03169063095ea7b3906109219085908590600401613a33565b602060405180830381600087803b15801561093b57600080fd5b505af115801561094f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109739190613857565b61098f5760405162461bcd60e51b815260040161081f90614043565b60065460405163438b1b4b60e01b81526001600160a01b038481169263438b1b4b926109c5929091169085903390600401613a6d565b602060405180830381600087803b1580156109df57600080fd5b505af11580156109f3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a1791906138c3565b507f2b0fbec1c4e7e30517f196a714775ffe72770d2348f5d586854bb3c0fdf41df8338483604051610a4b93929190613a4c565b60405180910390a1505050565b610a60611115565b6001600160a01b0316336001600160a01b031614610a905760405162461bcd60e51b815260040161081f90613f71565b610a9981611aed565b50565b60095490565b600f602052600090815260409020805460018201546002830154600390930154919290916001600160801b0380821691600160801b90041685565b6809c2007651b250000081565b601260209081526000928352604080842090915290825290205481565b610b118133611922565b5050565b610b1d611b78565b600a54801580610b2b575082155b15610b365750610b11565b600854610b4b906001600160a01b0316611ba2565b600080610b59848685611c22565b91509150610b678282611d1b565b610b71848661201c565b5050505050565b6001600160a01b0381166000908152600b602052604081205480610ba0576000915050610c1b565b610ba86136e7565b506001600160a01b0383166000908152600c60209081526040808320815160a08101835281548152600182015493810193909352600281015491830191909152600301546001600160801b038082166060840152600160801b90910416608082015290610c158383612152565b93505050505b919050565b6001546001600160a01b031681565b6005546001600160a01b031681565b6001600160a01b0381166000908152600b602052604081205480610c66576000915050610c1b565b610c6e6136e7565b506001600160a01b0383166000908152600c60209081526040808320815160a08101835281548152600182015493810193909352600281015491830191909152600301546001600160801b038082166060840152600160801b90910416608082015290610c158383612243565b610ce43361233f565b610ced3361237b565b610cf6816123b2565b336000818152600d6020526040908190208381556001908101805460ff19169091179055517f19bc932fb9e16a8b5a1e41be9f4c2de59d5ddd7567b8b81405f532ca00a9880e90610d4890849061422a565b60405180910390a250565b600e6020526000908152604090205481565b610b1182826123da565b670de0b6b3a764000081565b6002546001600160a01b031681565b6801158e460913d0000081565b601154600160801b90046001600160801b031681565b6004546001600160a01b031681565b60008054604080516272c7d360e71b8152905183926001600160a01b031691633963e980916004808301926020929190829003018186803b158015610e0057600080fd5b505afa158015610e14573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e3891906138c3565b90506000600160009054906101000a90046001600160a01b03166001600160a01b0316633963e9806040518163ffffffff1660e01b815260040160206040518083038186803b158015610e8a57600080fd5b505afa158015610e9e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ec291906138c3565b9050610ed4828263ffffffff61082a16565b9250505090565b6000546001600160a01b031681565b601360209081526000928352604080842090915290825290205481565b6001600160a01b0381166000908152600e602052604081205480610f2f576000915050610c1b565b6001600160a01b0383166000908152600d602052604081205490610f61670de0b6b3a76400008363ffffffff61257d16565b9050610f6b6136e7565b506001600160a01b0385166000908152600f60209081526040808320815160a08101835281548152600182015493810193909352600281015491830191909152600301546001600160801b038082166060840152600160801b90910416608082015290611000670de0b6b3a7640000610ff4610fe788866125bf565b869063ffffffff61264b16565b9063ffffffff61268516565b979650505050505050565b600c602052600090815260409020805460018201546002830154600390930154919290916001600160801b0380821691600160801b90041685565b6000805460408051630a7b61df60e11b8152905183926001600160a01b0316916314f6c3be916004808301926020929190829003018186803b15801561108b57600080fd5b505afa15801561109f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110c391906138c3565b90506000600160009054906101000a90046001600160a01b03166001600160a01b03166314f6c3be6040518163ffffffff1660e01b815260040160206040518083038186803b158015610e8a57600080fd5b6000806040516111249061397a565b6040519081900390205492915050565b60105481565b6008546001600160a01b031681565b6003546001600160a01b031681565b6040518060400160405280600d81526020016c14dd18589a5b1a5d1e541bdbdb609a1b81525081565b6011546001600160801b031681565b600d602052600090815260409020805460019091015460ff1682565b6007546001600160a01b031681565b60165481565b60145481565b600a5490565b6001600160a01b0381166000908152600b6020526040812054806111f5576000915050610c1b565b6001600160a01b038084166000908152600b602052604081206001015490911690811561123a576001600160a01b0382166000908152600d6020526040902054611244565b670de0b6b3a76400005b905061124e6136e7565b506001600160a01b0385166000908152600c60209081526040808320815160a08101835281548152600182015493810193909352600281015491830191909152600301546001600160801b038082166060840152600160801b90910416608082015290611000670de0b6b3a7640000610ff4610fe788866125bf565b600480546040805163e9fc346160e01b8152905160009361135c936001600160a01b03169263e9fc34619281830192602092829003018186803b15801561131057600080fd5b505afa158015611324573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611348919061375b565b60065485906001600160a01b0316856126c7565b90506113698160006123da565b505050565b633b9aca0081565b61137e611115565b6001600160a01b0316336001600160a01b0316146113ae5760405162461bcd60e51b815260040161081f90613f71565b6113b78861296c565b6113c08761296c565b6113c98661296c565b6113d28561296c565b6113db8461296c565b6113e48361296c565b6113ed8261296c565b6113f68161296c565b670de0b6b3a7640000601055600380546001600160a01b03199081166001600160a01b038b8116919091179092556004805482168a8416179055600580548216898416179055600080548216888416179055600680548216878416179055600780548216868416179055600280548216858416179055600880549091169183169190911790556040517f3ca631ffcd2a9b5d9ae18543fc82f58eb4ca33af9e6ab01b7a8e95331e6ed985906114ac908990613997565b60405180910390a17f143219c9e69b09e07e095fcc889b43d8f46ca892bba65f08dc3a0050869a5678866040516114e39190613997565b60405180910390a17f78f058b189175430c48dc02699e3a0031ea4ff781536dc2fab847de4babdd8828560405161151a9190613997565b60405180910390a17fcdf33850c44a1a874b5fefb51dae615ac6afebd581ef90d571f81b06541d8e9d846040516115519190613997565b60405180910390a17f65f4cf077bc01e4742eb5ad98326f6e95b63548ea24b17f8d5e823111fe78800836040516115889190613997565b60405180910390a17f8c537274438aa850a330284665d81a85dd38267d09e4050d416bfc94142db264826040516115bf9190613997565b60405180910390a17f3055265812fb8447b9ada4a5d804ec43bd528ec40e89c952bbc7b85dc5ac6811816040516115f69190613997565b60405180910390a15050505050505050565b60155481565b6001600160a01b0381166000908152600e602052604081205480611636576000915050610c1b565b61163e6136e7565b506001600160a01b0383166000908152600f60209081526040808320815160a08101835281548152600182015493810193909352600281015491830191909152600301546001600160801b038082166060840152600160801b90910416608082015290610c158383612243565b6006546001600160a01b031681565b600b60205260009081526040902080546001909101546001600160a01b031682565b336000908152600b60205260409020546116f5816129b1565b6116fe336129d1565b61170733612a70565b6008546001600160a01b031661171c81611ba2565b600061172733610b78565b9050600061173433610c3e565b90506000611748858363ffffffff61257d16565b336000818152600b60205260409020600101549192506001600160a01b039091169061177690869083612a9d565b60006117818261160e565b90508061178e8382612c12565b826001600160a01b031660008051602061431e83398151915282336040516117b7929190614233565b60405180910390a26117c93386612d5a565b336001600160a01b03166000805160206142fe83398151915287866040516117f2929190613a90565b60405180910390a2336001600160a01b03166000805160206142de83398151915286604051611821919061422a565b60405180910390a260095461183c908763ffffffff61257d16565b60098190556040516000805160206142be8339815191529161185d9161422a565b60405180910390a17f6109e2559dfa766aaec7118351d48a523f0a4157f49c8d68749c8ac41318ad123387604051611896929190613a33565b60405180910390a1600460009054906101000a90046001600160a01b03166001600160a01b031663ea9638bf87338d8d6040518563ffffffff1660e01b81526004016118e4939291906139ab565b6000604051808303818588803b1580156118fd57600080fd5b505af1158015611911573d6000803e3d6000fd5b505050505050505050505050505050565b60006001600160a01b03821661194a5760405162461bcd60e51b815260040161081f90613e88565b821561195857611958612ecf565b336000908152600b6020526040902054611971816129b1565b6008546001600160a01b031661198681611ba2565b600061199133610b78565b9050600061199e33610c3e565b905060006119ac8883613106565b905060006119c0868463ffffffff61257d16565b336000818152600b60205260409020600101549192506001600160a01b03909116906119ee90879083612a9d565b60006119f98261160e565b90506000611a0d828663ffffffff61257d16565b9050611a198382612c12565b826001600160a01b031660008051602061431e8339815191528233604051611a42929190614233565b60405180910390a2611a548b8661311c565b6000611a66878763ffffffff61257d16565b9050611a723382612d5a565b336001600160a01b03166000805160206142de83398151915282604051611a99919061422a565b60405180910390a2336001600160a01b03166000805160206142fe8339815191528987604051611aca929190613a90565b60405180910390a2611adc8833613195565b50939b9a5050505050505050505050565b6001600160a01b038116611b135760405162461bcd60e51b815260040161081f90613cf3565b806001600160a01b0316611b25611115565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000604051611b689061397a565b6040519081900390209190915550565b6005546001600160a01b031633146108285760405162461bcd60e51b815260040161081f90613dbd565b6000816001600160a01b031663e59be5866040518163ffffffff1660e01b8152600401602060405180830381600087803b158015611bdf57600080fd5b505af1158015611bf3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c1791906138c3565b9050610b11816132c4565b6000806000611c54601554611c48670de0b6b3a76400008961264b90919063ffffffff16565b9063ffffffff61082a16565b905083851115611c6057fe5b83851415611c7d576000601655670de0b6b3a76400009150611cdd565b601654600090611cab90611c9f88670de0b6b3a764000063ffffffff61264b16565b9063ffffffff61257d16565b9050611cc26001611c48838863ffffffff61268516565b9250611cd881611c9f858863ffffffff61264b16565b601655505b611ced818563ffffffff61268516565b9250611d0f611d02848663ffffffff61264b16565b829063ffffffff61257d16565b60155550935093915050565b6010546000670de0b6b3a7640000831115611d3257fe5b6000611d4c670de0b6b3a76400008563ffffffff61257d16565b6011546001600160801b03600160801b820481166000818152601260209081526040808320949095168083529390529283205493945090929091611d90898861264b565b90506000611da4838363ffffffff61082a16565b6001600160801b038086166000908152601260209081526040808320938a168352929052819020829055519091507fe12e2cd2c9afa8069203ca07e7eff1edce4a075686d0736a8e7e0d593597b20790611e039083908790899061425a565b60405180910390a185611edc57611e2a6001600160801b038516600163ffffffff6133d516565b601180546001600160801b03908116600160801b938216840217918290556040517fb50f0f59e7cb5b421dc77581c3a9919e3806e076e5fa78a874c3f120cb7d874d93611e7b930490911690614216565b60405180910390a1601180546001600160801b03191690556040517f1f9dfc70cd666adb18a39d60a797518f7b4febf4b6e24ef37d44f6e1e7219fbe90611ec490600090614216565b60405180910390a1670de0b6b3a76400009650611fc9565b633b9aca00611efd670de0b6b3a7640000610ff48b8a63ffffffff61264b16565b1015611faa57611f33670de0b6b3a7640000610ff4633b9aca00611f278c8b63ffffffff61264b16565b9063ffffffff61264b16565b9650611f4f6001600160801b038616600163ffffffff6133d516565b601180546001600160801b0319166001600160801b0392831617908190556040517f1f9dfc70cd666adb18a39d60a797518f7b4febf4b6e24ef37d44f6e1e7219fbe92611f9d921690614216565b60405180910390a1611fc9565b611fc6670de0b6b3a7640000610ff48a8963ffffffff61264b16565b96505b60008711611fd357fe5b60108790556040517fc1a9618cb59ebca77cbdbc2949f126823c407ff13edb285fd0262519a9c18e8c9061200890899061422a565b60405180910390a150505050505050505050565b60005460405163121cbc4d60e11b81526001600160a01b03909116908190632439789a9061204e90859060040161422a565b600060405180830381600087803b15801561206857600080fd5b505af115801561207c573d6000803e3d6000fd5b5050505061208982613406565b600654604051632770a7eb60e21b81526001600160a01b0390911690639dc29fac906120bb9030908690600401613a33565b600060405180830381600087803b1580156120d557600080fd5b505af11580156120e9573d6000803e3d6000fd5b50506040516364a197f360e01b81526001600160a01b03841692506364a197f3915061211b9030908790600401613a33565b600060405180830381600087803b15801561213557600080fd5b505af1158015612149573d6000803e3d6000fd5b50505050505050565b6080810151606082015182516020808501516001600160801b038086166000908152601284526040808220928716825291909352822054919493929185906121a0908463ffffffff61257d16565b6001600160801b0380871660009081526012602052604081209293509161220391633b9aca00919084906121dd908a16600163ffffffff6133d516565b6001600160801b031681526020810191909152604001600020549063ffffffff61268516565b90506000612235670de0b6b3a7640000610ff48681612228888863ffffffff61082a16565b8f9063ffffffff61264b16565b9a9950505050505050505050565b6020810151606082015160808301516011546000939291906001600160801b03600160801b909104811690821610156122825760009350505050610852565b60115460009081906122a3906001600160801b03168563ffffffff61346016565b90506001600160801b0381166122d3576122cc85610ff46010548b61264b90919063ffffffff16565b915061230b565b806001600160801b031660011415612306576122cc633b9aca00610ff487610ff46010548d61264b90919063ffffffff16565b600091505b61231f88633b9aca0063ffffffff61268516565b82101561233457600095505050505050610852565b509695505050505050565b6001600160a01b0381166000908152600d602052604090206001015460ff1615610a995760405162461bcd60e51b815260040161081f90613fa2565b6001600160a01b0381166000908152600b60205260409020548015610b115760405162461bcd60e51b815260040161081f90613ffb565b670de0b6b3a7640000811115610a995760405162461bcd60e51b815260040161081f90613ed8565b6123e38161349a565b6123ec3361233f565b6123f5826134e7565b336000908152600b60205260409020546008546001600160a01b031661241a81611ba2565b81612429576124293384613507565b600061243433610b78565b9050600061244133610c3e565b90506000612455858363ffffffff61257d16565b336000818152600b60205260409020600101549192506001600160a01b039091169061248390869083612a9d565b600061248e8261160e565b905060006124a2828b63ffffffff61082a16565b90506124ae8382612c12565b826001600160a01b031660008051602061431e83398151915282336040516124d7929190614233565b60405180910390a26124e9338b613561565b60006124fb868c63ffffffff61082a16565b90506125073382612d5a565b336001600160a01b03166000805160206142de8339815191528260405161252e919061422a565b60405180910390a2336001600160a01b03166000805160206142fe833981519152888760405161255f929190613a90565b60405180910390a261257087613615565b5050505050505050505050565b600061084f83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061361f565b608081015160608201516040808401516020808601516001600160801b0380871660009081526013845285812091871681529252928120549094939290859061260e908463ffffffff61257d16565b6001600160801b0380871660009081526013602052604081209293509161220391633b9aca00919084906121dd908a16600163ffffffff6133d516565b60008261265a57506000610852565b8282028284828161266757fe5b041461084f5760405162461bcd60e51b815260040161081f90613e47565b600061084f83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061364b565b600080856001600160a01b03166321df0da76040518163ffffffff1660e01b815260040160206040518083038186803b15801561270357600080fd5b505afa158015612717573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061273b919061375b565b90506000816001600160a01b03166370a08231306040518263ffffffff1660e01b815260040161276b9190613997565b60206040518083038186803b15801561278357600080fd5b505afa158015612797573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127bb91906138c3565b9050306001600160a01b03831663605629d633838a89356127e260408c0160208d01613956565b8b604001358c606001356040518863ffffffff1660e01b815260040161280e97969594939291906139f2565b600060405180830381600087803b15801561282857600080fd5b505af115801561283c573d6000803e3d6000fd5b50505050866128c183856001600160a01b03166370a08231856040518263ffffffff1660e01b81526004016128719190613997565b60206040518083038186803b15801561288957600080fd5b505afa15801561289d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c9f91906138c3565b146128de5760405162461bcd60e51b815260040161081f90613b73565b60405163fb2c922360e01b81526001600160a01b0389169063fb2c92239061290e9089908b903390600401613a6d565b602060405180830381600087803b15801561292857600080fd5b505af115801561293c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061296091906138c3565b98975050505050505050565b6001600160a01b0381166129925760405162461bcd60e51b815260040161081f90613d35565b803b80610b115760405162461bcd60e51b815260040161081f9061409a565b60008111610a995760405162461bcd60e51b815260040161081f906140cf565b6005546040516321e3780160e01b81526001600160a01b03909116906321e3780190612a01908490600401613997565b60206040518083038186803b158015612a1957600080fd5b505afa158015612a2d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612a5191906138c3565b600114610a995760405162461bcd60e51b815260040161081f90613b07565b6000612a7b82610b78565b905060008111610b115760405162461bcd60e51b815260040161081f90613d6c565b6001600160a01b03811615612b5d576000612ab782610f07565b6040516306e6c58360e31b81529091506001600160a01b038516906337362c1890612ae89085908590600401613a33565b600060405180830381600087803b158015612b0257600080fd5b505af1158015612b16573d6000803e3d6000fd5b50505050816001600160a01b03167fea80c5084fc812c1d3ccd3e420d32e85001442759aa2261773ffa052cbd660b682604051612b53919061422a565b60405180910390a2505b6000612b68836111cd565b6040516306e6c58360e31b81529091506001600160a01b038516906337362c1890612b999086908590600401613a33565b600060405180830381600087803b158015612bb357600080fd5b505af1158015612bc7573d6000803e3d6000fd5b50505050826001600160a01b03167fc250d4f5c804eafb4ed97612e247bbc934de6fede0e59e4d263e190fb335193f82604051612c04919061422a565b60405180910390a250505050565b6001600160a01b0382166000908152600e6020526040902081905580612c9d576001600160a01b0382166000818152600f60205260408082208281556001810183905560028101839055600301829055517fbb1322f85cc7cc8bac4e172a5bc5dcc0c1959007f9a030032abf9258205f0e4591612c90918190613a90565b60405180910390a2610b11565b6011546010546001600160801b03600160801b80840482166000818152601360209081526040808320978616808452978252808320546001600160a01b038b16808552600f90935292819020600181018890556002810184905560030180546001600160801b0319168917909616948402949094179094559151909392907fbb1322f85cc7cc8bac4e172a5bc5dcc0c1959007f9a030032abf9258205f0e4590612d4a9085908590613a90565b60405180910390a2505050505050565b6001600160a01b0382166000908152600b6020526040902081905580612df8576001600160a01b0382166000818152600b60209081526040808320600190810180546001600160a01b0319169055600c909252808320838155918201839055600282018390556003909101829055517f2d6cc0bcdf72c9486f6451bde6b80f44066f4558f77f44dbfedbe7d8b295225a91612c909181908190613a9e565b6011546010546001600160801b03600160801b8084048216600081815260126020908152604080832097861680845297825280832054848452601383528184208985528352818420546001600160a01b038c16808652600c90945293829020600181018990558181556002810185905560030180546001600160801b0319168a1790971695850295909517909555935191949390917f2d6cc0bcdf72c9486f6451bde6b80f44066f4558f77f44dbfedbe7d8b295225a90612ebe90869086908690613a9e565b60405180910390a250505050505050565b60025460408051630fdb11cf60e01b815290516000926001600160a01b031691630fdb11cf91600480830192602092919082900301818787803b158015612f1557600080fd5b505af1158015612f29573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612f4d91906138c3565b90506000600760009054906101000a90046001600160a01b03166001600160a01b0316634d6228316040518163ffffffff1660e01b815260040160206040518083038186803b158015612f9f57600080fd5b505afa158015612fb3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612fd7919061375b565b600554604051630d293c7160e41b81529192506000916001600160a01b039091169063d293c7109061300f9085908790600401613a33565b60206040518083038186803b15801561302757600080fd5b505afa15801561303b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061305f91906138c3565b9050600360009054906101000a90046001600160a01b03166001600160a01b031663794e57246040518163ffffffff1660e01b815260040160206040518083038186803b1580156130af57600080fd5b505afa1580156130c3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906130e791906138c3565b8110156113695760405162461bcd60e51b815260040161081f906141ac565b6000818310613115578161084f565b5090919050565b8061312657610b11565b600654604051631062c15f60e11b81526001600160a01b03909116906320c582be9061315a903090869086906004016139ce565b600060405180830381600087803b15801561317457600080fd5b505af1158015613188573d6000803e3d6000fd5b50505050610b1181613406565b6001600160a01b0381166131bb5760405162461bcd60e51b815260040161081f90613bf3565b816131c557610b11565b6009546000906131db908463ffffffff61257d16565b9050806009819055506000805160206142be83398151915281604051613201919061422a565b60405180910390a17f6109e2559dfa766aaec7118351d48a523f0a4157f49c8d68749c8ac41318ad12338460405161323a929190613a33565b60405180910390a16000336001600160a01b03168460405161325b90613977565b60006040518083038185875af1925050503d8060008114613298576040519150601f19603f3d011682016040523d82523d6000602084013e61329d565b606091505b50509050806132be5760405162461bcd60e51b815260040161081f90613e06565b50505050565b600a548015806132d2575081155b156132dd5750610a99565b60006132e98383613682565b905060006133026010548361264b90919063ffffffff16565b6011546001600160801b03600160801b820481166000908152601360209081526040808320939094168252919091522054909150613346908263ffffffff61082a16565b601180546001600160801b03600160801b80830482166000908152601360208181526040808420968616845295815285832097909755945491820483168082529486528381209190921680835294528190205490517f2d6127771b164a9cc8827d24b5955db2a77e7a81dac389107ebb8bce9fb64968936133c7939161425a565b60405180910390a150505050565b60008282016001600160801b03808516908216101561084f5760405162461bcd60e51b815260040161081f90614167565b600a5460009061341c908363ffffffff61257d16565b905080600a819055507ff3c69a10dcea5d744225cbe910fb39d6f8208bb8e21fff523d6756a7966093c781604051613454919061422a565b60405180910390a15050565b6000826001600160801b0316826001600160801b031611156134945760405162461bcd60e51b815260040161081f9061411f565b50900390565b6001600160a01b0381166000908152600d602052604090206001015460ff16806134cb57506001600160a01b038116155b610a995760405162461bcd60e51b815260040161081f90613c40565b60008111610a995760405162461bcd60e51b815260040161081f90613f2b565b6001600160a01b038281166000818152600b602052604080822060010180546001600160a01b0319169486169485179055517f094c08e96a8890877a8390b4f967180a7507ad8622244d05fcd0f9f8e086564e9190a35050565b600654604051632ee65eeb60e21b81526001600160a01b039091169063bb997bac90613595908590309086906004016139ce565b600060405180830381600087803b1580156135af57600080fd5b505af11580156135c3573d6000803e3d6000fd5b5050600a54600092506135dd91508363ffffffff61082a16565b905080600a819055507ff3c69a10dcea5d744225cbe910fb39d6f8208bb8e21fff523d6756a7966093c781604051610a4b919061422a565b610a998133613195565b600081848411156136435760405162461bcd60e51b815260040161081f9190613ab4565b505050900390565b6000818361366c5760405162461bcd60e51b815260040161081f9190613ab4565b50600083858161367857fe5b0495945050505050565b6000806136a6601454611c48670de0b6b3a76400008761264b90919063ffffffff16565b905060006136ba828563ffffffff61268516565b90506136dc6136cf828663ffffffff61264b16565b839063ffffffff61257d16565b601455949350505050565b6040518060a0016040528060008152602001600081526020016000815260200160006001600160801b0316815260200160006001600160801b031681525090565b80356001600160801b038116811461085257600080fd5b600060208284031215613750578081fd5b813561084f816142a8565b60006020828403121561376c578081fd5b815161084f816142a8565b60008060408385031215613789578081fd5b8235613794816142a8565b915060208301356137a4816142a8565b809150509250929050565b600080600080600080600080610100898b0312156137cb578384fd5b88356137d6816142a8565b975060208901356137e6816142a8565b965060408901356137f6816142a8565b95506060890135613806816142a8565b94506080890135613816816142a8565b935060a0890135613826816142a8565b925060c0890135613836816142a8565b915060e0890135613846816142a8565b809150509295985092959890939650565b600060208284031215613868578081fd5b8151801515811461084f578182fd5b60008060408385031215613889578182fd5b6138938484613728565b91506138a28460208501613728565b90509250929050565b6000602082840312156138bc578081fd5b5035919050565b6000602082840312156138d4578081fd5b5051919050565b600080604083850312156138ed578182fd5b8235915060208301356137a4816142a8565b60008082840360a0811215613912578283fd5b833592506080601f1982011215613927578182fd5b506020830190509250929050565b60008060408385031215613947578182fd5b50508035926020909101359150565b600060208284031215613967578081fd5b813560ff8116811461084f578182fd5b90565b7035b2bc9737bbb730b136329737bbb732b960791b815260110190565b6001600160a01b0391909116815260200190565b6001600160a01b0393841681529183166020830152909116604082015260600190565b6001600160a01b039384168152919092166020820152604081019190915260600190565b6001600160a01b0397881681529590961660208601526040850193909352606084019190915260ff16608083015260a082015260c081019190915260e00190565b6001600160a01b03929092168252602082015260400190565b6001600160a01b039390931683526020830191909152604082015260600190565b6001600160a01b0393841681526020810192909252909116604082015260600190565b918252602082015260400190565b9283526020830191909152604082015260600190565b6000602080835283518082850152825b81811015613ae057858101830151858201604001528201613ac4565b81811115613af15783604083870101525b50601f01601f1916929092016040019392505050565b60208082526046908201527f53746162696c697479506f6f6c3a2063616c6c6572206d75737420686176652060408201527f616e206163746976652074726f766520746f207769746864726177204554484760608201526561696e20746f60d01b608082015260a00190565b60208082526029908201527f444c4c52207472616e7366657272656420616d6f756e742076616c69646174696040820152681bdb8819985a5b195960ba1b606082015260800190565b6020808252601b908201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604082015260600190565b6020808252602d908201527f53503a3a5f73656e644554484761696e546f3a205f726563656976657220697360408201526c207a65726f206164647265737360981b606082015260800190565b60208082526046908201527f53746162696c697479506f6f6c3a20546167206d75737420626520612072656760408201527f697374657265642066726f6e7420656e642c206f7220746865207a65726f206160608201526564647265737360d01b608082015260a00190565b60208082526027908201527f53746162696c697479506f6f6c3a2043616c6c6572206973206e6f74204163746040820152661a5d99541bdbdb60ca1b606082015260800190565b60208082526022908201527f4f776e61626c653a3a7365744f776e65723a20696e76616c6964206164647265604082015261737360f01b606082015260800190565b6020808252601e908201527f4163636f756e742063616e6e6f74206265207a65726f20616464726573730000604082015260600190565b60208082526031908201527f53746162696c697479506f6f6c3a2063616c6c6572206d7573742068617665206040820152703737b716bd32b9379022aa241023b0b4b760791b606082015260800190565b60208082526029908201527f53746162696c697479506f6f6c3a2043616c6c6572206973206e6f742054726f6040820152683b32a6b0b730b3b2b960b91b606082015260800190565b60208082526021908201527f53746162696c697479506f6f6c3a2073656e64696e6720455448206661696c656040820152601960fa1b606082015260800190565b60208082526021908201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6040820152607760f81b606082015260800190565b60208082526030908201527f53503a3a5f776974686472617746726f6d5370546f3a205f726563656976657260408201526f206973207a65726f206164647265737360801b606082015260800190565b60208082526033908201527f53746162696c697479506f6f6c3a204b69636b6261636b2072617465206d75736040820152727420626520696e2072616e6765205b302c315d60681b606082015260800190565b60208082526026908201527f53746162696c697479506f6f6c3a20416d6f756e74206d757374206265206e6f6040820152656e2d7a65726f60d01b606082015260800190565b60208082526017908201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604082015260600190565b60208082526039908201527f53746162696c697479506f6f6c3a206d757374206e6f7420616c72656164792060408201527818994818481c9959da5cdd195c995908199c9bdb9d08195b99603a1b606082015260800190565b60208082526028908201527f53746162696c697479506f6f6c3a2055736572206d7573742068617665206e6f6040820152670819195c1bdcda5d60c21b606082015260800190565b60208082526037908201527f4661696c656420746f20617070726f7665205a55534420616d6f756e7420666f60408201527672204d796e74206d417373657420746f2072656465656d60481b606082015260800190565b6020808252818101527f4163636f756e7420636f64652073697a652063616e6e6f74206265207a65726f604082015260600190565b60208082526030908201527f53746162696c697479506f6f6c3a2055736572206d757374206861766520612060408201526f1b9bdb8b5e995c9bc819195c1bdcda5d60821b606082015260800190565b60208082526028908201527f4c697175697479536166654d6174683132383a207375627472616374696f6e206040820152676f766572666c6f7760c01b606082015260800190565b60208082526025908201527f4c697175697479536166654d6174683132383a206164646974696f6e206f766560408201526472666c6f7760d81b606082015260800190565b60208082526044908201527f53746162696c697479506f6f6c3a2043616e6e6f74207769746864726177207760408201527f68696c65207468657265206172652074726f766573207769746820494352203c6060820152631026a1a960e11b608082015260a00190565b6001600160801b0391909116815260200190565b90815260200190565b9182526001600160a01b0316602082015260400190565b9182521515602082015260400190565b9283526001600160801b03918216602084015216604082015260600190565b948552602085019390935260408401919091526001600160801b03908116606084015216608082015260a00190565b6001600160a01b0381168114610a9957600080fdfeceb6d671277d4354fd29977ada70695fbd93a16612abf765d6b0e25c28dc6db3bce78369dccab09eec1986f4d409ab09ffbb47d65423e5148fcf98411c5111c951457222ebca92c335c9c86e2baa1cc0e40ffaa9084a51452980d5ba8dec2f6399920012339b5a3368d3a04b8606ce412c46ed92b7dcd8602d41fc8862cb8f25a2646970667358221220e955fa7f80b9ad38eba52b70ed60457b452eb83b2417f8f09df3b2acb6ae421364736f6c634300060b0033", - "deployedBytecode": "0x60806040526004361061028c5760003560e01c80638692a8a21161015a578063b31ee965116100c1578063d733cfd01161007a578063d733cfd01461073d578063d7fb04431461075d578063df9cd84f14610772578063ec9f7d4614610792578063fc7e286d146107a7578063fda0101a146107d5576102d7565b8063b31ee965146106a9578063b71d3bf3146106be578063bdaf37ea146106d3578063c0a90828146106e8578063c3a34a0e14610708578063ce4b5bbe14610728576102d7565b80639f070670116101135780639f0706701461061a578063a20baee6146104c6578063a3f4df7e1461062f578063a4e59ac814610651578063a7bfff9714610666578063ae91875414610694576102d7565b80638692a8a21461058657806386da0824146105a6578063887105d3146105c6578063893d20e8146105db5780638b8fbd92146105f057806395fb16bb14610605576102d7565b806340ed1afd116101fe578063759b3034116101b7578063759b3034146104f0578063766718081461050557806377553ad414610527578063795d26c31461053c5780637f7dde4a1461055157806382e0a57414610566576102d7565b806340ed1afd14610446578063556be101146104665780635d2de642146104865780635f788d65146104a657806372fe25aa146104c6578063741bef1a146104db576102d7565b806328a0a04d1161025057806328a0a04d1461038f5780632e54bf95146103af578063335525ad146103cf578063389e92a5146103ef5780633cc742251461040f5780633d83908a14610431576102d7565b80630fbfe38b146102dc57806313af4035146102fe57806314f6c3be1461031e57806316b9d3c5146103495780631bf435551461037a576102d7565b366102d7576102996107f5565b6009546102ac903463ffffffff61082a16565b60098190556040516000805160206142be833981519152916102cd9161422a565b60405180910390a1005b600080fd5b3480156102e857600080fd5b506102fc6102f73660046138ab565b610858565b005b34801561030a57600080fd5b506102fc61031936600461373f565b610a58565b34801561032a57600080fd5b50610333610a9c565b604051610340919061422a565b60405180910390f35b34801561035557600080fd5b5061036961036436600461373f565b610aa2565b604051610340959493929190614279565b34801561038657600080fd5b50610333610add565b34801561039b57600080fd5b506103336103aa366004613877565b610aea565b3480156103bb57600080fd5b506102fc6103ca3660046138ab565b610b07565b3480156103db57600080fd5b506102fc6103ea366004613935565b610b15565b3480156103fb57600080fd5b5061033361040a36600461373f565b610b78565b34801561041b57600080fd5b50610424610c20565b6040516103409190613997565b34801561043d57600080fd5b50610424610c2f565b34801561045257600080fd5b5061033361046136600461373f565b610c3e565b34801561047257600080fd5b506102fc6104813660046138ab565b610cdb565b34801561049257600080fd5b506103336104a136600461373f565b610d53565b3480156104b257600080fd5b506102fc6104c13660046138db565b610d65565b3480156104d257600080fd5b50610333610d6f565b3480156104e757600080fd5b50610424610d7b565b3480156104fc57600080fd5b50610333610d8a565b34801561051157600080fd5b5061051a610d97565b6040516103409190614216565b34801561053357600080fd5b50610424610dad565b34801561054857600080fd5b50610333610dbc565b34801561055d57600080fd5b50610424610edb565b34801561057257600080fd5b50610333610581366004613877565b610eea565b34801561059257600080fd5b506103336105a136600461373f565b610f07565b3480156105b257600080fd5b506103696105c136600461373f565b61100b565b3480156105d257600080fd5b50610333611046565b3480156105e757600080fd5b50610424611115565b3480156105fc57600080fd5b50610333611134565b34801561061157600080fd5b5061042461113a565b34801561062657600080fd5b50610424611149565b34801561063b57600080fd5b50610644611158565b6040516103409190613ab4565b34801561065d57600080fd5b5061051a611181565b34801561067257600080fd5b5061068661068136600461373f565b611190565b60405161034092919061424a565b3480156106a057600080fd5b506104246111ac565b3480156106b557600080fd5b506103336111bb565b3480156106ca57600080fd5b506103336111c1565b3480156106df57600080fd5b506103336111c7565b3480156106f457600080fd5b5061033361070336600461373f565b6111cd565b34801561071457600080fd5b506102fc6107233660046138ff565b6112ca565b34801561073457600080fd5b5061033361136e565b34801561074957600080fd5b506102fc6107583660046137af565b611376565b34801561076957600080fd5b50610333611608565b34801561077e57600080fd5b5061033361078d36600461373f565b61160e565b34801561079e57600080fd5b506104246116ab565b3480156107b357600080fd5b506107c76107c236600461373f565b6116ba565b604051610340929190614233565b3480156107e157600080fd5b506102fc6107f0366004613777565b6116dc565b6000546001600160a01b031633146108285760405162461bcd60e51b815260040161081f90613cac565b60405180910390fd5b565b60008282018381101561084f5760405162461bcd60e51b815260040161081f90613bbc565b90505b92915050565b6000600460009054906101000a90046001600160a01b03166001600160a01b031663e9fc34616040518163ffffffff1660e01b815260040160206040518083038186803b1580156108a857600080fd5b505afa1580156108bc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108e0919061375b565b905060006108ee8330611922565b60065460405163095ea7b360e01b81529192506001600160a01b03169063095ea7b3906109219085908590600401613a33565b602060405180830381600087803b15801561093b57600080fd5b505af115801561094f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109739190613857565b61098f5760405162461bcd60e51b815260040161081f90614043565b60065460405163438b1b4b60e01b81526001600160a01b038481169263438b1b4b926109c5929091169085903390600401613a6d565b602060405180830381600087803b1580156109df57600080fd5b505af11580156109f3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a1791906138c3565b507f2b0fbec1c4e7e30517f196a714775ffe72770d2348f5d586854bb3c0fdf41df8338483604051610a4b93929190613a4c565b60405180910390a1505050565b610a60611115565b6001600160a01b0316336001600160a01b031614610a905760405162461bcd60e51b815260040161081f90613f71565b610a9981611aed565b50565b60095490565b600f602052600090815260409020805460018201546002830154600390930154919290916001600160801b0380821691600160801b90041685565b6809c2007651b250000081565b601260209081526000928352604080842090915290825290205481565b610b118133611922565b5050565b610b1d611b78565b600a54801580610b2b575082155b15610b365750610b11565b600854610b4b906001600160a01b0316611ba2565b600080610b59848685611c22565b91509150610b678282611d1b565b610b71848661201c565b5050505050565b6001600160a01b0381166000908152600b602052604081205480610ba0576000915050610c1b565b610ba86136e7565b506001600160a01b0383166000908152600c60209081526040808320815160a08101835281548152600182015493810193909352600281015491830191909152600301546001600160801b038082166060840152600160801b90910416608082015290610c158383612152565b93505050505b919050565b6001546001600160a01b031681565b6005546001600160a01b031681565b6001600160a01b0381166000908152600b602052604081205480610c66576000915050610c1b565b610c6e6136e7565b506001600160a01b0383166000908152600c60209081526040808320815160a08101835281548152600182015493810193909352600281015491830191909152600301546001600160801b038082166060840152600160801b90910416608082015290610c158383612243565b610ce43361233f565b610ced3361237b565b610cf6816123b2565b336000818152600d6020526040908190208381556001908101805460ff19169091179055517f19bc932fb9e16a8b5a1e41be9f4c2de59d5ddd7567b8b81405f532ca00a9880e90610d4890849061422a565b60405180910390a250565b600e6020526000908152604090205481565b610b1182826123da565b670de0b6b3a764000081565b6002546001600160a01b031681565b6801158e460913d0000081565b601154600160801b90046001600160801b031681565b6004546001600160a01b031681565b60008054604080516272c7d360e71b8152905183926001600160a01b031691633963e980916004808301926020929190829003018186803b158015610e0057600080fd5b505afa158015610e14573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e3891906138c3565b90506000600160009054906101000a90046001600160a01b03166001600160a01b0316633963e9806040518163ffffffff1660e01b815260040160206040518083038186803b158015610e8a57600080fd5b505afa158015610e9e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ec291906138c3565b9050610ed4828263ffffffff61082a16565b9250505090565b6000546001600160a01b031681565b601360209081526000928352604080842090915290825290205481565b6001600160a01b0381166000908152600e602052604081205480610f2f576000915050610c1b565b6001600160a01b0383166000908152600d602052604081205490610f61670de0b6b3a76400008363ffffffff61257d16565b9050610f6b6136e7565b506001600160a01b0385166000908152600f60209081526040808320815160a08101835281548152600182015493810193909352600281015491830191909152600301546001600160801b038082166060840152600160801b90910416608082015290611000670de0b6b3a7640000610ff4610fe788866125bf565b869063ffffffff61264b16565b9063ffffffff61268516565b979650505050505050565b600c602052600090815260409020805460018201546002830154600390930154919290916001600160801b0380821691600160801b90041685565b6000805460408051630a7b61df60e11b8152905183926001600160a01b0316916314f6c3be916004808301926020929190829003018186803b15801561108b57600080fd5b505afa15801561109f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110c391906138c3565b90506000600160009054906101000a90046001600160a01b03166001600160a01b03166314f6c3be6040518163ffffffff1660e01b815260040160206040518083038186803b158015610e8a57600080fd5b6000806040516111249061397a565b6040519081900390205492915050565b60105481565b6008546001600160a01b031681565b6003546001600160a01b031681565b6040518060400160405280600d81526020016c14dd18589a5b1a5d1e541bdbdb609a1b81525081565b6011546001600160801b031681565b600d602052600090815260409020805460019091015460ff1682565b6007546001600160a01b031681565b60165481565b60145481565b600a5490565b6001600160a01b0381166000908152600b6020526040812054806111f5576000915050610c1b565b6001600160a01b038084166000908152600b602052604081206001015490911690811561123a576001600160a01b0382166000908152600d6020526040902054611244565b670de0b6b3a76400005b905061124e6136e7565b506001600160a01b0385166000908152600c60209081526040808320815160a08101835281548152600182015493810193909352600281015491830191909152600301546001600160801b038082166060840152600160801b90910416608082015290611000670de0b6b3a7640000610ff4610fe788866125bf565b600480546040805163e9fc346160e01b8152905160009361135c936001600160a01b03169263e9fc34619281830192602092829003018186803b15801561131057600080fd5b505afa158015611324573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611348919061375b565b60065485906001600160a01b0316856126c7565b90506113698160006123da565b505050565b633b9aca0081565b61137e611115565b6001600160a01b0316336001600160a01b0316146113ae5760405162461bcd60e51b815260040161081f90613f71565b6113b78861296c565b6113c08761296c565b6113c98661296c565b6113d28561296c565b6113db8461296c565b6113e48361296c565b6113ed8261296c565b6113f68161296c565b670de0b6b3a7640000601055600380546001600160a01b03199081166001600160a01b038b8116919091179092556004805482168a8416179055600580548216898416179055600080548216888416179055600680548216878416179055600780548216868416179055600280548216858416179055600880549091169183169190911790556040517f3ca631ffcd2a9b5d9ae18543fc82f58eb4ca33af9e6ab01b7a8e95331e6ed985906114ac908990613997565b60405180910390a17f143219c9e69b09e07e095fcc889b43d8f46ca892bba65f08dc3a0050869a5678866040516114e39190613997565b60405180910390a17f78f058b189175430c48dc02699e3a0031ea4ff781536dc2fab847de4babdd8828560405161151a9190613997565b60405180910390a17fcdf33850c44a1a874b5fefb51dae615ac6afebd581ef90d571f81b06541d8e9d846040516115519190613997565b60405180910390a17f65f4cf077bc01e4742eb5ad98326f6e95b63548ea24b17f8d5e823111fe78800836040516115889190613997565b60405180910390a17f8c537274438aa850a330284665d81a85dd38267d09e4050d416bfc94142db264826040516115bf9190613997565b60405180910390a17f3055265812fb8447b9ada4a5d804ec43bd528ec40e89c952bbc7b85dc5ac6811816040516115f69190613997565b60405180910390a15050505050505050565b60155481565b6001600160a01b0381166000908152600e602052604081205480611636576000915050610c1b565b61163e6136e7565b506001600160a01b0383166000908152600f60209081526040808320815160a08101835281548152600182015493810193909352600281015491830191909152600301546001600160801b038082166060840152600160801b90910416608082015290610c158383612243565b6006546001600160a01b031681565b600b60205260009081526040902080546001909101546001600160a01b031682565b336000908152600b60205260409020546116f5816129b1565b6116fe336129d1565b61170733612a70565b6008546001600160a01b031661171c81611ba2565b600061172733610b78565b9050600061173433610c3e565b90506000611748858363ffffffff61257d16565b336000818152600b60205260409020600101549192506001600160a01b039091169061177690869083612a9d565b60006117818261160e565b90508061178e8382612c12565b826001600160a01b031660008051602061431e83398151915282336040516117b7929190614233565b60405180910390a26117c93386612d5a565b336001600160a01b03166000805160206142fe83398151915287866040516117f2929190613a90565b60405180910390a2336001600160a01b03166000805160206142de83398151915286604051611821919061422a565b60405180910390a260095461183c908763ffffffff61257d16565b60098190556040516000805160206142be8339815191529161185d9161422a565b60405180910390a17f6109e2559dfa766aaec7118351d48a523f0a4157f49c8d68749c8ac41318ad123387604051611896929190613a33565b60405180910390a1600460009054906101000a90046001600160a01b03166001600160a01b031663ea9638bf87338d8d6040518563ffffffff1660e01b81526004016118e4939291906139ab565b6000604051808303818588803b1580156118fd57600080fd5b505af1158015611911573d6000803e3d6000fd5b505050505050505050505050505050565b60006001600160a01b03821661194a5760405162461bcd60e51b815260040161081f90613e88565b821561195857611958612ecf565b336000908152600b6020526040902054611971816129b1565b6008546001600160a01b031661198681611ba2565b600061199133610b78565b9050600061199e33610c3e565b905060006119ac8883613106565b905060006119c0868463ffffffff61257d16565b336000818152600b60205260409020600101549192506001600160a01b03909116906119ee90879083612a9d565b60006119f98261160e565b90506000611a0d828663ffffffff61257d16565b9050611a198382612c12565b826001600160a01b031660008051602061431e8339815191528233604051611a42929190614233565b60405180910390a2611a548b8661311c565b6000611a66878763ffffffff61257d16565b9050611a723382612d5a565b336001600160a01b03166000805160206142de83398151915282604051611a99919061422a565b60405180910390a2336001600160a01b03166000805160206142fe8339815191528987604051611aca929190613a90565b60405180910390a2611adc8833613195565b50939b9a5050505050505050505050565b6001600160a01b038116611b135760405162461bcd60e51b815260040161081f90613cf3565b806001600160a01b0316611b25611115565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000604051611b689061397a565b6040519081900390209190915550565b6005546001600160a01b031633146108285760405162461bcd60e51b815260040161081f90613dbd565b6000816001600160a01b031663e59be5866040518163ffffffff1660e01b8152600401602060405180830381600087803b158015611bdf57600080fd5b505af1158015611bf3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c1791906138c3565b9050610b11816132c4565b6000806000611c54601554611c48670de0b6b3a76400008961264b90919063ffffffff16565b9063ffffffff61082a16565b905083851115611c6057fe5b83851415611c7d576000601655670de0b6b3a76400009150611cdd565b601654600090611cab90611c9f88670de0b6b3a764000063ffffffff61264b16565b9063ffffffff61257d16565b9050611cc26001611c48838863ffffffff61268516565b9250611cd881611c9f858863ffffffff61264b16565b601655505b611ced818563ffffffff61268516565b9250611d0f611d02848663ffffffff61264b16565b829063ffffffff61257d16565b60155550935093915050565b6010546000670de0b6b3a7640000831115611d3257fe5b6000611d4c670de0b6b3a76400008563ffffffff61257d16565b6011546001600160801b03600160801b820481166000818152601260209081526040808320949095168083529390529283205493945090929091611d90898861264b565b90506000611da4838363ffffffff61082a16565b6001600160801b038086166000908152601260209081526040808320938a168352929052819020829055519091507fe12e2cd2c9afa8069203ca07e7eff1edce4a075686d0736a8e7e0d593597b20790611e039083908790899061425a565b60405180910390a185611edc57611e2a6001600160801b038516600163ffffffff6133d516565b601180546001600160801b03908116600160801b938216840217918290556040517fb50f0f59e7cb5b421dc77581c3a9919e3806e076e5fa78a874c3f120cb7d874d93611e7b930490911690614216565b60405180910390a1601180546001600160801b03191690556040517f1f9dfc70cd666adb18a39d60a797518f7b4febf4b6e24ef37d44f6e1e7219fbe90611ec490600090614216565b60405180910390a1670de0b6b3a76400009650611fc9565b633b9aca00611efd670de0b6b3a7640000610ff48b8a63ffffffff61264b16565b1015611faa57611f33670de0b6b3a7640000610ff4633b9aca00611f278c8b63ffffffff61264b16565b9063ffffffff61264b16565b9650611f4f6001600160801b038616600163ffffffff6133d516565b601180546001600160801b0319166001600160801b0392831617908190556040517f1f9dfc70cd666adb18a39d60a797518f7b4febf4b6e24ef37d44f6e1e7219fbe92611f9d921690614216565b60405180910390a1611fc9565b611fc6670de0b6b3a7640000610ff48a8963ffffffff61264b16565b96505b60008711611fd357fe5b60108790556040517fc1a9618cb59ebca77cbdbc2949f126823c407ff13edb285fd0262519a9c18e8c9061200890899061422a565b60405180910390a150505050505050505050565b60005460405163121cbc4d60e11b81526001600160a01b03909116908190632439789a9061204e90859060040161422a565b600060405180830381600087803b15801561206857600080fd5b505af115801561207c573d6000803e3d6000fd5b5050505061208982613406565b600654604051632770a7eb60e21b81526001600160a01b0390911690639dc29fac906120bb9030908690600401613a33565b600060405180830381600087803b1580156120d557600080fd5b505af11580156120e9573d6000803e3d6000fd5b50506040516364a197f360e01b81526001600160a01b03841692506364a197f3915061211b9030908790600401613a33565b600060405180830381600087803b15801561213557600080fd5b505af1158015612149573d6000803e3d6000fd5b50505050505050565b6080810151606082015182516020808501516001600160801b038086166000908152601284526040808220928716825291909352822054919493929185906121a0908463ffffffff61257d16565b6001600160801b0380871660009081526012602052604081209293509161220391633b9aca00919084906121dd908a16600163ffffffff6133d516565b6001600160801b031681526020810191909152604001600020549063ffffffff61268516565b90506000612235670de0b6b3a7640000610ff48681612228888863ffffffff61082a16565b8f9063ffffffff61264b16565b9a9950505050505050505050565b6020810151606082015160808301516011546000939291906001600160801b03600160801b909104811690821610156122825760009350505050610852565b60115460009081906122a3906001600160801b03168563ffffffff61346016565b90506001600160801b0381166122d3576122cc85610ff46010548b61264b90919063ffffffff16565b915061230b565b806001600160801b031660011415612306576122cc633b9aca00610ff487610ff46010548d61264b90919063ffffffff16565b600091505b61231f88633b9aca0063ffffffff61268516565b82101561233457600095505050505050610852565b509695505050505050565b6001600160a01b0381166000908152600d602052604090206001015460ff1615610a995760405162461bcd60e51b815260040161081f90613fa2565b6001600160a01b0381166000908152600b60205260409020548015610b115760405162461bcd60e51b815260040161081f90613ffb565b670de0b6b3a7640000811115610a995760405162461bcd60e51b815260040161081f90613ed8565b6123e38161349a565b6123ec3361233f565b6123f5826134e7565b336000908152600b60205260409020546008546001600160a01b031661241a81611ba2565b81612429576124293384613507565b600061243433610b78565b9050600061244133610c3e565b90506000612455858363ffffffff61257d16565b336000818152600b60205260409020600101549192506001600160a01b039091169061248390869083612a9d565b600061248e8261160e565b905060006124a2828b63ffffffff61082a16565b90506124ae8382612c12565b826001600160a01b031660008051602061431e83398151915282336040516124d7929190614233565b60405180910390a26124e9338b613561565b60006124fb868c63ffffffff61082a16565b90506125073382612d5a565b336001600160a01b03166000805160206142de8339815191528260405161252e919061422a565b60405180910390a2336001600160a01b03166000805160206142fe833981519152888760405161255f929190613a90565b60405180910390a261257087613615565b5050505050505050505050565b600061084f83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061361f565b608081015160608201516040808401516020808601516001600160801b0380871660009081526013845285812091871681529252928120549094939290859061260e908463ffffffff61257d16565b6001600160801b0380871660009081526013602052604081209293509161220391633b9aca00919084906121dd908a16600163ffffffff6133d516565b60008261265a57506000610852565b8282028284828161266757fe5b041461084f5760405162461bcd60e51b815260040161081f90613e47565b600061084f83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061364b565b600080856001600160a01b03166321df0da76040518163ffffffff1660e01b815260040160206040518083038186803b15801561270357600080fd5b505afa158015612717573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061273b919061375b565b90506000816001600160a01b03166370a08231306040518263ffffffff1660e01b815260040161276b9190613997565b60206040518083038186803b15801561278357600080fd5b505afa158015612797573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127bb91906138c3565b9050306001600160a01b03831663605629d633838a89356127e260408c0160208d01613956565b8b604001358c606001356040518863ffffffff1660e01b815260040161280e97969594939291906139f2565b600060405180830381600087803b15801561282857600080fd5b505af115801561283c573d6000803e3d6000fd5b50505050866128c183856001600160a01b03166370a08231856040518263ffffffff1660e01b81526004016128719190613997565b60206040518083038186803b15801561288957600080fd5b505afa15801561289d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c9f91906138c3565b146128de5760405162461bcd60e51b815260040161081f90613b73565b60405163fb2c922360e01b81526001600160a01b0389169063fb2c92239061290e9089908b903390600401613a6d565b602060405180830381600087803b15801561292857600080fd5b505af115801561293c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061296091906138c3565b98975050505050505050565b6001600160a01b0381166129925760405162461bcd60e51b815260040161081f90613d35565b803b80610b115760405162461bcd60e51b815260040161081f9061409a565b60008111610a995760405162461bcd60e51b815260040161081f906140cf565b6005546040516321e3780160e01b81526001600160a01b03909116906321e3780190612a01908490600401613997565b60206040518083038186803b158015612a1957600080fd5b505afa158015612a2d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612a5191906138c3565b600114610a995760405162461bcd60e51b815260040161081f90613b07565b6000612a7b82610b78565b905060008111610b115760405162461bcd60e51b815260040161081f90613d6c565b6001600160a01b03811615612b5d576000612ab782610f07565b6040516306e6c58360e31b81529091506001600160a01b038516906337362c1890612ae89085908590600401613a33565b600060405180830381600087803b158015612b0257600080fd5b505af1158015612b16573d6000803e3d6000fd5b50505050816001600160a01b03167fea80c5084fc812c1d3ccd3e420d32e85001442759aa2261773ffa052cbd660b682604051612b53919061422a565b60405180910390a2505b6000612b68836111cd565b6040516306e6c58360e31b81529091506001600160a01b038516906337362c1890612b999086908590600401613a33565b600060405180830381600087803b158015612bb357600080fd5b505af1158015612bc7573d6000803e3d6000fd5b50505050826001600160a01b03167fc250d4f5c804eafb4ed97612e247bbc934de6fede0e59e4d263e190fb335193f82604051612c04919061422a565b60405180910390a250505050565b6001600160a01b0382166000908152600e6020526040902081905580612c9d576001600160a01b0382166000818152600f60205260408082208281556001810183905560028101839055600301829055517fbb1322f85cc7cc8bac4e172a5bc5dcc0c1959007f9a030032abf9258205f0e4591612c90918190613a90565b60405180910390a2610b11565b6011546010546001600160801b03600160801b80840482166000818152601360209081526040808320978616808452978252808320546001600160a01b038b16808552600f90935292819020600181018890556002810184905560030180546001600160801b0319168917909616948402949094179094559151909392907fbb1322f85cc7cc8bac4e172a5bc5dcc0c1959007f9a030032abf9258205f0e4590612d4a9085908590613a90565b60405180910390a2505050505050565b6001600160a01b0382166000908152600b6020526040902081905580612df8576001600160a01b0382166000818152600b60209081526040808320600190810180546001600160a01b0319169055600c909252808320838155918201839055600282018390556003909101829055517f2d6cc0bcdf72c9486f6451bde6b80f44066f4558f77f44dbfedbe7d8b295225a91612c909181908190613a9e565b6011546010546001600160801b03600160801b8084048216600081815260126020908152604080832097861680845297825280832054848452601383528184208985528352818420546001600160a01b038c16808652600c90945293829020600181018990558181556002810185905560030180546001600160801b0319168a1790971695850295909517909555935191949390917f2d6cc0bcdf72c9486f6451bde6b80f44066f4558f77f44dbfedbe7d8b295225a90612ebe90869086908690613a9e565b60405180910390a250505050505050565b60025460408051630fdb11cf60e01b815290516000926001600160a01b031691630fdb11cf91600480830192602092919082900301818787803b158015612f1557600080fd5b505af1158015612f29573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612f4d91906138c3565b90506000600760009054906101000a90046001600160a01b03166001600160a01b0316634d6228316040518163ffffffff1660e01b815260040160206040518083038186803b158015612f9f57600080fd5b505afa158015612fb3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612fd7919061375b565b600554604051630d293c7160e41b81529192506000916001600160a01b039091169063d293c7109061300f9085908790600401613a33565b60206040518083038186803b15801561302757600080fd5b505afa15801561303b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061305f91906138c3565b9050600360009054906101000a90046001600160a01b03166001600160a01b031663794e57246040518163ffffffff1660e01b815260040160206040518083038186803b1580156130af57600080fd5b505afa1580156130c3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906130e791906138c3565b8110156113695760405162461bcd60e51b815260040161081f906141ac565b6000818310613115578161084f565b5090919050565b8061312657610b11565b600654604051631062c15f60e11b81526001600160a01b03909116906320c582be9061315a903090869086906004016139ce565b600060405180830381600087803b15801561317457600080fd5b505af1158015613188573d6000803e3d6000fd5b50505050610b1181613406565b6001600160a01b0381166131bb5760405162461bcd60e51b815260040161081f90613bf3565b816131c557610b11565b6009546000906131db908463ffffffff61257d16565b9050806009819055506000805160206142be83398151915281604051613201919061422a565b60405180910390a17f6109e2559dfa766aaec7118351d48a523f0a4157f49c8d68749c8ac41318ad12338460405161323a929190613a33565b60405180910390a16000336001600160a01b03168460405161325b90613977565b60006040518083038185875af1925050503d8060008114613298576040519150601f19603f3d011682016040523d82523d6000602084013e61329d565b606091505b50509050806132be5760405162461bcd60e51b815260040161081f90613e06565b50505050565b600a548015806132d2575081155b156132dd5750610a99565b60006132e98383613682565b905060006133026010548361264b90919063ffffffff16565b6011546001600160801b03600160801b820481166000908152601360209081526040808320939094168252919091522054909150613346908263ffffffff61082a16565b601180546001600160801b03600160801b80830482166000908152601360208181526040808420968616845295815285832097909755945491820483168082529486528381209190921680835294528190205490517f2d6127771b164a9cc8827d24b5955db2a77e7a81dac389107ebb8bce9fb64968936133c7939161425a565b60405180910390a150505050565b60008282016001600160801b03808516908216101561084f5760405162461bcd60e51b815260040161081f90614167565b600a5460009061341c908363ffffffff61257d16565b905080600a819055507ff3c69a10dcea5d744225cbe910fb39d6f8208bb8e21fff523d6756a7966093c781604051613454919061422a565b60405180910390a15050565b6000826001600160801b0316826001600160801b031611156134945760405162461bcd60e51b815260040161081f9061411f565b50900390565b6001600160a01b0381166000908152600d602052604090206001015460ff16806134cb57506001600160a01b038116155b610a995760405162461bcd60e51b815260040161081f90613c40565b60008111610a995760405162461bcd60e51b815260040161081f90613f2b565b6001600160a01b038281166000818152600b602052604080822060010180546001600160a01b0319169486169485179055517f094c08e96a8890877a8390b4f967180a7507ad8622244d05fcd0f9f8e086564e9190a35050565b600654604051632ee65eeb60e21b81526001600160a01b039091169063bb997bac90613595908590309086906004016139ce565b600060405180830381600087803b1580156135af57600080fd5b505af11580156135c3573d6000803e3d6000fd5b5050600a54600092506135dd91508363ffffffff61082a16565b905080600a819055507ff3c69a10dcea5d744225cbe910fb39d6f8208bb8e21fff523d6756a7966093c781604051610a4b919061422a565b610a998133613195565b600081848411156136435760405162461bcd60e51b815260040161081f9190613ab4565b505050900390565b6000818361366c5760405162461bcd60e51b815260040161081f9190613ab4565b50600083858161367857fe5b0495945050505050565b6000806136a6601454611c48670de0b6b3a76400008761264b90919063ffffffff16565b905060006136ba828563ffffffff61268516565b90506136dc6136cf828663ffffffff61264b16565b839063ffffffff61257d16565b601455949350505050565b6040518060a0016040528060008152602001600081526020016000815260200160006001600160801b0316815260200160006001600160801b031681525090565b80356001600160801b038116811461085257600080fd5b600060208284031215613750578081fd5b813561084f816142a8565b60006020828403121561376c578081fd5b815161084f816142a8565b60008060408385031215613789578081fd5b8235613794816142a8565b915060208301356137a4816142a8565b809150509250929050565b600080600080600080600080610100898b0312156137cb578384fd5b88356137d6816142a8565b975060208901356137e6816142a8565b965060408901356137f6816142a8565b95506060890135613806816142a8565b94506080890135613816816142a8565b935060a0890135613826816142a8565b925060c0890135613836816142a8565b915060e0890135613846816142a8565b809150509295985092959890939650565b600060208284031215613868578081fd5b8151801515811461084f578182fd5b60008060408385031215613889578182fd5b6138938484613728565b91506138a28460208501613728565b90509250929050565b6000602082840312156138bc578081fd5b5035919050565b6000602082840312156138d4578081fd5b5051919050565b600080604083850312156138ed578182fd5b8235915060208301356137a4816142a8565b60008082840360a0811215613912578283fd5b833592506080601f1982011215613927578182fd5b506020830190509250929050565b60008060408385031215613947578182fd5b50508035926020909101359150565b600060208284031215613967578081fd5b813560ff8116811461084f578182fd5b90565b7035b2bc9737bbb730b136329737bbb732b960791b815260110190565b6001600160a01b0391909116815260200190565b6001600160a01b0393841681529183166020830152909116604082015260600190565b6001600160a01b039384168152919092166020820152604081019190915260600190565b6001600160a01b0397881681529590961660208601526040850193909352606084019190915260ff16608083015260a082015260c081019190915260e00190565b6001600160a01b03929092168252602082015260400190565b6001600160a01b039390931683526020830191909152604082015260600190565b6001600160a01b0393841681526020810192909252909116604082015260600190565b918252602082015260400190565b9283526020830191909152604082015260600190565b6000602080835283518082850152825b81811015613ae057858101830151858201604001528201613ac4565b81811115613af15783604083870101525b50601f01601f1916929092016040019392505050565b60208082526046908201527f53746162696c697479506f6f6c3a2063616c6c6572206d75737420686176652060408201527f616e206163746976652074726f766520746f207769746864726177204554484760608201526561696e20746f60d01b608082015260a00190565b60208082526029908201527f444c4c52207472616e7366657272656420616d6f756e742076616c69646174696040820152681bdb8819985a5b195960ba1b606082015260800190565b6020808252601b908201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604082015260600190565b6020808252602d908201527f53503a3a5f73656e644554484761696e546f3a205f726563656976657220697360408201526c207a65726f206164647265737360981b606082015260800190565b60208082526046908201527f53746162696c697479506f6f6c3a20546167206d75737420626520612072656760408201527f697374657265642066726f6e7420656e642c206f7220746865207a65726f206160608201526564647265737360d01b608082015260a00190565b60208082526027908201527f53746162696c697479506f6f6c3a2043616c6c6572206973206e6f74204163746040820152661a5d99541bdbdb60ca1b606082015260800190565b60208082526022908201527f4f776e61626c653a3a7365744f776e65723a20696e76616c6964206164647265604082015261737360f01b606082015260800190565b6020808252601e908201527f4163636f756e742063616e6e6f74206265207a65726f20616464726573730000604082015260600190565b60208082526031908201527f53746162696c697479506f6f6c3a2063616c6c6572206d7573742068617665206040820152703737b716bd32b9379022aa241023b0b4b760791b606082015260800190565b60208082526029908201527f53746162696c697479506f6f6c3a2043616c6c6572206973206e6f742054726f6040820152683b32a6b0b730b3b2b960b91b606082015260800190565b60208082526021908201527f53746162696c697479506f6f6c3a2073656e64696e6720455448206661696c656040820152601960fa1b606082015260800190565b60208082526021908201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6040820152607760f81b606082015260800190565b60208082526030908201527f53503a3a5f776974686472617746726f6d5370546f3a205f726563656976657260408201526f206973207a65726f206164647265737360801b606082015260800190565b60208082526033908201527f53746162696c697479506f6f6c3a204b69636b6261636b2072617465206d75736040820152727420626520696e2072616e6765205b302c315d60681b606082015260800190565b60208082526026908201527f53746162696c697479506f6f6c3a20416d6f756e74206d757374206265206e6f6040820152656e2d7a65726f60d01b606082015260800190565b60208082526017908201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604082015260600190565b60208082526039908201527f53746162696c697479506f6f6c3a206d757374206e6f7420616c72656164792060408201527818994818481c9959da5cdd195c995908199c9bdb9d08195b99603a1b606082015260800190565b60208082526028908201527f53746162696c697479506f6f6c3a2055736572206d7573742068617665206e6f6040820152670819195c1bdcda5d60c21b606082015260800190565b60208082526037908201527f4661696c656420746f20617070726f7665205a55534420616d6f756e7420666f60408201527672204d796e74206d417373657420746f2072656465656d60481b606082015260800190565b6020808252818101527f4163636f756e7420636f64652073697a652063616e6e6f74206265207a65726f604082015260600190565b60208082526030908201527f53746162696c697479506f6f6c3a2055736572206d757374206861766520612060408201526f1b9bdb8b5e995c9bc819195c1bdcda5d60821b606082015260800190565b60208082526028908201527f4c697175697479536166654d6174683132383a207375627472616374696f6e206040820152676f766572666c6f7760c01b606082015260800190565b60208082526025908201527f4c697175697479536166654d6174683132383a206164646974696f6e206f766560408201526472666c6f7760d81b606082015260800190565b60208082526044908201527f53746162696c697479506f6f6c3a2043616e6e6f74207769746864726177207760408201527f68696c65207468657265206172652074726f766573207769746820494352203c6060820152631026a1a960e11b608082015260a00190565b6001600160801b0391909116815260200190565b90815260200190565b9182526001600160a01b0316602082015260400190565b9182521515602082015260400190565b9283526001600160801b03918216602084015216604082015260600190565b948552602085019390935260408401919091526001600160801b03908116606084015216608082015260a00190565b6001600160a01b0381168114610a9957600080fdfeceb6d671277d4354fd29977ada70695fbd93a16612abf765d6b0e25c28dc6db3bce78369dccab09eec1986f4d409ab09ffbb47d65423e5148fcf98411c5111c951457222ebca92c335c9c86e2baa1cc0e40ffaa9084a51452980d5ba8dec2f6399920012339b5a3368d3a04b8606ce412c46ed92b7dcd8602d41fc8862cb8f25a2646970667358221220e955fa7f80b9ad38eba52b70ed60457b452eb83b2417f8f09df3b2acb6ae421364736f6c634300060b0033", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/packages/lib-ethers/live/StabilityPoolScript.json b/packages/lib-ethers/live/StabilityPoolScript.json deleted file mode 100644 index c0d3cba4d..000000000 --- a/packages/lib-ethers/live/StabilityPoolScript.json +++ /dev/null @@ -1,84 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "StabilityPoolScript", - "sourceName": "contracts/Proxy/StabilityPoolScript.sol", - "abi": [ - { - "inputs": [ - { - "internalType": "contract IStabilityPool", - "name": "_stabilityPool", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [], - "name": "NAME", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - }, - { - "internalType": "address", - "name": "_frontEndTag", - "type": "address" - } - ], - "name": "provideToSP", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_upperHint", - "type": "address" - }, - { - "internalType": "address", - "name": "_lowerHint", - "type": "address" - } - ], - "name": "withdrawETHGainToTrove", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "name": "withdrawFromSP", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": "0x60a060405234801561001057600080fd5b506040516104733803806104738339818101604052602081101561003357600080fd5b5051610047816001600160e01b0361005c16565b60601b6001600160601b03191660805261010f565b6001600160a01b0381166100b7576040805162461bcd60e51b815260206004820152601e60248201527f4163636f756e742063616e6e6f74206265207a65726f20616464726573730000604482015290519081900360640190fd5b803b8061010b576040805162461bcd60e51b815260206004820181905260248201527f4163636f756e7420636f64652073697a652063616e6e6f74206265207a65726f604482015290519081900360640190fd5b5050565b60805160601c61033d6101366000398061014952806101ca52806102bd525061033d6000f3fe608060405234801561001057600080fd5b506004361061004c5760003560e01c80632e54bf95146100515780635f788d6514610070578063a3f4df7e1461009c578063fda0101a14610119575b600080fd5b61006e6004803603602081101561006757600080fd5b5035610147565b005b61006e6004803603604081101561008657600080fd5b50803590602001356001600160a01b03166101c8565b6100a4610264565b6040805160208082528351818301528351919283929083019185019080838360005b838110156100de5781810151838201526020016100c6565b50505050905090810190601f16801561010b5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61006e6004803603604081101561012f57600080fd5b506001600160a01b0381358116916020013516610293565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316632e54bf95826040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b1580156101ad57600080fd5b505af11580156101c1573d6000803e3d6000fd5b5050505050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316635f788d6583836040518363ffffffff1660e01b815260040180838152602001826001600160a01b03166001600160a01b0316815260200192505050600060405180830381600087803b15801561024857600080fd5b505af115801561025c573d6000803e3d6000fd5b505050505050565b6040518060400160405280601381526020017214dd18589a5b1a5d1e541bdbdb14d8dc9a5c1d606a1b81525081565b60408051637ed0080d60e11b81526001600160a01b038481166004830152838116602483015291517f00000000000000000000000000000000000000000000000000000000000000009092169163fda0101a9160448082019260009290919082900301818387803b15801561024857600080fdfea26469706673582212209697245623577505d2c1e6f2cf89ce2c1a6ec93b3a79783ae0c3a97568ebda0164736f6c634300060b0033", - "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061004c5760003560e01c80632e54bf95146100515780635f788d6514610070578063a3f4df7e1461009c578063fda0101a14610119575b600080fd5b61006e6004803603602081101561006757600080fd5b5035610147565b005b61006e6004803603604081101561008657600080fd5b50803590602001356001600160a01b03166101c8565b6100a4610264565b6040805160208082528351818301528351919283929083019185019080838360005b838110156100de5781810151838201526020016100c6565b50505050905090810190601f16801561010b5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61006e6004803603604081101561012f57600080fd5b506001600160a01b0381358116916020013516610293565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316632e54bf95826040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b1580156101ad57600080fd5b505af11580156101c1573d6000803e3d6000fd5b5050505050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316635f788d6583836040518363ffffffff1660e01b815260040180838152602001826001600160a01b03166001600160a01b0316815260200192505050600060405180830381600087803b15801561024857600080fd5b505af115801561025c573d6000803e3d6000fd5b505050505050565b6040518060400160405280601381526020017214dd18589a5b1a5d1e541bdbdb14d8dc9a5c1d606a1b81525081565b60408051637ed0080d60e11b81526001600160a01b038481166004830152838116602483015291517f00000000000000000000000000000000000000000000000000000000000000009092169163fda0101a9160448082019260009290919082900301818387803b15801561024857600080fdfea26469706673582212209697245623577505d2c1e6f2cf89ce2c1a6ec93b3a79783ae0c3a97568ebda0164736f6c634300060b0033", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/packages/lib-ethers/live/StabilityPoolStorage.json b/packages/lib-ethers/live/StabilityPoolStorage.json deleted file mode 100644 index 4766d32a2..000000000 --- a/packages/lib-ethers/live/StabilityPoolStorage.json +++ /dev/null @@ -1,431 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "StabilityPoolStorage", - "sourceName": "contracts/StabilityPoolStorage.sol", - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "previousOwner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnershipTransferred", - "type": "event" - }, - { - "inputs": [], - "name": "DECIMAL_PRECISION", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "NAME", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "P", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "SCALE_FACTOR", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "borrowerOperations", - "outputs": [ - { - "internalType": "contract IBorrowerOperations", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "communityIssuance", - "outputs": [ - { - "internalType": "contract ICommunityIssuance", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "currentEpoch", - "outputs": [ - { - "internalType": "uint128", - "name": "", - "type": "uint128" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "currentScale", - "outputs": [ - { - "internalType": "uint128", - "name": "", - "type": "uint128" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "depositSnapshots", - "outputs": [ - { - "internalType": "uint256", - "name": "S", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "P", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "G", - "type": "uint256" - }, - { - "internalType": "uint128", - "name": "scale", - "type": "uint128" - }, - { - "internalType": "uint128", - "name": "epoch", - "type": "uint128" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "deposits", - "outputs": [ - { - "internalType": "uint256", - "name": "initialValue", - "type": "uint256" - }, - { - "internalType": "address", - "name": "frontEndTag", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint128", - "name": "", - "type": "uint128" - }, - { - "internalType": "uint128", - "name": "", - "type": "uint128" - } - ], - "name": "epochToScaleToG", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint128", - "name": "", - "type": "uint128" - }, - { - "internalType": "uint128", - "name": "", - "type": "uint128" - } - ], - "name": "epochToScaleToSum", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "frontEndSnapshots", - "outputs": [ - { - "internalType": "uint256", - "name": "S", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "P", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "G", - "type": "uint256" - }, - { - "internalType": "uint128", - "name": "scale", - "type": "uint128" - }, - { - "internalType": "uint128", - "name": "epoch", - "type": "uint128" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "frontEndStakes", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "frontEnds", - "outputs": [ - { - "internalType": "uint256", - "name": "kickbackRate", - "type": "uint256" - }, - { - "internalType": "bool", - "name": "registered", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getOwner", - "outputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "lastETHError_Offset", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "lastZEROError", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "lastZUSDLossError_Offset", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - } - ], - "name": "setOwner", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "sortedTroves", - "outputs": [ - { - "internalType": "contract ISortedTroves", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "troveManager", - "outputs": [ - { - "internalType": "contract ITroveManager", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "zusdToken", - "outputs": [ - { - "internalType": "contract IZUSDToken", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": "0x608060405234801561001057600080fd5b50610023336001600160e01b0361002816565b610110565b6001600160a01b03811661006d5760405162461bcd60e51b81526004018080602001828103825260228152602001806108ca6022913960400191505060405180910390fd5b6001600160a01b0381166100886001600160e01b036100e616565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3604080517035b2bc9737bbb730b136329737bbb732b960791b8152905190819003601101902055565b604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205490565b6107ab8061011f6000396000f3fe608060405234801561001057600080fd5b506004361061014d5760003560e01c806395fb16bb116100c3578063b31ee9651161007c578063b31ee965146103cd578063b71d3bf3146103d5578063ce4b5bbe146103dd578063d7fb0443146103e5578063ec9f7d46146103ed578063fc7e286d146103f55761014d565b806395fb16bb146102f1578063a20baee6146102f9578063a3f4df7e14610301578063a4e59ac81461037e578063a7bfff9714610386578063ae918754146103c55761014d565b80637667180811610115578063766718081461026157806377553ad41461028557806382e0a5741461028d57806386da0824146102bb578063893d20e8146102e15780638b8fbd92146102e95761014d565b806313af40351461015257806316b9d3c51461017a57806328a0a04d146101d75780633d83908a146102175780635d2de6421461023b575b600080fd5b6101786004803603602081101561016857600080fd5b50356001600160a01b031661043c565b005b6101a06004803603602081101561019057600080fd5b50356001600160a01b03166104af565b604080519586526020860194909452848401929092526001600160801b039081166060850152166080830152519081900360a00190f35b610205600480360360408110156101ed57600080fd5b506001600160801b03813581169160200135166104ea565b60408051918252519081900360200190f35b61021f610507565b604080516001600160a01b039092168252519081900360200190f35b6102056004803603602081101561025157600080fd5b50356001600160a01b0316610516565b610269610528565b604080516001600160801b039092168252519081900360200190f35b61021f61053e565b610205600480360360408110156102a357600080fd5b506001600160801b038135811691602001351661054d565b6101a0600480360360208110156102d157600080fd5b50356001600160a01b031661056a565b61021f6105a5565b6102056105cf565b61021f6105d5565b6102056105e4565b6103096105f0565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561034357818101518382015260200161032b565b50505050905090810190601f1680156103705780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b610269610619565b6103ac6004803603602081101561039c57600080fd5b50356001600160a01b0316610628565b6040805192835290151560208301528051918290030190f35b61021f610644565b610205610653565b610205610659565b61020561065f565b610205610667565b61021f61066d565b61041b6004803603602081101561040b57600080fd5b50356001600160a01b031661067c565b604080519283526001600160a01b0390911660208301528051918290030190f35b6104446105a5565b6001600160a01b0316336001600160a01b0316146104a3576040805162461bcd60e51b815260206004820152601760248201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604482015290519081900360640190fd5b6104ac8161069e565b50565b600b602052600090815260409020805460018201546002830154600390930154919290916001600160801b0380821691600160801b90041685565b600e60209081526000928352604080842090915290825290205481565b6001546001600160a01b031681565b600a6020526000908152604090205481565b600d54600160801b90046001600160801b031681565b6000546001600160a01b031681565b600f60209081526000928352604080842090915290825290205481565b6008602052600090815260409020805460018201546002830154600390930154919290916001600160801b0380821691600160801b90041685565b604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205490565b600c5481565b6004546001600160a01b031681565b670de0b6b3a764000081565b6040518060400160405280600d81526020016c14dd18589a5b1a5d1e541bdbdb609a1b81525081565b600d546001600160801b031681565b6009602052600090815260409020805460019091015460ff1682565b6003546001600160a01b031681565b60125481565b60105481565b633b9aca0081565b60115481565b6002546001600160a01b031681565b600760205260009081526040902080546001909101546001600160a01b031682565b6001600160a01b0381166106e35760405162461bcd60e51b81526004018080602001828103825260228152602001806107546022913960400191505060405180910390fd5b806001600160a01b03166106f56105a5565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205556fe4f776e61626c653a3a7365744f776e65723a20696e76616c69642061646472657373a2646970667358221220d2eebe7b3c10d572258ce15061762cc72158a3426529294c1870b5998ab6bfac64736f6c634300060b00334f776e61626c653a3a7365744f776e65723a20696e76616c69642061646472657373", - "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061014d5760003560e01c806395fb16bb116100c3578063b31ee9651161007c578063b31ee965146103cd578063b71d3bf3146103d5578063ce4b5bbe146103dd578063d7fb0443146103e5578063ec9f7d46146103ed578063fc7e286d146103f55761014d565b806395fb16bb146102f1578063a20baee6146102f9578063a3f4df7e14610301578063a4e59ac81461037e578063a7bfff9714610386578063ae918754146103c55761014d565b80637667180811610115578063766718081461026157806377553ad41461028557806382e0a5741461028d57806386da0824146102bb578063893d20e8146102e15780638b8fbd92146102e95761014d565b806313af40351461015257806316b9d3c51461017a57806328a0a04d146101d75780633d83908a146102175780635d2de6421461023b575b600080fd5b6101786004803603602081101561016857600080fd5b50356001600160a01b031661043c565b005b6101a06004803603602081101561019057600080fd5b50356001600160a01b03166104af565b604080519586526020860194909452848401929092526001600160801b039081166060850152166080830152519081900360a00190f35b610205600480360360408110156101ed57600080fd5b506001600160801b03813581169160200135166104ea565b60408051918252519081900360200190f35b61021f610507565b604080516001600160a01b039092168252519081900360200190f35b6102056004803603602081101561025157600080fd5b50356001600160a01b0316610516565b610269610528565b604080516001600160801b039092168252519081900360200190f35b61021f61053e565b610205600480360360408110156102a357600080fd5b506001600160801b038135811691602001351661054d565b6101a0600480360360208110156102d157600080fd5b50356001600160a01b031661056a565b61021f6105a5565b6102056105cf565b61021f6105d5565b6102056105e4565b6103096105f0565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561034357818101518382015260200161032b565b50505050905090810190601f1680156103705780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b610269610619565b6103ac6004803603602081101561039c57600080fd5b50356001600160a01b0316610628565b6040805192835290151560208301528051918290030190f35b61021f610644565b610205610653565b610205610659565b61020561065f565b610205610667565b61021f61066d565b61041b6004803603602081101561040b57600080fd5b50356001600160a01b031661067c565b604080519283526001600160a01b0390911660208301528051918290030190f35b6104446105a5565b6001600160a01b0316336001600160a01b0316146104a3576040805162461bcd60e51b815260206004820152601760248201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604482015290519081900360640190fd5b6104ac8161069e565b50565b600b602052600090815260409020805460018201546002830154600390930154919290916001600160801b0380821691600160801b90041685565b600e60209081526000928352604080842090915290825290205481565b6001546001600160a01b031681565b600a6020526000908152604090205481565b600d54600160801b90046001600160801b031681565b6000546001600160a01b031681565b600f60209081526000928352604080842090915290825290205481565b6008602052600090815260409020805460018201546002830154600390930154919290916001600160801b0380821691600160801b90041685565b604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205490565b600c5481565b6004546001600160a01b031681565b670de0b6b3a764000081565b6040518060400160405280600d81526020016c14dd18589a5b1a5d1e541bdbdb609a1b81525081565b600d546001600160801b031681565b6009602052600090815260409020805460019091015460ff1682565b6003546001600160a01b031681565b60125481565b60105481565b633b9aca0081565b60115481565b6002546001600160a01b031681565b600760205260009081526040902080546001909101546001600160a01b031682565b6001600160a01b0381166106e35760405162461bcd60e51b81526004018080602001828103825260228152602001806107546022913960400191505060405180910390fd5b806001600160a01b03166106f56105a5565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205556fe4f776e61626c653a3a7365744f776e65723a20696e76616c69642061646472657373a2646970667358221220d2eebe7b3c10d572258ce15061762cc72158a3426529294c1870b5998ab6bfac64736f6c634300060b0033", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/packages/lib-ethers/live/StabilityPoolTester.json b/packages/lib-ethers/live/StabilityPoolTester.json deleted file mode 100644 index 0771fdef1..000000000 --- a/packages/lib-ethers/live/StabilityPoolTester.json +++ /dev/null @@ -1,1325 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "StabilityPoolTester", - "sourceName": "contracts/TestContracts/StabilityPoolTester.sol", - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_newActivePoolAddress", - "type": "address" - } - ], - "name": "ActivePoolAddressChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_newBorrowerOperationsAddress", - "type": "address" - } - ], - "name": "BorrowerOperationsAddressChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_newCommunityIssuanceAddress", - "type": "address" - } - ], - "name": "CommunityIssuanceAddressChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_newDefaultPoolAddress", - "type": "address" - } - ], - "name": "DefaultPoolAddressChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "_depositor", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_P", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_S", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_G", - "type": "uint256" - } - ], - "name": "DepositSnapshotUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "_depositor", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_ETH", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_ZUSDLoss", - "type": "uint256" - } - ], - "name": "ETHGainWithdrawn", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint128", - "name": "_currentEpoch", - "type": "uint128" - } - ], - "name": "EpochUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_to", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "name": "EtherSent", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "_frontEnd", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_kickbackRate", - "type": "uint256" - } - ], - "name": "FrontEndRegistered", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "_frontEnd", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_P", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_G", - "type": "uint256" - } - ], - "name": "FrontEndSnapshotUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "_frontEnd", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_newFrontEndStake", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "address", - "name": "_depositor", - "type": "address" - } - ], - "name": "FrontEndStakeChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "_depositor", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "_frontEnd", - "type": "address" - } - ], - "name": "FrontEndTagSet", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "_G", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint128", - "name": "_epoch", - "type": "uint128" - }, - { - "indexed": false, - "internalType": "uint128", - "name": "_scale", - "type": "uint128" - } - ], - "name": "G_Updated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "previousOwner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnershipTransferred", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "_P", - "type": "uint256" - } - ], - "name": "P_Updated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_newPriceFeedAddress", - "type": "address" - } - ], - "name": "PriceFeedAddressChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "_S", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint128", - "name": "_epoch", - "type": "uint128" - }, - { - "indexed": false, - "internalType": "uint128", - "name": "_scale", - "type": "uint128" - } - ], - "name": "S_Updated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint128", - "name": "_currentScale", - "type": "uint128" - } - ], - "name": "ScaleUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_newSortedTrovesAddress", - "type": "address" - } - ], - "name": "SortedTrovesAddressChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "_newBalance", - "type": "uint256" - } - ], - "name": "StabilityPoolETHBalanceUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "_newBalance", - "type": "uint256" - } - ], - "name": "StabilityPoolZUSDBalanceUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_newTroveManagerAddress", - "type": "address" - } - ], - "name": "TroveManagerAddressChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "_depositor", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_newDeposit", - "type": "uint256" - } - ], - "name": "UserDepositChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_depositor", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_zusdAmountRequested", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_dllrAmountReceived", - "type": "uint256" - } - ], - "name": "WithdrawFromSpAndConvertToDLLR", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "_depositor", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_ZERO", - "type": "uint256" - } - ], - "name": "ZEROPaidToDepositor", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "_frontEnd", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_ZERO", - "type": "uint256" - } - ], - "name": "ZEROPaidToFrontEnd", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_newZUSDTokenAddress", - "type": "address" - } - ], - "name": "ZUSDTokenAddressChanged", - "type": "event" - }, - { - "inputs": [], - "name": "DECIMAL_PRECISION", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "MIN_NET_DEBT", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "NAME", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "P", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "SCALE_FACTOR", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "ZUSD_GAS_COMPENSATION", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_100pct", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "activePool", - "outputs": [ - { - "internalType": "contract IActivePool", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "borrowerOperations", - "outputs": [ - { - "internalType": "contract IBorrowerOperations", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "communityIssuance", - "outputs": [ - { - "internalType": "contract ICommunityIssuance", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "currentEpoch", - "outputs": [ - { - "internalType": "uint128", - "name": "", - "type": "uint128" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "currentScale", - "outputs": [ - { - "internalType": "uint128", - "name": "", - "type": "uint128" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "defaultPool", - "outputs": [ - { - "internalType": "contract IDefaultPool", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "depositSnapshots", - "outputs": [ - { - "internalType": "uint256", - "name": "S", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "P", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "G", - "type": "uint256" - }, - { - "internalType": "uint128", - "name": "scale", - "type": "uint128" - }, - { - "internalType": "uint128", - "name": "epoch", - "type": "uint128" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "deposits", - "outputs": [ - { - "internalType": "uint256", - "name": "initialValue", - "type": "uint256" - }, - { - "internalType": "address", - "name": "frontEndTag", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint128", - "name": "", - "type": "uint128" - }, - { - "internalType": "uint128", - "name": "", - "type": "uint128" - } - ], - "name": "epochToScaleToG", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint128", - "name": "", - "type": "uint128" - }, - { - "internalType": "uint128", - "name": "", - "type": "uint128" - } - ], - "name": "epochToScaleToSum", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "frontEndSnapshots", - "outputs": [ - { - "internalType": "uint256", - "name": "S", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "P", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "G", - "type": "uint256" - }, - { - "internalType": "uint128", - "name": "scale", - "type": "uint128" - }, - { - "internalType": "uint128", - "name": "epoch", - "type": "uint128" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "frontEndStakes", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "frontEnds", - "outputs": [ - { - "internalType": "uint256", - "name": "kickbackRate", - "type": "uint256" - }, - { - "internalType": "bool", - "name": "registered", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_frontEnd", - "type": "address" - } - ], - "name": "getCompoundedFrontEndStake", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_depositor", - "type": "address" - } - ], - "name": "getCompoundedZUSDDeposit", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_depositor", - "type": "address" - } - ], - "name": "getDepositorETHGain", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_depositor", - "type": "address" - } - ], - "name": "getDepositorZEROGain", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getETH", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getEntireSystemColl", - "outputs": [ - { - "internalType": "uint256", - "name": "entireSystemColl", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getEntireSystemDebt", - "outputs": [ - { - "internalType": "uint256", - "name": "entireSystemDebt", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_frontEnd", - "type": "address" - } - ], - "name": "getFrontEndZEROGain", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getOwner", - "outputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getTotalZUSDDeposits", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "lastETHError_Offset", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "lastZEROError", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "lastZUSDLossError_Offset", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "liquityBaseParams", - "outputs": [ - { - "internalType": "contract ILiquityBaseParams", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_debtToOffset", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_collToAdd", - "type": "uint256" - } - ], - "name": "offset", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "priceFeed", - "outputs": [ - { - "internalType": "contract IPriceFeed", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - }, - { - "internalType": "address", - "name": "_frontEndTag", - "type": "address" - } - ], - "name": "provideToSP", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_dllrAmount", - "type": "uint256" - }, - { - "components": [ - { - "internalType": "uint256", - "name": "deadline", - "type": "uint256" - }, - { - "internalType": "uint8", - "name": "v", - "type": "uint8" - }, - { - "internalType": "bytes32", - "name": "r", - "type": "bytes32" - }, - { - "internalType": "bytes32", - "name": "s", - "type": "bytes32" - } - ], - "internalType": "struct IMassetManager.PermitParams", - "name": "_permitParams", - "type": "tuple" - } - ], - "name": "provideToSpFromDLLR", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_kickbackRate", - "type": "uint256" - } - ], - "name": "registerFrontEnd", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_liquityBaseParamsAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_borrowerOperationsAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_troveManagerAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_activePoolAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_zusdTokenAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_sortedTrovesAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_priceFeedAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_communityIssuanceAddress", - "type": "address" - } - ], - "name": "setAddresses", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - } - ], - "name": "setOwner", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "sortedTroves", - "outputs": [ - { - "internalType": "contract ISortedTroves", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "troveManager", - "outputs": [ - { - "internalType": "contract ITroveManager", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "unprotectedPayable", - "outputs": [], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_upperHint", - "type": "address" - }, - { - "internalType": "address", - "name": "_lowerHint", - "type": "address" - } - ], - "name": "withdrawETHGainToTrove", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "name": "withdrawFromSP", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_zusdAmountRequested", - "type": "uint256" - } - ], - "name": "withdrawFromSpAndConvertToDLLR", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "zusdToken", - "outputs": [ - { - "internalType": "contract IZUSDToken", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "stateMutability": "payable", - "type": "receive" - } - ], - "bytecode": "0x60806040523480156200001157600080fd5b5062000026336001600160e01b036200002c16565b62000150565b6001600160a01b0381166200005e5760405162461bcd60e51b815260040162000055906200010e565b60405180910390fd5b6001600160a01b0381166200007b6001600160e01b03620000d016565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000604051620000c090620000f1565b6040519081900390209190915550565b600080604051620000e190620000f1565b6040519081900390205492915050565b7035b2bc9737bbb730b136329737bbb732b960791b815260110190565b60208082526022908201527f4f776e61626c653a3a7365744f776e65723a20696e76616c6964206164647265604082015261737360f01b606082015260800190565b61439e80620001606000396000f3fe6080604052600436106102975760003560e01c806386da08241161015a578063b71d3bf3116100c1578063d7fb04431161007a578063d7fb044314610768578063df9cd84f1461077d578063ec9f7d461461079d578063f3af7c3b146107b2578063fc7e286d146107ba578063fda0101a146107e8576102e2565b8063b71d3bf3146106c9578063bdaf37ea146106de578063c0a90828146106f3578063c3a34a0e14610713578063ce4b5bbe14610733578063d733cfd014610748576102e2565b8063a20baee611610113578063a20baee6146104d1578063a3f4df7e1461063a578063a4e59ac81461065c578063a7bfff9714610671578063ae9187541461069f578063b31ee965146106b4576102e2565b806386da0824146105b1578063887105d3146105d1578063893d20e8146105e65780638b8fbd92146105fb57806395fb16bb146106105780639f07067014610625576102e2565b8063556be101116101fe57806376671808116101b7578063766718081461051057806377553ad414610532578063795d26c3146105475780637f7dde4a1461055c57806382e0a574146105715780638692a8a214610591576102e2565b8063556be101146104715780635d2de642146104915780635f788d65146104b157806372fe25aa146104d1578063741bef1a146104e6578063759b3034146104fb576102e2565b80632e54bf95116102505780632e54bf95146103ba578063335525ad146103da578063389e92a5146103fa5780633cc742251461041a5780633d83908a1461043c57806340ed1afd14610451576102e2565b80630fbfe38b146102e757806313af40351461030957806314f6c3be1461032957806316b9d3c5146103545780631bf435551461038557806328a0a04d1461039a576102e2565b366102e2576102a4610808565b6009546102b7903463ffffffff61083d16565b60098190556040516000805160206142e9833981519152916102d891614255565b60405180910390a1005b600080fd5b3480156102f357600080fd5b506103076103023660046138d6565b61086b565b005b34801561031557600080fd5b5061030761032436600461376a565b610a6b565b34801561033557600080fd5b5061033e610aaf565b60405161034b9190614255565b60405180910390f35b34801561036057600080fd5b5061037461036f36600461376a565b610ab5565b60405161034b9594939291906142a4565b34801561039157600080fd5b5061033e610af0565b3480156103a657600080fd5b5061033e6103b53660046138a2565b610afd565b3480156103c657600080fd5b506103076103d53660046138d6565b610b1a565b3480156103e657600080fd5b506103076103f5366004613960565b610b28565b34801561040657600080fd5b5061033e61041536600461376a565b610b8b565b34801561042657600080fd5b5061042f610c33565b60405161034b91906139c2565b34801561044857600080fd5b5061042f610c42565b34801561045d57600080fd5b5061033e61046c36600461376a565b610c51565b34801561047d57600080fd5b5061030761048c3660046138d6565b610cee565b34801561049d57600080fd5b5061033e6104ac36600461376a565b610d66565b3480156104bd57600080fd5b506103076104cc366004613906565b610d78565b3480156104dd57600080fd5b5061033e610d82565b3480156104f257600080fd5b5061042f610d8e565b34801561050757600080fd5b5061033e610d9d565b34801561051c57600080fd5b50610525610daa565b60405161034b9190614241565b34801561053e57600080fd5b5061042f610dc0565b34801561055357600080fd5b5061033e610dcf565b34801561056857600080fd5b5061042f610eee565b34801561057d57600080fd5b5061033e61058c3660046138a2565b610efd565b34801561059d57600080fd5b5061033e6105ac36600461376a565b610f1a565b3480156105bd57600080fd5b506103746105cc36600461376a565b61101e565b3480156105dd57600080fd5b5061033e611059565b3480156105f257600080fd5b5061042f611128565b34801561060757600080fd5b5061033e611147565b34801561061c57600080fd5b5061042f61114d565b34801561063157600080fd5b5061042f61115c565b34801561064657600080fd5b5061064f61116b565b60405161034b9190613adf565b34801561066857600080fd5b50610525611194565b34801561067d57600080fd5b5061069161068c36600461376a565b6111a3565b60405161034b929190614275565b3480156106ab57600080fd5b5061042f6111bf565b3480156106c057600080fd5b5061033e6111ce565b3480156106d557600080fd5b5061033e6111d4565b3480156106ea57600080fd5b5061033e6111da565b3480156106ff57600080fd5b5061033e61070e36600461376a565b6111e0565b34801561071f57600080fd5b5061030761072e36600461392a565b6112dd565b34801561073f57600080fd5b5061033e611381565b34801561075457600080fd5b506103076107633660046137da565b611389565b34801561077457600080fd5b5061033e61161b565b34801561078957600080fd5b5061033e61079836600461376a565b611621565b3480156107a957600080fd5b5061042f6116be565b6103076116cd565b3480156107c657600080fd5b506107da6107d536600461376a565b6116e5565b60405161034b92919061425e565b3480156107f457600080fd5b506103076108033660046137a2565b611707565b6000546001600160a01b0316331461083b5760405162461bcd60e51b815260040161083290613cd7565b60405180910390fd5b565b6000828201838110156108625760405162461bcd60e51b815260040161083290613be7565b90505b92915050565b6000600460009054906101000a90046001600160a01b03166001600160a01b031663e9fc34616040518163ffffffff1660e01b815260040160206040518083038186803b1580156108bb57600080fd5b505afa1580156108cf573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108f39190613786565b90506000610901833061194d565b60065460405163095ea7b360e01b81529192506001600160a01b03169063095ea7b3906109349085908590600401613a5e565b602060405180830381600087803b15801561094e57600080fd5b505af1158015610962573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109869190613882565b6109a25760405162461bcd60e51b81526004016108329061406e565b60065460405163438b1b4b60e01b81526001600160a01b038481169263438b1b4b926109d8929091169085903390600401613a98565b602060405180830381600087803b1580156109f257600080fd5b505af1158015610a06573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a2a91906138ee565b507f2b0fbec1c4e7e30517f196a714775ffe72770d2348f5d586854bb3c0fdf41df8338483604051610a5e93929190613a77565b60405180910390a1505050565b610a73611128565b6001600160a01b0316336001600160a01b031614610aa35760405162461bcd60e51b815260040161083290613f9c565b610aac81611b18565b50565b60095490565b600f602052600090815260409020805460018201546002830154600390930154919290916001600160801b0380821691600160801b90041685565b6809c2007651b250000081565b601260209081526000928352604080842090915290825290205481565b610b24813361194d565b5050565b610b30611ba3565b600a54801580610b3e575082155b15610b495750610b24565b600854610b5e906001600160a01b0316611bcd565b600080610b6c848685611c4d565b91509150610b7a8282611d46565b610b848486612047565b5050505050565b6001600160a01b0381166000908152600b602052604081205480610bb3576000915050610c2e565b610bbb613712565b506001600160a01b0383166000908152600c60209081526040808320815160a08101835281548152600182015493810193909352600281015491830191909152600301546001600160801b038082166060840152600160801b90910416608082015290610c28838361217d565b93505050505b919050565b6001546001600160a01b031681565b6005546001600160a01b031681565b6001600160a01b0381166000908152600b602052604081205480610c79576000915050610c2e565b610c81613712565b506001600160a01b0383166000908152600c60209081526040808320815160a08101835281548152600182015493810193909352600281015491830191909152600301546001600160801b038082166060840152600160801b90910416608082015290610c28838361226e565b610cf73361236a565b610d00336123a6565b610d09816123dd565b336000818152600d6020526040908190208381556001908101805460ff19169091179055517f19bc932fb9e16a8b5a1e41be9f4c2de59d5ddd7567b8b81405f532ca00a9880e90610d5b908490614255565b60405180910390a250565b600e6020526000908152604090205481565b610b248282612405565b670de0b6b3a764000081565b6002546001600160a01b031681565b6801158e460913d0000081565b601154600160801b90046001600160801b031681565b6004546001600160a01b031681565b60008054604080516272c7d360e71b8152905183926001600160a01b031691633963e980916004808301926020929190829003018186803b158015610e1357600080fd5b505afa158015610e27573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e4b91906138ee565b90506000600160009054906101000a90046001600160a01b03166001600160a01b0316633963e9806040518163ffffffff1660e01b815260040160206040518083038186803b158015610e9d57600080fd5b505afa158015610eb1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ed591906138ee565b9050610ee7828263ffffffff61083d16565b9250505090565b6000546001600160a01b031681565b601360209081526000928352604080842090915290825290205481565b6001600160a01b0381166000908152600e602052604081205480610f42576000915050610c2e565b6001600160a01b0383166000908152600d602052604081205490610f74670de0b6b3a76400008363ffffffff6125a816565b9050610f7e613712565b506001600160a01b0385166000908152600f60209081526040808320815160a08101835281548152600182015493810193909352600281015491830191909152600301546001600160801b038082166060840152600160801b90910416608082015290611013670de0b6b3a7640000611007610ffa88866125ea565b869063ffffffff61267616565b9063ffffffff6126b016565b979650505050505050565b600c602052600090815260409020805460018201546002830154600390930154919290916001600160801b0380821691600160801b90041685565b6000805460408051630a7b61df60e11b8152905183926001600160a01b0316916314f6c3be916004808301926020929190829003018186803b15801561109e57600080fd5b505afa1580156110b2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110d691906138ee565b90506000600160009054906101000a90046001600160a01b03166001600160a01b03166314f6c3be6040518163ffffffff1660e01b815260040160206040518083038186803b158015610e9d57600080fd5b600080604051611137906139a5565b6040519081900390205492915050565b60105481565b6008546001600160a01b031681565b6003546001600160a01b031681565b6040518060400160405280600d81526020016c14dd18589a5b1a5d1e541bdbdb609a1b81525081565b6011546001600160801b031681565b600d602052600090815260409020805460019091015460ff1682565b6007546001600160a01b031681565b60165481565b60145481565b600a5490565b6001600160a01b0381166000908152600b602052604081205480611208576000915050610c2e565b6001600160a01b038084166000908152600b602052604081206001015490911690811561124d576001600160a01b0382166000908152600d6020526040902054611257565b670de0b6b3a76400005b9050611261613712565b506001600160a01b0385166000908152600c60209081526040808320815160a08101835281548152600182015493810193909352600281015491830191909152600301546001600160801b038082166060840152600160801b90910416608082015290611013670de0b6b3a7640000611007610ffa88866125ea565b600480546040805163e9fc346160e01b8152905160009361136f936001600160a01b03169263e9fc34619281830192602092829003018186803b15801561132357600080fd5b505afa158015611337573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061135b9190613786565b60065485906001600160a01b0316856126f2565b905061137c816000612405565b505050565b633b9aca0081565b611391611128565b6001600160a01b0316336001600160a01b0316146113c15760405162461bcd60e51b815260040161083290613f9c565b6113ca88612997565b6113d387612997565b6113dc86612997565b6113e585612997565b6113ee84612997565b6113f783612997565b61140082612997565b61140981612997565b670de0b6b3a7640000601055600380546001600160a01b03199081166001600160a01b038b8116919091179092556004805482168a8416179055600580548216898416179055600080548216888416179055600680548216878416179055600780548216868416179055600280548216858416179055600880549091169183169190911790556040517f3ca631ffcd2a9b5d9ae18543fc82f58eb4ca33af9e6ab01b7a8e95331e6ed985906114bf9089906139c2565b60405180910390a17f143219c9e69b09e07e095fcc889b43d8f46ca892bba65f08dc3a0050869a5678866040516114f691906139c2565b60405180910390a17f78f058b189175430c48dc02699e3a0031ea4ff781536dc2fab847de4babdd8828560405161152d91906139c2565b60405180910390a17fcdf33850c44a1a874b5fefb51dae615ac6afebd581ef90d571f81b06541d8e9d8460405161156491906139c2565b60405180910390a17f65f4cf077bc01e4742eb5ad98326f6e95b63548ea24b17f8d5e823111fe788008360405161159b91906139c2565b60405180910390a17f8c537274438aa850a330284665d81a85dd38267d09e4050d416bfc94142db264826040516115d291906139c2565b60405180910390a17f3055265812fb8447b9ada4a5d804ec43bd528ec40e89c952bbc7b85dc5ac68118160405161160991906139c2565b60405180910390a15050505050505050565b60155481565b6001600160a01b0381166000908152600e602052604081205480611649576000915050610c2e565b611651613712565b506001600160a01b0383166000908152600f60209081526040808320815160a08101835281548152600182015493810193909352600281015491830191909152600301546001600160801b038082166060840152600160801b90910416608082015290610c28838361226e565b6006546001600160a01b031681565b6009546116e0903463ffffffff61083d16565b600955565b600b60205260009081526040902080546001909101546001600160a01b031682565b336000908152600b6020526040902054611720816129dc565b611729336129fc565b61173233612a9b565b6008546001600160a01b031661174781611bcd565b600061175233610b8b565b9050600061175f33610c51565b90506000611773858363ffffffff6125a816565b336000818152600b60205260409020600101549192506001600160a01b03909116906117a190869083612ac8565b60006117ac82611621565b9050806117b98382612c3d565b826001600160a01b031660008051602061434983398151915282336040516117e292919061425e565b60405180910390a26117f43386612d85565b336001600160a01b0316600080516020614329833981519152878660405161181d929190613abb565b60405180910390a2336001600160a01b03166000805160206143098339815191528660405161184c9190614255565b60405180910390a2600954611867908763ffffffff6125a816565b60098190556040516000805160206142e98339815191529161188891614255565b60405180910390a17f6109e2559dfa766aaec7118351d48a523f0a4157f49c8d68749c8ac41318ad1233876040516118c1929190613a5e565b60405180910390a1600460009054906101000a90046001600160a01b03166001600160a01b031663ea9638bf87338d8d6040518563ffffffff1660e01b815260040161190f939291906139d6565b6000604051808303818588803b15801561192857600080fd5b505af115801561193c573d6000803e3d6000fd5b505050505050505050505050505050565b60006001600160a01b0382166119755760405162461bcd60e51b815260040161083290613eb3565b821561198357611983612efa565b336000908152600b602052604090205461199c816129dc565b6008546001600160a01b03166119b181611bcd565b60006119bc33610b8b565b905060006119c933610c51565b905060006119d78883613131565b905060006119eb868463ffffffff6125a816565b336000818152600b60205260409020600101549192506001600160a01b0390911690611a1990879083612ac8565b6000611a2482611621565b90506000611a38828663ffffffff6125a816565b9050611a448382612c3d565b826001600160a01b03166000805160206143498339815191528233604051611a6d92919061425e565b60405180910390a2611a7f8b86613147565b6000611a91878763ffffffff6125a816565b9050611a9d3382612d85565b336001600160a01b031660008051602061430983398151915282604051611ac49190614255565b60405180910390a2336001600160a01b03166000805160206143298339815191528987604051611af5929190613abb565b60405180910390a2611b0788336131c0565b50939b9a5050505050505050505050565b6001600160a01b038116611b3e5760405162461bcd60e51b815260040161083290613d1e565b806001600160a01b0316611b50611128565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000604051611b93906139a5565b6040519081900390209190915550565b6005546001600160a01b0316331461083b5760405162461bcd60e51b815260040161083290613de8565b6000816001600160a01b031663e59be5866040518163ffffffff1660e01b8152600401602060405180830381600087803b158015611c0a57600080fd5b505af1158015611c1e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c4291906138ee565b9050610b24816132ef565b6000806000611c7f601554611c73670de0b6b3a76400008961267690919063ffffffff16565b9063ffffffff61083d16565b905083851115611c8b57fe5b83851415611ca8576000601655670de0b6b3a76400009150611d08565b601654600090611cd690611cca88670de0b6b3a764000063ffffffff61267616565b9063ffffffff6125a816565b9050611ced6001611c73838863ffffffff6126b016565b9250611d0381611cca858863ffffffff61267616565b601655505b611d18818563ffffffff6126b016565b9250611d3a611d2d848663ffffffff61267616565b829063ffffffff6125a816565b60155550935093915050565b6010546000670de0b6b3a7640000831115611d5d57fe5b6000611d77670de0b6b3a76400008563ffffffff6125a816565b6011546001600160801b03600160801b820481166000818152601260209081526040808320949095168083529390529283205493945090929091611dbb8988612676565b90506000611dcf838363ffffffff61083d16565b6001600160801b038086166000908152601260209081526040808320938a168352929052819020829055519091507fe12e2cd2c9afa8069203ca07e7eff1edce4a075686d0736a8e7e0d593597b20790611e2e90839087908990614285565b60405180910390a185611f0757611e556001600160801b038516600163ffffffff61340016565b601180546001600160801b03908116600160801b938216840217918290556040517fb50f0f59e7cb5b421dc77581c3a9919e3806e076e5fa78a874c3f120cb7d874d93611ea6930490911690614241565b60405180910390a1601180546001600160801b03191690556040517f1f9dfc70cd666adb18a39d60a797518f7b4febf4b6e24ef37d44f6e1e7219fbe90611eef90600090614241565b60405180910390a1670de0b6b3a76400009650611ff4565b633b9aca00611f28670de0b6b3a76400006110078b8a63ffffffff61267616565b1015611fd557611f5e670de0b6b3a7640000611007633b9aca00611f528c8b63ffffffff61267616565b9063ffffffff61267616565b9650611f7a6001600160801b038616600163ffffffff61340016565b601180546001600160801b0319166001600160801b0392831617908190556040517f1f9dfc70cd666adb18a39d60a797518f7b4febf4b6e24ef37d44f6e1e7219fbe92611fc8921690614241565b60405180910390a1611ff4565b611ff1670de0b6b3a76400006110078a8963ffffffff61267616565b96505b60008711611ffe57fe5b60108790556040517fc1a9618cb59ebca77cbdbc2949f126823c407ff13edb285fd0262519a9c18e8c90612033908990614255565b60405180910390a150505050505050505050565b60005460405163121cbc4d60e11b81526001600160a01b03909116908190632439789a90612079908590600401614255565b600060405180830381600087803b15801561209357600080fd5b505af11580156120a7573d6000803e3d6000fd5b505050506120b482613431565b600654604051632770a7eb60e21b81526001600160a01b0390911690639dc29fac906120e69030908690600401613a5e565b600060405180830381600087803b15801561210057600080fd5b505af1158015612114573d6000803e3d6000fd5b50506040516364a197f360e01b81526001600160a01b03841692506364a197f391506121469030908790600401613a5e565b600060405180830381600087803b15801561216057600080fd5b505af1158015612174573d6000803e3d6000fd5b50505050505050565b6080810151606082015182516020808501516001600160801b038086166000908152601284526040808220928716825291909352822054919493929185906121cb908463ffffffff6125a816565b6001600160801b0380871660009081526012602052604081209293509161222e91633b9aca0091908490612208908a16600163ffffffff61340016565b6001600160801b031681526020810191909152604001600020549063ffffffff6126b016565b90506000612260670de0b6b3a76400006110078681612253888863ffffffff61083d16565b8f9063ffffffff61267616565b9a9950505050505050505050565b6020810151606082015160808301516011546000939291906001600160801b03600160801b909104811690821610156122ad5760009350505050610865565b60115460009081906122ce906001600160801b03168563ffffffff61348b16565b90506001600160801b0381166122fe576122f7856110076010548b61267690919063ffffffff16565b9150612336565b806001600160801b031660011415612331576122f7633b9aca00611007876110076010548d61267690919063ffffffff16565b600091505b61234a88633b9aca0063ffffffff6126b016565b82101561235f57600095505050505050610865565b509695505050505050565b6001600160a01b0381166000908152600d602052604090206001015460ff1615610aac5760405162461bcd60e51b815260040161083290613fcd565b6001600160a01b0381166000908152600b60205260409020548015610b245760405162461bcd60e51b815260040161083290614026565b670de0b6b3a7640000811115610aac5760405162461bcd60e51b815260040161083290613f03565b61240e816134c5565b6124173361236a565b61242082613512565b336000908152600b60205260409020546008546001600160a01b031661244581611bcd565b81612454576124543384613532565b600061245f33610b8b565b9050600061246c33610c51565b90506000612480858363ffffffff6125a816565b336000818152600b60205260409020600101549192506001600160a01b03909116906124ae90869083612ac8565b60006124b982611621565b905060006124cd828b63ffffffff61083d16565b90506124d98382612c3d565b826001600160a01b0316600080516020614349833981519152823360405161250292919061425e565b60405180910390a2612514338b61358c565b6000612526868c63ffffffff61083d16565b90506125323382612d85565b336001600160a01b0316600080516020614309833981519152826040516125599190614255565b60405180910390a2336001600160a01b0316600080516020614329833981519152888760405161258a929190613abb565b60405180910390a261259b87613640565b5050505050505050505050565b600061086283836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061364a565b608081015160608201516040808401516020808601516001600160801b03808716600090815260138452858120918716815292529281205490949392908590612639908463ffffffff6125a816565b6001600160801b0380871660009081526013602052604081209293509161222e91633b9aca0091908490612208908a16600163ffffffff61340016565b60008261268557506000610865565b8282028284828161269257fe5b04146108625760405162461bcd60e51b815260040161083290613e72565b600061086283836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250613676565b600080856001600160a01b03166321df0da76040518163ffffffff1660e01b815260040160206040518083038186803b15801561272e57600080fd5b505afa158015612742573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127669190613786565b90506000816001600160a01b03166370a08231306040518263ffffffff1660e01b815260040161279691906139c2565b60206040518083038186803b1580156127ae57600080fd5b505afa1580156127c2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127e691906138ee565b9050306001600160a01b03831663605629d633838a893561280d60408c0160208d01613981565b8b604001358c606001356040518863ffffffff1660e01b81526004016128399796959493929190613a1d565b600060405180830381600087803b15801561285357600080fd5b505af1158015612867573d6000803e3d6000fd5b50505050866128ec83856001600160a01b03166370a08231856040518263ffffffff1660e01b815260040161289c91906139c2565b60206040518083038186803b1580156128b457600080fd5b505afa1580156128c8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611cca91906138ee565b146129095760405162461bcd60e51b815260040161083290613b9e565b60405163fb2c922360e01b81526001600160a01b0389169063fb2c9223906129399089908b903390600401613a98565b602060405180830381600087803b15801561295357600080fd5b505af1158015612967573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061298b91906138ee565b98975050505050505050565b6001600160a01b0381166129bd5760405162461bcd60e51b815260040161083290613d60565b803b80610b245760405162461bcd60e51b8152600401610832906140c5565b60008111610aac5760405162461bcd60e51b8152600401610832906140fa565b6005546040516321e3780160e01b81526001600160a01b03909116906321e3780190612a2c9084906004016139c2565b60206040518083038186803b158015612a4457600080fd5b505afa158015612a58573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612a7c91906138ee565b600114610aac5760405162461bcd60e51b815260040161083290613b32565b6000612aa682610b8b565b905060008111610b245760405162461bcd60e51b815260040161083290613d97565b6001600160a01b03811615612b88576000612ae282610f1a565b6040516306e6c58360e31b81529091506001600160a01b038516906337362c1890612b139085908590600401613a5e565b600060405180830381600087803b158015612b2d57600080fd5b505af1158015612b41573d6000803e3d6000fd5b50505050816001600160a01b03167fea80c5084fc812c1d3ccd3e420d32e85001442759aa2261773ffa052cbd660b682604051612b7e9190614255565b60405180910390a2505b6000612b93836111e0565b6040516306e6c58360e31b81529091506001600160a01b038516906337362c1890612bc49086908590600401613a5e565b600060405180830381600087803b158015612bde57600080fd5b505af1158015612bf2573d6000803e3d6000fd5b50505050826001600160a01b03167fc250d4f5c804eafb4ed97612e247bbc934de6fede0e59e4d263e190fb335193f82604051612c2f9190614255565b60405180910390a250505050565b6001600160a01b0382166000908152600e6020526040902081905580612cc8576001600160a01b0382166000818152600f60205260408082208281556001810183905560028101839055600301829055517fbb1322f85cc7cc8bac4e172a5bc5dcc0c1959007f9a030032abf9258205f0e4591612cbb918190613abb565b60405180910390a2610b24565b6011546010546001600160801b03600160801b80840482166000818152601360209081526040808320978616808452978252808320546001600160a01b038b16808552600f90935292819020600181018890556002810184905560030180546001600160801b0319168917909616948402949094179094559151909392907fbb1322f85cc7cc8bac4e172a5bc5dcc0c1959007f9a030032abf9258205f0e4590612d759085908590613abb565b60405180910390a2505050505050565b6001600160a01b0382166000908152600b6020526040902081905580612e23576001600160a01b0382166000818152600b60209081526040808320600190810180546001600160a01b0319169055600c909252808320838155918201839055600282018390556003909101829055517f2d6cc0bcdf72c9486f6451bde6b80f44066f4558f77f44dbfedbe7d8b295225a91612cbb9181908190613ac9565b6011546010546001600160801b03600160801b8084048216600081815260126020908152604080832097861680845297825280832054848452601383528184208985528352818420546001600160a01b038c16808652600c90945293829020600181018990558181556002810185905560030180546001600160801b0319168a1790971695850295909517909555935191949390917f2d6cc0bcdf72c9486f6451bde6b80f44066f4558f77f44dbfedbe7d8b295225a90612ee990869086908690613ac9565b60405180910390a250505050505050565b60025460408051630fdb11cf60e01b815290516000926001600160a01b031691630fdb11cf91600480830192602092919082900301818787803b158015612f4057600080fd5b505af1158015612f54573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612f7891906138ee565b90506000600760009054906101000a90046001600160a01b03166001600160a01b0316634d6228316040518163ffffffff1660e01b815260040160206040518083038186803b158015612fca57600080fd5b505afa158015612fde573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906130029190613786565b600554604051630d293c7160e41b81529192506000916001600160a01b039091169063d293c7109061303a9085908790600401613a5e565b60206040518083038186803b15801561305257600080fd5b505afa158015613066573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061308a91906138ee565b9050600360009054906101000a90046001600160a01b03166001600160a01b031663794e57246040518163ffffffff1660e01b815260040160206040518083038186803b1580156130da57600080fd5b505afa1580156130ee573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061311291906138ee565b81101561137c5760405162461bcd60e51b8152600401610832906141d7565b60008183106131405781610862565b5090919050565b8061315157610b24565b600654604051631062c15f60e11b81526001600160a01b03909116906320c582be90613185903090869086906004016139f9565b600060405180830381600087803b15801561319f57600080fd5b505af11580156131b3573d6000803e3d6000fd5b50505050610b2481613431565b6001600160a01b0381166131e65760405162461bcd60e51b815260040161083290613c1e565b816131f057610b24565b600954600090613206908463ffffffff6125a816565b9050806009819055506000805160206142e98339815191528160405161322c9190614255565b60405180910390a17f6109e2559dfa766aaec7118351d48a523f0a4157f49c8d68749c8ac41318ad123384604051613265929190613a5e565b60405180910390a16000336001600160a01b031684604051613286906139a2565b60006040518083038185875af1925050503d80600081146132c3576040519150601f19603f3d011682016040523d82523d6000602084013e6132c8565b606091505b50509050806132e95760405162461bcd60e51b815260040161083290613e31565b50505050565b600a548015806132fd575081155b156133085750610aac565b600061331483836136ad565b9050600061332d6010548361267690919063ffffffff16565b6011546001600160801b03600160801b820481166000908152601360209081526040808320939094168252919091522054909150613371908263ffffffff61083d16565b601180546001600160801b03600160801b80830482166000908152601360208181526040808420968616845295815285832097909755945491820483168082529486528381209190921680835294528190205490517f2d6127771b164a9cc8827d24b5955db2a77e7a81dac389107ebb8bce9fb64968936133f29391614285565b60405180910390a150505050565b60008282016001600160801b0380851690821610156108625760405162461bcd60e51b815260040161083290614192565b600a54600090613447908363ffffffff6125a816565b905080600a819055507ff3c69a10dcea5d744225cbe910fb39d6f8208bb8e21fff523d6756a7966093c78160405161347f9190614255565b60405180910390a15050565b6000826001600160801b0316826001600160801b031611156134bf5760405162461bcd60e51b81526004016108329061414a565b50900390565b6001600160a01b0381166000908152600d602052604090206001015460ff16806134f657506001600160a01b038116155b610aac5760405162461bcd60e51b815260040161083290613c6b565b60008111610aac5760405162461bcd60e51b815260040161083290613f56565b6001600160a01b038281166000818152600b602052604080822060010180546001600160a01b0319169486169485179055517f094c08e96a8890877a8390b4f967180a7507ad8622244d05fcd0f9f8e086564e9190a35050565b600654604051632ee65eeb60e21b81526001600160a01b039091169063bb997bac906135c0908590309086906004016139f9565b600060405180830381600087803b1580156135da57600080fd5b505af11580156135ee573d6000803e3d6000fd5b5050600a546000925061360891508363ffffffff61083d16565b905080600a819055507ff3c69a10dcea5d744225cbe910fb39d6f8208bb8e21fff523d6756a7966093c781604051610a5e9190614255565b610aac81336131c0565b6000818484111561366e5760405162461bcd60e51b81526004016108329190613adf565b505050900390565b600081836136975760405162461bcd60e51b81526004016108329190613adf565b5060008385816136a357fe5b0495945050505050565b6000806136d1601454611c73670de0b6b3a76400008761267690919063ffffffff16565b905060006136e5828563ffffffff6126b016565b90506137076136fa828663ffffffff61267616565b839063ffffffff6125a816565b601455949350505050565b6040518060a0016040528060008152602001600081526020016000815260200160006001600160801b0316815260200160006001600160801b031681525090565b80356001600160801b038116811461086557600080fd5b60006020828403121561377b578081fd5b8135610862816142d3565b600060208284031215613797578081fd5b8151610862816142d3565b600080604083850312156137b4578081fd5b82356137bf816142d3565b915060208301356137cf816142d3565b809150509250929050565b600080600080600080600080610100898b0312156137f6578384fd5b8835613801816142d3565b97506020890135613811816142d3565b96506040890135613821816142d3565b95506060890135613831816142d3565b94506080890135613841816142d3565b935060a0890135613851816142d3565b925060c0890135613861816142d3565b915060e0890135613871816142d3565b809150509295985092959890939650565b600060208284031215613893578081fd5b81518015158114610862578182fd5b600080604083850312156138b4578182fd5b6138be8484613753565b91506138cd8460208501613753565b90509250929050565b6000602082840312156138e7578081fd5b5035919050565b6000602082840312156138ff578081fd5b5051919050565b60008060408385031215613918578182fd5b8235915060208301356137cf816142d3565b60008082840360a081121561393d578283fd5b833592506080601f1982011215613952578182fd5b506020830190509250929050565b60008060408385031215613972578182fd5b50508035926020909101359150565b600060208284031215613992578081fd5b813560ff81168114610862578182fd5b90565b7035b2bc9737bbb730b136329737bbb732b960791b815260110190565b6001600160a01b0391909116815260200190565b6001600160a01b0393841681529183166020830152909116604082015260600190565b6001600160a01b039384168152919092166020820152604081019190915260600190565b6001600160a01b0397881681529590961660208601526040850193909352606084019190915260ff16608083015260a082015260c081019190915260e00190565b6001600160a01b03929092168252602082015260400190565b6001600160a01b039390931683526020830191909152604082015260600190565b6001600160a01b0393841681526020810192909252909116604082015260600190565b918252602082015260400190565b9283526020830191909152604082015260600190565b6000602080835283518082850152825b81811015613b0b57858101830151858201604001528201613aef565b81811115613b1c5783604083870101525b50601f01601f1916929092016040019392505050565b60208082526046908201527f53746162696c697479506f6f6c3a2063616c6c6572206d75737420686176652060408201527f616e206163746976652074726f766520746f207769746864726177204554484760608201526561696e20746f60d01b608082015260a00190565b60208082526029908201527f444c4c52207472616e7366657272656420616d6f756e742076616c69646174696040820152681bdb8819985a5b195960ba1b606082015260800190565b6020808252601b908201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604082015260600190565b6020808252602d908201527f53503a3a5f73656e644554484761696e546f3a205f726563656976657220697360408201526c207a65726f206164647265737360981b606082015260800190565b60208082526046908201527f53746162696c697479506f6f6c3a20546167206d75737420626520612072656760408201527f697374657265642066726f6e7420656e642c206f7220746865207a65726f206160608201526564647265737360d01b608082015260a00190565b60208082526027908201527f53746162696c697479506f6f6c3a2043616c6c6572206973206e6f74204163746040820152661a5d99541bdbdb60ca1b606082015260800190565b60208082526022908201527f4f776e61626c653a3a7365744f776e65723a20696e76616c6964206164647265604082015261737360f01b606082015260800190565b6020808252601e908201527f4163636f756e742063616e6e6f74206265207a65726f20616464726573730000604082015260600190565b60208082526031908201527f53746162696c697479506f6f6c3a2063616c6c6572206d7573742068617665206040820152703737b716bd32b9379022aa241023b0b4b760791b606082015260800190565b60208082526029908201527f53746162696c697479506f6f6c3a2043616c6c6572206973206e6f742054726f6040820152683b32a6b0b730b3b2b960b91b606082015260800190565b60208082526021908201527f53746162696c697479506f6f6c3a2073656e64696e6720455448206661696c656040820152601960fa1b606082015260800190565b60208082526021908201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6040820152607760f81b606082015260800190565b60208082526030908201527f53503a3a5f776974686472617746726f6d5370546f3a205f726563656976657260408201526f206973207a65726f206164647265737360801b606082015260800190565b60208082526033908201527f53746162696c697479506f6f6c3a204b69636b6261636b2072617465206d75736040820152727420626520696e2072616e6765205b302c315d60681b606082015260800190565b60208082526026908201527f53746162696c697479506f6f6c3a20416d6f756e74206d757374206265206e6f6040820152656e2d7a65726f60d01b606082015260800190565b60208082526017908201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604082015260600190565b60208082526039908201527f53746162696c697479506f6f6c3a206d757374206e6f7420616c72656164792060408201527818994818481c9959da5cdd195c995908199c9bdb9d08195b99603a1b606082015260800190565b60208082526028908201527f53746162696c697479506f6f6c3a2055736572206d7573742068617665206e6f6040820152670819195c1bdcda5d60c21b606082015260800190565b60208082526037908201527f4661696c656420746f20617070726f7665205a55534420616d6f756e7420666f60408201527672204d796e74206d417373657420746f2072656465656d60481b606082015260800190565b6020808252818101527f4163636f756e7420636f64652073697a652063616e6e6f74206265207a65726f604082015260600190565b60208082526030908201527f53746162696c697479506f6f6c3a2055736572206d757374206861766520612060408201526f1b9bdb8b5e995c9bc819195c1bdcda5d60821b606082015260800190565b60208082526028908201527f4c697175697479536166654d6174683132383a207375627472616374696f6e206040820152676f766572666c6f7760c01b606082015260800190565b60208082526025908201527f4c697175697479536166654d6174683132383a206164646974696f6e206f766560408201526472666c6f7760d81b606082015260800190565b60208082526044908201527f53746162696c697479506f6f6c3a2043616e6e6f74207769746864726177207760408201527f68696c65207468657265206172652074726f766573207769746820494352203c6060820152631026a1a960e11b608082015260a00190565b6001600160801b0391909116815260200190565b90815260200190565b9182526001600160a01b0316602082015260400190565b9182521515602082015260400190565b9283526001600160801b03918216602084015216604082015260600190565b948552602085019390935260408401919091526001600160801b03908116606084015216608082015260a00190565b6001600160a01b0381168114610aac57600080fdfeceb6d671277d4354fd29977ada70695fbd93a16612abf765d6b0e25c28dc6db3bce78369dccab09eec1986f4d409ab09ffbb47d65423e5148fcf98411c5111c951457222ebca92c335c9c86e2baa1cc0e40ffaa9084a51452980d5ba8dec2f6399920012339b5a3368d3a04b8606ce412c46ed92b7dcd8602d41fc8862cb8f25a2646970667358221220f8912683a91b4c42a5bc38109aad030673c9f16e7353cc2d048fcf04f2e7bb2c64736f6c634300060b0033", - "deployedBytecode": "0x6080604052600436106102975760003560e01c806386da08241161015a578063b71d3bf3116100c1578063d7fb04431161007a578063d7fb044314610768578063df9cd84f1461077d578063ec9f7d461461079d578063f3af7c3b146107b2578063fc7e286d146107ba578063fda0101a146107e8576102e2565b8063b71d3bf3146106c9578063bdaf37ea146106de578063c0a90828146106f3578063c3a34a0e14610713578063ce4b5bbe14610733578063d733cfd014610748576102e2565b8063a20baee611610113578063a20baee6146104d1578063a3f4df7e1461063a578063a4e59ac81461065c578063a7bfff9714610671578063ae9187541461069f578063b31ee965146106b4576102e2565b806386da0824146105b1578063887105d3146105d1578063893d20e8146105e65780638b8fbd92146105fb57806395fb16bb146106105780639f07067014610625576102e2565b8063556be101116101fe57806376671808116101b7578063766718081461051057806377553ad414610532578063795d26c3146105475780637f7dde4a1461055c57806382e0a574146105715780638692a8a214610591576102e2565b8063556be101146104715780635d2de642146104915780635f788d65146104b157806372fe25aa146104d1578063741bef1a146104e6578063759b3034146104fb576102e2565b80632e54bf95116102505780632e54bf95146103ba578063335525ad146103da578063389e92a5146103fa5780633cc742251461041a5780633d83908a1461043c57806340ed1afd14610451576102e2565b80630fbfe38b146102e757806313af40351461030957806314f6c3be1461032957806316b9d3c5146103545780631bf435551461038557806328a0a04d1461039a576102e2565b366102e2576102a4610808565b6009546102b7903463ffffffff61083d16565b60098190556040516000805160206142e9833981519152916102d891614255565b60405180910390a1005b600080fd5b3480156102f357600080fd5b506103076103023660046138d6565b61086b565b005b34801561031557600080fd5b5061030761032436600461376a565b610a6b565b34801561033557600080fd5b5061033e610aaf565b60405161034b9190614255565b60405180910390f35b34801561036057600080fd5b5061037461036f36600461376a565b610ab5565b60405161034b9594939291906142a4565b34801561039157600080fd5b5061033e610af0565b3480156103a657600080fd5b5061033e6103b53660046138a2565b610afd565b3480156103c657600080fd5b506103076103d53660046138d6565b610b1a565b3480156103e657600080fd5b506103076103f5366004613960565b610b28565b34801561040657600080fd5b5061033e61041536600461376a565b610b8b565b34801561042657600080fd5b5061042f610c33565b60405161034b91906139c2565b34801561044857600080fd5b5061042f610c42565b34801561045d57600080fd5b5061033e61046c36600461376a565b610c51565b34801561047d57600080fd5b5061030761048c3660046138d6565b610cee565b34801561049d57600080fd5b5061033e6104ac36600461376a565b610d66565b3480156104bd57600080fd5b506103076104cc366004613906565b610d78565b3480156104dd57600080fd5b5061033e610d82565b3480156104f257600080fd5b5061042f610d8e565b34801561050757600080fd5b5061033e610d9d565b34801561051c57600080fd5b50610525610daa565b60405161034b9190614241565b34801561053e57600080fd5b5061042f610dc0565b34801561055357600080fd5b5061033e610dcf565b34801561056857600080fd5b5061042f610eee565b34801561057d57600080fd5b5061033e61058c3660046138a2565b610efd565b34801561059d57600080fd5b5061033e6105ac36600461376a565b610f1a565b3480156105bd57600080fd5b506103746105cc36600461376a565b61101e565b3480156105dd57600080fd5b5061033e611059565b3480156105f257600080fd5b5061042f611128565b34801561060757600080fd5b5061033e611147565b34801561061c57600080fd5b5061042f61114d565b34801561063157600080fd5b5061042f61115c565b34801561064657600080fd5b5061064f61116b565b60405161034b9190613adf565b34801561066857600080fd5b50610525611194565b34801561067d57600080fd5b5061069161068c36600461376a565b6111a3565b60405161034b929190614275565b3480156106ab57600080fd5b5061042f6111bf565b3480156106c057600080fd5b5061033e6111ce565b3480156106d557600080fd5b5061033e6111d4565b3480156106ea57600080fd5b5061033e6111da565b3480156106ff57600080fd5b5061033e61070e36600461376a565b6111e0565b34801561071f57600080fd5b5061030761072e36600461392a565b6112dd565b34801561073f57600080fd5b5061033e611381565b34801561075457600080fd5b506103076107633660046137da565b611389565b34801561077457600080fd5b5061033e61161b565b34801561078957600080fd5b5061033e61079836600461376a565b611621565b3480156107a957600080fd5b5061042f6116be565b6103076116cd565b3480156107c657600080fd5b506107da6107d536600461376a565b6116e5565b60405161034b92919061425e565b3480156107f457600080fd5b506103076108033660046137a2565b611707565b6000546001600160a01b0316331461083b5760405162461bcd60e51b815260040161083290613cd7565b60405180910390fd5b565b6000828201838110156108625760405162461bcd60e51b815260040161083290613be7565b90505b92915050565b6000600460009054906101000a90046001600160a01b03166001600160a01b031663e9fc34616040518163ffffffff1660e01b815260040160206040518083038186803b1580156108bb57600080fd5b505afa1580156108cf573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108f39190613786565b90506000610901833061194d565b60065460405163095ea7b360e01b81529192506001600160a01b03169063095ea7b3906109349085908590600401613a5e565b602060405180830381600087803b15801561094e57600080fd5b505af1158015610962573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109869190613882565b6109a25760405162461bcd60e51b81526004016108329061406e565b60065460405163438b1b4b60e01b81526001600160a01b038481169263438b1b4b926109d8929091169085903390600401613a98565b602060405180830381600087803b1580156109f257600080fd5b505af1158015610a06573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a2a91906138ee565b507f2b0fbec1c4e7e30517f196a714775ffe72770d2348f5d586854bb3c0fdf41df8338483604051610a5e93929190613a77565b60405180910390a1505050565b610a73611128565b6001600160a01b0316336001600160a01b031614610aa35760405162461bcd60e51b815260040161083290613f9c565b610aac81611b18565b50565b60095490565b600f602052600090815260409020805460018201546002830154600390930154919290916001600160801b0380821691600160801b90041685565b6809c2007651b250000081565b601260209081526000928352604080842090915290825290205481565b610b24813361194d565b5050565b610b30611ba3565b600a54801580610b3e575082155b15610b495750610b24565b600854610b5e906001600160a01b0316611bcd565b600080610b6c848685611c4d565b91509150610b7a8282611d46565b610b848486612047565b5050505050565b6001600160a01b0381166000908152600b602052604081205480610bb3576000915050610c2e565b610bbb613712565b506001600160a01b0383166000908152600c60209081526040808320815160a08101835281548152600182015493810193909352600281015491830191909152600301546001600160801b038082166060840152600160801b90910416608082015290610c28838361217d565b93505050505b919050565b6001546001600160a01b031681565b6005546001600160a01b031681565b6001600160a01b0381166000908152600b602052604081205480610c79576000915050610c2e565b610c81613712565b506001600160a01b0383166000908152600c60209081526040808320815160a08101835281548152600182015493810193909352600281015491830191909152600301546001600160801b038082166060840152600160801b90910416608082015290610c28838361226e565b610cf73361236a565b610d00336123a6565b610d09816123dd565b336000818152600d6020526040908190208381556001908101805460ff19169091179055517f19bc932fb9e16a8b5a1e41be9f4c2de59d5ddd7567b8b81405f532ca00a9880e90610d5b908490614255565b60405180910390a250565b600e6020526000908152604090205481565b610b248282612405565b670de0b6b3a764000081565b6002546001600160a01b031681565b6801158e460913d0000081565b601154600160801b90046001600160801b031681565b6004546001600160a01b031681565b60008054604080516272c7d360e71b8152905183926001600160a01b031691633963e980916004808301926020929190829003018186803b158015610e1357600080fd5b505afa158015610e27573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e4b91906138ee565b90506000600160009054906101000a90046001600160a01b03166001600160a01b0316633963e9806040518163ffffffff1660e01b815260040160206040518083038186803b158015610e9d57600080fd5b505afa158015610eb1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ed591906138ee565b9050610ee7828263ffffffff61083d16565b9250505090565b6000546001600160a01b031681565b601360209081526000928352604080842090915290825290205481565b6001600160a01b0381166000908152600e602052604081205480610f42576000915050610c2e565b6001600160a01b0383166000908152600d602052604081205490610f74670de0b6b3a76400008363ffffffff6125a816565b9050610f7e613712565b506001600160a01b0385166000908152600f60209081526040808320815160a08101835281548152600182015493810193909352600281015491830191909152600301546001600160801b038082166060840152600160801b90910416608082015290611013670de0b6b3a7640000611007610ffa88866125ea565b869063ffffffff61267616565b9063ffffffff6126b016565b979650505050505050565b600c602052600090815260409020805460018201546002830154600390930154919290916001600160801b0380821691600160801b90041685565b6000805460408051630a7b61df60e11b8152905183926001600160a01b0316916314f6c3be916004808301926020929190829003018186803b15801561109e57600080fd5b505afa1580156110b2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110d691906138ee565b90506000600160009054906101000a90046001600160a01b03166001600160a01b03166314f6c3be6040518163ffffffff1660e01b815260040160206040518083038186803b158015610e9d57600080fd5b600080604051611137906139a5565b6040519081900390205492915050565b60105481565b6008546001600160a01b031681565b6003546001600160a01b031681565b6040518060400160405280600d81526020016c14dd18589a5b1a5d1e541bdbdb609a1b81525081565b6011546001600160801b031681565b600d602052600090815260409020805460019091015460ff1682565b6007546001600160a01b031681565b60165481565b60145481565b600a5490565b6001600160a01b0381166000908152600b602052604081205480611208576000915050610c2e565b6001600160a01b038084166000908152600b602052604081206001015490911690811561124d576001600160a01b0382166000908152600d6020526040902054611257565b670de0b6b3a76400005b9050611261613712565b506001600160a01b0385166000908152600c60209081526040808320815160a08101835281548152600182015493810193909352600281015491830191909152600301546001600160801b038082166060840152600160801b90910416608082015290611013670de0b6b3a7640000611007610ffa88866125ea565b600480546040805163e9fc346160e01b8152905160009361136f936001600160a01b03169263e9fc34619281830192602092829003018186803b15801561132357600080fd5b505afa158015611337573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061135b9190613786565b60065485906001600160a01b0316856126f2565b905061137c816000612405565b505050565b633b9aca0081565b611391611128565b6001600160a01b0316336001600160a01b0316146113c15760405162461bcd60e51b815260040161083290613f9c565b6113ca88612997565b6113d387612997565b6113dc86612997565b6113e585612997565b6113ee84612997565b6113f783612997565b61140082612997565b61140981612997565b670de0b6b3a7640000601055600380546001600160a01b03199081166001600160a01b038b8116919091179092556004805482168a8416179055600580548216898416179055600080548216888416179055600680548216878416179055600780548216868416179055600280548216858416179055600880549091169183169190911790556040517f3ca631ffcd2a9b5d9ae18543fc82f58eb4ca33af9e6ab01b7a8e95331e6ed985906114bf9089906139c2565b60405180910390a17f143219c9e69b09e07e095fcc889b43d8f46ca892bba65f08dc3a0050869a5678866040516114f691906139c2565b60405180910390a17f78f058b189175430c48dc02699e3a0031ea4ff781536dc2fab847de4babdd8828560405161152d91906139c2565b60405180910390a17fcdf33850c44a1a874b5fefb51dae615ac6afebd581ef90d571f81b06541d8e9d8460405161156491906139c2565b60405180910390a17f65f4cf077bc01e4742eb5ad98326f6e95b63548ea24b17f8d5e823111fe788008360405161159b91906139c2565b60405180910390a17f8c537274438aa850a330284665d81a85dd38267d09e4050d416bfc94142db264826040516115d291906139c2565b60405180910390a17f3055265812fb8447b9ada4a5d804ec43bd528ec40e89c952bbc7b85dc5ac68118160405161160991906139c2565b60405180910390a15050505050505050565b60155481565b6001600160a01b0381166000908152600e602052604081205480611649576000915050610c2e565b611651613712565b506001600160a01b0383166000908152600f60209081526040808320815160a08101835281548152600182015493810193909352600281015491830191909152600301546001600160801b038082166060840152600160801b90910416608082015290610c28838361226e565b6006546001600160a01b031681565b6009546116e0903463ffffffff61083d16565b600955565b600b60205260009081526040902080546001909101546001600160a01b031682565b336000908152600b6020526040902054611720816129dc565b611729336129fc565b61173233612a9b565b6008546001600160a01b031661174781611bcd565b600061175233610b8b565b9050600061175f33610c51565b90506000611773858363ffffffff6125a816565b336000818152600b60205260409020600101549192506001600160a01b03909116906117a190869083612ac8565b60006117ac82611621565b9050806117b98382612c3d565b826001600160a01b031660008051602061434983398151915282336040516117e292919061425e565b60405180910390a26117f43386612d85565b336001600160a01b0316600080516020614329833981519152878660405161181d929190613abb565b60405180910390a2336001600160a01b03166000805160206143098339815191528660405161184c9190614255565b60405180910390a2600954611867908763ffffffff6125a816565b60098190556040516000805160206142e98339815191529161188891614255565b60405180910390a17f6109e2559dfa766aaec7118351d48a523f0a4157f49c8d68749c8ac41318ad1233876040516118c1929190613a5e565b60405180910390a1600460009054906101000a90046001600160a01b03166001600160a01b031663ea9638bf87338d8d6040518563ffffffff1660e01b815260040161190f939291906139d6565b6000604051808303818588803b15801561192857600080fd5b505af115801561193c573d6000803e3d6000fd5b505050505050505050505050505050565b60006001600160a01b0382166119755760405162461bcd60e51b815260040161083290613eb3565b821561198357611983612efa565b336000908152600b602052604090205461199c816129dc565b6008546001600160a01b03166119b181611bcd565b60006119bc33610b8b565b905060006119c933610c51565b905060006119d78883613131565b905060006119eb868463ffffffff6125a816565b336000818152600b60205260409020600101549192506001600160a01b0390911690611a1990879083612ac8565b6000611a2482611621565b90506000611a38828663ffffffff6125a816565b9050611a448382612c3d565b826001600160a01b03166000805160206143498339815191528233604051611a6d92919061425e565b60405180910390a2611a7f8b86613147565b6000611a91878763ffffffff6125a816565b9050611a9d3382612d85565b336001600160a01b031660008051602061430983398151915282604051611ac49190614255565b60405180910390a2336001600160a01b03166000805160206143298339815191528987604051611af5929190613abb565b60405180910390a2611b0788336131c0565b50939b9a5050505050505050505050565b6001600160a01b038116611b3e5760405162461bcd60e51b815260040161083290613d1e565b806001600160a01b0316611b50611128565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000604051611b93906139a5565b6040519081900390209190915550565b6005546001600160a01b0316331461083b5760405162461bcd60e51b815260040161083290613de8565b6000816001600160a01b031663e59be5866040518163ffffffff1660e01b8152600401602060405180830381600087803b158015611c0a57600080fd5b505af1158015611c1e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c4291906138ee565b9050610b24816132ef565b6000806000611c7f601554611c73670de0b6b3a76400008961267690919063ffffffff16565b9063ffffffff61083d16565b905083851115611c8b57fe5b83851415611ca8576000601655670de0b6b3a76400009150611d08565b601654600090611cd690611cca88670de0b6b3a764000063ffffffff61267616565b9063ffffffff6125a816565b9050611ced6001611c73838863ffffffff6126b016565b9250611d0381611cca858863ffffffff61267616565b601655505b611d18818563ffffffff6126b016565b9250611d3a611d2d848663ffffffff61267616565b829063ffffffff6125a816565b60155550935093915050565b6010546000670de0b6b3a7640000831115611d5d57fe5b6000611d77670de0b6b3a76400008563ffffffff6125a816565b6011546001600160801b03600160801b820481166000818152601260209081526040808320949095168083529390529283205493945090929091611dbb8988612676565b90506000611dcf838363ffffffff61083d16565b6001600160801b038086166000908152601260209081526040808320938a168352929052819020829055519091507fe12e2cd2c9afa8069203ca07e7eff1edce4a075686d0736a8e7e0d593597b20790611e2e90839087908990614285565b60405180910390a185611f0757611e556001600160801b038516600163ffffffff61340016565b601180546001600160801b03908116600160801b938216840217918290556040517fb50f0f59e7cb5b421dc77581c3a9919e3806e076e5fa78a874c3f120cb7d874d93611ea6930490911690614241565b60405180910390a1601180546001600160801b03191690556040517f1f9dfc70cd666adb18a39d60a797518f7b4febf4b6e24ef37d44f6e1e7219fbe90611eef90600090614241565b60405180910390a1670de0b6b3a76400009650611ff4565b633b9aca00611f28670de0b6b3a76400006110078b8a63ffffffff61267616565b1015611fd557611f5e670de0b6b3a7640000611007633b9aca00611f528c8b63ffffffff61267616565b9063ffffffff61267616565b9650611f7a6001600160801b038616600163ffffffff61340016565b601180546001600160801b0319166001600160801b0392831617908190556040517f1f9dfc70cd666adb18a39d60a797518f7b4febf4b6e24ef37d44f6e1e7219fbe92611fc8921690614241565b60405180910390a1611ff4565b611ff1670de0b6b3a76400006110078a8963ffffffff61267616565b96505b60008711611ffe57fe5b60108790556040517fc1a9618cb59ebca77cbdbc2949f126823c407ff13edb285fd0262519a9c18e8c90612033908990614255565b60405180910390a150505050505050505050565b60005460405163121cbc4d60e11b81526001600160a01b03909116908190632439789a90612079908590600401614255565b600060405180830381600087803b15801561209357600080fd5b505af11580156120a7573d6000803e3d6000fd5b505050506120b482613431565b600654604051632770a7eb60e21b81526001600160a01b0390911690639dc29fac906120e69030908690600401613a5e565b600060405180830381600087803b15801561210057600080fd5b505af1158015612114573d6000803e3d6000fd5b50506040516364a197f360e01b81526001600160a01b03841692506364a197f391506121469030908790600401613a5e565b600060405180830381600087803b15801561216057600080fd5b505af1158015612174573d6000803e3d6000fd5b50505050505050565b6080810151606082015182516020808501516001600160801b038086166000908152601284526040808220928716825291909352822054919493929185906121cb908463ffffffff6125a816565b6001600160801b0380871660009081526012602052604081209293509161222e91633b9aca0091908490612208908a16600163ffffffff61340016565b6001600160801b031681526020810191909152604001600020549063ffffffff6126b016565b90506000612260670de0b6b3a76400006110078681612253888863ffffffff61083d16565b8f9063ffffffff61267616565b9a9950505050505050505050565b6020810151606082015160808301516011546000939291906001600160801b03600160801b909104811690821610156122ad5760009350505050610865565b60115460009081906122ce906001600160801b03168563ffffffff61348b16565b90506001600160801b0381166122fe576122f7856110076010548b61267690919063ffffffff16565b9150612336565b806001600160801b031660011415612331576122f7633b9aca00611007876110076010548d61267690919063ffffffff16565b600091505b61234a88633b9aca0063ffffffff6126b016565b82101561235f57600095505050505050610865565b509695505050505050565b6001600160a01b0381166000908152600d602052604090206001015460ff1615610aac5760405162461bcd60e51b815260040161083290613fcd565b6001600160a01b0381166000908152600b60205260409020548015610b245760405162461bcd60e51b815260040161083290614026565b670de0b6b3a7640000811115610aac5760405162461bcd60e51b815260040161083290613f03565b61240e816134c5565b6124173361236a565b61242082613512565b336000908152600b60205260409020546008546001600160a01b031661244581611bcd565b81612454576124543384613532565b600061245f33610b8b565b9050600061246c33610c51565b90506000612480858363ffffffff6125a816565b336000818152600b60205260409020600101549192506001600160a01b03909116906124ae90869083612ac8565b60006124b982611621565b905060006124cd828b63ffffffff61083d16565b90506124d98382612c3d565b826001600160a01b0316600080516020614349833981519152823360405161250292919061425e565b60405180910390a2612514338b61358c565b6000612526868c63ffffffff61083d16565b90506125323382612d85565b336001600160a01b0316600080516020614309833981519152826040516125599190614255565b60405180910390a2336001600160a01b0316600080516020614329833981519152888760405161258a929190613abb565b60405180910390a261259b87613640565b5050505050505050505050565b600061086283836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061364a565b608081015160608201516040808401516020808601516001600160801b03808716600090815260138452858120918716815292529281205490949392908590612639908463ffffffff6125a816565b6001600160801b0380871660009081526013602052604081209293509161222e91633b9aca0091908490612208908a16600163ffffffff61340016565b60008261268557506000610865565b8282028284828161269257fe5b04146108625760405162461bcd60e51b815260040161083290613e72565b600061086283836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250613676565b600080856001600160a01b03166321df0da76040518163ffffffff1660e01b815260040160206040518083038186803b15801561272e57600080fd5b505afa158015612742573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127669190613786565b90506000816001600160a01b03166370a08231306040518263ffffffff1660e01b815260040161279691906139c2565b60206040518083038186803b1580156127ae57600080fd5b505afa1580156127c2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127e691906138ee565b9050306001600160a01b03831663605629d633838a893561280d60408c0160208d01613981565b8b604001358c606001356040518863ffffffff1660e01b81526004016128399796959493929190613a1d565b600060405180830381600087803b15801561285357600080fd5b505af1158015612867573d6000803e3d6000fd5b50505050866128ec83856001600160a01b03166370a08231856040518263ffffffff1660e01b815260040161289c91906139c2565b60206040518083038186803b1580156128b457600080fd5b505afa1580156128c8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611cca91906138ee565b146129095760405162461bcd60e51b815260040161083290613b9e565b60405163fb2c922360e01b81526001600160a01b0389169063fb2c9223906129399089908b903390600401613a98565b602060405180830381600087803b15801561295357600080fd5b505af1158015612967573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061298b91906138ee565b98975050505050505050565b6001600160a01b0381166129bd5760405162461bcd60e51b815260040161083290613d60565b803b80610b245760405162461bcd60e51b8152600401610832906140c5565b60008111610aac5760405162461bcd60e51b8152600401610832906140fa565b6005546040516321e3780160e01b81526001600160a01b03909116906321e3780190612a2c9084906004016139c2565b60206040518083038186803b158015612a4457600080fd5b505afa158015612a58573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612a7c91906138ee565b600114610aac5760405162461bcd60e51b815260040161083290613b32565b6000612aa682610b8b565b905060008111610b245760405162461bcd60e51b815260040161083290613d97565b6001600160a01b03811615612b88576000612ae282610f1a565b6040516306e6c58360e31b81529091506001600160a01b038516906337362c1890612b139085908590600401613a5e565b600060405180830381600087803b158015612b2d57600080fd5b505af1158015612b41573d6000803e3d6000fd5b50505050816001600160a01b03167fea80c5084fc812c1d3ccd3e420d32e85001442759aa2261773ffa052cbd660b682604051612b7e9190614255565b60405180910390a2505b6000612b93836111e0565b6040516306e6c58360e31b81529091506001600160a01b038516906337362c1890612bc49086908590600401613a5e565b600060405180830381600087803b158015612bde57600080fd5b505af1158015612bf2573d6000803e3d6000fd5b50505050826001600160a01b03167fc250d4f5c804eafb4ed97612e247bbc934de6fede0e59e4d263e190fb335193f82604051612c2f9190614255565b60405180910390a250505050565b6001600160a01b0382166000908152600e6020526040902081905580612cc8576001600160a01b0382166000818152600f60205260408082208281556001810183905560028101839055600301829055517fbb1322f85cc7cc8bac4e172a5bc5dcc0c1959007f9a030032abf9258205f0e4591612cbb918190613abb565b60405180910390a2610b24565b6011546010546001600160801b03600160801b80840482166000818152601360209081526040808320978616808452978252808320546001600160a01b038b16808552600f90935292819020600181018890556002810184905560030180546001600160801b0319168917909616948402949094179094559151909392907fbb1322f85cc7cc8bac4e172a5bc5dcc0c1959007f9a030032abf9258205f0e4590612d759085908590613abb565b60405180910390a2505050505050565b6001600160a01b0382166000908152600b6020526040902081905580612e23576001600160a01b0382166000818152600b60209081526040808320600190810180546001600160a01b0319169055600c909252808320838155918201839055600282018390556003909101829055517f2d6cc0bcdf72c9486f6451bde6b80f44066f4558f77f44dbfedbe7d8b295225a91612cbb9181908190613ac9565b6011546010546001600160801b03600160801b8084048216600081815260126020908152604080832097861680845297825280832054848452601383528184208985528352818420546001600160a01b038c16808652600c90945293829020600181018990558181556002810185905560030180546001600160801b0319168a1790971695850295909517909555935191949390917f2d6cc0bcdf72c9486f6451bde6b80f44066f4558f77f44dbfedbe7d8b295225a90612ee990869086908690613ac9565b60405180910390a250505050505050565b60025460408051630fdb11cf60e01b815290516000926001600160a01b031691630fdb11cf91600480830192602092919082900301818787803b158015612f4057600080fd5b505af1158015612f54573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612f7891906138ee565b90506000600760009054906101000a90046001600160a01b03166001600160a01b0316634d6228316040518163ffffffff1660e01b815260040160206040518083038186803b158015612fca57600080fd5b505afa158015612fde573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906130029190613786565b600554604051630d293c7160e41b81529192506000916001600160a01b039091169063d293c7109061303a9085908790600401613a5e565b60206040518083038186803b15801561305257600080fd5b505afa158015613066573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061308a91906138ee565b9050600360009054906101000a90046001600160a01b03166001600160a01b031663794e57246040518163ffffffff1660e01b815260040160206040518083038186803b1580156130da57600080fd5b505afa1580156130ee573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061311291906138ee565b81101561137c5760405162461bcd60e51b8152600401610832906141d7565b60008183106131405781610862565b5090919050565b8061315157610b24565b600654604051631062c15f60e11b81526001600160a01b03909116906320c582be90613185903090869086906004016139f9565b600060405180830381600087803b15801561319f57600080fd5b505af11580156131b3573d6000803e3d6000fd5b50505050610b2481613431565b6001600160a01b0381166131e65760405162461bcd60e51b815260040161083290613c1e565b816131f057610b24565b600954600090613206908463ffffffff6125a816565b9050806009819055506000805160206142e98339815191528160405161322c9190614255565b60405180910390a17f6109e2559dfa766aaec7118351d48a523f0a4157f49c8d68749c8ac41318ad123384604051613265929190613a5e565b60405180910390a16000336001600160a01b031684604051613286906139a2565b60006040518083038185875af1925050503d80600081146132c3576040519150601f19603f3d011682016040523d82523d6000602084013e6132c8565b606091505b50509050806132e95760405162461bcd60e51b815260040161083290613e31565b50505050565b600a548015806132fd575081155b156133085750610aac565b600061331483836136ad565b9050600061332d6010548361267690919063ffffffff16565b6011546001600160801b03600160801b820481166000908152601360209081526040808320939094168252919091522054909150613371908263ffffffff61083d16565b601180546001600160801b03600160801b80830482166000908152601360208181526040808420968616845295815285832097909755945491820483168082529486528381209190921680835294528190205490517f2d6127771b164a9cc8827d24b5955db2a77e7a81dac389107ebb8bce9fb64968936133f29391614285565b60405180910390a150505050565b60008282016001600160801b0380851690821610156108625760405162461bcd60e51b815260040161083290614192565b600a54600090613447908363ffffffff6125a816565b905080600a819055507ff3c69a10dcea5d744225cbe910fb39d6f8208bb8e21fff523d6756a7966093c78160405161347f9190614255565b60405180910390a15050565b6000826001600160801b0316826001600160801b031611156134bf5760405162461bcd60e51b81526004016108329061414a565b50900390565b6001600160a01b0381166000908152600d602052604090206001015460ff16806134f657506001600160a01b038116155b610aac5760405162461bcd60e51b815260040161083290613c6b565b60008111610aac5760405162461bcd60e51b815260040161083290613f56565b6001600160a01b038281166000818152600b602052604080822060010180546001600160a01b0319169486169485179055517f094c08e96a8890877a8390b4f967180a7507ad8622244d05fcd0f9f8e086564e9190a35050565b600654604051632ee65eeb60e21b81526001600160a01b039091169063bb997bac906135c0908590309086906004016139f9565b600060405180830381600087803b1580156135da57600080fd5b505af11580156135ee573d6000803e3d6000fd5b5050600a546000925061360891508363ffffffff61083d16565b905080600a819055507ff3c69a10dcea5d744225cbe910fb39d6f8208bb8e21fff523d6756a7966093c781604051610a5e9190614255565b610aac81336131c0565b6000818484111561366e5760405162461bcd60e51b81526004016108329190613adf565b505050900390565b600081836136975760405162461bcd60e51b81526004016108329190613adf565b5060008385816136a357fe5b0495945050505050565b6000806136d1601454611c73670de0b6b3a76400008761267690919063ffffffff16565b905060006136e5828563ffffffff6126b016565b90506137076136fa828663ffffffff61267616565b839063ffffffff6125a816565b601455949350505050565b6040518060a0016040528060008152602001600081526020016000815260200160006001600160801b0316815260200160006001600160801b031681525090565b80356001600160801b038116811461086557600080fd5b60006020828403121561377b578081fd5b8135610862816142d3565b600060208284031215613797578081fd5b8151610862816142d3565b600080604083850312156137b4578081fd5b82356137bf816142d3565b915060208301356137cf816142d3565b809150509250929050565b600080600080600080600080610100898b0312156137f6578384fd5b8835613801816142d3565b97506020890135613811816142d3565b96506040890135613821816142d3565b95506060890135613831816142d3565b94506080890135613841816142d3565b935060a0890135613851816142d3565b925060c0890135613861816142d3565b915060e0890135613871816142d3565b809150509295985092959890939650565b600060208284031215613893578081fd5b81518015158114610862578182fd5b600080604083850312156138b4578182fd5b6138be8484613753565b91506138cd8460208501613753565b90509250929050565b6000602082840312156138e7578081fd5b5035919050565b6000602082840312156138ff578081fd5b5051919050565b60008060408385031215613918578182fd5b8235915060208301356137cf816142d3565b60008082840360a081121561393d578283fd5b833592506080601f1982011215613952578182fd5b506020830190509250929050565b60008060408385031215613972578182fd5b50508035926020909101359150565b600060208284031215613992578081fd5b813560ff81168114610862578182fd5b90565b7035b2bc9737bbb730b136329737bbb732b960791b815260110190565b6001600160a01b0391909116815260200190565b6001600160a01b0393841681529183166020830152909116604082015260600190565b6001600160a01b039384168152919092166020820152604081019190915260600190565b6001600160a01b0397881681529590961660208601526040850193909352606084019190915260ff16608083015260a082015260c081019190915260e00190565b6001600160a01b03929092168252602082015260400190565b6001600160a01b039390931683526020830191909152604082015260600190565b6001600160a01b0393841681526020810192909252909116604082015260600190565b918252602082015260400190565b9283526020830191909152604082015260600190565b6000602080835283518082850152825b81811015613b0b57858101830151858201604001528201613aef565b81811115613b1c5783604083870101525b50601f01601f1916929092016040019392505050565b60208082526046908201527f53746162696c697479506f6f6c3a2063616c6c6572206d75737420686176652060408201527f616e206163746976652074726f766520746f207769746864726177204554484760608201526561696e20746f60d01b608082015260a00190565b60208082526029908201527f444c4c52207472616e7366657272656420616d6f756e742076616c69646174696040820152681bdb8819985a5b195960ba1b606082015260800190565b6020808252601b908201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604082015260600190565b6020808252602d908201527f53503a3a5f73656e644554484761696e546f3a205f726563656976657220697360408201526c207a65726f206164647265737360981b606082015260800190565b60208082526046908201527f53746162696c697479506f6f6c3a20546167206d75737420626520612072656760408201527f697374657265642066726f6e7420656e642c206f7220746865207a65726f206160608201526564647265737360d01b608082015260a00190565b60208082526027908201527f53746162696c697479506f6f6c3a2043616c6c6572206973206e6f74204163746040820152661a5d99541bdbdb60ca1b606082015260800190565b60208082526022908201527f4f776e61626c653a3a7365744f776e65723a20696e76616c6964206164647265604082015261737360f01b606082015260800190565b6020808252601e908201527f4163636f756e742063616e6e6f74206265207a65726f20616464726573730000604082015260600190565b60208082526031908201527f53746162696c697479506f6f6c3a2063616c6c6572206d7573742068617665206040820152703737b716bd32b9379022aa241023b0b4b760791b606082015260800190565b60208082526029908201527f53746162696c697479506f6f6c3a2043616c6c6572206973206e6f742054726f6040820152683b32a6b0b730b3b2b960b91b606082015260800190565b60208082526021908201527f53746162696c697479506f6f6c3a2073656e64696e6720455448206661696c656040820152601960fa1b606082015260800190565b60208082526021908201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6040820152607760f81b606082015260800190565b60208082526030908201527f53503a3a5f776974686472617746726f6d5370546f3a205f726563656976657260408201526f206973207a65726f206164647265737360801b606082015260800190565b60208082526033908201527f53746162696c697479506f6f6c3a204b69636b6261636b2072617465206d75736040820152727420626520696e2072616e6765205b302c315d60681b606082015260800190565b60208082526026908201527f53746162696c697479506f6f6c3a20416d6f756e74206d757374206265206e6f6040820152656e2d7a65726f60d01b606082015260800190565b60208082526017908201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604082015260600190565b60208082526039908201527f53746162696c697479506f6f6c3a206d757374206e6f7420616c72656164792060408201527818994818481c9959da5cdd195c995908199c9bdb9d08195b99603a1b606082015260800190565b60208082526028908201527f53746162696c697479506f6f6c3a2055736572206d7573742068617665206e6f6040820152670819195c1bdcda5d60c21b606082015260800190565b60208082526037908201527f4661696c656420746f20617070726f7665205a55534420616d6f756e7420666f60408201527672204d796e74206d417373657420746f2072656465656d60481b606082015260800190565b6020808252818101527f4163636f756e7420636f64652073697a652063616e6e6f74206265207a65726f604082015260600190565b60208082526030908201527f53746162696c697479506f6f6c3a2055736572206d757374206861766520612060408201526f1b9bdb8b5e995c9bc819195c1bdcda5d60821b606082015260800190565b60208082526028908201527f4c697175697479536166654d6174683132383a207375627472616374696f6e206040820152676f766572666c6f7760c01b606082015260800190565b60208082526025908201527f4c697175697479536166654d6174683132383a206164646974696f6e206f766560408201526472666c6f7760d81b606082015260800190565b60208082526044908201527f53746162696c697479506f6f6c3a2043616e6e6f74207769746864726177207760408201527f68696c65207468657265206172652074726f766573207769746820494352203c6060820152631026a1a960e11b608082015260a00190565b6001600160801b0391909116815260200190565b90815260200190565b9182526001600160a01b0316602082015260400190565b9182521515602082015260400190565b9283526001600160801b03918216602084015216604082015260600190565b948552602085019390935260408401919091526001600160801b03908116606084015216608082015260a00190565b6001600160a01b0381168114610aac57600080fdfeceb6d671277d4354fd29977ada70695fbd93a16612abf765d6b0e25c28dc6db3bce78369dccab09eec1986f4d409ab09ffbb47d65423e5148fcf98411c5111c951457222ebca92c335c9c86e2baa1cc0e40ffaa9084a51452980d5ba8dec2f6399920012339b5a3368d3a04b8606ce412c46ed92b7dcd8602d41fc8862cb8f25a2646970667358221220f8912683a91b4c42a5bc38109aad030673c9f16e7353cc2d048fcf04f2e7bb2c64736f6c634300060b0033", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/packages/lib-ethers/live/Storage.json b/packages/lib-ethers/live/Storage.json deleted file mode 100644 index 6794eed64..000000000 --- a/packages/lib-ethers/live/Storage.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "Storage", - "sourceName": "contracts/TestContracts/UpgradableProxyTester.sol", - "abi": [], - "bytecode": "0x6080604052348015600f57600080fd5b50603f80601d6000396000f3fe6080604052600080fdfea2646970667358221220dd3499f9bf6ecbaf6a50de79bce1b0b81bbe116a947c26b0f5d4ec874baedc2964736f6c634300060b0033", - "deployedBytecode": "0x6080604052600080fdfea2646970667358221220dd3499f9bf6ecbaf6a50de79bce1b0b81bbe116a947c26b0f5d4ec874baedc2964736f6c634300060b0033", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/packages/lib-ethers/live/Storage2.json b/packages/lib-ethers/live/Storage2.json deleted file mode 100644 index 0471f6be7..000000000 --- a/packages/lib-ethers/live/Storage2.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "Storage2", - "sourceName": "contracts/TestContracts/UpgradableProxyTester.sol", - "abi": [], - "bytecode": "0x6080604052348015600f57600080fd5b50603f80601d6000396000f3fe6080604052600080fdfea2646970667358221220fb15a744a88224f3ac662f025bd23d637aefbb45ea95eeec3488ae2127f9598a64736f6c634300060b0033", - "deployedBytecode": "0x6080604052600080fdfea2646970667358221220fb15a744a88224f3ac662f025bd23d637aefbb45ea95eeec3488ae2127f9598a64736f6c634300060b0033", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/packages/lib-ethers/live/TokenScript.json b/packages/lib-ethers/live/TokenScript.json deleted file mode 100644 index 8beddb7c2..000000000 --- a/packages/lib-ethers/live/TokenScript.json +++ /dev/null @@ -1,184 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "TokenScript", - "sourceName": "contracts/Proxy/TokenScript.sol", - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_tokenAddress", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [], - "name": "NAME", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "address", - "name": "spender", - "type": "address" - } - ], - "name": "allowance", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "approve", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "subtractedValue", - "type": "uint256" - } - ], - "name": "decreaseAllowance", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "addedValue", - "type": "uint256" - } - ], - "name": "increaseAllowance", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "transfer", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "transferFrom", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": "0x60a060405234801561001057600080fd5b506040516107003803806107008339818101604052602081101561003357600080fd5b5051610047816001600160e01b0361005c16565b60601b6001600160601b03191660805261010f565b6001600160a01b0381166100b7576040805162461bcd60e51b815260206004820152601e60248201527f4163636f756e742063616e6e6f74206265207a65726f20616464726573730000604482015290519081900360640190fd5b803b8061010b576040805162461bcd60e51b815260206004820181905260248201527f4163636f756e7420636f64652073697a652063616e6e6f74206265207a65726f604482015290519081900360640190fd5b5050565b60805160601c6105bb61014560003980610255528061030352806103aa528061044452806104b7528061052b52506105bb6000f3fe608060405234801561001057600080fd5b506004361061006d5760003560e01c8063095ea7b31461007257806323b872dd146100b257806339509351146100e8578063a3f4df7e14610114578063a457c2d714610191578063a9059cbb146101bd578063dd62ed3e146101e9575b600080fd5b61009e6004803603604081101561008857600080fd5b506001600160a01b038135169060200135610229565b604080519115158252519081900360200190f35b61009e600480360360608110156100c857600080fd5b506001600160a01b038135811691602081013590911690604001356102cf565b61009e600480360360408110156100fe57600080fd5b506001600160a01b03813516906020013561037e565b61011c6103f1565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561015657818101518382015260200161013e565b50505050905090810190601f1680156101835780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61009e600480360360408110156101a757600080fd5b506001600160a01b038135169060200135610418565b61009e600480360360408110156101d357600080fd5b506001600160a01b03813516906020013561048b565b610217600480360360408110156101ff57600080fd5b506001600160a01b03813581169160200135166104fe565b60408051918252519081900360200190f35b6040805163095ea7b360e01b81526001600160a01b0384811660048301526024820184905291516000927f0000000000000000000000000000000000000000000000000000000000000000169163095ea7b391604480830192602092919082900301818787803b15801561029c57600080fd5b505af11580156102b0573d6000803e3d6000fd5b505050506040513d60208110156102c657600080fd5b50909392505050565b604080516323b872dd60e01b81526001600160a01b03858116600483015284811660248301526044820184905291516000927f000000000000000000000000000000000000000000000000000000000000000016916323b872dd91606480830192602092919082900301818787803b15801561034a57600080fd5b505af115801561035e573d6000803e3d6000fd5b505050506040513d602081101561037457600080fd5b5090949350505050565b60408051633950935160e01b81526001600160a01b0384811660048301526024820184905291516000927f00000000000000000000000000000000000000000000000000000000000000001691633950935191604480830192602092919082900301818787803b15801561029c57600080fd5b6040518060400160405280600b81526020016a151bdad95b94d8dc9a5c1d60aa1b81525081565b6040805163a457c2d760e01b81526001600160a01b0384811660048301526024820184905291516000927f0000000000000000000000000000000000000000000000000000000000000000169163a457c2d791604480830192602092919082900301818787803b15801561029c57600080fd5b6040805163a9059cbb60e01b81526001600160a01b0384811660048301526024820184905291516000927f0000000000000000000000000000000000000000000000000000000000000000169163a9059cbb91604480830192602092919082900301818787803b15801561029c57600080fd5b60408051636eb1769f60e11b81526001600160a01b038481166004830152838116602483015291516000927f0000000000000000000000000000000000000000000000000000000000000000169163dd62ed3e916044808301926020929190829003018186803b15801561057157600080fd5b505afa1580156102b0573d6000803e3d6000fdfea26469706673582212200d435c487f5725c383c777f753c9a3453350b5619067606bfe950c0ae06f49fc64736f6c634300060b0033", - "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061006d5760003560e01c8063095ea7b31461007257806323b872dd146100b257806339509351146100e8578063a3f4df7e14610114578063a457c2d714610191578063a9059cbb146101bd578063dd62ed3e146101e9575b600080fd5b61009e6004803603604081101561008857600080fd5b506001600160a01b038135169060200135610229565b604080519115158252519081900360200190f35b61009e600480360360608110156100c857600080fd5b506001600160a01b038135811691602081013590911690604001356102cf565b61009e600480360360408110156100fe57600080fd5b506001600160a01b03813516906020013561037e565b61011c6103f1565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561015657818101518382015260200161013e565b50505050905090810190601f1680156101835780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61009e600480360360408110156101a757600080fd5b506001600160a01b038135169060200135610418565b61009e600480360360408110156101d357600080fd5b506001600160a01b03813516906020013561048b565b610217600480360360408110156101ff57600080fd5b506001600160a01b03813581169160200135166104fe565b60408051918252519081900360200190f35b6040805163095ea7b360e01b81526001600160a01b0384811660048301526024820184905291516000927f0000000000000000000000000000000000000000000000000000000000000000169163095ea7b391604480830192602092919082900301818787803b15801561029c57600080fd5b505af11580156102b0573d6000803e3d6000fd5b505050506040513d60208110156102c657600080fd5b50909392505050565b604080516323b872dd60e01b81526001600160a01b03858116600483015284811660248301526044820184905291516000927f000000000000000000000000000000000000000000000000000000000000000016916323b872dd91606480830192602092919082900301818787803b15801561034a57600080fd5b505af115801561035e573d6000803e3d6000fd5b505050506040513d602081101561037457600080fd5b5090949350505050565b60408051633950935160e01b81526001600160a01b0384811660048301526024820184905291516000927f00000000000000000000000000000000000000000000000000000000000000001691633950935191604480830192602092919082900301818787803b15801561029c57600080fd5b6040518060400160405280600b81526020016a151bdad95b94d8dc9a5c1d60aa1b81525081565b6040805163a457c2d760e01b81526001600160a01b0384811660048301526024820184905291516000927f0000000000000000000000000000000000000000000000000000000000000000169163a457c2d791604480830192602092919082900301818787803b15801561029c57600080fd5b6040805163a9059cbb60e01b81526001600160a01b0384811660048301526024820184905291516000927f0000000000000000000000000000000000000000000000000000000000000000169163a9059cbb91604480830192602092919082900301818787803b15801561029c57600080fd5b60408051636eb1769f60e11b81526001600160a01b038481166004830152838116602483015291516000927f0000000000000000000000000000000000000000000000000000000000000000169163dd62ed3e916044808301926020929190829003018186803b15801561057157600080fd5b505afa1580156102b0573d6000803e3d6000fdfea26469706673582212200d435c487f5725c383c777f753c9a3453350b5619067606bfe950c0ae06f49fc64736f6c634300060b0033", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/packages/lib-ethers/live/TroveManager.json b/packages/lib-ethers/live/TroveManager.json deleted file mode 100644 index 408a8351c..000000000 --- a/packages/lib-ethers/live/TroveManager.json +++ /dev/null @@ -1,1962 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "TroveManager", - "sourceName": "contracts/TroveManager.sol", - "abi": [ - { - "inputs": [ - { - "internalType": "uint256", - "name": "_bootstrapPeriod", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_activePoolAddress", - "type": "address" - } - ], - "name": "ActivePoolAddressChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "_baseRate", - "type": "uint256" - } - ], - "name": "BaseRateUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_newBorrowerOperationsAddress", - "type": "address" - } - ], - "name": "BorrowerOperationsAddressChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_collSurplusPoolAddress", - "type": "address" - } - ], - "name": "CollSurplusPoolAddressChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_defaultPoolAddress", - "type": "address" - } - ], - "name": "DefaultPoolAddressChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_feeDistributorAddress", - "type": "address" - } - ], - "name": "FeeDistributorAddressChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_gasPoolAddress", - "type": "address" - } - ], - "name": "GasPoolAddressChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "_L_ETH", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_L_ZUSDDebt", - "type": "uint256" - } - ], - "name": "LTermsUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "_lastFeeOpTime", - "type": "uint256" - } - ], - "name": "LastFeeOpTimeUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "_liquidatedDebt", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_liquidatedColl", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_collGasCompensation", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_ZUSDGasCompensation", - "type": "uint256" - } - ], - "name": "Liquidation", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_borrowerOperationsAddress", - "type": "address" - } - ], - "name": "LiquityBaseParamsAddressChanges", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "previousOwner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnershipTransferred", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_newPriceFeedAddress", - "type": "address" - } - ], - "name": "PriceFeedAddressChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "_attemptedZUSDAmount", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_actualZUSDAmount", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_ETHSent", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_ETHFee", - "type": "uint256" - } - ], - "name": "Redemption", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_sortedTrovesAddress", - "type": "address" - } - ], - "name": "SortedTrovesAddressChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_stabilityPoolAddress", - "type": "address" - } - ], - "name": "StabilityPoolAddressChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "_totalStakesSnapshot", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_totalCollateralSnapshot", - "type": "uint256" - } - ], - "name": "SystemSnapshotsUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "_newTotalStakes", - "type": "uint256" - } - ], - "name": "TotalStakesUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_borrower", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_newIndex", - "type": "uint256" - } - ], - "name": "TroveIndexUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "_borrower", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_debt", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_coll", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint8", - "name": "operation", - "type": "uint8" - } - ], - "name": "TroveLiquidated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_troveManagerRedeemOps", - "type": "address" - } - ], - "name": "TroveManagerRedeemOpsAddressChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "_L_ETH", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_L_ZUSDDebt", - "type": "uint256" - } - ], - "name": "TroveSnapshotsUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "_borrower", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_debt", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_coll", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "stake", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint8", - "name": "operation", - "type": "uint8" - } - ], - "name": "TroveUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_zeroStakingAddress", - "type": "address" - } - ], - "name": "ZEROStakingAddressChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_zeroTokenAddress", - "type": "address" - } - ], - "name": "ZEROTokenAddressChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_newZUSDTokenAddress", - "type": "address" - } - ], - "name": "ZUSDTokenAddressChanged", - "type": "event" - }, - { - "inputs": [], - "name": "BETA", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "BOOTSTRAP_PERIOD", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "CCR", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "DECIMAL_PRECISION", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "L_ETH", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "L_ZUSDDebt", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "MCR", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "MINUTE_DECAY_FACTOR", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "MIN_NET_DEBT", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "NAME", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "SECONDS_IN_ONE_MINUTE", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "TroveOwners", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "Troves", - "outputs": [ - { - "internalType": "uint256", - "name": "debt", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "coll", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "stake", - "type": "uint256" - }, - { - "internalType": "enum TroveManagerStorage.Status", - "name": "status", - "type": "uint8" - }, - { - "internalType": "uint128", - "name": "arrayIndex", - "type": "uint128" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "ZUSD_GAS_COMPENSATION", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_100pct", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_borrower", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_price", - "type": "uint256" - } - ], - "name": "_getCurrentICR", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_borrower", - "type": "address" - } - ], - "name": "_getPendingETHReward", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_borrower", - "type": "address" - } - ], - "name": "_getPendingZUSDDebtReward", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_getRedemptionRate", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_borrower", - "type": "address" - } - ], - "name": "_hasPendingRewards", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_stabilityPool", - "outputs": [ - { - "internalType": "contract IStabilityPool", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_zeroStaking", - "outputs": [ - { - "internalType": "contract IZEROStaking", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_zeroToken", - "outputs": [ - { - "internalType": "contract IZEROToken", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_zusdToken", - "outputs": [ - { - "internalType": "contract IZUSDToken", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "activePool", - "outputs": [ - { - "internalType": "contract IActivePool", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_borrower", - "type": "address" - } - ], - "name": "addTroveOwnerToArray", - "outputs": [ - { - "internalType": "uint256", - "name": "index", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_borrower", - "type": "address" - } - ], - "name": "applyPendingRewards", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "baseRate", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address[]", - "name": "_troveArray", - "type": "address[]" - } - ], - "name": "batchLiquidateTroves", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "borrowerOperationsAddress", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_price", - "type": "uint256" - } - ], - "name": "checkRecoveryMode", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_borrower", - "type": "address" - } - ], - "name": "closeTrove", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "decayBaseRateFromBorrowing", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_borrower", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_collDecrease", - "type": "uint256" - } - ], - "name": "decreaseTroveColl", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_borrower", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_debtDecrease", - "type": "uint256" - } - ], - "name": "decreaseTroveDebt", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "defaultPool", - "outputs": [ - { - "internalType": "contract IDefaultPool", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "feeDistributor", - "outputs": [ - { - "internalType": "contract IFeeDistributor", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_ZUSDDebt", - "type": "uint256" - } - ], - "name": "getBorrowingFee", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_ZUSDDebt", - "type": "uint256" - } - ], - "name": "getBorrowingFeeWithDecay", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getBorrowingRate", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getBorrowingRateWithDecay", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_borrower", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_price", - "type": "uint256" - } - ], - "name": "getCurrentICR", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_borrower", - "type": "address" - } - ], - "name": "getEntireDebtAndColl", - "outputs": [ - { - "internalType": "uint256", - "name": "debt", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "coll", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "pendingZUSDDebtReward", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "pendingETHReward", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getEntireSystemColl", - "outputs": [ - { - "internalType": "uint256", - "name": "entireSystemColl", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getEntireSystemDebt", - "outputs": [ - { - "internalType": "uint256", - "name": "entireSystemDebt", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_borrower", - "type": "address" - } - ], - "name": "getNominalICR", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getOwner", - "outputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_borrower", - "type": "address" - } - ], - "name": "getPendingETHReward", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_borrower", - "type": "address" - } - ], - "name": "getPendingZUSDDebtReward", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_ETHDrawn", - "type": "uint256" - } - ], - "name": "getRedemptionFeeWithDecay", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getRedemptionRate", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getRedemptionRateWithDecay", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_price", - "type": "uint256" - } - ], - "name": "getTCR", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_borrower", - "type": "address" - } - ], - "name": "getTroveColl", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_borrower", - "type": "address" - } - ], - "name": "getTroveDebt", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_index", - "type": "uint256" - } - ], - "name": "getTroveFromTroveOwnersArray", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getTroveOwnersCount", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_borrower", - "type": "address" - } - ], - "name": "getTroveStake", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_borrower", - "type": "address" - } - ], - "name": "getTroveStatus", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_borrower", - "type": "address" - } - ], - "name": "hasPendingRewards", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_borrower", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_collIncrease", - "type": "uint256" - } - ], - "name": "increaseTroveColl", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_borrower", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_debtIncrease", - "type": "uint256" - } - ], - "name": "increaseTroveDebt", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "lastETHError_Redistribution", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "lastFeeOperationTime", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "lastZUSDDebtError_Redistribution", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_borrower", - "type": "address" - } - ], - "name": "liquidate", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_n", - "type": "uint256" - } - ], - "name": "liquidateTroves", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "liquityBaseParams", - "outputs": [ - { - "internalType": "contract ILiquityBaseParams", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "priceFeed", - "outputs": [ - { - "internalType": "contract IPriceFeed", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_ZUSDamount", - "type": "uint256" - }, - { - "internalType": "address", - "name": "_firstRedemptionHint", - "type": "address" - }, - { - "internalType": "address", - "name": "_upperPartialRedemptionHint", - "type": "address" - }, - { - "internalType": "address", - "name": "_lowerPartialRedemptionHint", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_partialRedemptionHintNICR", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_maxIterations", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_maxFeePercentage", - "type": "uint256" - } - ], - "name": "redeemCollateral", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_dllrAmount", - "type": "uint256" - }, - { - "internalType": "address", - "name": "_firstRedemptionHint", - "type": "address" - }, - { - "internalType": "address", - "name": "_upperPartialRedemptionHint", - "type": "address" - }, - { - "internalType": "address", - "name": "_lowerPartialRedemptionHint", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_partialRedemptionHintNICR", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_maxIterations", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_maxFeePercentage", - "type": "uint256" - }, - { - "components": [ - { - "internalType": "uint256", - "name": "deadline", - "type": "uint256" - }, - { - "internalType": "uint8", - "name": "v", - "type": "uint8" - }, - { - "internalType": "bytes32", - "name": "r", - "type": "bytes32" - }, - { - "internalType": "bytes32", - "name": "s", - "type": "bytes32" - } - ], - "internalType": "struct IMassetManager.PermitParams", - "name": "_permitParams", - "type": "tuple" - } - ], - "name": "redeemCollateralViaDLLR", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_borrower", - "type": "address" - } - ], - "name": "removeStake", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "rewardSnapshots", - "outputs": [ - { - "internalType": "uint256", - "name": "ETH", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "ZUSDDebt", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "components": [ - { - "internalType": "address", - "name": "_feeDistributorAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_troveManagerRedeemOps", - "type": "address" - }, - { - "internalType": "address", - "name": "_liquityBaseParamsAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_borrowerOperationsAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_activePoolAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_defaultPoolAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_stabilityPoolAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_gasPoolAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_collSurplusPoolAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_priceFeedAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_zusdTokenAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_sortedTrovesAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_zeroTokenAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_zeroStakingAddress", - "type": "address" - } - ], - "internalType": "struct ITroveManager.TroveManagerInitAddressesParams", - "name": "_troveManagerInitAddressesParams", - "type": "tuple" - } - ], - "name": "setAddresses", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - } - ], - "name": "setOwner", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_troveManagerRedeemOps", - "type": "address" - } - ], - "name": "setTroveManagerRedeemOps", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_borrower", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_num", - "type": "uint256" - } - ], - "name": "setTroveStatus", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "sortedTroves", - "outputs": [ - { - "internalType": "contract ISortedTroves", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "totalCollateralSnapshot", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "totalStakes", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "totalStakesSnapshot", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "troveManagerRedeemOps", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_borrower", - "type": "address" - } - ], - "name": "updateStakeAndTotalStakes", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_borrower", - "type": "address" - } - ], - "name": "updateTroveRewardSnapshots", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": "0x60a06040523480156200001157600080fd5b506040516200563b3803806200563b833981016040819052620000349162000118565b8062000049336001600160e01b036200005316565b6080525062000190565b6001600160a01b038116620000855760405162461bcd60e51b81526004016200007c906200014e565b60405180910390fd5b6001600160a01b038116620000a26001600160e01b03620000f716565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000604051620000e79062000131565b6040519081900390209190915550565b600080604051620001089062000131565b6040519081900390205492915050565b6000602082840312156200012a578081fd5b5051919050565b7035b2bc9737bbb730b136329737bbb732b960791b815260110190565b60208082526022908201527f4f776e61626c653a3a7365744f776e65723a20696e76616c6964206164647265604082015261737360f01b606082015260800190565b608051615490620001ab6000398061214452506154906000f3fe608060405234801561001057600080fd5b50600436106104ac5760003560e01c8063756b253e1161026d578063b7f8cf9b11610151578063d293c710116100ce578063d815e8e911610092578063d815e8e914610929578063d9a7244414610931578063e056e91814610944578063e2ac77b014610957578063f36b24251461096a578063fe2ba84814610972576104ac565b8063d293c710146108d5578063d380a37c146108e8578063d3d6f843146108f0578063d5b3563514610903578063d66a255314610916576104ac565b8063bf9befb111610115578063bf9befb1146108a2578063c35bc550146108aa578063c52861f2146108b2578063c7b55481146108ba578063cbd138ae146108c2576104ac565b8063b7f8cf9b14610849578063b82f263d14610851578063b91af97c14610864578063bcd3752614610887578063be4b03341461089a576104ac565b8063887105d3116101ea5780639f070670116101ae5780639f07067014610809578063a20baee614610755578063a3f4df7e14610811578063ae7bec1914610826578063ae9187541461082e578063b0d8e18114610836576104ac565b8063887105d3146107d6578063893d20e8146107de57806396d711ff146107e65780639976cf45146107ee5780639dd233d214610801576104ac565b80637cf54e40116102315780637cf54e40146107985780637f7dde4a146107a0578063807d138d146107a857806382fe3eb9146107b057806387436936146107c3576104ac565b8063756b253e14610765578063759b303414610778578063794e572414610780578063795d26c314610788578063797250e314610790576104ac565b806342ccf1e41161039457806361ec893d116103115780636b444952116102d55780636b4449521461070e5780636ef6433814610716578063716c47e61461073a57806372423c171461074257806372fe25aa14610755578063741bef1a1461075d576104ac565b806361ec893d146106c5578063631203b0146106cd57806364cee260146106e0578063653d46e7146106f357806366ca4a2114610706576104ac565b80634e443d9e116103585780634e443d9e1461066f5780635733d58f1461068f5780635d6b480f146106975780635d8c9609146106aa5780635dba4c4a146106bd576104ac565b806342ccf1e41461061b578063477d66cf1461062e578063480cd5781461064157806349eefeee146106545780634a767d681461065c576104ac565b806318f2817a1161042d57806321e37801116103f157806321e37801146105d55780632b11551a146105e85780632f865568146105f057806331c903b0146106035780633a1285951461060b5780633cc7422514610613576104ac565b806318f2817a1461058c5780631a59a50e1461059f5780631bf43555146105b25780631e8b1c2b146105ba5780631f68f20a146105cd576104ac565b806312610e921161047457806312610e921461051f57806313af40351461053257806315d549f1146105455780631673c79a1461055857806317c62b1714610579576104ac565b806301f16e18146104b157806305b6f5ca146104c6578063071a7541146104d95780630b076557146104f75780630d43e8ad1461050a575b600080fd5b6104c46104bf366004614c61565b610985565b005b6104c46104d4366004614e2c565b610eeb565b6104e1610f82565b6040516104ee919061531b565b60405180910390f35b6104c4610505366004614b6a565b610f87565b610512610faf565b6040516104ee9190614ee3565b6104e161052d366004614ba2565b610fbe565b6104c4610540366004614b6a565b611016565b6104e1610553366004614b6a565b611057565b61056b610566366004614b6a565b61107b565b6040516104ee929190615324565b6104e1610587366004614b6a565b611094565b6104e161059a366004614b6a565b61109f565b6104e16105ad366004614b6a565b6110b2565b6104e1611178565b6104c46105c8366004614bcd565b611185565b6104e16114e6565b6104e16105e3366004614b6a565b6114ec565b6104e1611516565b6104c46105fe366004614b6a565b611525565b6104e161158b565b610512611598565b6105126115a7565b6104e1610629366004614b6a565b6115b6565b6104e161063c366004614d8f565b6115e7565b6104e161064f366004614b6a565b6115fa565b6104e1611618565b6104e161066a366004614ba2565b61161e565b61068261067d366004614d8f565b61163d565b6040516104ee9190614f56565b6104e1611648565b6104c46106a5366004614ba2565b6116c5565b6104e16106b8366004614b6a565b611711565b6104c461171c565b6104e1611787565b6104e16106db366004614d8f565b61178c565b6104e16106ee366004614b6a565b611799565b6104c4610701366004614d8f565b6117b7565b6104e1611b41565b6104e1611b53565b610729610724366004614b6a565b611b59565b6040516104ee959493929190615358565b610512611b93565b6104e1610750366004614ba2565b611ba2565b6104e1611bff565b610512611c0b565b610512610773366004614d8f565b611c1a565b6104e1611c41565b6104e1611c4e565b6104e1611c93565b6104e1611db2565b610512611db8565b610512611dc7565b6104e1611dd6565b6104c46107be366004614b6a565b611ddc565b6104c46107d1366004614b6a565b611ded565b6104e1611e79565b610512611f48565b6104e1611f67565b6104e16107fc366004614ba2565b611f6d565b6104e1611fa0565b610512611fa6565b610819611fb5565b6040516104ee9190614f8d565b610512611fdd565b610512611fec565b6104e1610844366004614b6a565b611ffb565b610512612022565b6104e161085f366004614d8f565b612031565b610877610872366004614b6a565b61203c565b6040516104ee9493929190615398565b6104c4610895366004614dbf565b6120a0565b6104e1612136565b6104e161213c565b6104e1612142565b6104e1612166565b6104e1612178565b6104c46108d0366004614b6a565b612184565b6104e16108e3366004614ba2565b612197565b6104e16121aa565b6104e16108fe366004614ba2565b6121b0565b6104e1610911366004614d8f565b6121e6565b6104e1610924366004614b6a565b6121f9565b610512612214565b61051261093f366004614d8f565b612223565b610682610952366004614b6a565b61224d565b610682610965366004614b6a565b6122ab565b6104e16122b6565b6104c4610980366004614b6a565b6122c3565b61098d611f48565b6001600160a01b0316336001600160a01b0316146109c65760405162461bcd60e51b81526004016109bd90615178565b60405180910390fd5b80516109d1906122d4565b6109de81602001516122d4565b6109eb81604001516122d4565b6109f881606001516122d4565b610a0581608001516122d4565b610a128160a001516122d4565b610a1f8160c001516122d4565b610a2c8160e001516122d4565b610a3a8161010001516122d4565b610a488161012001516122d4565b610a568161014001516122d4565b610a648161016001516122d4565b610a728161018001516122d4565b610a80816101a001516122d4565b8051600c80546001600160a01b03199081166001600160a01b038085169190911790925560208401516004805483169184169190911790556040808501516003805484169185169190911790556060850151600580548416918516919091179055608085015160008054841691851691909117905560a085015160018054841691851691909117905560c085015160068054841691851691909117905560e0850151600780548416918516919091179055610100850151600880548416918516919091179055610120850151600280548416918516919091179055610140850151600980548416918516919091179055610160850151600d80548416918516919091179055610180850151600a805484169185169190911790556101a0850151600b80549093169316929092179055517f84861842e6a98dd759145eb5e7b48279d0f02ebeabc8a69e5196b2f4c5023db991610bdb91614ee3565b60405180910390a17f6493041f605f233753d9b16dd158c9f297b8eaca22b2d0dc402a454f5683a5b18160200151604051610c169190614ee3565b60405180910390a17fbf65195e6d5213f6fcbce65b1454c925197a45e616dabd2e243542b039b050928160600151604051610c519190614ee3565b60405180910390a17f3ca631ffcd2a9b5d9ae18543fc82f58eb4ca33af9e6ab01b7a8e95331e6ed9858160600151604051610c8c9190614ee3565b60405180910390a17f78f058b189175430c48dc02699e3a0031ea4ff781536dc2fab847de4babdd8828160800151604051610cc79190614ee3565b60405180910390a17f5ee0cae2f063ed938bb55046f6a932fb6ae792bf43624806bb90abe68a50be9b8160a00151604051610d029190614ee3565b60405180910390a17f82966d27eea39b038ee0fa30cd16532bb24f6e65d31cb58fb227aa5766cdcc7f8160c00151604051610d3d9190614ee3565b60405180910390a17fcfb07d791fcafc032b35837b50eb84b74df518cf4cc287e8084f47630fa70fa08160e00151604051610d789190614ee3565b60405180910390a17fe67f36a6e961157d6eff83b91f3af5a62131ceb6f04954ef74f51c1c05e7f88d816101000151604051610db49190614ee3565b60405180910390a17f8c537274438aa850a330284665d81a85dd38267d09e4050d416bfc94142db264816101200151604051610df09190614ee3565b60405180910390a17fcdf33850c44a1a874b5fefb51dae615ac6afebd581ef90d571f81b06541d8e9d816101400151604051610e2c9190614ee3565b60405180910390a17f65f4cf077bc01e4742eb5ad98326f6e95b63548ea24b17f8d5e823111fe78800816101600151604051610e689190614ee3565b60405180910390a17f61e0c29d5028a9e4facaa476a46e78912e99f1ba945c9560b86b82ebe36ee52d816101800151604051610ea49190614ee3565b60405180910390a17f7624075ed781e3aa34b0f492d70d1bb5a6fcde04534165e20f990d2e546be4dd816101a00151604051610ee09190614ee3565b60405180910390a150565b6004546040516000916060916001600160a01b0390911690610f109084903690614eb6565b600060405180830381855af49150503d8060008114610f4b576040519150601f19603f3d011682016040523d82523d6000602084013e610f50565b606091505b5091509150818190610f755760405162461bcd60e51b81526004016109bd9190614f8d565b5050505050505050505050565b600281565b610f8f612319565b600054600154610fac916001600160a01b03908116911683612345565b50565b600c546001600160a01b031681565b6000610fc8612319565b6001600160a01b038316600090815260106020526040812054610ff1908463ffffffff61245716565b6001600160a01b03851660009081526010602052604090208190559150505b92915050565b61101e611f48565b6001600160a01b0316336001600160a01b03161461104e5760405162461bcd60e51b81526004016109bd90615178565b610fac81612499565b6000611061612319565b61106a82612524565b6001600160801b031690505b919050565b6016602052600090815260409020805460019091015482565b6000611010826115b6565b60006110a9612319565b611010826125be565b6001600160a01b03811660009081526016602052604081205460145482906110e0908363ffffffff61245716565b9050801580611119575060016001600160a01b03851660009081526010602052604090206003015460ff16600481111561111657fe5b14155b1561112957600092505050611076565b6001600160a01b0384166000908152601060205260408120600201549061116e670de0b6b3a7640000611162848663ffffffff61267116565b9063ffffffff6126ab16565b9695505050505050565b6809c2007651b250000081565b80516111a35760405162461bcd60e51b81526004016109bd906151a9565b6000546001546006546001600160a01b039283169291821691166111c5614a3d565b6111cd614a6e565b600260009054906101000a90046001600160a01b03166001600160a01b0316630fdb11cf6040518163ffffffff1660e01b8152600401602060405180830381600087803b15801561121d57600080fd5b505af1158015611231573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112559190614da7565b826000018181525050826001600160a01b031663bdaf37ea6040518163ffffffff1660e01b815260040160206040518083038186803b15801561129757600080fd5b505afa1580156112ab573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112cf9190614da7565b602083015281516112df906126ed565b1580156040840152611307576113008585846000015185602001518a612788565b905061131f565b61131c8585846000015185602001518a612a9d565b90505b60008160200151116113435760405162461bcd60e51b81526004016109bd9061528a565b608081015160a082015160405163335525ad60e01b81526001600160a01b0386169263335525ad9261137792600401615324565b600060405180830381600087803b15801561139157600080fd5b505af11580156113a5573d6000803e3d6000fd5b505050506113bd85858360c001518460e00151612bdd565b61010081015115611434576008546101008201516040516364a197f360e01b81526001600160a01b03888116936364a197f393611401939290911691600401614f3d565b600060405180830381600087803b15801561141b57600080fd5b505af115801561142f573d6000803e3d6000fd5b505050505b611442858260400151612e41565b602081015160608301526101008101516040820151825161147a929161146e919063ffffffff61245716565b9063ffffffff61245716565b608083018190526060808401516040808501519285015190517f4152c73dd2614c4f9fc35e8c9cf16013cd588c75b49a4c1673ecffdcbcda9403946114c29490929091615398565b60405180910390a16114de853383606001518460400151612fa2565b505050505050565b600e5481565b6001600160a01b03811660009081526010602052604081206003015460ff16600481111561101057fe5b600061152061158b565b905090565b61152e8161307f565b60408051600180825281830190925260609160208083019080368337019050509050818160008151811061155e57fe5b60200260200101906001600160a01b031690816001600160a01b03168152505061158781611185565b5050565b6000611520600e546130c8565b600b546001600160a01b031681565b6001546001600160a01b031681565b6001600160a01b03811660009081526016602052604081206001015460155482906110e0908363ffffffff61245716565b60006110106115f4611b41565b83613165565b6001600160a01b031660009081526010602052604090206001015490565b60175490565b600080600061162c85613183565b91509150600061116e838387613209565b6000611010826126ed565b60035460408051635733d58f60e01b815290516000926001600160a01b031691635733d58f916004808301926020929190829003018186803b15801561168d57600080fd5b505afa1580156116a1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115209190614da7565b6116cd612319565b8060048111156116d957fe5b6001600160a01b0383166000908152601060205260409020600301805460ff1916600183600481111561170857fe5b02179055505050565b6000611010826110b2565b611724612319565b600061172e61323b565b9050670de0b6b3a764000081111561174257fe5b600e8190556040517fc454ee9b76c52f782a256af821b857ca6e125d1e3333bcede402fec2bed9600c9061177790839061531b565b60405180910390a1610fac61327f565b603c81565b60006110106115f46122b6565b6001600160a01b031660009081526010602052604090206002015490565b6117bf614aba565b506040805160e081018252600080546001600160a01b0390811683526001548116602084015292820181905260608201819052600d548316608083015260a0820181905260c0820152600654909116611816614a3d565b61181e614a6e565b600260009054906101000a90046001600160a01b03166001600160a01b0316630fdb11cf6040518163ffffffff1660e01b8152600401602060405180830381600087803b15801561186e57600080fd5b505af1158015611882573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118a69190614da7565b826000018181525050826001600160a01b031663bdaf37ea6040518163ffffffff1660e01b815260040160206040518083038186803b1580156118e857600080fd5b505afa1580156118fc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119209190614da7565b60208301528151611930906126ed565b1580156040840152611957576119508483600001518460200151886132d4565b9050611977565b61197484600001518560200151846000015185602001518961377b565b90505b600081602001511161199b5760405162461bcd60e51b81526004016109bd9061528a565b608081015160a082015160405163335525ad60e01b81526001600160a01b0386169263335525ad926119cf92600401615324565b600060405180830381600087803b1580156119e957600080fd5b505af11580156119fd573d6000803e3d6000fd5b50505050611a1d846000015185602001518360c001518460e00151612bdd565b61010081015115611a945783516008546101008301516040516364a197f360e01b81526001600160a01b03938416936364a197f393611a6193911691600401614f3d565b600060405180830381600087803b158015611a7b57600080fd5b505af1158015611a8f573d6000803e3d6000fd5b505050505b611aa684600001518260400151612e41565b6020810151606083015261010081015160408201518251611ad2929161146e919063ffffffff61245716565b608083018190526060808401516040808501519285015190517f4152c73dd2614c4f9fc35e8c9cf16013cd588c75b49a4c1673ecffdcbcda940394611b1a9490929091615398565b60405180910390a1611b3a84600001513383606001518460400151612fa2565b5050505050565b6000611520611b4e61323b565b613931565b60195481565b60106020526000908152604090208054600182015460028301546003909301549192909160ff81169061010090046001600160801b031685565b6004546001600160a01b031681565b6000611bac612319565b6001600160a01b038316600090815260106020526040812060010154611bd8908463ffffffff613a1316565b6001600160a01b038516600090815260106020526040902060010181905591505092915050565b670de0b6b3a764000081565b6002546001600160a01b031681565b60178181548110611c2757fe5b6000918252602090912001546001600160a01b0316905081565b6801158e460913d0000081565b60035460408051631e5395c960e21b815290516000926001600160a01b03169163794e5724916004808301926020929190829003018186803b15801561168d57600080fd5b60008054604080516272c7d360e71b8152905183926001600160a01b031691633963e980916004808301926020929190829003018186803b158015611cd757600080fd5b505afa158015611ceb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d0f9190614da7565b90506000600160009054906101000a90046001600160a01b03166001600160a01b0316633963e9806040518163ffffffff1660e01b815260040160206040518083038186803b158015611d6157600080fd5b505afa158015611d75573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d999190614da7565b9050611dab828263ffffffff613a1316565b9250505090565b60185481565b600a546001600160a01b031681565b6000546001600160a01b031681565b60125481565b611de4612319565b610fac81613a38565b611df5611f48565b6001600160a01b0316336001600160a01b031614611e255760405162461bcd60e51b81526004016109bd90615178565b611e2e816122d4565b600480546001600160a01b0319166001600160a01b0383161790556040517f6493041f605f233753d9b16dd158c9f297b8eaca22b2d0dc402a454f5683a5b190610ee0908390614ee3565b6000805460408051630a7b61df60e11b8152905183926001600160a01b0316916314f6c3be916004808301926020929190829003018186803b158015611ebe57600080fd5b505afa158015611ed2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ef69190614da7565b90506000600160009054906101000a90046001600160a01b03166001600160a01b03166314f6c3be6040518163ffffffff1660e01b815260040160206040518083038186803b158015611d6157600080fd5b600080604051611f5790614ec6565b6040519081900390205492915050565b60135481565b6000611f77612319565b6001600160a01b038316600090815260106020526040812054610ff1908463ffffffff613a1316565b60145481565b6003546001600160a01b031681565b6040518060400160405280600c81526020016b2a3937bb32a6b0b730b3b2b960a11b81525081565b6006546001600160a01b031681565b600d546001600160a01b031681565b600080600061200984613183565b9150915060006120198383613a95565b95945050505050565b6005546001600160a01b031681565b600061101082613aca565b6001600160a01b0381166000908152601060205260408120805460019091015490918061206885611094565b915061207385611711565b9050612085848363ffffffff613a1316565b9350612097838263ffffffff613a1316565b92509193509193565b6004546040516000916060916001600160a01b03909116906120c59084903690614eb6565b600060405180830381855af49150503d8060008114612100576040519150601f19603f3d011682016040523d82523d6000602084013e612105565b606091505b509150915081819061212a5760405162461bcd60e51b81526004016109bd9190614f8d565b50505050505050505050565b60155481565b60115481565b7f000000000000000000000000000000000000000000000000000000000000000081565b600061152061217361323b565b6130c8565b670ddd4b8c6c7d70d881565b61218c612319565b610fac816002613af6565b60006121a3838361161e565b9392505050565b600f5481565b60006121ba612319565b6001600160a01b038316600090815260106020526040812060010154611bd8908463ffffffff61245716565b60006110106121f3612166565b83613c0b565b6001600160a01b031660009081526010602052604090205490565b6009546001600160a01b031681565b60006017828154811061223257fe5b6000918252602090912001546001600160a01b031692915050565b600060016001600160a01b03831660009081526010602052604090206003015460ff16600481111561227b57fe5b1461228857506000611076565b506014546001600160a01b03821660009081526016602052604090205410919050565b60006110108261224d565b6000611520600e54613931565b6122cb612319565b610fac81613c4b565b6001600160a01b0381166122fa5760405162461bcd60e51b81526004016109bd90615059565b803b806115875760405162461bcd60e51b81526004016109bd906151ff565b6005546001600160a01b031633146123435760405162461bcd60e51b81526004016109bd9061511b565b565b61234e8161224d565b156124525761235c8161307f565b6000612367826110b2565b90506000612374836115b6565b6001600160a01b0384166000908152601060205260409020600101549091506123a3908363ffffffff613a1316565b6001600160a01b03841660009081526010602052604090206001810191909155546123d4908263ffffffff613a1316565b6001600160a01b0384166000908152601060205260409020556123f683613a38565b61240285858385613c9b565b6001600160a01b03831660008181526010602052604080822080546001820154600290920154925160008051602061543b833981519152946124479492939291614f61565b60405180910390a250505b505050565b60006121a383836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250613d83565b6001600160a01b0381166124bf5760405162461bcd60e51b81526004016109bd90615017565b806001600160a01b03166124d1611f48565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3600060405161251490614ec6565b6040519081900390209190915550565b601780546001808201835560008381527fc624b66cc0138b8fabc209247f72d758e1cf3343756d543badbf24212bed8c1590920180546001600160a01b0319166001600160a01b0386161790559154909161257f9190612457565b6001600160a01b039290921660009081526010602052604090206003018054610100600160881b0319166101006001600160801b038516021790555090565b6001600160a01b03811660009081526010602052604081206001015481906125e590613daf565b6001600160a01b03841660009081526010602052604090206002018054908290556011549192509061262f908390612623908463ffffffff61245716565b9063ffffffff613a1316565b60118190556040517f6bac5e0eb3c44eb03a60ab11ec3a2c051771616aecadbcfff2630aabae520382916126629161531b565b60405180910390a15092915050565b60008261268057506000611010565b8282028284828161268d57fe5b04146121a35760405162461bcd60e51b81526004016109bd906150da565b60006121a383836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250613deb565b6000806126f983613aca565b9050600360009054906101000a90046001600160a01b03166001600160a01b0316635733d58f6040518163ffffffff1660e01b815260040160206040518083038186803b15801561274957600080fd5b505afa15801561275d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127819190614da7565b1192915050565b612790614a6e565b612798614af6565b6127a0614a6e565b848252600060808301526127b2611c93565b60a08301526127bf611e79565b60c0830152600060208301525b835182602001511015612a9257838260200151815181106127e957fe5b6020908102919091018101516001600160a01b03166060840181905260009081526010909152604090206003015460019060ff16600481111561282857fe5b1461283257612a82565b61284082606001518761161e565b604083015260808201516129a757600360009054906101000a90046001600160a01b03166001600160a01b031663794e57246040518163ffffffff1660e01b815260040160206040518083038186803b15801561289c57600080fd5b505afa1580156128b0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906128d49190614da7565b8260400151101580156128e657508151155b156128f057612a82565b60006129058360c001518460a0015189613209565b90506129228989856060015186604001518760000151868d613e22565b6080810151845191935061293c919063ffffffff61245716565b8352608082015160a08401516129579163ffffffff61245716565b60a08085019190915282015160c08401516129779163ffffffff61245716565b60c084015261298684836141f8565b935061299b8360c001518460a001518961430f565b15608084015250612a82565b81608001518015612a405750600360009054906101000a90046001600160a01b03166001600160a01b031663794e57246040518163ffffffff1660e01b815260040160206040518083038186803b158015612a0157600080fd5b505afa158015612a15573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612a399190614da7565b8260400151105b15612a8257612a598888846060015185600001516143ae565b60808101518351919250612a73919063ffffffff61245716565b8252612a7f83826141f8565b92505b60208201805160010190526127cc565b505095945050505050565b612aa5614a6e565b612aad614af6565b612ab5614a6e565b848252600060208301525b835182602001511015612a925783826020015181518110612add57fe5b60209081029190910101516001600160a01b031660608301819052612b02908761161e565b6040808401919091526003548151631e5395c960e21b815291516001600160a01b039091169163794e5724916004808301926020929190829003018186803b158015612b4d57600080fd5b505afa158015612b61573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612b859190614da7565b82604001511015612bcd57612ba48888846060015185600001516143ae565b60808101518351919250612bbe919063ffffffff61245716565b8252612bca83826141f8565b92505b6020820180516001019052612ac0565b81612be757612e3b565b601854600090612c099061262384670de0b6b3a764000063ffffffff61267116565b90506000612c2e601954612623670de0b6b3a76400008761267190919063ffffffff16565b90506000612c47601154846126ab90919063ffffffff16565b90506000612c60601154846126ab90919063ffffffff16565b9050612c87612c7a6011548461267190919063ffffffff16565b859063ffffffff61245716565b601855601154612caf90612ca290839063ffffffff61267116565b849063ffffffff61245716565b601955601454612cc5908363ffffffff613a1316565b601455601554612cdb908263ffffffff613a1316565b60158190556014546040517f9f8bc8ab0daf5bceef75ecfd2085d1fcc6548c657ea970d9a23a60610d0737e392612d129291615324565b60405180910390a160405163121cbc4d60e11b81526001600160a01b03891690632439789a90612d4690899060040161531b565b600060405180830381600087803b158015612d6057600080fd5b505af1158015612d74573d6000803e3d6000fd5b505060405163f2e91d7160e01b81526001600160a01b038a16925063f2e91d719150612da490899060040161531b565b600060405180830381600087803b158015612dbe57600080fd5b505af1158015612dd2573d6000803e3d6000fd5b50506040516364a197f360e01b81526001600160a01b038b1692506364a197f39150612e04908a908990600401614f3d565b600060405180830381600087803b158015612e1e57600080fd5b505af1158015612e32573d6000803e3d6000fd5b50505050505050505b50505050565b6011546012819055506000826001600160a01b03166314f6c3be6040518163ffffffff1660e01b815260040160206040518083038186803b158015612e8557600080fd5b505afa158015612e99573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612ebd9190614da7565b90506000600160009054906101000a90046001600160a01b03166001600160a01b03166314f6c3be6040518163ffffffff1660e01b815260040160206040518083038186803b158015612f0f57600080fd5b505afa158015612f23573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612f479190614da7565b9050612f5d81612623848663ffffffff61245716565b60138190556012546040517f51bf4c63ec3cba9d03d43238abbdd979dd91bd16d9895c74ceea9118c7baaf6092612f949291615324565b60405180910390a150505050565b811561301357600954600754604051631062c15f60e11b81526001600160a01b03928316926320c582be92612fe09291169087908790600401614ef7565b600060405180830381600087803b158015612ffa57600080fd5b505af115801561300e573d6000803e3d6000fd5b505050505b8015612e3b576040516364a197f360e01b81526001600160a01b038516906364a197f3906130479086908590600401614f3d565b600060405180830381600087803b15801561306157600080fd5b505af1158015613075573d6000803e3d6000fd5b5050505050505050565b60016001600160a01b03821660009081526010602052604090206003015460ff1660048111156130ab57fe5b14610fac5760405162461bcd60e51b81526004016109bd906152cc565b600061101061315783600360009054906101000a90046001600160a01b03166001600160a01b03166328d28b5b6040518163ffffffff1660e01b815260040160206040518083038186803b15801561311f57600080fd5b505afa158015613133573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906126239190614da7565b670de0b6b3a76400006144e0565b60006121a3670de0b6b3a7640000611162858563ffffffff61267116565b6000806000613191846110b2565b9050600061319e856115b6565b6001600160a01b038616600090815260106020526040812060010154919250906131ce908463ffffffff613a1316565b6001600160a01b038716600090815260106020526040812054919250906131fb908463ffffffff613a1316565b919550909350505050915091565b6000821561323057600061322784611162878663ffffffff61267116565b91506121a39050565b506000199392505050565b6000806132466144f6565b9050600061325c670ddd4b8c6c7d70d883614512565b9050611dab670de0b6b3a764000061116283600e5461267190919063ffffffff16565b6000613296600f544261245790919063ffffffff16565b9050603c8110610fac5742600f8190556040517f860f8d2f0c74dd487e89e2883e3b25b8159ce1e1b3433a291cba7b82c508f3bc91610ee09161531b565b6132dc614a6e565b6132e4614af6565b6132ec614a6e565b848252600060808301526132fe611c93565b60a083015261330b611e79565b8260c001818152505086608001516001600160a01b0316634d6228316040518163ffffffff1660e01b815260040160206040518083038186803b15801561335157600080fd5b505afa158015613365573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906133899190614b86565b82606001906001600160a01b031690816001600160a01b031681525050600087608001516001600160a01b0316631e2231436040518163ffffffff1660e01b815260040160206040518083038186803b1580156133e557600080fd5b505afa1580156133f9573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061341d9190614b86565b6000602085015290505b8483602001511080156134505750806001600160a01b031683606001516001600160a01b031614155b156137705760808801516060840151604051632dc9c0eb60e21b81526000926001600160a01b03169163b72703ac9161348c9190600401614ee3565b60206040518083038186803b1580156134a457600080fd5b505afa1580156134b8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906134dc9190614b86565b90506134ec84606001518961161e565b6040850152608084015161366557600360009054906101000a90046001600160a01b03166001600160a01b031663794e57246040518163ffffffff1660e01b815260040160206040518083038186803b15801561354857600080fd5b505afa15801561355c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906135809190614da7565b84604001511015801561359257508351155b1561359d5750613770565b60006135b28560c001518660a001518b613209565b8a5160208c01516060880151604089015189519495506135d394868f613e22565b608081015186519195506135ed919063ffffffff61245716565b8552608084015160a08601516136089163ffffffff61245716565b8560a001818152505061363584610100015161146e8660a001518860c0015161245790919063ffffffff16565b60c086015261364486856141f8565b95506136598560c001518660a001518b61430f565b15608086015250613752565b836080015180156136fe5750600360009054906101000a90046001600160a01b03166001600160a01b031663794e57246040518163ffffffff1660e01b815260040160206040518083038186803b1580156136bf57600080fd5b505afa1580156136d3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906136f79190614da7565b8460400151105b1561374c5761371f89600001518a60200151866060015187600001516143ae565b60808101518551919450613739919063ffffffff61245716565b845261374585846141f8565b9450613752565b50613770565b6001600160a01b031660608401526020830180516001019052613427565b505050949350505050565b613783614a6e565b61378b614af6565b613793614a6e565b600d54858352600060208401526001600160a01b03165b848360200151101561392557806001600160a01b0316634d6228316040518163ffffffff1660e01b815260040160206040518083038186803b1580156137ef57600080fd5b505afa158015613803573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906138279190614b86565b6001600160a01b031660608401819052613841908861161e565b6040808501919091526003548151631e5395c960e21b815291516001600160a01b039091169163794e5724916004808301926020929190829003018186803b15801561388c57600080fd5b505afa1580156138a0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906138c49190614da7565b83604001511015613910576138e38989856060015186600001516143ae565b608081015184519193506138fd919063ffffffff61245716565b835261390984836141f8565b9350613915565b613925565b60208301805160010190526137aa565b50505095945050505050565b600061101061398883600360009054906101000a90046001600160a01b03166001600160a01b031663f92d34336040518163ffffffff1660e01b815260040160206040518083038186803b15801561311f57600080fd5b600360009054906101000a90046001600160a01b03166001600160a01b031663240926696040518163ffffffff1660e01b815260040160206040518083038186803b1580156139d657600080fd5b505afa1580156139ea573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613a0e9190614da7565b6144e0565b6000828201838110156121a35760405162461bcd60e51b81526004016109bd90614fe0565b601480546001600160a01b038316600090815260166020526040908190209182556015546001909201829055915491517fc437f324d85e369394148dd9d62f98f534b382e01ed3dd2eb98138fb6d3ab49a92610ee0929091615324565b60008115613ac157613aba826111628568056bc75e2d6310000063ffffffff61267116565b9050611010565b50600019611010565b600080613ad5611e79565b90506000613ae1611c93565b9050613aee828286613209565b949350505050565b6000816004811115613b0457fe5b14158015613b1e57506001816004811115613b1b57fe5b14155b613b2457fe5b601754613b30816145bd565b6001600160a01b0383166000908152601060205260409020600301805483919060ff19166001836004811115613b6257fe5b02179055506001600160a01b0383166000908152601060209081526040808320600180820185905590849055601690925282208281550155613ba48382614663565b600d54604051631484968760e11b81526001600160a01b03909116906329092d0e90613bd4908690600401614ee3565b600060405180830381600087803b158015613bee57600080fd5b505af1158015613c02573d6000803e3d6000fd5b50505050505050565b600080613c2a670de0b6b3a7640000611162868663ffffffff61267116565b90508281106121a35760405162461bcd60e51b81526004016109bd90615234565b6001600160a01b038116600090815260106020526040902060020154601154613c7a908263ffffffff61245716565b601155506001600160a01b0316600090815260106020526040812060020155565b60405163121cbc4d60e11b81526001600160a01b03841690632439789a90613cc790859060040161531b565b600060405180830381600087803b158015613ce157600080fd5b505af1158015613cf5573d6000803e3d6000fd5b505060405163f2e91d7160e01b81526001600160a01b038716925063f2e91d719150613d2590859060040161531b565b600060405180830381600087803b158015613d3f57600080fd5b505af1158015613d53573d6000803e3d6000fd5b505060405163be41205f60e01b81526001600160a01b038616925063be41205f915061304790849060040161531b565b60008184841115613da75760405162461bcd60e51b81526004016109bd9190614f8d565b505050900390565b60008060135460001415613dc4575081611010565b600060125411613dd057fe5b6121a36013546111626012548661267190919063ffffffff16565b60008183613e0c5760405162461bcd60e51b81526004016109bd9190614f8d565b506000838581613e1857fe5b0495945050505050565b613e2a614a6e565b613e32614b3e565b601754600110613e4257506141ed565b613e4b8761203c565b60408501526020848101919091528401819052908352613e6a90614804565b604083018190526801158e460913d0000060608401526020830151613e949163ffffffff61245716565b8152670de0b6b3a76400008611613f5f57613eb9898983602001518460400151613c9b565b613ec287613c4b565b60006080830181905260a0830152815160c0830152805160e0830152613ee9876003613af6565b815160208301516040516001600160a01b038a169260008051602061541b83398151915292613f1a92600290615332565b60405180910390a2866001600160a01b031660008051602061543b83398151915260008060006002604051613f529493929190614f61565b60405180910390a26141eb565b670de0b6b3a764000086118015613ffa5750600360009054906101000a90046001600160a01b03166001600160a01b031663794e57246040518163ffffffff1660e01b815260040160206040518083038186803b158015613fbf57600080fd5b505afa158015613fd3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613ff79190614da7565b86105b1561404a57614013898983602001518460400151613c9b565b61401c87613c4b565b8151815161402b919087614890565b60e086015260c085015260a08401526080830152613ee9876003613af6565b600360009054906101000a90046001600160a01b03166001600160a01b031663794e57246040518163ffffffff1660e01b815260040160206040518083038186803b15801561409857600080fd5b505afa1580156140ac573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906140d09190614da7565b86101580156140de57508386105b80156140eb575081518510155b156141da57614104898983602001518460400151613c9b565b8461410b57fe5b61411487613c4b565b61412782600001518360200151856148fc565b9150614134876003613af6565b610100820151156141a957600854610100830151604051633f10abab60e01b81526001600160a01b0390921691633f10abab91614176918b9190600401614f3d565b600060405180830381600087803b15801561419057600080fd5b505af11580156141a4573d6000803e3d6000fd5b505050505b815160a08301516040516001600160a01b038a169260008051602061541b83398151915292613f1a92600290615332565b6141e2614a6e565b91506141ed9050565b505b979650505050505050565b614200614a6e565b604080830151908401516142199163ffffffff613a1316565b6040820152606080830151908401516142379163ffffffff613a1316565b6060820152815160208401516142529163ffffffff613a1316565b602080830191909152820151835161426f9163ffffffff613a1316565b81526080808301519084015161428a9163ffffffff613a1316565b608082015260a080830151908401516142a89163ffffffff613a1316565b60a082015260c080830151908401516142c69163ffffffff613a1316565b60c082015260e080830151908401516142e49163ffffffff613a1316565b60e082015261010080830151908401516143039163ffffffff613a1316565b61010082015292915050565b60008061431d858585613209565b9050600360009054906101000a90046001600160a01b03166001600160a01b0316635733d58f6040518163ffffffff1660e01b815260040160206040518083038186803b15801561436d57600080fd5b505afa158015614381573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906143a59190614da7565b11949350505050565b6143b6614a6e565b6143be614b3e565b6143c78461203c565b604085019081526020858101928352860192909252918452905190516143f1918891889190613c9b565b6143fa84613c4b565b6144078260200151614804565b604083018190526801158e460913d0000060608401526020830151600091614435919063ffffffff61245716565b905061444683600001518286614890565b60e087015260c086015260a08501526080840152614465856003613af6565b825160208401516040516001600160a01b0388169260008051602061541b8339815191529261449692600190615332565b60405180910390a2846001600160a01b031660008051602061543b833981519152600080600060016040516144ce9493929190614f61565b60405180910390a25050949350505050565b60008183106144ef57816121a3565b5090919050565b6000611520603c611162600f544261245790919063ffffffff16565b6000631f54050082111561452857631f54050091505b8161453c5750670de0b6b3a7640000611010565b670de0b6b3a764000083835b60018111156145b3576002810661457d576145638283614a0a565b915061457681600263ffffffff6126ab16565b90506145ae565b6145878284614a0a565b92506145938283614a0a565b91506145ab600261116283600163ffffffff61245716565b90505b614548565b61116e8284614a0a565b6001811180156146475750600d546040805163de8fa43160e01b815290516001926001600160a01b03169163de8fa431916004808301926020929190829003018186803b15801561460d57600080fd5b505afa158015614621573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906146459190614da7565b115b610fac5760405162461bcd60e51b81526004016109bd90615090565b6001600160a01b03821660009081526010602052604081206003015460ff169081600481111561468f57fe5b141580156146a9575060018160048111156146a657fe5b14155b6146af57fe5b6001600160a01b03831660009081526010602052604081206003015461010090046001600160801b03169083906146e7826001612457565b905080836001600160801b031611156146fc57fe5b60006017828154811061470b57fe5b600091825260209091200154601780546001600160a01b03909216925082916001600160801b03871690811061473d57fe5b600091825260208083209190910180546001600160a01b0319166001600160a01b03948516179055918316815260109091526040908190206003018054610100600160881b0319166101006001600160801b03881602179055517f02b04ae5f7be9ca7c103293a2aa15f3c339d15d6eda53b721fef7b0e609c831a906147c69083908790614f1b565b60405180910390a160178054806147d957fe5b600082815260209020810160001990810180546001600160a01b031916905501905550505050505050565b600354604080516324386ecd60e11b815290516000926001600160a01b031691634870dd9a916004808301926020929190829003018186803b15801561484957600080fd5b505afa15801561485d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906148819190614da7565b828161488957fe5b0492915050565b600080808084156148e6576148a587866144e0565b93506148bb87611162888763ffffffff61267116565b92506148cd878563ffffffff61245716565b91506148df868463ffffffff61245716565b90506148f3565b5060009250829150859050845b93509350935093565b614904614a6e565b838152602080820184905260035460408051631e5395c960e21b815290516000936149a0938793611162936001600160a01b039092169263794e572492600480840193829003018186803b15801561495b57600080fd5b505afa15801561496f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906149939190614da7565b889063ffffffff61267116565b90506149ab81614804565b604083018190526801158e460913d000006060840152608083018690526149d990829063ffffffff61245716565b60a08301526149ee848263ffffffff61245716565b61010083015250600060c0820181905260e08201529392505050565b600080614a1d848463ffffffff61267116565b9050613aee670de0b6b3a7640000611162836706f05b59d3b20000613a13565b6040518060a00160405280600081526020016000815260200160001515815260200160008152602001600081525090565b6040518061012001604052806000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081525090565b6040805160e081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c081019190915290565b6040518060e0016040528060008152602001600081526020016000815260200160006001600160a01b0316815260200160001515815260200160008152602001600081525090565b60405180606001604052806000815260200160008152602001600081525090565b803561101081615405565b600060208284031215614b7b578081fd5b81356121a381615405565b600060208284031215614b97578081fd5b81516121a381615405565b60008060408385031215614bb4578081fd5b8235614bbf81615405565b946020939093013593505050565b60006020808385031215614bdf578182fd5b823567ffffffffffffffff811115614bf5578283fd5b80840185601f820112614c06578384fd5b80359150614c1b614c16836153da565b6153b3565b8281528381019082850185850284018601891015614c37578687fd5b8693505b848410156141eb57614c4d8982614b5f565b835260019390930192918501918501614c3b565b60006101c0808385031215614c74578182fd5b614c7d816153b3565b614c878585614b5f565b8152614c968560208601614b5f565b6020820152614ca88560408601614b5f565b6040820152614cba8560608601614b5f565b6060820152614ccc8560808601614b5f565b6080820152614cde8560a08601614b5f565b60a0820152614cf08560c08601614b5f565b60c0820152614d028560e08601614b5f565b60e08201526101009150614d1885838601614b5f565b828201526101209150614d2d85838601614b5f565b828201526101409150614d4285838601614b5f565b828201526101609150614d5785838601614b5f565b828201526101809150614d6c85838601614b5f565b828201526101a09150614d8185838601614b5f565b918101919091529392505050565b600060208284031215614da0578081fd5b5035919050565b600060208284031215614db8578081fd5b5051919050565b600080600080600080600060e0888a031215614dd9578283fd5b873596506020880135614deb81615405565b95506040880135614dfb81615405565b94506060880135614e0b81615405565b9699959850939660808101359560a0820135955060c0909101359350915050565b600080600080600080600080888a03610160811215614e49578182fd5b8935985060208a0135614e5b81615405565b975060408a0135614e6b81615405565b965060608a0135614e7b81615405565b955060808a810135955060a08b0135945060c08b0135935060df1982011215614ea2578182fd5b5060e0890190509295985092959890939650565b6000828483379101908152919050565b7035b2bc9737bbb730b136329737bbb732b960791b815260110190565b6001600160a01b0391909116815260200190565b6001600160a01b039384168152919092166020820152604081019190915260600190565b6001600160a01b039290921682526001600160801b0316602082015260400190565b6001600160a01b03929092168252602082015260400190565b901515815260200190565b848152602081018490526040810183905260808101614f7f836153fa565b606083015295945050505050565b6000602080835283518082850152825b81811015614fb957858101830151858201604001528201614f9d565b81811115614fca5783604083870101525b50601f01601f1916929092016040019392505050565b6020808252601b908201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604082015260600190565b60208082526022908201527f4f776e61626c653a3a7365744f776e65723a20696e76616c6964206164647265604082015261737360f01b606082015260800190565b6020808252601e908201527f4163636f756e742063616e6e6f74206265207a65726f20616464726573730000604082015260600190565b6020808252602a908201527f54726f76654d616e616765723a204f6e6c79206f6e652074726f766520696e206040820152697468652073797374656d60b01b606082015260800190565b60208082526021908201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6040820152607760f81b606082015260800190565b6020808252603b908201527f54726f76654d616e616765723a2043616c6c6572206973206e6f74207468652060408201527f426f72726f7765724f7065726174696f6e7320636f6e74726163740000000000606082015260800190565b60208082526017908201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604082015260600190565b60208082526036908201527f54726f76654d616e616765723a2043616c6c646174612061646472657373206160408201527572726179206d757374206e6f7420626520656d70747960501b606082015260800190565b6020808252818101527f4163636f756e7420636f64652073697a652063616e6e6f74206265207a65726f604082015260600190565b60208082526036908201527f54726f76654d616e616765723a2046656520776f756c642065617420757020616040820152751b1b081c995d1d5c9b99590818dbdb1b185d195c985b60521b606082015260800190565b60208082526022908201527f54726f76654d616e616765723a206e6f7468696e6720746f206c697175696461604082015261746560f01b606082015260800190565b6020808252602f908201527f54726f76654d616e616765723a2054726f766520646f6573206e6f742065786960408201526e1cdd081bdc881a5cc818db1bdcd959608a1b606082015260800190565b90815260200190565b918252602082015260400190565b83815260208101839052606081016004831061534a57fe5b826040830152949350505050565b858152602081018590526040810184905260a081016005841061537757fe5b60608201939093526001600160801b03919091166080909101529392505050565b93845260208401929092526040830152606082015260800190565b60405181810167ffffffffffffffff811182821017156153d257600080fd5b604052919050565b600067ffffffffffffffff8211156153f0578081fd5b5060209081020190565b806004811061107657fe5b6001600160a01b0381168114610fac57600080fdfeea67486ed7ebe3eea8ab3390efd4a3c8aae48be5bea27df104a8af786c408434c3770d654ed33aeea6bf11ac8ef05d02a6a04ed4686dd2f624d853bbec43cc8ba2646970667358221220360ab705f9ed8e8222e50d6d6310ee7c0693ad08921592870dfffe5ff62b48e964736f6c634300060b0033", - "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106104ac5760003560e01c8063756b253e1161026d578063b7f8cf9b11610151578063d293c710116100ce578063d815e8e911610092578063d815e8e914610929578063d9a7244414610931578063e056e91814610944578063e2ac77b014610957578063f36b24251461096a578063fe2ba84814610972576104ac565b8063d293c710146108d5578063d380a37c146108e8578063d3d6f843146108f0578063d5b3563514610903578063d66a255314610916576104ac565b8063bf9befb111610115578063bf9befb1146108a2578063c35bc550146108aa578063c52861f2146108b2578063c7b55481146108ba578063cbd138ae146108c2576104ac565b8063b7f8cf9b14610849578063b82f263d14610851578063b91af97c14610864578063bcd3752614610887578063be4b03341461089a576104ac565b8063887105d3116101ea5780639f070670116101ae5780639f07067014610809578063a20baee614610755578063a3f4df7e14610811578063ae7bec1914610826578063ae9187541461082e578063b0d8e18114610836576104ac565b8063887105d3146107d6578063893d20e8146107de57806396d711ff146107e65780639976cf45146107ee5780639dd233d214610801576104ac565b80637cf54e40116102315780637cf54e40146107985780637f7dde4a146107a0578063807d138d146107a857806382fe3eb9146107b057806387436936146107c3576104ac565b8063756b253e14610765578063759b303414610778578063794e572414610780578063795d26c314610788578063797250e314610790576104ac565b806342ccf1e41161039457806361ec893d116103115780636b444952116102d55780636b4449521461070e5780636ef6433814610716578063716c47e61461073a57806372423c171461074257806372fe25aa14610755578063741bef1a1461075d576104ac565b806361ec893d146106c5578063631203b0146106cd57806364cee260146106e0578063653d46e7146106f357806366ca4a2114610706576104ac565b80634e443d9e116103585780634e443d9e1461066f5780635733d58f1461068f5780635d6b480f146106975780635d8c9609146106aa5780635dba4c4a146106bd576104ac565b806342ccf1e41461061b578063477d66cf1461062e578063480cd5781461064157806349eefeee146106545780634a767d681461065c576104ac565b806318f2817a1161042d57806321e37801116103f157806321e37801146105d55780632b11551a146105e85780632f865568146105f057806331c903b0146106035780633a1285951461060b5780633cc7422514610613576104ac565b806318f2817a1461058c5780631a59a50e1461059f5780631bf43555146105b25780631e8b1c2b146105ba5780631f68f20a146105cd576104ac565b806312610e921161047457806312610e921461051f57806313af40351461053257806315d549f1146105455780631673c79a1461055857806317c62b1714610579576104ac565b806301f16e18146104b157806305b6f5ca146104c6578063071a7541146104d95780630b076557146104f75780630d43e8ad1461050a575b600080fd5b6104c46104bf366004614c61565b610985565b005b6104c46104d4366004614e2c565b610eeb565b6104e1610f82565b6040516104ee919061531b565b60405180910390f35b6104c4610505366004614b6a565b610f87565b610512610faf565b6040516104ee9190614ee3565b6104e161052d366004614ba2565b610fbe565b6104c4610540366004614b6a565b611016565b6104e1610553366004614b6a565b611057565b61056b610566366004614b6a565b61107b565b6040516104ee929190615324565b6104e1610587366004614b6a565b611094565b6104e161059a366004614b6a565b61109f565b6104e16105ad366004614b6a565b6110b2565b6104e1611178565b6104c46105c8366004614bcd565b611185565b6104e16114e6565b6104e16105e3366004614b6a565b6114ec565b6104e1611516565b6104c46105fe366004614b6a565b611525565b6104e161158b565b610512611598565b6105126115a7565b6104e1610629366004614b6a565b6115b6565b6104e161063c366004614d8f565b6115e7565b6104e161064f366004614b6a565b6115fa565b6104e1611618565b6104e161066a366004614ba2565b61161e565b61068261067d366004614d8f565b61163d565b6040516104ee9190614f56565b6104e1611648565b6104c46106a5366004614ba2565b6116c5565b6104e16106b8366004614b6a565b611711565b6104c461171c565b6104e1611787565b6104e16106db366004614d8f565b61178c565b6104e16106ee366004614b6a565b611799565b6104c4610701366004614d8f565b6117b7565b6104e1611b41565b6104e1611b53565b610729610724366004614b6a565b611b59565b6040516104ee959493929190615358565b610512611b93565b6104e1610750366004614ba2565b611ba2565b6104e1611bff565b610512611c0b565b610512610773366004614d8f565b611c1a565b6104e1611c41565b6104e1611c4e565b6104e1611c93565b6104e1611db2565b610512611db8565b610512611dc7565b6104e1611dd6565b6104c46107be366004614b6a565b611ddc565b6104c46107d1366004614b6a565b611ded565b6104e1611e79565b610512611f48565b6104e1611f67565b6104e16107fc366004614ba2565b611f6d565b6104e1611fa0565b610512611fa6565b610819611fb5565b6040516104ee9190614f8d565b610512611fdd565b610512611fec565b6104e1610844366004614b6a565b611ffb565b610512612022565b6104e161085f366004614d8f565b612031565b610877610872366004614b6a565b61203c565b6040516104ee9493929190615398565b6104c4610895366004614dbf565b6120a0565b6104e1612136565b6104e161213c565b6104e1612142565b6104e1612166565b6104e1612178565b6104c46108d0366004614b6a565b612184565b6104e16108e3366004614ba2565b612197565b6104e16121aa565b6104e16108fe366004614ba2565b6121b0565b6104e1610911366004614d8f565b6121e6565b6104e1610924366004614b6a565b6121f9565b610512612214565b61051261093f366004614d8f565b612223565b610682610952366004614b6a565b61224d565b610682610965366004614b6a565b6122ab565b6104e16122b6565b6104c4610980366004614b6a565b6122c3565b61098d611f48565b6001600160a01b0316336001600160a01b0316146109c65760405162461bcd60e51b81526004016109bd90615178565b60405180910390fd5b80516109d1906122d4565b6109de81602001516122d4565b6109eb81604001516122d4565b6109f881606001516122d4565b610a0581608001516122d4565b610a128160a001516122d4565b610a1f8160c001516122d4565b610a2c8160e001516122d4565b610a3a8161010001516122d4565b610a488161012001516122d4565b610a568161014001516122d4565b610a648161016001516122d4565b610a728161018001516122d4565b610a80816101a001516122d4565b8051600c80546001600160a01b03199081166001600160a01b038085169190911790925560208401516004805483169184169190911790556040808501516003805484169185169190911790556060850151600580548416918516919091179055608085015160008054841691851691909117905560a085015160018054841691851691909117905560c085015160068054841691851691909117905560e0850151600780548416918516919091179055610100850151600880548416918516919091179055610120850151600280548416918516919091179055610140850151600980548416918516919091179055610160850151600d80548416918516919091179055610180850151600a805484169185169190911790556101a0850151600b80549093169316929092179055517f84861842e6a98dd759145eb5e7b48279d0f02ebeabc8a69e5196b2f4c5023db991610bdb91614ee3565b60405180910390a17f6493041f605f233753d9b16dd158c9f297b8eaca22b2d0dc402a454f5683a5b18160200151604051610c169190614ee3565b60405180910390a17fbf65195e6d5213f6fcbce65b1454c925197a45e616dabd2e243542b039b050928160600151604051610c519190614ee3565b60405180910390a17f3ca631ffcd2a9b5d9ae18543fc82f58eb4ca33af9e6ab01b7a8e95331e6ed9858160600151604051610c8c9190614ee3565b60405180910390a17f78f058b189175430c48dc02699e3a0031ea4ff781536dc2fab847de4babdd8828160800151604051610cc79190614ee3565b60405180910390a17f5ee0cae2f063ed938bb55046f6a932fb6ae792bf43624806bb90abe68a50be9b8160a00151604051610d029190614ee3565b60405180910390a17f82966d27eea39b038ee0fa30cd16532bb24f6e65d31cb58fb227aa5766cdcc7f8160c00151604051610d3d9190614ee3565b60405180910390a17fcfb07d791fcafc032b35837b50eb84b74df518cf4cc287e8084f47630fa70fa08160e00151604051610d789190614ee3565b60405180910390a17fe67f36a6e961157d6eff83b91f3af5a62131ceb6f04954ef74f51c1c05e7f88d816101000151604051610db49190614ee3565b60405180910390a17f8c537274438aa850a330284665d81a85dd38267d09e4050d416bfc94142db264816101200151604051610df09190614ee3565b60405180910390a17fcdf33850c44a1a874b5fefb51dae615ac6afebd581ef90d571f81b06541d8e9d816101400151604051610e2c9190614ee3565b60405180910390a17f65f4cf077bc01e4742eb5ad98326f6e95b63548ea24b17f8d5e823111fe78800816101600151604051610e689190614ee3565b60405180910390a17f61e0c29d5028a9e4facaa476a46e78912e99f1ba945c9560b86b82ebe36ee52d816101800151604051610ea49190614ee3565b60405180910390a17f7624075ed781e3aa34b0f492d70d1bb5a6fcde04534165e20f990d2e546be4dd816101a00151604051610ee09190614ee3565b60405180910390a150565b6004546040516000916060916001600160a01b0390911690610f109084903690614eb6565b600060405180830381855af49150503d8060008114610f4b576040519150601f19603f3d011682016040523d82523d6000602084013e610f50565b606091505b5091509150818190610f755760405162461bcd60e51b81526004016109bd9190614f8d565b5050505050505050505050565b600281565b610f8f612319565b600054600154610fac916001600160a01b03908116911683612345565b50565b600c546001600160a01b031681565b6000610fc8612319565b6001600160a01b038316600090815260106020526040812054610ff1908463ffffffff61245716565b6001600160a01b03851660009081526010602052604090208190559150505b92915050565b61101e611f48565b6001600160a01b0316336001600160a01b03161461104e5760405162461bcd60e51b81526004016109bd90615178565b610fac81612499565b6000611061612319565b61106a82612524565b6001600160801b031690505b919050565b6016602052600090815260409020805460019091015482565b6000611010826115b6565b60006110a9612319565b611010826125be565b6001600160a01b03811660009081526016602052604081205460145482906110e0908363ffffffff61245716565b9050801580611119575060016001600160a01b03851660009081526010602052604090206003015460ff16600481111561111657fe5b14155b1561112957600092505050611076565b6001600160a01b0384166000908152601060205260408120600201549061116e670de0b6b3a7640000611162848663ffffffff61267116565b9063ffffffff6126ab16565b9695505050505050565b6809c2007651b250000081565b80516111a35760405162461bcd60e51b81526004016109bd906151a9565b6000546001546006546001600160a01b039283169291821691166111c5614a3d565b6111cd614a6e565b600260009054906101000a90046001600160a01b03166001600160a01b0316630fdb11cf6040518163ffffffff1660e01b8152600401602060405180830381600087803b15801561121d57600080fd5b505af1158015611231573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112559190614da7565b826000018181525050826001600160a01b031663bdaf37ea6040518163ffffffff1660e01b815260040160206040518083038186803b15801561129757600080fd5b505afa1580156112ab573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112cf9190614da7565b602083015281516112df906126ed565b1580156040840152611307576113008585846000015185602001518a612788565b905061131f565b61131c8585846000015185602001518a612a9d565b90505b60008160200151116113435760405162461bcd60e51b81526004016109bd9061528a565b608081015160a082015160405163335525ad60e01b81526001600160a01b0386169263335525ad9261137792600401615324565b600060405180830381600087803b15801561139157600080fd5b505af11580156113a5573d6000803e3d6000fd5b505050506113bd85858360c001518460e00151612bdd565b61010081015115611434576008546101008201516040516364a197f360e01b81526001600160a01b03888116936364a197f393611401939290911691600401614f3d565b600060405180830381600087803b15801561141b57600080fd5b505af115801561142f573d6000803e3d6000fd5b505050505b611442858260400151612e41565b602081015160608301526101008101516040820151825161147a929161146e919063ffffffff61245716565b9063ffffffff61245716565b608083018190526060808401516040808501519285015190517f4152c73dd2614c4f9fc35e8c9cf16013cd588c75b49a4c1673ecffdcbcda9403946114c29490929091615398565b60405180910390a16114de853383606001518460400151612fa2565b505050505050565b600e5481565b6001600160a01b03811660009081526010602052604081206003015460ff16600481111561101057fe5b600061152061158b565b905090565b61152e8161307f565b60408051600180825281830190925260609160208083019080368337019050509050818160008151811061155e57fe5b60200260200101906001600160a01b031690816001600160a01b03168152505061158781611185565b5050565b6000611520600e546130c8565b600b546001600160a01b031681565b6001546001600160a01b031681565b6001600160a01b03811660009081526016602052604081206001015460155482906110e0908363ffffffff61245716565b60006110106115f4611b41565b83613165565b6001600160a01b031660009081526010602052604090206001015490565b60175490565b600080600061162c85613183565b91509150600061116e838387613209565b6000611010826126ed565b60035460408051635733d58f60e01b815290516000926001600160a01b031691635733d58f916004808301926020929190829003018186803b15801561168d57600080fd5b505afa1580156116a1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115209190614da7565b6116cd612319565b8060048111156116d957fe5b6001600160a01b0383166000908152601060205260409020600301805460ff1916600183600481111561170857fe5b02179055505050565b6000611010826110b2565b611724612319565b600061172e61323b565b9050670de0b6b3a764000081111561174257fe5b600e8190556040517fc454ee9b76c52f782a256af821b857ca6e125d1e3333bcede402fec2bed9600c9061177790839061531b565b60405180910390a1610fac61327f565b603c81565b60006110106115f46122b6565b6001600160a01b031660009081526010602052604090206002015490565b6117bf614aba565b506040805160e081018252600080546001600160a01b0390811683526001548116602084015292820181905260608201819052600d548316608083015260a0820181905260c0820152600654909116611816614a3d565b61181e614a6e565b600260009054906101000a90046001600160a01b03166001600160a01b0316630fdb11cf6040518163ffffffff1660e01b8152600401602060405180830381600087803b15801561186e57600080fd5b505af1158015611882573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118a69190614da7565b826000018181525050826001600160a01b031663bdaf37ea6040518163ffffffff1660e01b815260040160206040518083038186803b1580156118e857600080fd5b505afa1580156118fc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119209190614da7565b60208301528151611930906126ed565b1580156040840152611957576119508483600001518460200151886132d4565b9050611977565b61197484600001518560200151846000015185602001518961377b565b90505b600081602001511161199b5760405162461bcd60e51b81526004016109bd9061528a565b608081015160a082015160405163335525ad60e01b81526001600160a01b0386169263335525ad926119cf92600401615324565b600060405180830381600087803b1580156119e957600080fd5b505af11580156119fd573d6000803e3d6000fd5b50505050611a1d846000015185602001518360c001518460e00151612bdd565b61010081015115611a945783516008546101008301516040516364a197f360e01b81526001600160a01b03938416936364a197f393611a6193911691600401614f3d565b600060405180830381600087803b158015611a7b57600080fd5b505af1158015611a8f573d6000803e3d6000fd5b505050505b611aa684600001518260400151612e41565b6020810151606083015261010081015160408201518251611ad2929161146e919063ffffffff61245716565b608083018190526060808401516040808501519285015190517f4152c73dd2614c4f9fc35e8c9cf16013cd588c75b49a4c1673ecffdcbcda940394611b1a9490929091615398565b60405180910390a1611b3a84600001513383606001518460400151612fa2565b5050505050565b6000611520611b4e61323b565b613931565b60195481565b60106020526000908152604090208054600182015460028301546003909301549192909160ff81169061010090046001600160801b031685565b6004546001600160a01b031681565b6000611bac612319565b6001600160a01b038316600090815260106020526040812060010154611bd8908463ffffffff613a1316565b6001600160a01b038516600090815260106020526040902060010181905591505092915050565b670de0b6b3a764000081565b6002546001600160a01b031681565b60178181548110611c2757fe5b6000918252602090912001546001600160a01b0316905081565b6801158e460913d0000081565b60035460408051631e5395c960e21b815290516000926001600160a01b03169163794e5724916004808301926020929190829003018186803b15801561168d57600080fd5b60008054604080516272c7d360e71b8152905183926001600160a01b031691633963e980916004808301926020929190829003018186803b158015611cd757600080fd5b505afa158015611ceb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d0f9190614da7565b90506000600160009054906101000a90046001600160a01b03166001600160a01b0316633963e9806040518163ffffffff1660e01b815260040160206040518083038186803b158015611d6157600080fd5b505afa158015611d75573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d999190614da7565b9050611dab828263ffffffff613a1316565b9250505090565b60185481565b600a546001600160a01b031681565b6000546001600160a01b031681565b60125481565b611de4612319565b610fac81613a38565b611df5611f48565b6001600160a01b0316336001600160a01b031614611e255760405162461bcd60e51b81526004016109bd90615178565b611e2e816122d4565b600480546001600160a01b0319166001600160a01b0383161790556040517f6493041f605f233753d9b16dd158c9f297b8eaca22b2d0dc402a454f5683a5b190610ee0908390614ee3565b6000805460408051630a7b61df60e11b8152905183926001600160a01b0316916314f6c3be916004808301926020929190829003018186803b158015611ebe57600080fd5b505afa158015611ed2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ef69190614da7565b90506000600160009054906101000a90046001600160a01b03166001600160a01b03166314f6c3be6040518163ffffffff1660e01b815260040160206040518083038186803b158015611d6157600080fd5b600080604051611f5790614ec6565b6040519081900390205492915050565b60135481565b6000611f77612319565b6001600160a01b038316600090815260106020526040812054610ff1908463ffffffff613a1316565b60145481565b6003546001600160a01b031681565b6040518060400160405280600c81526020016b2a3937bb32a6b0b730b3b2b960a11b81525081565b6006546001600160a01b031681565b600d546001600160a01b031681565b600080600061200984613183565b9150915060006120198383613a95565b95945050505050565b6005546001600160a01b031681565b600061101082613aca565b6001600160a01b0381166000908152601060205260408120805460019091015490918061206885611094565b915061207385611711565b9050612085848363ffffffff613a1316565b9350612097838263ffffffff613a1316565b92509193509193565b6004546040516000916060916001600160a01b03909116906120c59084903690614eb6565b600060405180830381855af49150503d8060008114612100576040519150601f19603f3d011682016040523d82523d6000602084013e612105565b606091505b509150915081819061212a5760405162461bcd60e51b81526004016109bd9190614f8d565b50505050505050505050565b60155481565b60115481565b7f000000000000000000000000000000000000000000000000000000000000000081565b600061152061217361323b565b6130c8565b670ddd4b8c6c7d70d881565b61218c612319565b610fac816002613af6565b60006121a3838361161e565b9392505050565b600f5481565b60006121ba612319565b6001600160a01b038316600090815260106020526040812060010154611bd8908463ffffffff61245716565b60006110106121f3612166565b83613c0b565b6001600160a01b031660009081526010602052604090205490565b6009546001600160a01b031681565b60006017828154811061223257fe5b6000918252602090912001546001600160a01b031692915050565b600060016001600160a01b03831660009081526010602052604090206003015460ff16600481111561227b57fe5b1461228857506000611076565b506014546001600160a01b03821660009081526016602052604090205410919050565b60006110108261224d565b6000611520600e54613931565b6122cb612319565b610fac81613c4b565b6001600160a01b0381166122fa5760405162461bcd60e51b81526004016109bd90615059565b803b806115875760405162461bcd60e51b81526004016109bd906151ff565b6005546001600160a01b031633146123435760405162461bcd60e51b81526004016109bd9061511b565b565b61234e8161224d565b156124525761235c8161307f565b6000612367826110b2565b90506000612374836115b6565b6001600160a01b0384166000908152601060205260409020600101549091506123a3908363ffffffff613a1316565b6001600160a01b03841660009081526010602052604090206001810191909155546123d4908263ffffffff613a1316565b6001600160a01b0384166000908152601060205260409020556123f683613a38565b61240285858385613c9b565b6001600160a01b03831660008181526010602052604080822080546001820154600290920154925160008051602061543b833981519152946124479492939291614f61565b60405180910390a250505b505050565b60006121a383836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250613d83565b6001600160a01b0381166124bf5760405162461bcd60e51b81526004016109bd90615017565b806001600160a01b03166124d1611f48565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3600060405161251490614ec6565b6040519081900390209190915550565b601780546001808201835560008381527fc624b66cc0138b8fabc209247f72d758e1cf3343756d543badbf24212bed8c1590920180546001600160a01b0319166001600160a01b0386161790559154909161257f9190612457565b6001600160a01b039290921660009081526010602052604090206003018054610100600160881b0319166101006001600160801b038516021790555090565b6001600160a01b03811660009081526010602052604081206001015481906125e590613daf565b6001600160a01b03841660009081526010602052604090206002018054908290556011549192509061262f908390612623908463ffffffff61245716565b9063ffffffff613a1316565b60118190556040517f6bac5e0eb3c44eb03a60ab11ec3a2c051771616aecadbcfff2630aabae520382916126629161531b565b60405180910390a15092915050565b60008261268057506000611010565b8282028284828161268d57fe5b04146121a35760405162461bcd60e51b81526004016109bd906150da565b60006121a383836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250613deb565b6000806126f983613aca565b9050600360009054906101000a90046001600160a01b03166001600160a01b0316635733d58f6040518163ffffffff1660e01b815260040160206040518083038186803b15801561274957600080fd5b505afa15801561275d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127819190614da7565b1192915050565b612790614a6e565b612798614af6565b6127a0614a6e565b848252600060808301526127b2611c93565b60a08301526127bf611e79565b60c0830152600060208301525b835182602001511015612a9257838260200151815181106127e957fe5b6020908102919091018101516001600160a01b03166060840181905260009081526010909152604090206003015460019060ff16600481111561282857fe5b1461283257612a82565b61284082606001518761161e565b604083015260808201516129a757600360009054906101000a90046001600160a01b03166001600160a01b031663794e57246040518163ffffffff1660e01b815260040160206040518083038186803b15801561289c57600080fd5b505afa1580156128b0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906128d49190614da7565b8260400151101580156128e657508151155b156128f057612a82565b60006129058360c001518460a0015189613209565b90506129228989856060015186604001518760000151868d613e22565b6080810151845191935061293c919063ffffffff61245716565b8352608082015160a08401516129579163ffffffff61245716565b60a08085019190915282015160c08401516129779163ffffffff61245716565b60c084015261298684836141f8565b935061299b8360c001518460a001518961430f565b15608084015250612a82565b81608001518015612a405750600360009054906101000a90046001600160a01b03166001600160a01b031663794e57246040518163ffffffff1660e01b815260040160206040518083038186803b158015612a0157600080fd5b505afa158015612a15573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612a399190614da7565b8260400151105b15612a8257612a598888846060015185600001516143ae565b60808101518351919250612a73919063ffffffff61245716565b8252612a7f83826141f8565b92505b60208201805160010190526127cc565b505095945050505050565b612aa5614a6e565b612aad614af6565b612ab5614a6e565b848252600060208301525b835182602001511015612a925783826020015181518110612add57fe5b60209081029190910101516001600160a01b031660608301819052612b02908761161e565b6040808401919091526003548151631e5395c960e21b815291516001600160a01b039091169163794e5724916004808301926020929190829003018186803b158015612b4d57600080fd5b505afa158015612b61573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612b859190614da7565b82604001511015612bcd57612ba48888846060015185600001516143ae565b60808101518351919250612bbe919063ffffffff61245716565b8252612bca83826141f8565b92505b6020820180516001019052612ac0565b81612be757612e3b565b601854600090612c099061262384670de0b6b3a764000063ffffffff61267116565b90506000612c2e601954612623670de0b6b3a76400008761267190919063ffffffff16565b90506000612c47601154846126ab90919063ffffffff16565b90506000612c60601154846126ab90919063ffffffff16565b9050612c87612c7a6011548461267190919063ffffffff16565b859063ffffffff61245716565b601855601154612caf90612ca290839063ffffffff61267116565b849063ffffffff61245716565b601955601454612cc5908363ffffffff613a1316565b601455601554612cdb908263ffffffff613a1316565b60158190556014546040517f9f8bc8ab0daf5bceef75ecfd2085d1fcc6548c657ea970d9a23a60610d0737e392612d129291615324565b60405180910390a160405163121cbc4d60e11b81526001600160a01b03891690632439789a90612d4690899060040161531b565b600060405180830381600087803b158015612d6057600080fd5b505af1158015612d74573d6000803e3d6000fd5b505060405163f2e91d7160e01b81526001600160a01b038a16925063f2e91d719150612da490899060040161531b565b600060405180830381600087803b158015612dbe57600080fd5b505af1158015612dd2573d6000803e3d6000fd5b50506040516364a197f360e01b81526001600160a01b038b1692506364a197f39150612e04908a908990600401614f3d565b600060405180830381600087803b158015612e1e57600080fd5b505af1158015612e32573d6000803e3d6000fd5b50505050505050505b50505050565b6011546012819055506000826001600160a01b03166314f6c3be6040518163ffffffff1660e01b815260040160206040518083038186803b158015612e8557600080fd5b505afa158015612e99573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612ebd9190614da7565b90506000600160009054906101000a90046001600160a01b03166001600160a01b03166314f6c3be6040518163ffffffff1660e01b815260040160206040518083038186803b158015612f0f57600080fd5b505afa158015612f23573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612f479190614da7565b9050612f5d81612623848663ffffffff61245716565b60138190556012546040517f51bf4c63ec3cba9d03d43238abbdd979dd91bd16d9895c74ceea9118c7baaf6092612f949291615324565b60405180910390a150505050565b811561301357600954600754604051631062c15f60e11b81526001600160a01b03928316926320c582be92612fe09291169087908790600401614ef7565b600060405180830381600087803b158015612ffa57600080fd5b505af115801561300e573d6000803e3d6000fd5b505050505b8015612e3b576040516364a197f360e01b81526001600160a01b038516906364a197f3906130479086908590600401614f3d565b600060405180830381600087803b15801561306157600080fd5b505af1158015613075573d6000803e3d6000fd5b5050505050505050565b60016001600160a01b03821660009081526010602052604090206003015460ff1660048111156130ab57fe5b14610fac5760405162461bcd60e51b81526004016109bd906152cc565b600061101061315783600360009054906101000a90046001600160a01b03166001600160a01b03166328d28b5b6040518163ffffffff1660e01b815260040160206040518083038186803b15801561311f57600080fd5b505afa158015613133573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906126239190614da7565b670de0b6b3a76400006144e0565b60006121a3670de0b6b3a7640000611162858563ffffffff61267116565b6000806000613191846110b2565b9050600061319e856115b6565b6001600160a01b038616600090815260106020526040812060010154919250906131ce908463ffffffff613a1316565b6001600160a01b038716600090815260106020526040812054919250906131fb908463ffffffff613a1316565b919550909350505050915091565b6000821561323057600061322784611162878663ffffffff61267116565b91506121a39050565b506000199392505050565b6000806132466144f6565b9050600061325c670ddd4b8c6c7d70d883614512565b9050611dab670de0b6b3a764000061116283600e5461267190919063ffffffff16565b6000613296600f544261245790919063ffffffff16565b9050603c8110610fac5742600f8190556040517f860f8d2f0c74dd487e89e2883e3b25b8159ce1e1b3433a291cba7b82c508f3bc91610ee09161531b565b6132dc614a6e565b6132e4614af6565b6132ec614a6e565b848252600060808301526132fe611c93565b60a083015261330b611e79565b8260c001818152505086608001516001600160a01b0316634d6228316040518163ffffffff1660e01b815260040160206040518083038186803b15801561335157600080fd5b505afa158015613365573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906133899190614b86565b82606001906001600160a01b031690816001600160a01b031681525050600087608001516001600160a01b0316631e2231436040518163ffffffff1660e01b815260040160206040518083038186803b1580156133e557600080fd5b505afa1580156133f9573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061341d9190614b86565b6000602085015290505b8483602001511080156134505750806001600160a01b031683606001516001600160a01b031614155b156137705760808801516060840151604051632dc9c0eb60e21b81526000926001600160a01b03169163b72703ac9161348c9190600401614ee3565b60206040518083038186803b1580156134a457600080fd5b505afa1580156134b8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906134dc9190614b86565b90506134ec84606001518961161e565b6040850152608084015161366557600360009054906101000a90046001600160a01b03166001600160a01b031663794e57246040518163ffffffff1660e01b815260040160206040518083038186803b15801561354857600080fd5b505afa15801561355c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906135809190614da7565b84604001511015801561359257508351155b1561359d5750613770565b60006135b28560c001518660a001518b613209565b8a5160208c01516060880151604089015189519495506135d394868f613e22565b608081015186519195506135ed919063ffffffff61245716565b8552608084015160a08601516136089163ffffffff61245716565b8560a001818152505061363584610100015161146e8660a001518860c0015161245790919063ffffffff16565b60c086015261364486856141f8565b95506136598560c001518660a001518b61430f565b15608086015250613752565b836080015180156136fe5750600360009054906101000a90046001600160a01b03166001600160a01b031663794e57246040518163ffffffff1660e01b815260040160206040518083038186803b1580156136bf57600080fd5b505afa1580156136d3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906136f79190614da7565b8460400151105b1561374c5761371f89600001518a60200151866060015187600001516143ae565b60808101518551919450613739919063ffffffff61245716565b845261374585846141f8565b9450613752565b50613770565b6001600160a01b031660608401526020830180516001019052613427565b505050949350505050565b613783614a6e565b61378b614af6565b613793614a6e565b600d54858352600060208401526001600160a01b03165b848360200151101561392557806001600160a01b0316634d6228316040518163ffffffff1660e01b815260040160206040518083038186803b1580156137ef57600080fd5b505afa158015613803573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906138279190614b86565b6001600160a01b031660608401819052613841908861161e565b6040808501919091526003548151631e5395c960e21b815291516001600160a01b039091169163794e5724916004808301926020929190829003018186803b15801561388c57600080fd5b505afa1580156138a0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906138c49190614da7565b83604001511015613910576138e38989856060015186600001516143ae565b608081015184519193506138fd919063ffffffff61245716565b835261390984836141f8565b9350613915565b613925565b60208301805160010190526137aa565b50505095945050505050565b600061101061398883600360009054906101000a90046001600160a01b03166001600160a01b031663f92d34336040518163ffffffff1660e01b815260040160206040518083038186803b15801561311f57600080fd5b600360009054906101000a90046001600160a01b03166001600160a01b031663240926696040518163ffffffff1660e01b815260040160206040518083038186803b1580156139d657600080fd5b505afa1580156139ea573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613a0e9190614da7565b6144e0565b6000828201838110156121a35760405162461bcd60e51b81526004016109bd90614fe0565b601480546001600160a01b038316600090815260166020526040908190209182556015546001909201829055915491517fc437f324d85e369394148dd9d62f98f534b382e01ed3dd2eb98138fb6d3ab49a92610ee0929091615324565b60008115613ac157613aba826111628568056bc75e2d6310000063ffffffff61267116565b9050611010565b50600019611010565b600080613ad5611e79565b90506000613ae1611c93565b9050613aee828286613209565b949350505050565b6000816004811115613b0457fe5b14158015613b1e57506001816004811115613b1b57fe5b14155b613b2457fe5b601754613b30816145bd565b6001600160a01b0383166000908152601060205260409020600301805483919060ff19166001836004811115613b6257fe5b02179055506001600160a01b0383166000908152601060209081526040808320600180820185905590849055601690925282208281550155613ba48382614663565b600d54604051631484968760e11b81526001600160a01b03909116906329092d0e90613bd4908690600401614ee3565b600060405180830381600087803b158015613bee57600080fd5b505af1158015613c02573d6000803e3d6000fd5b50505050505050565b600080613c2a670de0b6b3a7640000611162868663ffffffff61267116565b90508281106121a35760405162461bcd60e51b81526004016109bd90615234565b6001600160a01b038116600090815260106020526040902060020154601154613c7a908263ffffffff61245716565b601155506001600160a01b0316600090815260106020526040812060020155565b60405163121cbc4d60e11b81526001600160a01b03841690632439789a90613cc790859060040161531b565b600060405180830381600087803b158015613ce157600080fd5b505af1158015613cf5573d6000803e3d6000fd5b505060405163f2e91d7160e01b81526001600160a01b038716925063f2e91d719150613d2590859060040161531b565b600060405180830381600087803b158015613d3f57600080fd5b505af1158015613d53573d6000803e3d6000fd5b505060405163be41205f60e01b81526001600160a01b038616925063be41205f915061304790849060040161531b565b60008184841115613da75760405162461bcd60e51b81526004016109bd9190614f8d565b505050900390565b60008060135460001415613dc4575081611010565b600060125411613dd057fe5b6121a36013546111626012548661267190919063ffffffff16565b60008183613e0c5760405162461bcd60e51b81526004016109bd9190614f8d565b506000838581613e1857fe5b0495945050505050565b613e2a614a6e565b613e32614b3e565b601754600110613e4257506141ed565b613e4b8761203c565b60408501526020848101919091528401819052908352613e6a90614804565b604083018190526801158e460913d0000060608401526020830151613e949163ffffffff61245716565b8152670de0b6b3a76400008611613f5f57613eb9898983602001518460400151613c9b565b613ec287613c4b565b60006080830181905260a0830152815160c0830152805160e0830152613ee9876003613af6565b815160208301516040516001600160a01b038a169260008051602061541b83398151915292613f1a92600290615332565b60405180910390a2866001600160a01b031660008051602061543b83398151915260008060006002604051613f529493929190614f61565b60405180910390a26141eb565b670de0b6b3a764000086118015613ffa5750600360009054906101000a90046001600160a01b03166001600160a01b031663794e57246040518163ffffffff1660e01b815260040160206040518083038186803b158015613fbf57600080fd5b505afa158015613fd3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613ff79190614da7565b86105b1561404a57614013898983602001518460400151613c9b565b61401c87613c4b565b8151815161402b919087614890565b60e086015260c085015260a08401526080830152613ee9876003613af6565b600360009054906101000a90046001600160a01b03166001600160a01b031663794e57246040518163ffffffff1660e01b815260040160206040518083038186803b15801561409857600080fd5b505afa1580156140ac573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906140d09190614da7565b86101580156140de57508386105b80156140eb575081518510155b156141da57614104898983602001518460400151613c9b565b8461410b57fe5b61411487613c4b565b61412782600001518360200151856148fc565b9150614134876003613af6565b610100820151156141a957600854610100830151604051633f10abab60e01b81526001600160a01b0390921691633f10abab91614176918b9190600401614f3d565b600060405180830381600087803b15801561419057600080fd5b505af11580156141a4573d6000803e3d6000fd5b505050505b815160a08301516040516001600160a01b038a169260008051602061541b83398151915292613f1a92600290615332565b6141e2614a6e565b91506141ed9050565b505b979650505050505050565b614200614a6e565b604080830151908401516142199163ffffffff613a1316565b6040820152606080830151908401516142379163ffffffff613a1316565b6060820152815160208401516142529163ffffffff613a1316565b602080830191909152820151835161426f9163ffffffff613a1316565b81526080808301519084015161428a9163ffffffff613a1316565b608082015260a080830151908401516142a89163ffffffff613a1316565b60a082015260c080830151908401516142c69163ffffffff613a1316565b60c082015260e080830151908401516142e49163ffffffff613a1316565b60e082015261010080830151908401516143039163ffffffff613a1316565b61010082015292915050565b60008061431d858585613209565b9050600360009054906101000a90046001600160a01b03166001600160a01b0316635733d58f6040518163ffffffff1660e01b815260040160206040518083038186803b15801561436d57600080fd5b505afa158015614381573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906143a59190614da7565b11949350505050565b6143b6614a6e565b6143be614b3e565b6143c78461203c565b604085019081526020858101928352860192909252918452905190516143f1918891889190613c9b565b6143fa84613c4b565b6144078260200151614804565b604083018190526801158e460913d0000060608401526020830151600091614435919063ffffffff61245716565b905061444683600001518286614890565b60e087015260c086015260a08501526080840152614465856003613af6565b825160208401516040516001600160a01b0388169260008051602061541b8339815191529261449692600190615332565b60405180910390a2846001600160a01b031660008051602061543b833981519152600080600060016040516144ce9493929190614f61565b60405180910390a25050949350505050565b60008183106144ef57816121a3565b5090919050565b6000611520603c611162600f544261245790919063ffffffff16565b6000631f54050082111561452857631f54050091505b8161453c5750670de0b6b3a7640000611010565b670de0b6b3a764000083835b60018111156145b3576002810661457d576145638283614a0a565b915061457681600263ffffffff6126ab16565b90506145ae565b6145878284614a0a565b92506145938283614a0a565b91506145ab600261116283600163ffffffff61245716565b90505b614548565b61116e8284614a0a565b6001811180156146475750600d546040805163de8fa43160e01b815290516001926001600160a01b03169163de8fa431916004808301926020929190829003018186803b15801561460d57600080fd5b505afa158015614621573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906146459190614da7565b115b610fac5760405162461bcd60e51b81526004016109bd90615090565b6001600160a01b03821660009081526010602052604081206003015460ff169081600481111561468f57fe5b141580156146a9575060018160048111156146a657fe5b14155b6146af57fe5b6001600160a01b03831660009081526010602052604081206003015461010090046001600160801b03169083906146e7826001612457565b905080836001600160801b031611156146fc57fe5b60006017828154811061470b57fe5b600091825260209091200154601780546001600160a01b03909216925082916001600160801b03871690811061473d57fe5b600091825260208083209190910180546001600160a01b0319166001600160a01b03948516179055918316815260109091526040908190206003018054610100600160881b0319166101006001600160801b03881602179055517f02b04ae5f7be9ca7c103293a2aa15f3c339d15d6eda53b721fef7b0e609c831a906147c69083908790614f1b565b60405180910390a160178054806147d957fe5b600082815260209020810160001990810180546001600160a01b031916905501905550505050505050565b600354604080516324386ecd60e11b815290516000926001600160a01b031691634870dd9a916004808301926020929190829003018186803b15801561484957600080fd5b505afa15801561485d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906148819190614da7565b828161488957fe5b0492915050565b600080808084156148e6576148a587866144e0565b93506148bb87611162888763ffffffff61267116565b92506148cd878563ffffffff61245716565b91506148df868463ffffffff61245716565b90506148f3565b5060009250829150859050845b93509350935093565b614904614a6e565b838152602080820184905260035460408051631e5395c960e21b815290516000936149a0938793611162936001600160a01b039092169263794e572492600480840193829003018186803b15801561495b57600080fd5b505afa15801561496f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906149939190614da7565b889063ffffffff61267116565b90506149ab81614804565b604083018190526801158e460913d000006060840152608083018690526149d990829063ffffffff61245716565b60a08301526149ee848263ffffffff61245716565b61010083015250600060c0820181905260e08201529392505050565b600080614a1d848463ffffffff61267116565b9050613aee670de0b6b3a7640000611162836706f05b59d3b20000613a13565b6040518060a00160405280600081526020016000815260200160001515815260200160008152602001600081525090565b6040518061012001604052806000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081525090565b6040805160e081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c081019190915290565b6040518060e0016040528060008152602001600081526020016000815260200160006001600160a01b0316815260200160001515815260200160008152602001600081525090565b60405180606001604052806000815260200160008152602001600081525090565b803561101081615405565b600060208284031215614b7b578081fd5b81356121a381615405565b600060208284031215614b97578081fd5b81516121a381615405565b60008060408385031215614bb4578081fd5b8235614bbf81615405565b946020939093013593505050565b60006020808385031215614bdf578182fd5b823567ffffffffffffffff811115614bf5578283fd5b80840185601f820112614c06578384fd5b80359150614c1b614c16836153da565b6153b3565b8281528381019082850185850284018601891015614c37578687fd5b8693505b848410156141eb57614c4d8982614b5f565b835260019390930192918501918501614c3b565b60006101c0808385031215614c74578182fd5b614c7d816153b3565b614c878585614b5f565b8152614c968560208601614b5f565b6020820152614ca88560408601614b5f565b6040820152614cba8560608601614b5f565b6060820152614ccc8560808601614b5f565b6080820152614cde8560a08601614b5f565b60a0820152614cf08560c08601614b5f565b60c0820152614d028560e08601614b5f565b60e08201526101009150614d1885838601614b5f565b828201526101209150614d2d85838601614b5f565b828201526101409150614d4285838601614b5f565b828201526101609150614d5785838601614b5f565b828201526101809150614d6c85838601614b5f565b828201526101a09150614d8185838601614b5f565b918101919091529392505050565b600060208284031215614da0578081fd5b5035919050565b600060208284031215614db8578081fd5b5051919050565b600080600080600080600060e0888a031215614dd9578283fd5b873596506020880135614deb81615405565b95506040880135614dfb81615405565b94506060880135614e0b81615405565b9699959850939660808101359560a0820135955060c0909101359350915050565b600080600080600080600080888a03610160811215614e49578182fd5b8935985060208a0135614e5b81615405565b975060408a0135614e6b81615405565b965060608a0135614e7b81615405565b955060808a810135955060a08b0135945060c08b0135935060df1982011215614ea2578182fd5b5060e0890190509295985092959890939650565b6000828483379101908152919050565b7035b2bc9737bbb730b136329737bbb732b960791b815260110190565b6001600160a01b0391909116815260200190565b6001600160a01b039384168152919092166020820152604081019190915260600190565b6001600160a01b039290921682526001600160801b0316602082015260400190565b6001600160a01b03929092168252602082015260400190565b901515815260200190565b848152602081018490526040810183905260808101614f7f836153fa565b606083015295945050505050565b6000602080835283518082850152825b81811015614fb957858101830151858201604001528201614f9d565b81811115614fca5783604083870101525b50601f01601f1916929092016040019392505050565b6020808252601b908201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604082015260600190565b60208082526022908201527f4f776e61626c653a3a7365744f776e65723a20696e76616c6964206164647265604082015261737360f01b606082015260800190565b6020808252601e908201527f4163636f756e742063616e6e6f74206265207a65726f20616464726573730000604082015260600190565b6020808252602a908201527f54726f76654d616e616765723a204f6e6c79206f6e652074726f766520696e206040820152697468652073797374656d60b01b606082015260800190565b60208082526021908201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6040820152607760f81b606082015260800190565b6020808252603b908201527f54726f76654d616e616765723a2043616c6c6572206973206e6f74207468652060408201527f426f72726f7765724f7065726174696f6e7320636f6e74726163740000000000606082015260800190565b60208082526017908201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604082015260600190565b60208082526036908201527f54726f76654d616e616765723a2043616c6c646174612061646472657373206160408201527572726179206d757374206e6f7420626520656d70747960501b606082015260800190565b6020808252818101527f4163636f756e7420636f64652073697a652063616e6e6f74206265207a65726f604082015260600190565b60208082526036908201527f54726f76654d616e616765723a2046656520776f756c642065617420757020616040820152751b1b081c995d1d5c9b99590818dbdb1b185d195c985b60521b606082015260800190565b60208082526022908201527f54726f76654d616e616765723a206e6f7468696e6720746f206c697175696461604082015261746560f01b606082015260800190565b6020808252602f908201527f54726f76654d616e616765723a2054726f766520646f6573206e6f742065786960408201526e1cdd081bdc881a5cc818db1bdcd959608a1b606082015260800190565b90815260200190565b918252602082015260400190565b83815260208101839052606081016004831061534a57fe5b826040830152949350505050565b858152602081018590526040810184905260a081016005841061537757fe5b60608201939093526001600160801b03919091166080909101529392505050565b93845260208401929092526040830152606082015260800190565b60405181810167ffffffffffffffff811182821017156153d257600080fd5b604052919050565b600067ffffffffffffffff8211156153f0578081fd5b5060209081020190565b806004811061107657fe5b6001600160a01b0381168114610fac57600080fdfeea67486ed7ebe3eea8ab3390efd4a3c8aae48be5bea27df104a8af786c408434c3770d654ed33aeea6bf11ac8ef05d02a6a04ed4686dd2f624d853bbec43cc8ba2646970667358221220360ab705f9ed8e8222e50d6d6310ee7c0693ad08921592870dfffe5ff62b48e964736f6c634300060b0033", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/packages/lib-ethers/live/TroveManagerBase.json b/packages/lib-ethers/live/TroveManagerBase.json deleted file mode 100644 index 484389a0d..000000000 --- a/packages/lib-ethers/live/TroveManagerBase.json +++ /dev/null @@ -1,904 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "TroveManagerBase", - "sourceName": "contracts/Dependencies/TroveManagerBase.sol", - "abi": [ - { - "inputs": [ - { - "internalType": "uint256", - "name": "_bootstrapPeriod", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "_baseRate", - "type": "uint256" - } - ], - "name": "BaseRateUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "_L_ETH", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_L_ZUSDDebt", - "type": "uint256" - } - ], - "name": "LTermsUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "_lastFeeOpTime", - "type": "uint256" - } - ], - "name": "LastFeeOpTimeUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "_liquidatedDebt", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_liquidatedColl", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_collGasCompensation", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_ZUSDGasCompensation", - "type": "uint256" - } - ], - "name": "Liquidation", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "previousOwner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnershipTransferred", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "_attemptedZUSDAmount", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_actualZUSDAmount", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_ETHSent", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_ETHFee", - "type": "uint256" - } - ], - "name": "Redemption", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "_totalStakesSnapshot", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_totalCollateralSnapshot", - "type": "uint256" - } - ], - "name": "SystemSnapshotsUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "_newTotalStakes", - "type": "uint256" - } - ], - "name": "TotalStakesUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_borrower", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_newIndex", - "type": "uint256" - } - ], - "name": "TroveIndexUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "_borrower", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_debt", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_coll", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "enum TroveManagerBase.TroveManagerOperation", - "name": "_operation", - "type": "uint8" - } - ], - "name": "TroveLiquidated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "_L_ETH", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_L_ZUSDDebt", - "type": "uint256" - } - ], - "name": "TroveSnapshotsUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "_borrower", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_debt", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_coll", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_stake", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "enum TroveManagerBase.TroveManagerOperation", - "name": "_operation", - "type": "uint8" - } - ], - "name": "TroveUpdated", - "type": "event" - }, - { - "inputs": [], - "name": "BETA", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "BOOTSTRAP_PERIOD", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "DECIMAL_PRECISION", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "L_ETH", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "L_ZUSDDebt", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "MINUTE_DECAY_FACTOR", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "MIN_NET_DEBT", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "NAME", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "SECONDS_IN_ONE_MINUTE", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "TroveOwners", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "Troves", - "outputs": [ - { - "internalType": "uint256", - "name": "debt", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "coll", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "stake", - "type": "uint256" - }, - { - "internalType": "enum TroveManagerStorage.Status", - "name": "status", - "type": "uint8" - }, - { - "internalType": "uint128", - "name": "arrayIndex", - "type": "uint128" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "ZUSD_GAS_COMPENSATION", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_100pct", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_borrower", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_price", - "type": "uint256" - } - ], - "name": "_getCurrentICR", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_borrower", - "type": "address" - } - ], - "name": "_getPendingETHReward", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_borrower", - "type": "address" - } - ], - "name": "_getPendingZUSDDebtReward", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_getRedemptionRate", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_borrower", - "type": "address" - } - ], - "name": "_hasPendingRewards", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_stabilityPool", - "outputs": [ - { - "internalType": "contract IStabilityPool", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_zeroStaking", - "outputs": [ - { - "internalType": "contract IZEROStaking", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_zeroToken", - "outputs": [ - { - "internalType": "contract IZEROToken", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_zusdToken", - "outputs": [ - { - "internalType": "contract IZUSDToken", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "activePool", - "outputs": [ - { - "internalType": "contract IActivePool", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "baseRate", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "borrowerOperationsAddress", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "defaultPool", - "outputs": [ - { - "internalType": "contract IDefaultPool", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "feeDistributor", - "outputs": [ - { - "internalType": "contract IFeeDistributor", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getEntireSystemColl", - "outputs": [ - { - "internalType": "uint256", - "name": "entireSystemColl", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getEntireSystemDebt", - "outputs": [ - { - "internalType": "uint256", - "name": "entireSystemDebt", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getOwner", - "outputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "lastETHError_Redistribution", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "lastFeeOperationTime", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "lastZUSDDebtError_Redistribution", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "liquityBaseParams", - "outputs": [ - { - "internalType": "contract ILiquityBaseParams", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "priceFeed", - "outputs": [ - { - "internalType": "contract IPriceFeed", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "rewardSnapshots", - "outputs": [ - { - "internalType": "uint256", - "name": "ETH", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "ZUSDDebt", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - } - ], - "name": "setOwner", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "sortedTroves", - "outputs": [ - { - "internalType": "contract ISortedTroves", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "totalCollateralSnapshot", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "totalStakes", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "totalStakesSnapshot", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "troveManagerRedeemOps", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": "0x60a060405234801561001057600080fd5b506040516111d13803806111d18339818101604052602081101561003357600080fd5b5051610047336001600160e01b0361004f16565b608052610137565b6001600160a01b0381166100945760405162461bcd60e51b81526004018080602001828103825260228152602001806111af6022913960400191505060405180910390fd5b6001600160a01b0381166100af6001600160e01b0361010d16565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3604080517035b2bc9737bbb730b136329737bbb732b960791b8152905190819003601101902055565b604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205490565b60805161105e61015160003980610aea525061105e6000f3fe608060405234801561001057600080fd5b506004361061025e5760003560e01c8063797250e311610146578063a3f4df7e116100c3578063bf9befb111610087578063bf9befb114610551578063c35bc55014610559578063c7b5548114610561578063d380a37c14610569578063d815e8e914610571578063e056e918146105795761025e565b8063a3f4df7e146104b4578063ae7bec1914610531578063ae91875414610539578063b7f8cf9b14610541578063be4b0334146105495761025e565b8063893d20e81161010a578063893d20e81461049457806396d711ff1461049c5780639dd233d2146104a45780639f070670146104ac578063a20baee61461042f5761025e565b8063797250e31461046c5780637cf54e40146104745780637f7dde4a1461047c578063807d138d14610484578063887105d31461048c5761025e565b806342ccf1e4116101df578063716c47e6116101a3578063716c47e61461042757806372fe25aa1461042f578063741bef1a14610437578063756b253e1461043f578063759b30341461045c578063795d26c3146104645761025e565b806342ccf1e4146103565780634a767d681461037c57806361ec893d146103a85780636b444952146103b05780636ef64338146103b85761025e565b80631bf43555116102265780631bf435551461032e5780631f68f20a1461033657806331c903b01461033e5780633a128595146103465780633cc742251461034e5761025e565b8063071a7541146102635780630d43e8ad1461027d57806313af4035146102a15780631673c79a146102c95780631a59a50e14610308575b600080fd5b61026b6105b3565b60408051918252519081900360200190f35b6102856105b8565b604080516001600160a01b039092168252519081900360200190f35b6102c7600480360360208110156102b757600080fd5b50356001600160a01b03166105c7565b005b6102ef600480360360208110156102df57600080fd5b50356001600160a01b031661063a565b6040805192835260208301919091528051918290030190f35b61026b6004803603602081101561031e57600080fd5b50356001600160a01b0316610653565b61026b61071b565b61026b610728565b61026b61072e565b610285610740565b61028561074f565b61026b6004803603602081101561036c57600080fd5b50356001600160a01b031661075e565b61026b6004803603604081101561039257600080fd5b506001600160a01b03813516906020013561078f565b61026b6107ba565b61026b6107bf565b6103de600480360360208110156103ce57600080fd5b50356001600160a01b03166107c5565b6040518086815260200185815260200184815260200183600481111561040057fe5b60ff1681526001600160801b03909216602083015250604080519182900301945092505050f35b6102856107ff565b61026b61080e565b61028561081a565b6102856004803603602081101561045557600080fd5b5035610829565b61026b610850565b61026b61085d565b61026b61095c565b610285610962565b610285610971565b61026b610980565b61026b610986565b610285610a42565b61026b610a6c565b61026b610a72565b610285610a78565b6104bc610a87565b6040805160208082528351818301528351919283929083019185019080838360005b838110156104f65781810151838201526020016104de565b50505050905090810190601f1680156105235780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b610285610aaf565b610285610abe565b610285610acd565b61026b610adc565b61026b610ae2565b61026b610ae8565b61026b610b0c565b61026b610b18565b610285610b1e565b61059f6004803603602081101561058f57600080fd5b50356001600160a01b0316610b2d565b604080519115158252519081900360200190f35b600281565b600c546001600160a01b031681565b6105cf610a42565b6001600160a01b0316336001600160a01b03161461062e576040805162461bcd60e51b815260206004820152601760248201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604482015290519081900360640190fd5b61063781610b8b565b50565b6016602052600090815260409020805460019091015482565b6001600160a01b0381166000908152601660205260408120546014548290610681908363ffffffff610c4016565b90508015806106ba575060016001600160a01b03851660009081526010602052604090206003015460ff1660048111156106b757fe5b14155b156106ca57600092505050610716565b6001600160a01b0384166000908152601060205260408120600201549061070f670de0b6b3a7640000610703848663ffffffff610c8916565b9063ffffffff610ce216565b9450505050505b919050565b6809c2007651b250000081565b600e5481565b600061073b600e54610d24565b905090565b600b546001600160a01b031681565b6001546001600160a01b031681565b6001600160a01b0381166000908152601660205260408120600101546015548290610681908363ffffffff610c4016565b600080600061079d85610dc1565b9150915060006107ae838387610e47565b93505050505b92915050565b603c81565b60195481565b60106020526000908152604090208054600182015460028301546003909301549192909160ff81169061010090046001600160801b031685565b6004546001600160a01b031681565b670de0b6b3a764000081565b6002546001600160a01b031681565b6017818154811061083657fe5b6000918252602090912001546001600160a01b0316905081565b6801158e460913d0000081565b60008054604080516272c7d360e71b8152905183926001600160a01b031691633963e980916004808301926020929190829003018186803b1580156108a157600080fd5b505afa1580156108b5573d6000803e3d6000fd5b505050506040513d60208110156108cb57600080fd5b5051600154604080516272c7d360e71b815290519293506000926001600160a01b0390921691633963e98091600480820192602092909190829003018186803b15801561091757600080fd5b505afa15801561092b573d6000803e3d6000fd5b505050506040513d602081101561094157600080fd5b50519050610955828263ffffffff610e7916565b9250505090565b60185481565b600a546001600160a01b031681565b6000546001600160a01b031681565b60125481565b6000805460408051630a7b61df60e11b8152905183926001600160a01b0316916314f6c3be916004808301926020929190829003018186803b1580156109cb57600080fd5b505afa1580156109df573d6000803e3d6000fd5b505050506040513d60208110156109f557600080fd5b505160015460408051630a7b61df60e11b815290519293506000926001600160a01b03909216916314f6c3be91600480820192602092909190829003018186803b15801561091757600080fd5b604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205490565b60135481565b60145481565b6003546001600160a01b031681565b6040518060400160405280600c81526020016b2a3937bb32a6b0b730b3b2b960a11b81525081565b6006546001600160a01b031681565b600d546001600160a01b031681565b6005546001600160a01b031681565b60155481565b60115481565b7f000000000000000000000000000000000000000000000000000000000000000081565b670ddd4b8c6c7d70d881565b600f5481565b6009546001600160a01b031681565b600060016001600160a01b03831660009081526010602052604090206003015460ff166004811115610b5b57fe5b14610b6857506000610716565b506014546001600160a01b03821660009081526016602052604090205410919050565b6001600160a01b038116610bd05760405162461bcd60e51b8152600401808060200182810382526022815260200180610fe66022913960400191505060405180910390fd5b806001600160a01b0316610be2610a42565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3604080517035b2bc9737bbb730b136329737bbb732b960791b8152905190819003601101902055565b6000610c8283836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610ed3565b9392505050565b600082610c98575060006107b4565b82820282848281610ca557fe5b0414610c825760405162461bcd60e51b81526004018080602001828103825260218152602001806110086021913960400191505060405180910390fd5b6000610c8283836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250610f6a565b60006107b4610db383600360009054906101000a90046001600160a01b03166001600160a01b03166328d28b5b6040518163ffffffff1660e01b815260040160206040518083038186803b158015610d7b57600080fd5b505afa158015610d8f573d6000803e3d6000fd5b505050506040513d6020811015610da557600080fd5b50519063ffffffff610e7916565b670de0b6b3a7640000610fcf565b6000806000610dcf84610653565b90506000610ddc8561075e565b6001600160a01b03861660009081526010602052604081206001015491925090610e0c908463ffffffff610e7916565b6001600160a01b03871660009081526010602052604081205491925090610e39908463ffffffff610e7916565b919550909350505050915091565b60008215610e6e576000610e6584610703878663ffffffff610c8916565b9150610c829050565b506000199392505050565b600082820183811015610c82576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b60008184841115610f625760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610f27578181015183820152602001610f0f565b50505050905090810190601f168015610f545780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b60008183610fb95760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610f27578181015183820152602001610f0f565b506000838581610fc557fe5b0495945050505050565b6000818310610fde5781610c82565b509091905056fe4f776e61626c653a3a7365744f776e65723a20696e76616c69642061646472657373536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77a26469706673582212207c22479726ced5ac608c998561442d9b4a2ac8cc8739f5bc67f5ca888cc4203964736f6c634300060b00334f776e61626c653a3a7365744f776e65723a20696e76616c69642061646472657373", - "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061025e5760003560e01c8063797250e311610146578063a3f4df7e116100c3578063bf9befb111610087578063bf9befb114610551578063c35bc55014610559578063c7b5548114610561578063d380a37c14610569578063d815e8e914610571578063e056e918146105795761025e565b8063a3f4df7e146104b4578063ae7bec1914610531578063ae91875414610539578063b7f8cf9b14610541578063be4b0334146105495761025e565b8063893d20e81161010a578063893d20e81461049457806396d711ff1461049c5780639dd233d2146104a45780639f070670146104ac578063a20baee61461042f5761025e565b8063797250e31461046c5780637cf54e40146104745780637f7dde4a1461047c578063807d138d14610484578063887105d31461048c5761025e565b806342ccf1e4116101df578063716c47e6116101a3578063716c47e61461042757806372fe25aa1461042f578063741bef1a14610437578063756b253e1461043f578063759b30341461045c578063795d26c3146104645761025e565b806342ccf1e4146103565780634a767d681461037c57806361ec893d146103a85780636b444952146103b05780636ef64338146103b85761025e565b80631bf43555116102265780631bf435551461032e5780631f68f20a1461033657806331c903b01461033e5780633a128595146103465780633cc742251461034e5761025e565b8063071a7541146102635780630d43e8ad1461027d57806313af4035146102a15780631673c79a146102c95780631a59a50e14610308575b600080fd5b61026b6105b3565b60408051918252519081900360200190f35b6102856105b8565b604080516001600160a01b039092168252519081900360200190f35b6102c7600480360360208110156102b757600080fd5b50356001600160a01b03166105c7565b005b6102ef600480360360208110156102df57600080fd5b50356001600160a01b031661063a565b6040805192835260208301919091528051918290030190f35b61026b6004803603602081101561031e57600080fd5b50356001600160a01b0316610653565b61026b61071b565b61026b610728565b61026b61072e565b610285610740565b61028561074f565b61026b6004803603602081101561036c57600080fd5b50356001600160a01b031661075e565b61026b6004803603604081101561039257600080fd5b506001600160a01b03813516906020013561078f565b61026b6107ba565b61026b6107bf565b6103de600480360360208110156103ce57600080fd5b50356001600160a01b03166107c5565b6040518086815260200185815260200184815260200183600481111561040057fe5b60ff1681526001600160801b03909216602083015250604080519182900301945092505050f35b6102856107ff565b61026b61080e565b61028561081a565b6102856004803603602081101561045557600080fd5b5035610829565b61026b610850565b61026b61085d565b61026b61095c565b610285610962565b610285610971565b61026b610980565b61026b610986565b610285610a42565b61026b610a6c565b61026b610a72565b610285610a78565b6104bc610a87565b6040805160208082528351818301528351919283929083019185019080838360005b838110156104f65781810151838201526020016104de565b50505050905090810190601f1680156105235780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b610285610aaf565b610285610abe565b610285610acd565b61026b610adc565b61026b610ae2565b61026b610ae8565b61026b610b0c565b61026b610b18565b610285610b1e565b61059f6004803603602081101561058f57600080fd5b50356001600160a01b0316610b2d565b604080519115158252519081900360200190f35b600281565b600c546001600160a01b031681565b6105cf610a42565b6001600160a01b0316336001600160a01b03161461062e576040805162461bcd60e51b815260206004820152601760248201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604482015290519081900360640190fd5b61063781610b8b565b50565b6016602052600090815260409020805460019091015482565b6001600160a01b0381166000908152601660205260408120546014548290610681908363ffffffff610c4016565b90508015806106ba575060016001600160a01b03851660009081526010602052604090206003015460ff1660048111156106b757fe5b14155b156106ca57600092505050610716565b6001600160a01b0384166000908152601060205260408120600201549061070f670de0b6b3a7640000610703848663ffffffff610c8916565b9063ffffffff610ce216565b9450505050505b919050565b6809c2007651b250000081565b600e5481565b600061073b600e54610d24565b905090565b600b546001600160a01b031681565b6001546001600160a01b031681565b6001600160a01b0381166000908152601660205260408120600101546015548290610681908363ffffffff610c4016565b600080600061079d85610dc1565b9150915060006107ae838387610e47565b93505050505b92915050565b603c81565b60195481565b60106020526000908152604090208054600182015460028301546003909301549192909160ff81169061010090046001600160801b031685565b6004546001600160a01b031681565b670de0b6b3a764000081565b6002546001600160a01b031681565b6017818154811061083657fe5b6000918252602090912001546001600160a01b0316905081565b6801158e460913d0000081565b60008054604080516272c7d360e71b8152905183926001600160a01b031691633963e980916004808301926020929190829003018186803b1580156108a157600080fd5b505afa1580156108b5573d6000803e3d6000fd5b505050506040513d60208110156108cb57600080fd5b5051600154604080516272c7d360e71b815290519293506000926001600160a01b0390921691633963e98091600480820192602092909190829003018186803b15801561091757600080fd5b505afa15801561092b573d6000803e3d6000fd5b505050506040513d602081101561094157600080fd5b50519050610955828263ffffffff610e7916565b9250505090565b60185481565b600a546001600160a01b031681565b6000546001600160a01b031681565b60125481565b6000805460408051630a7b61df60e11b8152905183926001600160a01b0316916314f6c3be916004808301926020929190829003018186803b1580156109cb57600080fd5b505afa1580156109df573d6000803e3d6000fd5b505050506040513d60208110156109f557600080fd5b505160015460408051630a7b61df60e11b815290519293506000926001600160a01b03909216916314f6c3be91600480820192602092909190829003018186803b15801561091757600080fd5b604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205490565b60135481565b60145481565b6003546001600160a01b031681565b6040518060400160405280600c81526020016b2a3937bb32a6b0b730b3b2b960a11b81525081565b6006546001600160a01b031681565b600d546001600160a01b031681565b6005546001600160a01b031681565b60155481565b60115481565b7f000000000000000000000000000000000000000000000000000000000000000081565b670ddd4b8c6c7d70d881565b600f5481565b6009546001600160a01b031681565b600060016001600160a01b03831660009081526010602052604090206003015460ff166004811115610b5b57fe5b14610b6857506000610716565b506014546001600160a01b03821660009081526016602052604090205410919050565b6001600160a01b038116610bd05760405162461bcd60e51b8152600401808060200182810382526022815260200180610fe66022913960400191505060405180910390fd5b806001600160a01b0316610be2610a42565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3604080517035b2bc9737bbb730b136329737bbb732b960791b8152905190819003601101902055565b6000610c8283836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610ed3565b9392505050565b600082610c98575060006107b4565b82820282848281610ca557fe5b0414610c825760405162461bcd60e51b81526004018080602001828103825260218152602001806110086021913960400191505060405180910390fd5b6000610c8283836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250610f6a565b60006107b4610db383600360009054906101000a90046001600160a01b03166001600160a01b03166328d28b5b6040518163ffffffff1660e01b815260040160206040518083038186803b158015610d7b57600080fd5b505afa158015610d8f573d6000803e3d6000fd5b505050506040513d6020811015610da557600080fd5b50519063ffffffff610e7916565b670de0b6b3a7640000610fcf565b6000806000610dcf84610653565b90506000610ddc8561075e565b6001600160a01b03861660009081526010602052604081206001015491925090610e0c908463ffffffff610e7916565b6001600160a01b03871660009081526010602052604081205491925090610e39908463ffffffff610e7916565b919550909350505050915091565b60008215610e6e576000610e6584610703878663ffffffff610c8916565b9150610c829050565b506000199392505050565b600082820183811015610c82576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b60008184841115610f625760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610f27578181015183820152602001610f0f565b50505050905090810190601f168015610f545780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b60008183610fb95760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610f27578181015183820152602001610f0f565b506000838581610fc557fe5b0495945050505050565b6000818310610fde5781610c82565b509091905056fe4f776e61626c653a3a7365744f776e65723a20696e76616c69642061646472657373536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77a26469706673582212207c22479726ced5ac608c998561442d9b4a2ac8cc8739f5bc67f5ca888cc4203964736f6c634300060b0033", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/packages/lib-ethers/live/TroveManagerRedeemOps.json b/packages/lib-ethers/live/TroveManagerRedeemOps.json deleted file mode 100644 index a58efdf36..000000000 --- a/packages/lib-ethers/live/TroveManagerRedeemOps.json +++ /dev/null @@ -1,1017 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "TroveManagerRedeemOps", - "sourceName": "contracts/Dependencies/TroveManagerRedeemOps.sol", - "abi": [ - { - "inputs": [ - { - "internalType": "uint256", - "name": "_bootstrapPeriod", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "_baseRate", - "type": "uint256" - } - ], - "name": "BaseRateUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "_L_ETH", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_L_ZUSDDebt", - "type": "uint256" - } - ], - "name": "LTermsUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "_lastFeeOpTime", - "type": "uint256" - } - ], - "name": "LastFeeOpTimeUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "_liquidatedDebt", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_liquidatedColl", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_collGasCompensation", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_ZUSDGasCompensation", - "type": "uint256" - } - ], - "name": "Liquidation", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "previousOwner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnershipTransferred", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "_attemptedZUSDAmount", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_actualZUSDAmount", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_ETHSent", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_ETHFee", - "type": "uint256" - } - ], - "name": "Redemption", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "_totalStakesSnapshot", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_totalCollateralSnapshot", - "type": "uint256" - } - ], - "name": "SystemSnapshotsUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "_newTotalStakes", - "type": "uint256" - } - ], - "name": "TotalStakesUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_borrower", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_newIndex", - "type": "uint256" - } - ], - "name": "TroveIndexUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "_borrower", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_debt", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_coll", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "enum TroveManagerBase.TroveManagerOperation", - "name": "_operation", - "type": "uint8" - } - ], - "name": "TroveLiquidated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "_L_ETH", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_L_ZUSDDebt", - "type": "uint256" - } - ], - "name": "TroveSnapshotsUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "_borrower", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_debt", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_coll", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_stake", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "enum TroveManagerBase.TroveManagerOperation", - "name": "_operation", - "type": "uint8" - } - ], - "name": "TroveUpdated", - "type": "event" - }, - { - "inputs": [], - "name": "BETA", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "BOOTSTRAP_PERIOD", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "DECIMAL_PRECISION", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "L_ETH", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "L_ZUSDDebt", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "MINUTE_DECAY_FACTOR", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "MIN_NET_DEBT", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "NAME", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "SECONDS_IN_ONE_MINUTE", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "TroveOwners", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "Troves", - "outputs": [ - { - "internalType": "uint256", - "name": "debt", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "coll", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "stake", - "type": "uint256" - }, - { - "internalType": "enum TroveManagerStorage.Status", - "name": "status", - "type": "uint8" - }, - { - "internalType": "uint128", - "name": "arrayIndex", - "type": "uint128" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "ZUSD_GAS_COMPENSATION", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_100pct", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_borrower", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_price", - "type": "uint256" - } - ], - "name": "_getCurrentICR", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_borrower", - "type": "address" - } - ], - "name": "_getPendingETHReward", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_borrower", - "type": "address" - } - ], - "name": "_getPendingZUSDDebtReward", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_getRedemptionRate", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_borrower", - "type": "address" - } - ], - "name": "_hasPendingRewards", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_stabilityPool", - "outputs": [ - { - "internalType": "contract IStabilityPool", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_zeroStaking", - "outputs": [ - { - "internalType": "contract IZEROStaking", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_zeroToken", - "outputs": [ - { - "internalType": "contract IZEROToken", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_zusdToken", - "outputs": [ - { - "internalType": "contract IZUSDToken", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "activePool", - "outputs": [ - { - "internalType": "contract IActivePool", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "baseRate", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "borrowerOperationsAddress", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "defaultPool", - "outputs": [ - { - "internalType": "contract IDefaultPool", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "feeDistributor", - "outputs": [ - { - "internalType": "contract IFeeDistributor", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getEntireSystemColl", - "outputs": [ - { - "internalType": "uint256", - "name": "entireSystemColl", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getEntireSystemDebt", - "outputs": [ - { - "internalType": "uint256", - "name": "entireSystemDebt", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getOwner", - "outputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "lastETHError_Redistribution", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "lastFeeOperationTime", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "lastZUSDDebtError_Redistribution", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "liquityBaseParams", - "outputs": [ - { - "internalType": "contract ILiquityBaseParams", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "priceFeed", - "outputs": [ - { - "internalType": "contract IPriceFeed", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_ZUSDamount", - "type": "uint256" - }, - { - "internalType": "address", - "name": "_firstRedemptionHint", - "type": "address" - }, - { - "internalType": "address", - "name": "_upperPartialRedemptionHint", - "type": "address" - }, - { - "internalType": "address", - "name": "_lowerPartialRedemptionHint", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_partialRedemptionHintNICR", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_maxIterations", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_maxFeePercentage", - "type": "uint256" - } - ], - "name": "redeemCollateral", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_dllrAmount", - "type": "uint256" - }, - { - "internalType": "address", - "name": "_firstRedemptionHint", - "type": "address" - }, - { - "internalType": "address", - "name": "_upperPartialRedemptionHint", - "type": "address" - }, - { - "internalType": "address", - "name": "_lowerPartialRedemptionHint", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_partialRedemptionHintNICR", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_maxIterations", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_maxFeePercentage", - "type": "uint256" - }, - { - "components": [ - { - "internalType": "uint256", - "name": "deadline", - "type": "uint256" - }, - { - "internalType": "uint8", - "name": "v", - "type": "uint8" - }, - { - "internalType": "bytes32", - "name": "r", - "type": "bytes32" - }, - { - "internalType": "bytes32", - "name": "s", - "type": "bytes32" - } - ], - "internalType": "struct IMassetManager.PermitParams", - "name": "_permitParams", - "type": "tuple" - } - ], - "name": "redeemCollateralViaDLLR", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "rewardSnapshots", - "outputs": [ - { - "internalType": "uint256", - "name": "ETH", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "ZUSDDebt", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - } - ], - "name": "setOwner", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "sortedTroves", - "outputs": [ - { - "internalType": "contract ISortedTroves", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "totalCollateralSnapshot", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "totalStakes", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "totalStakesSnapshot", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "troveManagerRedeemOps", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": "0x60a06040523480156200001157600080fd5b50604051620037ec380380620037ec833981016040819052620000349162000118565b8062000049336001600160e01b036200005316565b6080525062000190565b6001600160a01b038116620000855760405162461bcd60e51b81526004016200007c906200014e565b60405180910390fd5b6001600160a01b038116620000a26001600160e01b03620000f716565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000604051620000e79062000131565b6040519081900390209190915550565b600080604051620001089062000131565b6040519081900390205492915050565b6000602082840312156200012a578081fd5b5051919050565b7035b2bc9737bbb730b136329737bbb732b960791b815260110190565b60208082526022908201527f4f776e61626c653a3a7365744f776e65723a20696e76616c6964206164647265604082015261737360f01b606082015260800190565b60805161363c620001b060003980610aa952806119d6525061363c6000f3fe608060405234801561001057600080fd5b50600436106102745760003560e01c8063797250e311610151578063ae7bec19116100c3578063bf9befb111610087578063bf9befb114610455578063c35bc5501461045d578063c7b5548114610465578063d380a37c1461046d578063d815e8e914610475578063e056e9181461047d57610274565b8063ae7bec1914610422578063ae9187541461042a578063b7f8cf9b14610432578063bcd375261461043a578063be4b03341461044d57610274565b8063893d20e811610115578063893d20e8146103ed57806396d711ff146103f55780639dd233d2146103fd5780639f07067014610405578063a20baee614610392578063a3f4df7e1461040d57610274565b8063797250e3146103c55780637cf54e40146103cd5780637f7dde4a146103d5578063807d138d146103dd578063887105d3146103e557610274565b806342ccf1e4116101ea578063716c47e6116101ae578063716c47e61461038a57806372fe25aa14610392578063741bef1a1461039a578063756b253e146103a2578063759b3034146103b5578063795d26c3146103bd57610274565b806342ccf1e4146103305780634a767d681461034357806361ec893d146103565780636b4449521461035e5780636ef643381461036657610274565b80631a59a50e1161023c5780631a59a50e146102f55780631bf43555146103085780631f68f20a1461031057806331c903b0146103185780633a128595146103205780633cc742251461032857610274565b806305b6f5ca14610279578063071a75411461028e5780630d43e8ad146102ac57806313af4035146102c15780631673c79a146102d4575b600080fd5b61028c610287366004612ec7565b61049d565b005b610296610558565b6040516102a39190613554565b60405180910390f35b6102b461055d565b6040516102a39190612f8f565b61028c6102cf366004612da7565b61056c565b6102e76102e2366004612da7565b6105b9565b6040516102a392919061355d565b610296610303366004612da7565b6105d2565b61029661069a565b6102966106a7565b6102966106ad565b6102b46106bf565b6102b46106ce565b61029661033e366004612da7565b6106dd565b610296610351366004612ddf565b61070e565b610296610739565b61029661073e565b610379610374366004612da7565b610744565b6040516102a395949392919061356b565b6102b461077e565b61029661078d565b6102b4610799565b6102b46103b0366004612e2a565b6107a8565b6102966107cf565b6102966107dc565b6102966108fb565b6102b4610901565b6102b4610910565b61029661091f565b610296610925565b6102b46109f4565b610296610a13565b610296610a19565b6102b4610a1f565b610415610a2e565b6040516102a391906130a4565b6102b4610a56565b6102b4610a65565b6102b4610a74565b61028c610448366004612e5a565b610a83565b610296610a9b565b610296610aa1565b610296610aa7565b610296610acb565b610296610ad7565b6102b4610add565b61049061048b366004612da7565b610aec565b6040516102a3919061306d565b600061053c600560009054906101000a90046001600160a01b03166001600160a01b031663e9fc34616040518163ffffffff1660e01b815260040160206040518083038186803b1580156104f057600080fd5b505afa158015610504573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105289190612dc3565b6009548b906001600160a01b031685610b4a565b905061054d81898989898989610dfb565b505050505050505050565b600281565b600c546001600160a01b031681565b6105746109f4565b6001600160a01b0316336001600160a01b0316146105ad5760405162461bcd60e51b81526004016105a49061335f565b60405180910390fd5b6105b6816115c2565b50565b6016602052600090815260409020805460019091015482565b6001600160a01b0381166000908152601660205260408120546014548290610600908363ffffffff61164d16565b9050801580610639575060016001600160a01b03851660009081526010602052604090206003015460ff16600481111561063657fe5b14155b1561064957600092505050610695565b6001600160a01b0384166000908152601060205260408120600201549061068e670de0b6b3a7640000610682848663ffffffff61169616565b9063ffffffff6116d016565b9450505050505b919050565b6809c2007651b250000081565b600e5481565b60006106ba600e54611712565b905090565b600b546001600160a01b031681565b6001546001600160a01b031681565b6001600160a01b0381166000908152601660205260408120600101546015548290610600908363ffffffff61164d16565b600080600061071c856117bb565b91509150600061072d838387611841565b93505050505b92915050565b603c81565b60195481565b60106020526000908152604090208054600182015460028301546003909301549192909160ff81169061010090046001600160801b031685565b6004546001600160a01b031681565b670de0b6b3a764000081565b6002546001600160a01b031681565b601781815481106107b557fe5b6000918252602090912001546001600160a01b0316905081565b6801158e460913d0000081565b60008054604080516272c7d360e71b8152905183926001600160a01b031691633963e980916004808301926020929190829003018186803b15801561082057600080fd5b505afa158015610834573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108589190612e42565b90506000600160009054906101000a90046001600160a01b03166001600160a01b0316633963e9806040518163ffffffff1660e01b815260040160206040518083038186803b1580156108aa57600080fd5b505afa1580156108be573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108e29190612e42565b90506108f4828263ffffffff61187316565b9250505090565b60185481565b600a546001600160a01b031681565b6000546001600160a01b031681565b60125481565b6000805460408051630a7b61df60e11b8152905183926001600160a01b0316916314f6c3be916004808301926020929190829003018186803b15801561096a57600080fd5b505afa15801561097e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109a29190612e42565b90506000600160009054906101000a90046001600160a01b03166001600160a01b03166314f6c3be6040518163ffffffff1660e01b815260040160206040518083038186803b1580156108aa57600080fd5b600080604051610a0390612f72565b6040519081900390205492915050565b60135481565b60145481565b6003546001600160a01b031681565b6040518060400160405280600c81526020016b2a3937bb32a6b0b730b3b2b960a11b81525081565b6006546001600160a01b031681565b600d546001600160a01b031681565b6005546001600160a01b031681565b610a9287878787878787610dfb565b50505050505050565b60155481565b60115481565b7f000000000000000000000000000000000000000000000000000000000000000081565b670ddd4b8c6c7d70d881565b600f5481565b6009546001600160a01b031681565b600060016001600160a01b03831660009081526010602052604090206003015460ff166004811115610b1a57fe5b14610b2757506000610695565b506014546001600160a01b03821660009081526016602052604090205410919050565b600080856001600160a01b03166321df0da76040518163ffffffff1660e01b815260040160206040518083038186803b158015610b8657600080fd5b505afa158015610b9a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bbe9190612dc3565b90506000816001600160a01b03166370a08231306040518263ffffffff1660e01b8152600401610bee9190612f8f565b60206040518083038186803b158015610c0657600080fd5b505afa158015610c1a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c3e9190612e42565b9050306001600160a01b03831663605629d633838a8935610c6560408c0160208d01612f51565b8b604001358c606001356040518863ffffffff1660e01b8152600401610c919796959493929190612fa3565b600060405180830381600087803b158015610cab57600080fd5b505af1158015610cbf573d6000803e3d6000fd5b5050505086610d5083856001600160a01b03166370a08231856040518263ffffffff1660e01b8152600401610cf49190612f8f565b60206040518083038186803b158015610d0c57600080fd5b505afa158015610d20573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d449190612e42565b9063ffffffff61164d16565b14610d6d5760405162461bcd60e51b81526004016105a49061316b565b60405163fb2c922360e01b81526001600160a01b0389169063fb2c922390610d9d9089908b90339060040161301f565b602060405180830381600087803b158015610db757600080fd5b505af1158015610dcb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610def9190612e42565b98975050505050505050565b610e03612d03565b506040805160e0810182526000546001600160a01b03908116825260015481166020830152600954811692820192909252600b5482166060820152600d5482166080820152600854821660a082015260075490911660c0820152610e65612d3f565b610e6e83611898565b610e76611951565b600260009054906101000a90046001600160a01b03166001600160a01b0316630fdb11cf6040518163ffffffff1660e01b8152600401602060405180830381600087803b158015610ec657600080fd5b505af1158015610eda573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610efe9190612e42565b60c08201819052610f0e90611a1f565b610f1789611acc565b610f268260400151338b611aec565b610f2e6107dc565b60e0820181905260408084015190516370a0823160e01b81526001600160a01b03909116906370a0823190610f67903390600401612f8f565b60206040518083038186803b158015610f7f57600080fd5b505afa158015610f93573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fb79190612e42565b1115610fbf57fe5b888152608082015160c0820151600091610fda918b90611b8d565b15610fe6575087611193565b82608001516001600160a01b0316634d6228316040518163ffffffff1660e01b815260040160206040518083038186803b15801561102357600080fd5b505afa158015611037573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061105b9190612dc3565b90505b6001600160a01b038116158015906111075750600360009054906101000a90046001600160a01b03166001600160a01b031663794e57246040518163ffffffff1660e01b815260040160206040518083038186803b1580156110bf57600080fd5b505afa1580156110d3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110f79190612e42565b611105828460c0015161070e565b105b156111935782608001516001600160a01b031663b72703ac826040518263ffffffff1660e01b815260040161113c9190612f8f565b60206040518083038186803b15801561115457600080fd5b505afa158015611168573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061118c9190612dc3565b905061105e565b8461119e5760001994505b6001600160a01b038116158015906111b65750815115155b80156111c25750600085115b156112f0576080830151604051632dc9c0eb60e21b8152600019909601956000916001600160a01b03169063b72703ac90611201908590600401612f8f565b60206040518083038186803b15801561121957600080fd5b505afa15801561122d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112519190612dc3565b90506112668460000151856020015184611df0565b61126e612d84565b611285858486600001518760c001518e8e8e611f01565b90508060400151156112985750506112f0565b805160208501516112ae9163ffffffff61187316565b60208086019190915281015160408501516112ce9163ffffffff61187316565b6040850152805184516112e69163ffffffff61164d16565b845250905061119e565b60008260400151116113145760405162461bcd60e51b81526004016105a4906131b4565b61132b82604001518360c001518460e00151612175565b50611339826040015161222c565b60608301819052604083015161135091908661223f565b8251600c5460608401516040516364a197f360e01b81526001600160a01b03938416936364a197f39361138893911691600401612fe4565b600060405180830381600087803b1580156113a257600080fd5b505af11580156113b6573d6000803e3d6000fd5b50505050600c60009054906101000a90046001600160a01b03166001600160a01b031663bb57ad206040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561140a57600080fd5b505af115801561141e573d6000803e3d6000fd5b50505050606082015160408301516114359161164d565b60808301526020820151604080840151606085015191517f43a3f4082a4dbc33d78e317d2497d3a730bc7fc3574159dcea1056e62e5d9ad89361147b938f9391926135ab565b60405180910390a182604001516001600160a01b0316639dc29fac3384602001516040518363ffffffff1660e01b81526004016114b9929190612fe4565b600060405180830381600087803b1580156114d357600080fd5b505af11580156114e7573d6000803e3d6000fd5b50508451602085015160405163121cbc4d60e11b81526001600160a01b039092169350632439789a925061151d91600401613554565b600060405180830381600087803b15801561153757600080fd5b505af115801561154b573d6000803e3d6000fd5b5050845160808501516040516364a197f360e01b81526001600160a01b0390921693506364a197f3925061158491339190600401612fe4565b600060405180830381600087803b15801561159e57600080fd5b505af11580156115b2573d6000803e3d6000fd5b5050505050505050505050505050565b6001600160a01b0381166115e85760405162461bcd60e51b81526004016105a490613234565b806001600160a01b03166115fa6109f4565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3600060405161163d90612f72565b6040519081900390209190915550565b600061168f83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250612285565b9392505050565b6000826116a557506000610733565b828202828482816116b257fe5b041461168f5760405162461bcd60e51b81526004016105a49061331e565b600061168f83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506122b1565b60006107336117ad83600360009054906101000a90046001600160a01b03166001600160a01b03166328d28b5b6040518163ffffffff1660e01b815260040160206040518083038186803b15801561176957600080fd5b505afa15801561177d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117a19190612e42565b9063ffffffff61187316565b670de0b6b3a76400006122e8565b60008060006117c9846105d2565b905060006117d6856106dd565b6001600160a01b03861660009081526010602052604081206001015491925090611806908463ffffffff61187316565b6001600160a01b03871660009081526010602052604081205491925090611833908463ffffffff61187316565b919550909350505050915091565b6000821561186857600061185f84610682878663ffffffff61169616565b915061168f9050565b506000199392505050565b60008282018381101561168f5760405162461bcd60e51b81526004016105a4906131fd565b600360009054906101000a90046001600160a01b03166001600160a01b03166328d28b5b6040518163ffffffff1660e01b815260040160206040518083038186803b1580156118e657600080fd5b505afa1580156118fa573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061191e9190612e42565b81101580156119355750670de0b6b3a76400008111155b6105b65760405162461bcd60e51b81526004016105a490613434565b600a5460408051631e425be160e11b815290516000926001600160a01b031691633c84b7c2916004808301926020929190829003018186803b15801561199657600080fd5b505afa1580156119aa573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119ce9190612e42565b9050611a00817f000000000000000000000000000000000000000000000000000000000000000063ffffffff61187316565b4210156105b65760405162461bcd60e51b81526004016105a4906132c0565b600360009054906101000a90046001600160a01b03166001600160a01b031663794e57246040518163ffffffff1660e01b815260040160206040518083038186803b158015611a6d57600080fd5b505afa158015611a81573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611aa59190612e42565b611aae826122fe565b10156105b65760405162461bcd60e51b81526004016105a490613484565b600081116105b65760405162461bcd60e51b81526004016105a490613390565b6040516370a0823160e01b815281906001600160a01b038516906370a0823190611b1a908690600401612f8f565b60206040518083038186803b158015611b3257600080fd5b505afa158015611b46573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b6a9190612e42565b1015611b885760405162461bcd60e51b81526004016105a4906130f7565b505050565b60006001600160a01b0383161580611c1e5750604051630bb7c8fd60e31b81526001600160a01b03851690635dbe47e890611bcc908690600401612f8f565b60206040518083038186803b158015611be457600080fd5b505afa158015611bf8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c1c9190612e0a565b155b80611cb65750600360009054906101000a90046001600160a01b03166001600160a01b031663794e57246040518163ffffffff1660e01b815260040160206040518083038186803b158015611c7257600080fd5b505afa158015611c86573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611caa9190612e42565b611cb4848461070e565b105b15611cc35750600061168f565b60405163765e015960e01b81526000906001600160a01b0386169063765e015990611cf2908790600401612f8f565b60206040518083038186803b158015611d0a57600080fd5b505afa158015611d1e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d429190612dc3565b90506001600160a01b0381161580611de75750600360009054906101000a90046001600160a01b03166001600160a01b031663794e57246040518163ffffffff1660e01b815260040160206040518083038186803b158015611da357600080fd5b505afa158015611db7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ddb9190612e42565b611de5828561070e565b105b95945050505050565b611df981610aec565b15611b8857611e078161232a565b6000611e12826105d2565b90506000611e1f836106dd565b6001600160a01b038416600090815260106020526040902060010154909150611e4e908363ffffffff61187316565b6001600160a01b0384166000908152601060205260409020600181019190915554611e7f908263ffffffff61187316565b6001600160a01b038416600090815260106020526040902055611ea183612373565b611ead858583856123db565b6001600160a01b0383166000818152601060205260408082208054600182015460029092015492516000805160206135e783398151915294611ef29492939291613078565b60405180910390a25050505050565b611f09612d84565b6001600160a01b038716600090815260106020526040902054611f46908790611f41906801158e460913d0000063ffffffff61164d16565b6122e8565b808252611f6790869061068290670de0b6b3a764000063ffffffff61169616565b60208083019190915281516001600160a01b038916600090815260109092526040822054611f9a9163ffffffff61164d16565b6020808401516001600160a01b038b166000908152601090925260408220600101549293509091611fd09163ffffffff61164d16565b90506801158e460913d0000082141561204957611fec896124fb565b611ff789600461254b565b61200c8a8a6801158e460913d0000084612657565b886001600160a01b03166000805160206135e78339815191526000806000600360405161203c9493929190613078565b60405180910390a2612167565b600061205582846127ba565b9050848114158061207657506809c2007651b2500000612074846127ef565b105b1561208a575050600160408301525061216a565b8a608001516001600160a01b0316632be212608b838a8a6040518563ffffffff1660e01b81526004016120c09493929190613042565b600060405180830381600087803b1580156120da57600080fd5b505af11580156120ee573d6000803e3d6000fd5b5050506001600160a01b038b1660009081526010602052604090208481556001018390555061211c8a61280a565b506001600160a01b038a16600081815260106020526040908190206002015490516000805160206135e78339815191529161215d9187918791600390613078565b60405180910390a2505b50505b979650505050505050565b6000806121806128b1565b9050600061219884610682888863ffffffff61169616565b905060006121bd6121b083600263ffffffff6116d016565b849063ffffffff61187316565b90506121d181670de0b6b3a76400006122e8565b9050600081116121dd57fe5b600e8190556040517fc454ee9b76c52f782a256af821b857ca6e125d1e3333bcede402fec2bed9600c90612212908390613554565b60405180910390a16122226128f5565b9695505050505050565b60006107336122396106ad565b8361294a565b600061225d8361068286670de0b6b3a764000063ffffffff61169616565b90508181111561227f5760405162461bcd60e51b81526004016105a4906134ce565b50505050565b600081848411156122a95760405162461bcd60e51b81526004016105a491906130a4565b505050900390565b600081836122d25760405162461bcd60e51b81526004016105a491906130a4565b5060008385816122de57fe5b0495945050505050565b60008183106122f7578161168f565b5090919050565b600080612309610925565b905060006123156107dc565b9050612322828286611841565b949350505050565b60016001600160a01b03821660009081526010602052604090206003015460ff16600481111561235657fe5b146105b65760405162461bcd60e51b81526004016105a490613505565b601480546001600160a01b038316600090815260166020526040908190209182556015546001909201829055915491517fc437f324d85e369394148dd9d62f98f534b382e01ed3dd2eb98138fb6d3ab49a926123d092909161355d565b60405180910390a150565b60405163121cbc4d60e11b81526001600160a01b03841690632439789a90612407908590600401613554565b600060405180830381600087803b15801561242157600080fd5b505af1158015612435573d6000803e3d6000fd5b505060405163f2e91d7160e01b81526001600160a01b038716925063f2e91d719150612465908590600401613554565b600060405180830381600087803b15801561247f57600080fd5b505af1158015612493573d6000803e3d6000fd5b505060405163be41205f60e01b81526001600160a01b038616925063be41205f91506124c3908490600401613554565b600060405180830381600087803b1580156124dd57600080fd5b505af11580156124f1573d6000803e3d6000fd5b5050505050505050565b6001600160a01b03811660009081526010602052604090206002015460115461252a908263ffffffff61164d16565b601155506001600160a01b0316600090815260106020526040812060020155565b600081600481111561255957fe5b141580156125735750600181600481111561257057fe5b14155b61257957fe5b6017546125858161298a565b6001600160a01b0383166000908152601060205260409020600301805483919060ff191660018360048111156125b757fe5b02179055506001600160a01b03831660009081526010602090815260408083206001808201859055908490556016909252822082815501556125f98382612a30565b600d54604051631484968760e11b81526001600160a01b03909116906329092d0e90612629908690600401612f8f565b600060405180830381600087803b15801561264357600080fd5b505af1158015610a92573d6000803e3d6000fd5b6040808501516007549151632770a7eb60e21b81526001600160a01b0391821692639dc29fac9261268f929116908690600401612fe4565b600060405180830381600087803b1580156126a957600080fd5b505af11580156126bd573d6000803e3d6000fd5b5050855160405163121cbc4d60e11b81526001600160a01b039091169250632439789a91506126f0908590600401613554565b600060405180830381600087803b15801561270a57600080fd5b505af115801561271e573d6000803e3d6000fd5b505050508360a001516001600160a01b0316633f10abab84836040518363ffffffff1660e01b8152600401612754929190612fe4565b600060405180830381600087803b15801561276e57600080fd5b505af1158015612782573d6000803e3d6000fd5b5050855160a08701516040516364a197f360e01b81526001600160a01b0390921693506364a197f392506124c3918590600401612fe4565b600081156127e6576127df826106828568056bc75e2d6310000063ffffffff61169616565b9050610733565b50600019610733565b6000610733826801158e460913d0000063ffffffff61164d16565b6001600160a01b038116600090815260106020526040812060010154819061283190612bd1565b6001600160a01b03841660009081526010602052604090206002018054908290556011549192509061286f9083906117a1908463ffffffff61164d16565b60118190556040517f6bac5e0eb3c44eb03a60ab11ec3a2c051771616aecadbcfff2630aabae520382916128a291613554565b60405180910390a15092915050565b6000806128bc612c0d565b905060006128d2670ddd4b8c6c7d70d883612c29565b90506108f4670de0b6b3a764000061068283600e5461169690919063ffffffff16565b600061290c600f544261164d90919063ffffffff16565b9050603c81106105b65742600f8190556040517f860f8d2f0c74dd487e89e2883e3b25b8159ce1e1b3433a291cba7b82c508f3bc916123d091613554565b600080612969670de0b6b3a7640000610682868663ffffffff61169616565b905082811061168f5760405162461bcd60e51b81526004016105a4906133de565b600181118015612a145750600d546040805163de8fa43160e01b815290516001926001600160a01b03169163de8fa431916004808301926020929190829003018186803b1580156129da57600080fd5b505afa1580156129ee573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612a129190612e42565b115b6105b65760405162461bcd60e51b81526004016105a490613276565b6001600160a01b03821660009081526010602052604081206003015460ff1690816004811115612a5c57fe5b14158015612a7657506001816004811115612a7357fe5b14155b612a7c57fe5b6001600160a01b03831660009081526010602052604081206003015461010090046001600160801b0316908390612ab482600161164d565b905080836001600160801b03161115612ac957fe5b600060178281548110612ad857fe5b600091825260209091200154601780546001600160a01b03909216925082916001600160801b038716908110612b0a57fe5b600091825260208083209190910180546001600160a01b0319166001600160a01b03948516179055918316815260109091526040908190206003018054610100600160881b0319166101006001600160801b03881602179055517f02b04ae5f7be9ca7c103293a2aa15f3c339d15d6eda53b721fef7b0e609c831a90612b939083908790612ffd565b60405180910390a16017805480612ba657fe5b600082815260209020810160001990810180546001600160a01b031916905501905550505050505050565b60008060135460001415612be6575081610733565b600060125411612bf257fe5b61168f6013546106826012548661169690919063ffffffff16565b60006106ba603c610682600f544261164d90919063ffffffff16565b6000631f540500821115612c3f57631f54050091505b81612c535750670de0b6b3a7640000610733565b670de0b6b3a764000083835b6001811115612cca5760028106612c9457612c7a8283612cd0565b9150612c8d81600263ffffffff6116d016565b9050612cc5565b612c9e8284612cd0565b9250612caa8283612cd0565b9150612cc2600261068283600163ffffffff61164d16565b90505b612c5f565b61072d82845b600080612ce3848463ffffffff61169616565b9050612322670de0b6b3a7640000610682836706f05b59d3b20000611873565b6040805160e081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c081019190915290565b60405180610100016040528060008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081525090565b604051806060016040528060008152602001600081526020016000151581525090565b600060208284031215612db8578081fd5b813561168f816135d1565b600060208284031215612dd4578081fd5b815161168f816135d1565b60008060408385031215612df1578081fd5b8235612dfc816135d1565b946020939093013593505050565b600060208284031215612e1b578081fd5b8151801515811461168f578182fd5b600060208284031215612e3b578081fd5b5035919050565b600060208284031215612e53578081fd5b5051919050565b600080600080600080600060e0888a031215612e74578283fd5b873596506020880135612e86816135d1565b95506040880135612e96816135d1565b94506060880135612ea6816135d1565b9699959850939660808101359560a0820135955060c0909101359350915050565b600080600080600080600080888a03610160811215612ee4578182fd5b8935985060208a0135612ef6816135d1565b975060408a0135612f06816135d1565b965060608a0135612f16816135d1565b955060808a810135955060a08b0135945060c08b0135935060df1982011215612f3d578182fd5b5060e0890190509295985092959890939650565b600060208284031215612f62578081fd5b813560ff8116811461168f578182fd5b7035b2bc9737bbb730b136329737bbb732b960791b815260110190565b6001600160a01b0391909116815260200190565b6001600160a01b0397881681529590961660208601526040850193909352606084019190915260ff16608083015260a082015260c081019190915260e00190565b6001600160a01b03929092168252602082015260400190565b6001600160a01b039290921682526001600160801b0316602082015260400190565b6001600160a01b0393841681526020810192909252909116604082015260600190565b6001600160a01b03948516815260208101939093529083166040830152909116606082015260800190565b901515815260200190565b848152602081018490526040810183905260808101613096836135c6565b606083015295945050505050565b6000602080835283518082850152825b818110156130d0578581018301518582016040015282016130b4565b818111156130e15783604083870101525b50601f01601f1916929092016040019392505050565b6020808252604e908201527f54726f76654d616e616765723a2052657175657374656420726564656d70746960408201527f6f6e20616d6f756e74206d757374206265203c3d20757365722773205a55534460608201526d20746f6b656e2062616c616e636560901b608082015260a00190565b60208082526029908201527f444c4c52207472616e7366657272656420616d6f756e742076616c69646174696040820152681bdb8819985a5b195960ba1b606082015260800190565b60208082526029908201527f54726f76654d616e616765723a20556e61626c6520746f2072656465656d20616040820152681b9e48185b5bdd5b9d60ba1b606082015260800190565b6020808252601b908201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604082015260600190565b60208082526022908201527f4f776e61626c653a3a7365744f776e65723a20696e76616c6964206164647265604082015261737360f01b606082015260800190565b6020808252602a908201527f54726f76654d616e616765723a204f6e6c79206f6e652074726f766520696e206040820152697468652073797374656d60b01b606082015260800190565b602080825260409082018190527f54726f76654d616e616765723a20526564656d7074696f6e7320617265206e6f908201527f7420616c6c6f77656420647572696e6720626f6f747374726170207068617365606082015260800190565b60208082526021908201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6040820152607760f81b606082015260800190565b60208082526017908201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604082015260600190565b6020808252602e908201527f54726f76654d616e616765723a20416d6f756e74206d7573742062652067726560408201526d61746572207468616e207a65726f60901b606082015260800190565b60208082526036908201527f54726f76654d616e616765723a2046656520776f756c642065617420757020616040820152751b1b081c995d1d5c9b99590818dbdb1b185d195c985b60521b606082015260800190565b60208082526030908201527f4d6178206665652070657263656e74616765206d75737420626520626574776560408201526f656e20302e352520616e64203130302560801b606082015260800190565b6020808252602a908201527f54726f76654d616e616765723a2043616e6e6f742072656465656d207768656e604082015269102a21a9101e1026a1a960b11b606082015260800190565b6020808252601d908201527f4665652065786365656465642070726f7669646564206d6178696d756d000000604082015260600190565b6020808252602f908201527f54726f76654d616e616765723a2054726f766520646f6573206e6f742065786960408201526e1cdd081bdc881a5cc818db1bdcd959608a1b606082015260800190565b90815260200190565b918252602082015260400190565b858152602081018590526040810184905260a081016005841061358a57fe5b60608201939093526001600160801b03919091166080909101529392505050565b93845260208401929092526040830152606082015260800190565b806004811061069557fe5b6001600160a01b03811681146105b657600080fdfec3770d654ed33aeea6bf11ac8ef05d02a6a04ed4686dd2f624d853bbec43cc8ba2646970667358221220a9962a8c24fca3c3e4803945eb02feb9953c759cd9a777c8c4175709a8d4dc7b64736f6c634300060b0033", - "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106102745760003560e01c8063797250e311610151578063ae7bec19116100c3578063bf9befb111610087578063bf9befb114610455578063c35bc5501461045d578063c7b5548114610465578063d380a37c1461046d578063d815e8e914610475578063e056e9181461047d57610274565b8063ae7bec1914610422578063ae9187541461042a578063b7f8cf9b14610432578063bcd375261461043a578063be4b03341461044d57610274565b8063893d20e811610115578063893d20e8146103ed57806396d711ff146103f55780639dd233d2146103fd5780639f07067014610405578063a20baee614610392578063a3f4df7e1461040d57610274565b8063797250e3146103c55780637cf54e40146103cd5780637f7dde4a146103d5578063807d138d146103dd578063887105d3146103e557610274565b806342ccf1e4116101ea578063716c47e6116101ae578063716c47e61461038a57806372fe25aa14610392578063741bef1a1461039a578063756b253e146103a2578063759b3034146103b5578063795d26c3146103bd57610274565b806342ccf1e4146103305780634a767d681461034357806361ec893d146103565780636b4449521461035e5780636ef643381461036657610274565b80631a59a50e1161023c5780631a59a50e146102f55780631bf43555146103085780631f68f20a1461031057806331c903b0146103185780633a128595146103205780633cc742251461032857610274565b806305b6f5ca14610279578063071a75411461028e5780630d43e8ad146102ac57806313af4035146102c15780631673c79a146102d4575b600080fd5b61028c610287366004612ec7565b61049d565b005b610296610558565b6040516102a39190613554565b60405180910390f35b6102b461055d565b6040516102a39190612f8f565b61028c6102cf366004612da7565b61056c565b6102e76102e2366004612da7565b6105b9565b6040516102a392919061355d565b610296610303366004612da7565b6105d2565b61029661069a565b6102966106a7565b6102966106ad565b6102b46106bf565b6102b46106ce565b61029661033e366004612da7565b6106dd565b610296610351366004612ddf565b61070e565b610296610739565b61029661073e565b610379610374366004612da7565b610744565b6040516102a395949392919061356b565b6102b461077e565b61029661078d565b6102b4610799565b6102b46103b0366004612e2a565b6107a8565b6102966107cf565b6102966107dc565b6102966108fb565b6102b4610901565b6102b4610910565b61029661091f565b610296610925565b6102b46109f4565b610296610a13565b610296610a19565b6102b4610a1f565b610415610a2e565b6040516102a391906130a4565b6102b4610a56565b6102b4610a65565b6102b4610a74565b61028c610448366004612e5a565b610a83565b610296610a9b565b610296610aa1565b610296610aa7565b610296610acb565b610296610ad7565b6102b4610add565b61049061048b366004612da7565b610aec565b6040516102a3919061306d565b600061053c600560009054906101000a90046001600160a01b03166001600160a01b031663e9fc34616040518163ffffffff1660e01b815260040160206040518083038186803b1580156104f057600080fd5b505afa158015610504573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105289190612dc3565b6009548b906001600160a01b031685610b4a565b905061054d81898989898989610dfb565b505050505050505050565b600281565b600c546001600160a01b031681565b6105746109f4565b6001600160a01b0316336001600160a01b0316146105ad5760405162461bcd60e51b81526004016105a49061335f565b60405180910390fd5b6105b6816115c2565b50565b6016602052600090815260409020805460019091015482565b6001600160a01b0381166000908152601660205260408120546014548290610600908363ffffffff61164d16565b9050801580610639575060016001600160a01b03851660009081526010602052604090206003015460ff16600481111561063657fe5b14155b1561064957600092505050610695565b6001600160a01b0384166000908152601060205260408120600201549061068e670de0b6b3a7640000610682848663ffffffff61169616565b9063ffffffff6116d016565b9450505050505b919050565b6809c2007651b250000081565b600e5481565b60006106ba600e54611712565b905090565b600b546001600160a01b031681565b6001546001600160a01b031681565b6001600160a01b0381166000908152601660205260408120600101546015548290610600908363ffffffff61164d16565b600080600061071c856117bb565b91509150600061072d838387611841565b93505050505b92915050565b603c81565b60195481565b60106020526000908152604090208054600182015460028301546003909301549192909160ff81169061010090046001600160801b031685565b6004546001600160a01b031681565b670de0b6b3a764000081565b6002546001600160a01b031681565b601781815481106107b557fe5b6000918252602090912001546001600160a01b0316905081565b6801158e460913d0000081565b60008054604080516272c7d360e71b8152905183926001600160a01b031691633963e980916004808301926020929190829003018186803b15801561082057600080fd5b505afa158015610834573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108589190612e42565b90506000600160009054906101000a90046001600160a01b03166001600160a01b0316633963e9806040518163ffffffff1660e01b815260040160206040518083038186803b1580156108aa57600080fd5b505afa1580156108be573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108e29190612e42565b90506108f4828263ffffffff61187316565b9250505090565b60185481565b600a546001600160a01b031681565b6000546001600160a01b031681565b60125481565b6000805460408051630a7b61df60e11b8152905183926001600160a01b0316916314f6c3be916004808301926020929190829003018186803b15801561096a57600080fd5b505afa15801561097e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109a29190612e42565b90506000600160009054906101000a90046001600160a01b03166001600160a01b03166314f6c3be6040518163ffffffff1660e01b815260040160206040518083038186803b1580156108aa57600080fd5b600080604051610a0390612f72565b6040519081900390205492915050565b60135481565b60145481565b6003546001600160a01b031681565b6040518060400160405280600c81526020016b2a3937bb32a6b0b730b3b2b960a11b81525081565b6006546001600160a01b031681565b600d546001600160a01b031681565b6005546001600160a01b031681565b610a9287878787878787610dfb565b50505050505050565b60155481565b60115481565b7f000000000000000000000000000000000000000000000000000000000000000081565b670ddd4b8c6c7d70d881565b600f5481565b6009546001600160a01b031681565b600060016001600160a01b03831660009081526010602052604090206003015460ff166004811115610b1a57fe5b14610b2757506000610695565b506014546001600160a01b03821660009081526016602052604090205410919050565b600080856001600160a01b03166321df0da76040518163ffffffff1660e01b815260040160206040518083038186803b158015610b8657600080fd5b505afa158015610b9a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bbe9190612dc3565b90506000816001600160a01b03166370a08231306040518263ffffffff1660e01b8152600401610bee9190612f8f565b60206040518083038186803b158015610c0657600080fd5b505afa158015610c1a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c3e9190612e42565b9050306001600160a01b03831663605629d633838a8935610c6560408c0160208d01612f51565b8b604001358c606001356040518863ffffffff1660e01b8152600401610c919796959493929190612fa3565b600060405180830381600087803b158015610cab57600080fd5b505af1158015610cbf573d6000803e3d6000fd5b5050505086610d5083856001600160a01b03166370a08231856040518263ffffffff1660e01b8152600401610cf49190612f8f565b60206040518083038186803b158015610d0c57600080fd5b505afa158015610d20573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d449190612e42565b9063ffffffff61164d16565b14610d6d5760405162461bcd60e51b81526004016105a49061316b565b60405163fb2c922360e01b81526001600160a01b0389169063fb2c922390610d9d9089908b90339060040161301f565b602060405180830381600087803b158015610db757600080fd5b505af1158015610dcb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610def9190612e42565b98975050505050505050565b610e03612d03565b506040805160e0810182526000546001600160a01b03908116825260015481166020830152600954811692820192909252600b5482166060820152600d5482166080820152600854821660a082015260075490911660c0820152610e65612d3f565b610e6e83611898565b610e76611951565b600260009054906101000a90046001600160a01b03166001600160a01b0316630fdb11cf6040518163ffffffff1660e01b8152600401602060405180830381600087803b158015610ec657600080fd5b505af1158015610eda573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610efe9190612e42565b60c08201819052610f0e90611a1f565b610f1789611acc565b610f268260400151338b611aec565b610f2e6107dc565b60e0820181905260408084015190516370a0823160e01b81526001600160a01b03909116906370a0823190610f67903390600401612f8f565b60206040518083038186803b158015610f7f57600080fd5b505afa158015610f93573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fb79190612e42565b1115610fbf57fe5b888152608082015160c0820151600091610fda918b90611b8d565b15610fe6575087611193565b82608001516001600160a01b0316634d6228316040518163ffffffff1660e01b815260040160206040518083038186803b15801561102357600080fd5b505afa158015611037573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061105b9190612dc3565b90505b6001600160a01b038116158015906111075750600360009054906101000a90046001600160a01b03166001600160a01b031663794e57246040518163ffffffff1660e01b815260040160206040518083038186803b1580156110bf57600080fd5b505afa1580156110d3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110f79190612e42565b611105828460c0015161070e565b105b156111935782608001516001600160a01b031663b72703ac826040518263ffffffff1660e01b815260040161113c9190612f8f565b60206040518083038186803b15801561115457600080fd5b505afa158015611168573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061118c9190612dc3565b905061105e565b8461119e5760001994505b6001600160a01b038116158015906111b65750815115155b80156111c25750600085115b156112f0576080830151604051632dc9c0eb60e21b8152600019909601956000916001600160a01b03169063b72703ac90611201908590600401612f8f565b60206040518083038186803b15801561121957600080fd5b505afa15801561122d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112519190612dc3565b90506112668460000151856020015184611df0565b61126e612d84565b611285858486600001518760c001518e8e8e611f01565b90508060400151156112985750506112f0565b805160208501516112ae9163ffffffff61187316565b60208086019190915281015160408501516112ce9163ffffffff61187316565b6040850152805184516112e69163ffffffff61164d16565b845250905061119e565b60008260400151116113145760405162461bcd60e51b81526004016105a4906131b4565b61132b82604001518360c001518460e00151612175565b50611339826040015161222c565b60608301819052604083015161135091908661223f565b8251600c5460608401516040516364a197f360e01b81526001600160a01b03938416936364a197f39361138893911691600401612fe4565b600060405180830381600087803b1580156113a257600080fd5b505af11580156113b6573d6000803e3d6000fd5b50505050600c60009054906101000a90046001600160a01b03166001600160a01b031663bb57ad206040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561140a57600080fd5b505af115801561141e573d6000803e3d6000fd5b50505050606082015160408301516114359161164d565b60808301526020820151604080840151606085015191517f43a3f4082a4dbc33d78e317d2497d3a730bc7fc3574159dcea1056e62e5d9ad89361147b938f9391926135ab565b60405180910390a182604001516001600160a01b0316639dc29fac3384602001516040518363ffffffff1660e01b81526004016114b9929190612fe4565b600060405180830381600087803b1580156114d357600080fd5b505af11580156114e7573d6000803e3d6000fd5b50508451602085015160405163121cbc4d60e11b81526001600160a01b039092169350632439789a925061151d91600401613554565b600060405180830381600087803b15801561153757600080fd5b505af115801561154b573d6000803e3d6000fd5b5050845160808501516040516364a197f360e01b81526001600160a01b0390921693506364a197f3925061158491339190600401612fe4565b600060405180830381600087803b15801561159e57600080fd5b505af11580156115b2573d6000803e3d6000fd5b5050505050505050505050505050565b6001600160a01b0381166115e85760405162461bcd60e51b81526004016105a490613234565b806001600160a01b03166115fa6109f4565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3600060405161163d90612f72565b6040519081900390209190915550565b600061168f83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250612285565b9392505050565b6000826116a557506000610733565b828202828482816116b257fe5b041461168f5760405162461bcd60e51b81526004016105a49061331e565b600061168f83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506122b1565b60006107336117ad83600360009054906101000a90046001600160a01b03166001600160a01b03166328d28b5b6040518163ffffffff1660e01b815260040160206040518083038186803b15801561176957600080fd5b505afa15801561177d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117a19190612e42565b9063ffffffff61187316565b670de0b6b3a76400006122e8565b60008060006117c9846105d2565b905060006117d6856106dd565b6001600160a01b03861660009081526010602052604081206001015491925090611806908463ffffffff61187316565b6001600160a01b03871660009081526010602052604081205491925090611833908463ffffffff61187316565b919550909350505050915091565b6000821561186857600061185f84610682878663ffffffff61169616565b915061168f9050565b506000199392505050565b60008282018381101561168f5760405162461bcd60e51b81526004016105a4906131fd565b600360009054906101000a90046001600160a01b03166001600160a01b03166328d28b5b6040518163ffffffff1660e01b815260040160206040518083038186803b1580156118e657600080fd5b505afa1580156118fa573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061191e9190612e42565b81101580156119355750670de0b6b3a76400008111155b6105b65760405162461bcd60e51b81526004016105a490613434565b600a5460408051631e425be160e11b815290516000926001600160a01b031691633c84b7c2916004808301926020929190829003018186803b15801561199657600080fd5b505afa1580156119aa573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119ce9190612e42565b9050611a00817f000000000000000000000000000000000000000000000000000000000000000063ffffffff61187316565b4210156105b65760405162461bcd60e51b81526004016105a4906132c0565b600360009054906101000a90046001600160a01b03166001600160a01b031663794e57246040518163ffffffff1660e01b815260040160206040518083038186803b158015611a6d57600080fd5b505afa158015611a81573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611aa59190612e42565b611aae826122fe565b10156105b65760405162461bcd60e51b81526004016105a490613484565b600081116105b65760405162461bcd60e51b81526004016105a490613390565b6040516370a0823160e01b815281906001600160a01b038516906370a0823190611b1a908690600401612f8f565b60206040518083038186803b158015611b3257600080fd5b505afa158015611b46573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b6a9190612e42565b1015611b885760405162461bcd60e51b81526004016105a4906130f7565b505050565b60006001600160a01b0383161580611c1e5750604051630bb7c8fd60e31b81526001600160a01b03851690635dbe47e890611bcc908690600401612f8f565b60206040518083038186803b158015611be457600080fd5b505afa158015611bf8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c1c9190612e0a565b155b80611cb65750600360009054906101000a90046001600160a01b03166001600160a01b031663794e57246040518163ffffffff1660e01b815260040160206040518083038186803b158015611c7257600080fd5b505afa158015611c86573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611caa9190612e42565b611cb4848461070e565b105b15611cc35750600061168f565b60405163765e015960e01b81526000906001600160a01b0386169063765e015990611cf2908790600401612f8f565b60206040518083038186803b158015611d0a57600080fd5b505afa158015611d1e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d429190612dc3565b90506001600160a01b0381161580611de75750600360009054906101000a90046001600160a01b03166001600160a01b031663794e57246040518163ffffffff1660e01b815260040160206040518083038186803b158015611da357600080fd5b505afa158015611db7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ddb9190612e42565b611de5828561070e565b105b95945050505050565b611df981610aec565b15611b8857611e078161232a565b6000611e12826105d2565b90506000611e1f836106dd565b6001600160a01b038416600090815260106020526040902060010154909150611e4e908363ffffffff61187316565b6001600160a01b0384166000908152601060205260409020600181019190915554611e7f908263ffffffff61187316565b6001600160a01b038416600090815260106020526040902055611ea183612373565b611ead858583856123db565b6001600160a01b0383166000818152601060205260408082208054600182015460029092015492516000805160206135e783398151915294611ef29492939291613078565b60405180910390a25050505050565b611f09612d84565b6001600160a01b038716600090815260106020526040902054611f46908790611f41906801158e460913d0000063ffffffff61164d16565b6122e8565b808252611f6790869061068290670de0b6b3a764000063ffffffff61169616565b60208083019190915281516001600160a01b038916600090815260109092526040822054611f9a9163ffffffff61164d16565b6020808401516001600160a01b038b166000908152601090925260408220600101549293509091611fd09163ffffffff61164d16565b90506801158e460913d0000082141561204957611fec896124fb565b611ff789600461254b565b61200c8a8a6801158e460913d0000084612657565b886001600160a01b03166000805160206135e78339815191526000806000600360405161203c9493929190613078565b60405180910390a2612167565b600061205582846127ba565b9050848114158061207657506809c2007651b2500000612074846127ef565b105b1561208a575050600160408301525061216a565b8a608001516001600160a01b0316632be212608b838a8a6040518563ffffffff1660e01b81526004016120c09493929190613042565b600060405180830381600087803b1580156120da57600080fd5b505af11580156120ee573d6000803e3d6000fd5b5050506001600160a01b038b1660009081526010602052604090208481556001018390555061211c8a61280a565b506001600160a01b038a16600081815260106020526040908190206002015490516000805160206135e78339815191529161215d9187918791600390613078565b60405180910390a2505b50505b979650505050505050565b6000806121806128b1565b9050600061219884610682888863ffffffff61169616565b905060006121bd6121b083600263ffffffff6116d016565b849063ffffffff61187316565b90506121d181670de0b6b3a76400006122e8565b9050600081116121dd57fe5b600e8190556040517fc454ee9b76c52f782a256af821b857ca6e125d1e3333bcede402fec2bed9600c90612212908390613554565b60405180910390a16122226128f5565b9695505050505050565b60006107336122396106ad565b8361294a565b600061225d8361068286670de0b6b3a764000063ffffffff61169616565b90508181111561227f5760405162461bcd60e51b81526004016105a4906134ce565b50505050565b600081848411156122a95760405162461bcd60e51b81526004016105a491906130a4565b505050900390565b600081836122d25760405162461bcd60e51b81526004016105a491906130a4565b5060008385816122de57fe5b0495945050505050565b60008183106122f7578161168f565b5090919050565b600080612309610925565b905060006123156107dc565b9050612322828286611841565b949350505050565b60016001600160a01b03821660009081526010602052604090206003015460ff16600481111561235657fe5b146105b65760405162461bcd60e51b81526004016105a490613505565b601480546001600160a01b038316600090815260166020526040908190209182556015546001909201829055915491517fc437f324d85e369394148dd9d62f98f534b382e01ed3dd2eb98138fb6d3ab49a926123d092909161355d565b60405180910390a150565b60405163121cbc4d60e11b81526001600160a01b03841690632439789a90612407908590600401613554565b600060405180830381600087803b15801561242157600080fd5b505af1158015612435573d6000803e3d6000fd5b505060405163f2e91d7160e01b81526001600160a01b038716925063f2e91d719150612465908590600401613554565b600060405180830381600087803b15801561247f57600080fd5b505af1158015612493573d6000803e3d6000fd5b505060405163be41205f60e01b81526001600160a01b038616925063be41205f91506124c3908490600401613554565b600060405180830381600087803b1580156124dd57600080fd5b505af11580156124f1573d6000803e3d6000fd5b5050505050505050565b6001600160a01b03811660009081526010602052604090206002015460115461252a908263ffffffff61164d16565b601155506001600160a01b0316600090815260106020526040812060020155565b600081600481111561255957fe5b141580156125735750600181600481111561257057fe5b14155b61257957fe5b6017546125858161298a565b6001600160a01b0383166000908152601060205260409020600301805483919060ff191660018360048111156125b757fe5b02179055506001600160a01b03831660009081526010602090815260408083206001808201859055908490556016909252822082815501556125f98382612a30565b600d54604051631484968760e11b81526001600160a01b03909116906329092d0e90612629908690600401612f8f565b600060405180830381600087803b15801561264357600080fd5b505af1158015610a92573d6000803e3d6000fd5b6040808501516007549151632770a7eb60e21b81526001600160a01b0391821692639dc29fac9261268f929116908690600401612fe4565b600060405180830381600087803b1580156126a957600080fd5b505af11580156126bd573d6000803e3d6000fd5b5050855160405163121cbc4d60e11b81526001600160a01b039091169250632439789a91506126f0908590600401613554565b600060405180830381600087803b15801561270a57600080fd5b505af115801561271e573d6000803e3d6000fd5b505050508360a001516001600160a01b0316633f10abab84836040518363ffffffff1660e01b8152600401612754929190612fe4565b600060405180830381600087803b15801561276e57600080fd5b505af1158015612782573d6000803e3d6000fd5b5050855160a08701516040516364a197f360e01b81526001600160a01b0390921693506364a197f392506124c3918590600401612fe4565b600081156127e6576127df826106828568056bc75e2d6310000063ffffffff61169616565b9050610733565b50600019610733565b6000610733826801158e460913d0000063ffffffff61164d16565b6001600160a01b038116600090815260106020526040812060010154819061283190612bd1565b6001600160a01b03841660009081526010602052604090206002018054908290556011549192509061286f9083906117a1908463ffffffff61164d16565b60118190556040517f6bac5e0eb3c44eb03a60ab11ec3a2c051771616aecadbcfff2630aabae520382916128a291613554565b60405180910390a15092915050565b6000806128bc612c0d565b905060006128d2670ddd4b8c6c7d70d883612c29565b90506108f4670de0b6b3a764000061068283600e5461169690919063ffffffff16565b600061290c600f544261164d90919063ffffffff16565b9050603c81106105b65742600f8190556040517f860f8d2f0c74dd487e89e2883e3b25b8159ce1e1b3433a291cba7b82c508f3bc916123d091613554565b600080612969670de0b6b3a7640000610682868663ffffffff61169616565b905082811061168f5760405162461bcd60e51b81526004016105a4906133de565b600181118015612a145750600d546040805163de8fa43160e01b815290516001926001600160a01b03169163de8fa431916004808301926020929190829003018186803b1580156129da57600080fd5b505afa1580156129ee573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612a129190612e42565b115b6105b65760405162461bcd60e51b81526004016105a490613276565b6001600160a01b03821660009081526010602052604081206003015460ff1690816004811115612a5c57fe5b14158015612a7657506001816004811115612a7357fe5b14155b612a7c57fe5b6001600160a01b03831660009081526010602052604081206003015461010090046001600160801b0316908390612ab482600161164d565b905080836001600160801b03161115612ac957fe5b600060178281548110612ad857fe5b600091825260209091200154601780546001600160a01b03909216925082916001600160801b038716908110612b0a57fe5b600091825260208083209190910180546001600160a01b0319166001600160a01b03948516179055918316815260109091526040908190206003018054610100600160881b0319166101006001600160801b03881602179055517f02b04ae5f7be9ca7c103293a2aa15f3c339d15d6eda53b721fef7b0e609c831a90612b939083908790612ffd565b60405180910390a16017805480612ba657fe5b600082815260209020810160001990810180546001600160a01b031916905501905550505050505050565b60008060135460001415612be6575081610733565b600060125411612bf257fe5b61168f6013546106826012548661169690919063ffffffff16565b60006106ba603c610682600f544261164d90919063ffffffff16565b6000631f540500821115612c3f57631f54050091505b81612c535750670de0b6b3a7640000610733565b670de0b6b3a764000083835b6001811115612cca5760028106612c9457612c7a8283612cd0565b9150612c8d81600263ffffffff6116d016565b9050612cc5565b612c9e8284612cd0565b9250612caa8283612cd0565b9150612cc2600261068283600163ffffffff61164d16565b90505b612c5f565b61072d82845b600080612ce3848463ffffffff61169616565b9050612322670de0b6b3a7640000610682836706f05b59d3b20000611873565b6040805160e081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c081019190915290565b60405180610100016040528060008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081525090565b604051806060016040528060008152602001600081526020016000151581525090565b600060208284031215612db8578081fd5b813561168f816135d1565b600060208284031215612dd4578081fd5b815161168f816135d1565b60008060408385031215612df1578081fd5b8235612dfc816135d1565b946020939093013593505050565b600060208284031215612e1b578081fd5b8151801515811461168f578182fd5b600060208284031215612e3b578081fd5b5035919050565b600060208284031215612e53578081fd5b5051919050565b600080600080600080600060e0888a031215612e74578283fd5b873596506020880135612e86816135d1565b95506040880135612e96816135d1565b94506060880135612ea6816135d1565b9699959850939660808101359560a0820135955060c0909101359350915050565b600080600080600080600080888a03610160811215612ee4578182fd5b8935985060208a0135612ef6816135d1565b975060408a0135612f06816135d1565b965060608a0135612f16816135d1565b955060808a810135955060a08b0135945060c08b0135935060df1982011215612f3d578182fd5b5060e0890190509295985092959890939650565b600060208284031215612f62578081fd5b813560ff8116811461168f578182fd5b7035b2bc9737bbb730b136329737bbb732b960791b815260110190565b6001600160a01b0391909116815260200190565b6001600160a01b0397881681529590961660208601526040850193909352606084019190915260ff16608083015260a082015260c081019190915260e00190565b6001600160a01b03929092168252602082015260400190565b6001600160a01b039290921682526001600160801b0316602082015260400190565b6001600160a01b0393841681526020810192909252909116604082015260600190565b6001600160a01b03948516815260208101939093529083166040830152909116606082015260800190565b901515815260200190565b848152602081018490526040810183905260808101613096836135c6565b606083015295945050505050565b6000602080835283518082850152825b818110156130d0578581018301518582016040015282016130b4565b818111156130e15783604083870101525b50601f01601f1916929092016040019392505050565b6020808252604e908201527f54726f76654d616e616765723a2052657175657374656420726564656d70746960408201527f6f6e20616d6f756e74206d757374206265203c3d20757365722773205a55534460608201526d20746f6b656e2062616c616e636560901b608082015260a00190565b60208082526029908201527f444c4c52207472616e7366657272656420616d6f756e742076616c69646174696040820152681bdb8819985a5b195960ba1b606082015260800190565b60208082526029908201527f54726f76654d616e616765723a20556e61626c6520746f2072656465656d20616040820152681b9e48185b5bdd5b9d60ba1b606082015260800190565b6020808252601b908201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604082015260600190565b60208082526022908201527f4f776e61626c653a3a7365744f776e65723a20696e76616c6964206164647265604082015261737360f01b606082015260800190565b6020808252602a908201527f54726f76654d616e616765723a204f6e6c79206f6e652074726f766520696e206040820152697468652073797374656d60b01b606082015260800190565b602080825260409082018190527f54726f76654d616e616765723a20526564656d7074696f6e7320617265206e6f908201527f7420616c6c6f77656420647572696e6720626f6f747374726170207068617365606082015260800190565b60208082526021908201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6040820152607760f81b606082015260800190565b60208082526017908201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604082015260600190565b6020808252602e908201527f54726f76654d616e616765723a20416d6f756e74206d7573742062652067726560408201526d61746572207468616e207a65726f60901b606082015260800190565b60208082526036908201527f54726f76654d616e616765723a2046656520776f756c642065617420757020616040820152751b1b081c995d1d5c9b99590818dbdb1b185d195c985b60521b606082015260800190565b60208082526030908201527f4d6178206665652070657263656e74616765206d75737420626520626574776560408201526f656e20302e352520616e64203130302560801b606082015260800190565b6020808252602a908201527f54726f76654d616e616765723a2043616e6e6f742072656465656d207768656e604082015269102a21a9101e1026a1a960b11b606082015260800190565b6020808252601d908201527f4665652065786365656465642070726f7669646564206d6178696d756d000000604082015260600190565b6020808252602f908201527f54726f76654d616e616765723a2054726f766520646f6573206e6f742065786960408201526e1cdd081bdc881a5cc818db1bdcd959608a1b606082015260800190565b90815260200190565b918252602082015260400190565b858152602081018590526040810184905260a081016005841061358a57fe5b60608201939093526001600160801b03919091166080909101529392505050565b93845260208401929092526040830152606082015260800190565b806004811061069557fe5b6001600160a01b03811681146105b657600080fdfec3770d654ed33aeea6bf11ac8ef05d02a6a04ed4686dd2f624d853bbec43cc8ba2646970667358221220a9962a8c24fca3c3e4803945eb02feb9953c759cd9a777c8c4175709a8d4dc7b64736f6c634300060b0033", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/packages/lib-ethers/live/TroveManagerScript.json b/packages/lib-ethers/live/TroveManagerScript.json deleted file mode 100644 index 47b184859..000000000 --- a/packages/lib-ethers/live/TroveManagerScript.json +++ /dev/null @@ -1,84 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "TroveManagerScript", - "sourceName": "contracts/Proxy/TroveManagerScript.sol", - "abi": [ - { - "inputs": [ - { - "internalType": "contract ITroveManager", - "name": "_troveManager", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [], - "name": "NAME", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_ZUSDAmount", - "type": "uint256" - }, - { - "internalType": "address", - "name": "_firstRedemptionHint", - "type": "address" - }, - { - "internalType": "address", - "name": "_upperPartialRedemptionHint", - "type": "address" - }, - { - "internalType": "address", - "name": "_lowerPartialRedemptionHint", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_partialRedemptionHintNICR", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_maxIterations", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_maxFee", - "type": "uint256" - } - ], - "name": "redeemCollateral", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": "0x60a060405234801561001057600080fd5b506040516103623803806103628339818101604052602081101561003357600080fd5b5051610047816001600160e01b0361005c16565b60601b6001600160601b03191660805261010f565b6001600160a01b0381166100b7576040805162461bcd60e51b815260206004820152601e60248201527f4163636f756e742063616e6e6f74206265207a65726f20616464726573730000604482015290519081900360640190fd5b803b8061010b576040805162461bcd60e51b815260206004820181905260248201527f4163636f756e7420636f64652073697a652063616e6e6f74206265207a65726f604482015290519081900360640190fd5b5050565b60805160601c61023661012c6000398061019752506102366000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c8063a3f4df7e1461003b578063bcd37526146100b8575b600080fd5b610043610118565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561007d578181015183820152602001610065565b50505050905090810190601f1680156100aa5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b610106600480360360e08110156100ce57600080fd5b508035906001600160a01b03602082013581169160408101358216916060820135169060808101359060a08101359060c00135610146565b60408051918252519081900360200190f35b60405180604001604052806012815260200171151c9bdd9953585b9859d95c94d8dc9a5c1d60721b81525081565b60408051635e69ba9360e11b8152600481018990526001600160a01b038881166024830152878116604483015286811660648301526084820186905260a4820185905260c4820184905291516000927f0000000000000000000000000000000000000000000000000000000000000000169163bcd375269160e4808301928692919082900301818387803b1580156101dd57600080fd5b505af11580156101f1573d6000803e3d6000fd5b5050505097965050505050505056fea26469706673582212205add580a7c906b4dc323ca533e6ff474dce8d702fe9b01bbe9d6b0de9a9b18e564736f6c634300060b0033", - "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100365760003560e01c8063a3f4df7e1461003b578063bcd37526146100b8575b600080fd5b610043610118565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561007d578181015183820152602001610065565b50505050905090810190601f1680156100aa5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b610106600480360360e08110156100ce57600080fd5b508035906001600160a01b03602082013581169160408101358216916060820135169060808101359060a08101359060c00135610146565b60408051918252519081900360200190f35b60405180604001604052806012815260200171151c9bdd9953585b9859d95c94d8dc9a5c1d60721b81525081565b60408051635e69ba9360e11b8152600481018990526001600160a01b038881166024830152878116604483015286811660648301526084820186905260a4820185905260c4820184905291516000927f0000000000000000000000000000000000000000000000000000000000000000169163bcd375269160e4808301928692919082900301818387803b1580156101dd57600080fd5b505af11580156101f1573d6000803e3d6000fd5b5050505097965050505050505056fea26469706673582212205add580a7c906b4dc323ca533e6ff474dce8d702fe9b01bbe9d6b0de9a9b18e564736f6c634300060b0033", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/packages/lib-ethers/live/TroveManagerStorage.json b/packages/lib-ethers/live/TroveManagerStorage.json deleted file mode 100644 index aeb29c991..000000000 --- a/packages/lib-ethers/live/TroveManagerStorage.json +++ /dev/null @@ -1,385 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "TroveManagerStorage", - "sourceName": "contracts/TroveManagerStorage.sol", - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "previousOwner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnershipTransferred", - "type": "event" - }, - { - "inputs": [], - "name": "DECIMAL_PRECISION", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "L_ETH", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "L_ZUSDDebt", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "NAME", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "TroveOwners", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "Troves", - "outputs": [ - { - "internalType": "uint256", - "name": "debt", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "coll", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "stake", - "type": "uint256" - }, - { - "internalType": "enum TroveManagerStorage.Status", - "name": "status", - "type": "uint8" - }, - { - "internalType": "uint128", - "name": "arrayIndex", - "type": "uint128" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_stabilityPool", - "outputs": [ - { - "internalType": "contract IStabilityPool", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_zeroStaking", - "outputs": [ - { - "internalType": "contract IZEROStaking", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_zeroToken", - "outputs": [ - { - "internalType": "contract IZEROToken", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_zusdToken", - "outputs": [ - { - "internalType": "contract IZUSDToken", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "baseRate", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "borrowerOperationsAddress", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "feeDistributor", - "outputs": [ - { - "internalType": "contract IFeeDistributor", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getOwner", - "outputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "lastETHError_Redistribution", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "lastFeeOperationTime", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "lastZUSDDebtError_Redistribution", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "rewardSnapshots", - "outputs": [ - { - "internalType": "uint256", - "name": "ETH", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "ZUSDDebt", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - } - ], - "name": "setOwner", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "sortedTroves", - "outputs": [ - { - "internalType": "contract ISortedTroves", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "totalCollateralSnapshot", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "totalStakes", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "totalStakesSnapshot", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "troveManagerRedeemOps", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": "0x608060405234801561001057600080fd5b50610023336001600160e01b0361002816565b610110565b6001600160a01b03811661006d5760405162461bcd60e51b81526004018080602001828103825260228152602001806107b86022913960400191505060405180910390fd5b6001600160a01b0381166100886001600160e01b036100e616565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3604080517035b2bc9737bbb730b136329737bbb732b960791b8152905190819003601101902055565b604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205490565b6106998061011f6000396000f3fe608060405234801561001057600080fd5b50600436106101585760003560e01c8063893d20e8116100c3578063ae9187541161007c578063ae91875414610363578063b7f8cf9b1461036b578063be4b033414610373578063bf9befb11461037b578063d380a37c14610383578063d815e8e91461038b57610158565b8063893d20e8146102be57806396d711ff146102c65780639dd233d2146102ce578063a20baee6146102d6578063a3f4df7e146102de578063ae7bec191461035b57610158565b80636ef64338116101155780636ef6433814610212578063716c47e614610281578063756b253e14610289578063797250e3146102a65780637cf54e40146102ae578063807d138d146102b657610158565b80630d43e8ad1461015d57806313af4035146101815780631673c79a146101a95780631f68f20a146101e85780633a128595146102025780636b4449521461020a575b600080fd5b610165610393565b604080516001600160a01b039092168252519081900360200190f35b6101a76004803603602081101561019757600080fd5b50356001600160a01b03166103a2565b005b6101cf600480360360208110156101bf57600080fd5b50356001600160a01b0316610415565b6040805192835260208301919091528051918290030190f35b6101f061042e565b60408051918252519081900360200190f35b610165610434565b6101f0610443565b6102386004803603602081101561022857600080fd5b50356001600160a01b0316610449565b6040518086815260200185815260200184815260200183600481111561025a57fe5b60ff1681526001600160801b03909216602083015250604080519182900301945092505050f35b610165610483565b6101656004803603602081101561029f57600080fd5b5035610492565b6101f06104b9565b6101656104bf565b6101f06104ce565b6101656104d4565b6101f06104fe565b6101f0610504565b6101f061050a565b6102e6610516565b6040805160208082528351818301528351919283929083019185019080838360005b83811015610320578181015183820152602001610308565b50505050905090810190601f16801561034d5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61016561053e565b61016561054d565b61016561055c565b6101f061056b565b6101f0610571565b6101f0610577565b61016561057d565b6008546001600160a01b031681565b6103aa6104d4565b6001600160a01b0316336001600160a01b031614610409576040805162461bcd60e51b815260206004820152601760248201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604482015290519081900360640190fd5b6104128161058c565b50565b6012602052600090815260409020805460019091015482565b600a5481565b6007546001600160a01b031681565b60155481565b600c6020526000908152604090208054600182015460028301546003909301549192909160ff81169061010090046001600160801b031685565b6000546001600160a01b031681565b6013818154811061049f57fe5b6000918252602090912001546001600160a01b0316905081565b60145481565b6006546001600160a01b031681565b600e5481565b604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205490565b600f5481565b60105481565b670de0b6b3a764000081565b6040518060400160405280600c81526020016b2a3937bb32a6b0b730b3b2b960a11b81525081565b6002546001600160a01b031681565b6009546001600160a01b031681565b6001546001600160a01b031681565b60115481565b600d5481565b600b5481565b6005546001600160a01b031681565b6001600160a01b0381166105d15760405162461bcd60e51b81526004018080602001828103825260228152602001806106426022913960400191505060405180910390fd5b806001600160a01b03166105e36104d4565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205556fe4f776e61626c653a3a7365744f776e65723a20696e76616c69642061646472657373a26469706673582212207ceba897e1502a66af04b6bbcbb432fe97bed847170fb22b434b5f88beef12a264736f6c634300060b00334f776e61626c653a3a7365744f776e65723a20696e76616c69642061646472657373", - "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106101585760003560e01c8063893d20e8116100c3578063ae9187541161007c578063ae91875414610363578063b7f8cf9b1461036b578063be4b033414610373578063bf9befb11461037b578063d380a37c14610383578063d815e8e91461038b57610158565b8063893d20e8146102be57806396d711ff146102c65780639dd233d2146102ce578063a20baee6146102d6578063a3f4df7e146102de578063ae7bec191461035b57610158565b80636ef64338116101155780636ef6433814610212578063716c47e614610281578063756b253e14610289578063797250e3146102a65780637cf54e40146102ae578063807d138d146102b657610158565b80630d43e8ad1461015d57806313af4035146101815780631673c79a146101a95780631f68f20a146101e85780633a128595146102025780636b4449521461020a575b600080fd5b610165610393565b604080516001600160a01b039092168252519081900360200190f35b6101a76004803603602081101561019757600080fd5b50356001600160a01b03166103a2565b005b6101cf600480360360208110156101bf57600080fd5b50356001600160a01b0316610415565b6040805192835260208301919091528051918290030190f35b6101f061042e565b60408051918252519081900360200190f35b610165610434565b6101f0610443565b6102386004803603602081101561022857600080fd5b50356001600160a01b0316610449565b6040518086815260200185815260200184815260200183600481111561025a57fe5b60ff1681526001600160801b03909216602083015250604080519182900301945092505050f35b610165610483565b6101656004803603602081101561029f57600080fd5b5035610492565b6101f06104b9565b6101656104bf565b6101f06104ce565b6101656104d4565b6101f06104fe565b6101f0610504565b6101f061050a565b6102e6610516565b6040805160208082528351818301528351919283929083019185019080838360005b83811015610320578181015183820152602001610308565b50505050905090810190601f16801561034d5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61016561053e565b61016561054d565b61016561055c565b6101f061056b565b6101f0610571565b6101f0610577565b61016561057d565b6008546001600160a01b031681565b6103aa6104d4565b6001600160a01b0316336001600160a01b031614610409576040805162461bcd60e51b815260206004820152601760248201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604482015290519081900360640190fd5b6104128161058c565b50565b6012602052600090815260409020805460019091015482565b600a5481565b6007546001600160a01b031681565b60155481565b600c6020526000908152604090208054600182015460028301546003909301549192909160ff81169061010090046001600160801b031685565b6000546001600160a01b031681565b6013818154811061049f57fe5b6000918252602090912001546001600160a01b0316905081565b60145481565b6006546001600160a01b031681565b600e5481565b604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205490565b600f5481565b60105481565b670de0b6b3a764000081565b6040518060400160405280600c81526020016b2a3937bb32a6b0b730b3b2b960a11b81525081565b6002546001600160a01b031681565b6009546001600160a01b031681565b6001546001600160a01b031681565b60115481565b600d5481565b600b5481565b6005546001600160a01b031681565b6001600160a01b0381166105d15760405162461bcd60e51b81526004018080602001828103825260228152602001806106426022913960400191505060405180910390fd5b806001600160a01b03166105e36104d4565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205556fe4f776e61626c653a3a7365744f776e65723a20696e76616c69642061646472657373a26469706673582212207ceba897e1502a66af04b6bbcbb432fe97bed847170fb22b434b5f88beef12a264736f6c634300060b0033", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/packages/lib-ethers/live/TroveManagerTester.json b/packages/lib-ethers/live/TroveManagerTester.json deleted file mode 100644 index 7864b8cf1..000000000 --- a/packages/lib-ethers/live/TroveManagerTester.json +++ /dev/null @@ -1,2128 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "TroveManagerTester", - "sourceName": "contracts/TestContracts/TroveManagerTester.sol", - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_activePoolAddress", - "type": "address" - } - ], - "name": "ActivePoolAddressChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "_baseRate", - "type": "uint256" - } - ], - "name": "BaseRateUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_newBorrowerOperationsAddress", - "type": "address" - } - ], - "name": "BorrowerOperationsAddressChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_collSurplusPoolAddress", - "type": "address" - } - ], - "name": "CollSurplusPoolAddressChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_defaultPoolAddress", - "type": "address" - } - ], - "name": "DefaultPoolAddressChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_feeDistributorAddress", - "type": "address" - } - ], - "name": "FeeDistributorAddressChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_gasPoolAddress", - "type": "address" - } - ], - "name": "GasPoolAddressChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "_L_ETH", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_L_ZUSDDebt", - "type": "uint256" - } - ], - "name": "LTermsUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "_lastFeeOpTime", - "type": "uint256" - } - ], - "name": "LastFeeOpTimeUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "_liquidatedDebt", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_liquidatedColl", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_collGasCompensation", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_ZUSDGasCompensation", - "type": "uint256" - } - ], - "name": "Liquidation", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_borrowerOperationsAddress", - "type": "address" - } - ], - "name": "LiquityBaseParamsAddressChanges", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "previousOwner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnershipTransferred", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_newPriceFeedAddress", - "type": "address" - } - ], - "name": "PriceFeedAddressChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "_attemptedZUSDAmount", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_actualZUSDAmount", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_ETHSent", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_ETHFee", - "type": "uint256" - } - ], - "name": "Redemption", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_sortedTrovesAddress", - "type": "address" - } - ], - "name": "SortedTrovesAddressChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_stabilityPoolAddress", - "type": "address" - } - ], - "name": "StabilityPoolAddressChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "_totalStakesSnapshot", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_totalCollateralSnapshot", - "type": "uint256" - } - ], - "name": "SystemSnapshotsUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "_newTotalStakes", - "type": "uint256" - } - ], - "name": "TotalStakesUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_borrower", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_newIndex", - "type": "uint256" - } - ], - "name": "TroveIndexUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "_borrower", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_debt", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_coll", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint8", - "name": "operation", - "type": "uint8" - } - ], - "name": "TroveLiquidated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_troveManagerRedeemOps", - "type": "address" - } - ], - "name": "TroveManagerRedeemOpsAddressChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "_L_ETH", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_L_ZUSDDebt", - "type": "uint256" - } - ], - "name": "TroveSnapshotsUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "_borrower", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_debt", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_coll", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "stake", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint8", - "name": "operation", - "type": "uint8" - } - ], - "name": "TroveUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_zeroStakingAddress", - "type": "address" - } - ], - "name": "ZEROStakingAddressChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_zeroTokenAddress", - "type": "address" - } - ], - "name": "ZEROTokenAddressChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_newZUSDTokenAddress", - "type": "address" - } - ], - "name": "ZUSDTokenAddressChanged", - "type": "event" - }, - { - "inputs": [], - "name": "BETA", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "BOOTSTRAP_PERIOD", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "CCR", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "DECIMAL_PRECISION", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "L_ETH", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "L_ZUSDDebt", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "MCR", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "MINUTE_DECAY_FACTOR", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "MIN_NET_DEBT", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "NAME", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "SECONDS_IN_ONE_MINUTE", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "TroveOwners", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "Troves", - "outputs": [ - { - "internalType": "uint256", - "name": "debt", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "coll", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "stake", - "type": "uint256" - }, - { - "internalType": "enum TroveManagerStorage.Status", - "name": "status", - "type": "uint8" - }, - { - "internalType": "uint128", - "name": "arrayIndex", - "type": "uint128" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "ZUSD_GAS_COMPENSATION", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_100pct", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_borrower", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_price", - "type": "uint256" - } - ], - "name": "_getCurrentICR", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_borrower", - "type": "address" - } - ], - "name": "_getPendingETHReward", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_borrower", - "type": "address" - } - ], - "name": "_getPendingZUSDDebtReward", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_getRedemptionRate", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_borrower", - "type": "address" - } - ], - "name": "_hasPendingRewards", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_stabilityPool", - "outputs": [ - { - "internalType": "contract IStabilityPool", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_zeroStaking", - "outputs": [ - { - "internalType": "contract IZEROStaking", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_zeroToken", - "outputs": [ - { - "internalType": "contract IZEROToken", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_zusdToken", - "outputs": [ - { - "internalType": "contract IZUSDToken", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "activePool", - "outputs": [ - { - "internalType": "contract IActivePool", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_borrower", - "type": "address" - } - ], - "name": "addTroveOwnerToArray", - "outputs": [ - { - "internalType": "uint256", - "name": "index", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_borrower", - "type": "address" - } - ], - "name": "applyPendingRewards", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "baseRate", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address[]", - "name": "_troveArray", - "type": "address[]" - } - ], - "name": "batchLiquidateTroves", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "borrowerOperationsAddress", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_ETHDrawn", - "type": "uint256" - } - ], - "name": "callGetRedemptionFee", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_troveOwner", - "type": "address" - } - ], - "name": "callInternalRemoveTroveOwner", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_price", - "type": "uint256" - } - ], - "name": "checkRecoveryMode", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_borrower", - "type": "address" - } - ], - "name": "closeTrove", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_coll", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_debt", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_price", - "type": "uint256" - } - ], - "name": "computeICR", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "pure", - "type": "function" - }, - { - "inputs": [], - "name": "decayBaseRateFromBorrowing", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_borrower", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_collDecrease", - "type": "uint256" - } - ], - "name": "decreaseTroveColl", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_borrower", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_debtDecrease", - "type": "uint256" - } - ], - "name": "decreaseTroveDebt", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "defaultPool", - "outputs": [ - { - "internalType": "contract IDefaultPool", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "feeDistributor", - "outputs": [ - { - "internalType": "contract IFeeDistributor", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_debtVal", - "type": "uint256" - } - ], - "name": "getActualDebtFromComposite", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "pure", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_ZUSDDebt", - "type": "uint256" - } - ], - "name": "getBorrowingFee", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_ZUSDDebt", - "type": "uint256" - } - ], - "name": "getBorrowingFeeWithDecay", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getBorrowingRate", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getBorrowingRateWithDecay", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_coll", - "type": "uint256" - } - ], - "name": "getCollGasCompensation", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_debt", - "type": "uint256" - } - ], - "name": "getCompositeDebt", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "pure", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_borrower", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_price", - "type": "uint256" - } - ], - "name": "getCurrentICR", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_borrower", - "type": "address" - } - ], - "name": "getEntireDebtAndColl", - "outputs": [ - { - "internalType": "uint256", - "name": "debt", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "coll", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "pendingZUSDDebtReward", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "pendingETHReward", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getEntireSystemColl", - "outputs": [ - { - "internalType": "uint256", - "name": "entireSystemColl", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getEntireSystemDebt", - "outputs": [ - { - "internalType": "uint256", - "name": "entireSystemDebt", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_borrower", - "type": "address" - } - ], - "name": "getNominalICR", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getOwner", - "outputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_borrower", - "type": "address" - } - ], - "name": "getPendingETHReward", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_borrower", - "type": "address" - } - ], - "name": "getPendingZUSDDebtReward", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_ETHDrawn", - "type": "uint256" - } - ], - "name": "getRedemptionFeeWithDecay", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getRedemptionRate", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getRedemptionRateWithDecay", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_price", - "type": "uint256" - } - ], - "name": "getTCR", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_borrower", - "type": "address" - } - ], - "name": "getTroveColl", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_borrower", - "type": "address" - } - ], - "name": "getTroveDebt", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_index", - "type": "uint256" - } - ], - "name": "getTroveFromTroveOwnersArray", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getTroveOwnersCount", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_borrower", - "type": "address" - } - ], - "name": "getTroveStake", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_borrower", - "type": "address" - } - ], - "name": "getTroveStatus", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getZUSDGasCompensation", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "pure", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_borrower", - "type": "address" - } - ], - "name": "hasPendingRewards", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_borrower", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_collIncrease", - "type": "uint256" - } - ], - "name": "increaseTroveColl", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_borrower", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_debtIncrease", - "type": "uint256" - } - ], - "name": "increaseTroveDebt", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "lastETHError_Redistribution", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "lastFeeOperationTime", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "lastZUSDDebtError_Redistribution", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_borrower", - "type": "address" - } - ], - "name": "liquidate", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_n", - "type": "uint256" - } - ], - "name": "liquidateTroves", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "liquityBaseParams", - "outputs": [ - { - "internalType": "contract ILiquityBaseParams", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "minutesPassedSinceLastFeeOp", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "priceFeed", - "outputs": [ - { - "internalType": "contract IPriceFeed", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_ZUSDamount", - "type": "uint256" - }, - { - "internalType": "address", - "name": "_firstRedemptionHint", - "type": "address" - }, - { - "internalType": "address", - "name": "_upperPartialRedemptionHint", - "type": "address" - }, - { - "internalType": "address", - "name": "_lowerPartialRedemptionHint", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_partialRedemptionHintNICR", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_maxIterations", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_maxFeePercentage", - "type": "uint256" - } - ], - "name": "redeemCollateral", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_dllrAmount", - "type": "uint256" - }, - { - "internalType": "address", - "name": "_firstRedemptionHint", - "type": "address" - }, - { - "internalType": "address", - "name": "_upperPartialRedemptionHint", - "type": "address" - }, - { - "internalType": "address", - "name": "_lowerPartialRedemptionHint", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_partialRedemptionHintNICR", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_maxIterations", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_maxFeePercentage", - "type": "uint256" - }, - { - "components": [ - { - "internalType": "uint256", - "name": "deadline", - "type": "uint256" - }, - { - "internalType": "uint8", - "name": "v", - "type": "uint8" - }, - { - "internalType": "bytes32", - "name": "r", - "type": "bytes32" - }, - { - "internalType": "bytes32", - "name": "s", - "type": "bytes32" - } - ], - "internalType": "struct IMassetManager.PermitParams", - "name": "_permitParams", - "type": "tuple" - } - ], - "name": "redeemCollateralViaDLLR", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_borrower", - "type": "address" - } - ], - "name": "removeStake", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "rewardSnapshots", - "outputs": [ - { - "internalType": "uint256", - "name": "ETH", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "ZUSDDebt", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "components": [ - { - "internalType": "address", - "name": "_feeDistributorAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_troveManagerRedeemOps", - "type": "address" - }, - { - "internalType": "address", - "name": "_liquityBaseParamsAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_borrowerOperationsAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_activePoolAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_defaultPoolAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_stabilityPoolAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_gasPoolAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_collSurplusPoolAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_priceFeedAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_zusdTokenAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_sortedTrovesAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_zeroTokenAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_zeroStakingAddress", - "type": "address" - } - ], - "internalType": "struct ITroveManager.TroveManagerInitAddressesParams", - "name": "_troveManagerInitAddressesParams", - "type": "tuple" - } - ], - "name": "setAddresses", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_baseRate", - "type": "uint256" - } - ], - "name": "setBaseRate", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "setLastFeeOpTimeToNow", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - } - ], - "name": "setOwner", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_troveManagerRedeemOps", - "type": "address" - } - ], - "name": "setTroveManagerRedeemOps", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_borrower", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_num", - "type": "uint256" - } - ], - "name": "setTroveStatus", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "sortedTroves", - "outputs": [ - { - "internalType": "contract ISortedTroves", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "totalCollateralSnapshot", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "totalStakes", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "totalStakesSnapshot", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "troveManagerRedeemOps", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "unprotectedDecayBaseRateFromBorrowing", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_borrower", - "type": "address" - } - ], - "name": "updateStakeAndTotalStakes", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_borrower", - "type": "address" - } - ], - "name": "updateTroveRewardSnapshots", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": "0x60a06040523480156200001157600080fd5b5062127500806200002b336001600160e01b036200003516565b6080525062000159565b6001600160a01b038116620000675760405162461bcd60e51b81526004016200005e9062000117565b60405180910390fd5b6001600160a01b038116620000846001600160e01b03620000d916565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000604051620000c990620000fa565b6040519081900390209190915550565b600080604051620000ea90620000fa565b6040519081900390205492915050565b7035b2bc9737bbb730b136329737bbb732b960791b815260110190565b60208082526022908201527f4f776e61626c653a3a7365744f776e65723a20696e76616c6964206164647265604082015261737360f01b606082015260800190565b6080516156bb62000174600039806122bc52506156bb6000f3fe608060405234801561001057600080fd5b50600436106105255760003560e01c8063741bef1a116102af578063b7f8cf9b11610172578063d3d6f843116100d9578063dc62a70211610092578063dc62a70214610a3c578063e056e91814610a4f578063e2ac77b014610a62578063f36b242514610a75578063fe2ba84814610a7d578063febb33de14610a9057610525565b8063d3d6f843146109e0578063d5b35635146109f3578063d66a255314610a06578063d815e8e914610a19578063d9a7244414610a21578063da303f1414610a3457610525565b8063c35bc5501161012b578063c35bc5501461099a578063c52861f2146109a2578063c7b55481146109aa578063cbd138ae146109b2578063d293c710146109c5578063d380a37c146109d857610525565b8063b7f8cf9b14610939578063b82f263d14610941578063b91af97c14610954578063bcd3752614610977578063be4b03341461098a578063bf9befb11461099257610525565b8063887105d311610216578063a20baee6116101cf578063a20baee61461081f578063a3f4df7e146108ee578063a537896f14610903578063ae7bec1914610916578063ae9187541461091e578063b0d8e1811461092657610525565b8063887105d3146108b3578063893d20e8146108bb57806396d711ff146108c35780639976cf45146108cb5780639dd233d2146108de5780639f070670146108e657610525565b80637cf54e40116102685780637cf54e40146108625780637f7dde4a1461086a578063807d138d14610872578063814a0a451461087a57806382fe3eb91461088d57806387436936146108a057610525565b8063741bef1a14610827578063756b253e1461082f578063759b303414610842578063794e57241461084a578063795d26c314610852578063797250e31461085a57610525565b80633a128595116103f75780635d8c96091161035e57806366ca4a211161031757806366ca4a21146107d05780636b444952146107d85780636ef64338146107e0578063716c47e61461080457806372423c171461080c57806372fe25aa1461081f57610525565b80635d8c9609146107745780635dba4c4a1461078757806361ec893d1461078f578063631203b01461079757806364cee260146107aa578063653d46e7146107bd57610525565b80634a767d68116103b05780634a767d68146107005780634e443d9e146107135780634ff814431461073357806354062a45146107465780635733d58f146107595780635d6b480f1461076157610525565b80633a128595146106af5780633cc74225146106b757806342ccf1e4146106bf578063477d66cf146106d2578063480cd578146106e557806349eefeee146106f857610525565b806317c62b171161049b5780631eb08380116104545780631eb08380146106695780631f68f20a1461067157806321e37801146106795780632b11551a1461068c5780632f8655681461069457806331c903b0146106a757610525565b806317c62b171461060257806318f2817a146106155780631a59a50e146106285780631bf435551461063b5780631d08837b146106435780631e8b1c2b1461065657610525565b80630d43e8ad116104ed5780630d43e8ad1461058b578063105bb15c146105a057806312610e92146105a857806313af4035146105bb57806315d549f1146105ce5780631673c79a146105e157610525565b806301f16e181461052a578063043782fb1461053f57806305b6f5ca14610547578063071a75411461055a5780630b07655714610578575b600080fd5b61053d610538366004614e61565b610aa3565b005b61053d611009565b61053d61055536600461502c565b61100f565b6105626110a6565b60405161056f9190615546565b60405180910390f35b61053d610586366004614d6a565b6110ab565b6105936110d3565b60405161056f919061510e565b6105626110e2565b6105626105b6366004614da2565b6110f1565b61053d6105c9366004614d6a565b611149565b6105626105dc366004614d6a565b61118a565b6105f46105ef366004614d6a565b6111ae565b60405161056f92919061554f565b610562610610366004614d6a565b6111c7565b610562610623366004614d6a565b6111d2565b610562610636366004614d6a565b6111e5565b6105626112ab565b61053d610651366004614f8f565b6112b8565b61053d610664366004614dcd565b6112bd565b61056261161e565b61056261162b565b610562610687366004614d6a565b611631565b61056261165b565b61053d6106a2366004614d6a565b611665565b6105626116cb565b6105936116d8565b6105936116e7565b6105626106cd366004614d6a565b6116f6565b6105626106e0366004614f8f565b611727565b6105626106f3366004614d6a565b61173a565b610562611758565b61056261070e366004614da2565b61175e565b610726610721366004614f8f565b61177d565b60405161056f9190615181565b610562610741366004614f8f565b611788565b610562610754366004614f8f565b611793565b61056261179e565b61053d61076f366004614da2565b61181b565b610562610782366004614d6a565b611867565b61053d611872565b6105626118dd565b6105626107a5366004614f8f565b6118e2565b6105626107b8366004614d6a565b6118ef565b61053d6107cb366004614f8f565b61190d565b610562611c97565b610562611ca9565b6107f36107ee366004614d6a565b611caf565b60405161056f959493929190615583565b610593611ce9565b61056261081a366004614da2565b611cf8565b610562611d55565b610593611d61565b61059361083d366004614f8f565b611d70565b610562611d97565b610562611da4565b610562611de9565b610562611f08565b610593611f0e565b610593611f1d565b610562611f2c565b6105626108883660046150b6565b611f32565b61053d61089b366004614d6a565b611f49565b61053d6108ae366004614d6a565b611f5a565b610562611fe6565b6105936120b5565b6105626120d4565b6105626108d9366004614da2565b6120da565b61056261210d565b610593612113565b6108f6612122565b60405161056f91906151b8565b610562610911366004614f8f565b61214a565b610593612155565b610593612164565b610562610934366004614d6a565b612173565b61059361219a565b61056261094f366004614f8f565b6121a9565b610967610962366004614d6a565b6121b4565b60405161056f94939291906155c3565b61053d610985366004614fbf565b612218565b6105626122ae565b6105626122b4565b6105626122ba565b6105626122de565b6105626122f0565b61053d6109c0366004614d6a565b6122fc565b6105626109d3366004614da2565b61230f565b61056261231b565b6105626109ee366004614da2565b612321565b610562610a01366004614f8f565b612357565b610562610a14366004614d6a565b61236a565b610593612385565b610593610a2f366004614f8f565b612394565b6105626123be565b61053d610a4a366004614d6a565b6123ee565b610726610a5d366004614d6a565b6123fb565b610726610a70366004614d6a565b612459565b610562612464565b61053d610a8b366004614d6a565b612471565b610562610a9e366004614f8f565b612482565b610aab6120b5565b6001600160a01b0316336001600160a01b031614610ae45760405162461bcd60e51b8152600401610adb906153a3565b60405180910390fd5b8051610aef90612493565b610afc8160200151612493565b610b098160400151612493565b610b168160600151612493565b610b238160800151612493565b610b308160a00151612493565b610b3d8160c00151612493565b610b4a8160e00151612493565b610b58816101000151612493565b610b66816101200151612493565b610b74816101400151612493565b610b82816101600151612493565b610b90816101800151612493565b610b9e816101a00151612493565b8051600c80546001600160a01b03199081166001600160a01b038085169190911790925560208401516004805483169184169190911790556040808501516003805484169185169190911790556060850151600580548416918516919091179055608085015160008054841691851691909117905560a085015160018054841691851691909117905560c085015160068054841691851691909117905560e0850151600780548416918516919091179055610100850151600880548416918516919091179055610120850151600280548416918516919091179055610140850151600980548416918516919091179055610160850151600d80548416918516919091179055610180850151600a805484169185169190911790556101a0850151600b80549093169316929092179055517f84861842e6a98dd759145eb5e7b48279d0f02ebeabc8a69e5196b2f4c5023db991610cf99161510e565b60405180910390a17f6493041f605f233753d9b16dd158c9f297b8eaca22b2d0dc402a454f5683a5b18160200151604051610d34919061510e565b60405180910390a17fbf65195e6d5213f6fcbce65b1454c925197a45e616dabd2e243542b039b050928160600151604051610d6f919061510e565b60405180910390a17f3ca631ffcd2a9b5d9ae18543fc82f58eb4ca33af9e6ab01b7a8e95331e6ed9858160600151604051610daa919061510e565b60405180910390a17f78f058b189175430c48dc02699e3a0031ea4ff781536dc2fab847de4babdd8828160800151604051610de5919061510e565b60405180910390a17f5ee0cae2f063ed938bb55046f6a932fb6ae792bf43624806bb90abe68a50be9b8160a00151604051610e20919061510e565b60405180910390a17f82966d27eea39b038ee0fa30cd16532bb24f6e65d31cb58fb227aa5766cdcc7f8160c00151604051610e5b919061510e565b60405180910390a17fcfb07d791fcafc032b35837b50eb84b74df518cf4cc287e8084f47630fa70fa08160e00151604051610e96919061510e565b60405180910390a17fe67f36a6e961157d6eff83b91f3af5a62131ceb6f04954ef74f51c1c05e7f88d816101000151604051610ed2919061510e565b60405180910390a17f8c537274438aa850a330284665d81a85dd38267d09e4050d416bfc94142db264816101200151604051610f0e919061510e565b60405180910390a17fcdf33850c44a1a874b5fefb51dae615ac6afebd581ef90d571f81b06541d8e9d816101400151604051610f4a919061510e565b60405180910390a17f65f4cf077bc01e4742eb5ad98326f6e95b63548ea24b17f8d5e823111fe78800816101600151604051610f86919061510e565b60405180910390a17f61e0c29d5028a9e4facaa476a46e78912e99f1ba945c9560b86b82ebe36ee52d816101800151604051610fc2919061510e565b60405180910390a17f7624075ed781e3aa34b0f492d70d1bb5a6fcde04534165e20f990d2e546be4dd816101a00151604051610ffe919061510e565b60405180910390a150565b42600f55565b6004546040516000916060916001600160a01b039091169061103490849036906150e1565b600060405180830381855af49150503d806000811461106f576040519150601f19603f3d011682016040523d82523d6000602084013e611074565b606091505b50915091508181906110995760405162461bcd60e51b8152600401610adb91906151b8565b5050505050505050505050565b600281565b6110b36124d8565b6000546001546110d0916001600160a01b03908116911683612504565b50565b600c546001600160a01b031681565b60006110ec612616565b905090565b60006110fb6124d8565b6001600160a01b038316600090815260106020526040812054611124908463ffffffff61263216565b6001600160a01b03851660009081526010602052604090208190559150505b92915050565b6111516120b5565b6001600160a01b0316336001600160a01b0316146111815760405162461bcd60e51b8152600401610adb906153a3565b6110d081612674565b60006111946124d8565b61119d826126ff565b6001600160801b031690505b919050565b6016602052600090815260409020805460019091015482565b6000611143826116f6565b60006111dc6124d8565b61114382612799565b6001600160a01b0381166000908152601660205260408120546014548290611213908363ffffffff61263216565b905080158061124c575060016001600160a01b03851660009081526010602052604090206003015460ff16600481111561124957fe5b14155b1561125c576000925050506111a9565b6001600160a01b038416600090815260106020526040812060020154906112a1670de0b6b3a7640000611295848663ffffffff61284c16565b9063ffffffff61288616565b9695505050505050565b6809c2007651b250000081565b600e55565b80516112db5760405162461bcd60e51b8152600401610adb906153d4565b6000546001546006546001600160a01b039283169291821691166112fd614c3d565b611305614c6e565b600260009054906101000a90046001600160a01b03166001600160a01b0316630fdb11cf6040518163ffffffff1660e01b8152600401602060405180830381600087803b15801561135557600080fd5b505af1158015611369573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061138d9190614fa7565b826000018181525050826001600160a01b031663bdaf37ea6040518163ffffffff1660e01b815260040160206040518083038186803b1580156113cf57600080fd5b505afa1580156113e3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114079190614fa7565b60208301528151611417906128c8565b158015604084015261143f576114388585846000015185602001518a612963565b9050611457565b6114548585846000015185602001518a612c78565b90505b600081602001511161147b5760405162461bcd60e51b8152600401610adb906154b5565b608081015160a082015160405163335525ad60e01b81526001600160a01b0386169263335525ad926114af9260040161554f565b600060405180830381600087803b1580156114c957600080fd5b505af11580156114dd573d6000803e3d6000fd5b505050506114f585858360c001518460e00151612db8565b6101008101511561156c576008546101008201516040516364a197f360e01b81526001600160a01b03888116936364a197f393611539939290911691600401615168565b600060405180830381600087803b15801561155357600080fd5b505af1158015611567573d6000803e3d6000fd5b505050505b61157a85826040015161301c565b60208101516060830152610100810151604082015182516115b292916115a6919063ffffffff61263216565b9063ffffffff61263216565b608083018190526060808401516040808501519285015190517f4152c73dd2614c4f9fc35e8c9cf16013cd588c75b49a4c1673ecffdcbcda9403946115fa94909290916155c3565b60405180910390a161161685338360600151846040015161317d565b505050505050565b6801158e460913d0000090565b600e5481565b6001600160a01b03811660009081526010602052604081206003015460ff16600481111561114357fe5b60006110ec6116cb565b61166e8161325a565b60408051600180825281830190925260609160208083019080368337019050509050818160008151811061169e57fe5b60200260200101906001600160a01b031690816001600160a01b0316815250506116c7816112bd565b5050565b60006110ec600e546132a3565b600b546001600160a01b031681565b6001546001600160a01b031681565b6001600160a01b0381166000908152601660205260408120600101546015548290611213908363ffffffff61263216565b6000611143611734611c97565b83613340565b6001600160a01b031660009081526010602052604090206001015490565b60175490565b600080600061176c8561335e565b9150915060006112a18383876133e4565b6000611143826128c8565b600061114382613414565b60006111438261342f565b60035460408051635733d58f60e01b815290516000926001600160a01b031691635733d58f916004808301926020929190829003018186803b1580156117e357600080fd5b505afa1580156117f7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110ec9190614fa7565b6118236124d8565b80600481111561182f57fe5b6001600160a01b0383166000908152601060205260409020600301805460ff1916600183600481111561185e57fe5b02179055505050565b6000611143826111e5565b61187a6124d8565b600061188461344a565b9050670de0b6b3a764000081111561189857fe5b600e8190556040517fc454ee9b76c52f782a256af821b857ca6e125d1e3333bcede402fec2bed9600c906118cd908390615546565b60405180910390a16110d061348e565b603c81565b6000611143611734612464565b6001600160a01b031660009081526010602052604090206002015490565b611915614cba565b506040805160e081018252600080546001600160a01b0390811683526001548116602084015292820181905260608201819052600d548316608083015260a0820181905260c082015260065490911661196c614c3d565b611974614c6e565b600260009054906101000a90046001600160a01b03166001600160a01b0316630fdb11cf6040518163ffffffff1660e01b8152600401602060405180830381600087803b1580156119c457600080fd5b505af11580156119d8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119fc9190614fa7565b826000018181525050826001600160a01b031663bdaf37ea6040518163ffffffff1660e01b815260040160206040518083038186803b158015611a3e57600080fd5b505afa158015611a52573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a769190614fa7565b60208301528151611a86906128c8565b1580156040840152611aad57611aa68483600001518460200151886134e3565b9050611acd565b611aca84600001518560200151846000015185602001518961398a565b90505b6000816020015111611af15760405162461bcd60e51b8152600401610adb906154b5565b608081015160a082015160405163335525ad60e01b81526001600160a01b0386169263335525ad92611b259260040161554f565b600060405180830381600087803b158015611b3f57600080fd5b505af1158015611b53573d6000803e3d6000fd5b50505050611b73846000015185602001518360c001518460e00151612db8565b61010081015115611bea5783516008546101008301516040516364a197f360e01b81526001600160a01b03938416936364a197f393611bb793911691600401615168565b600060405180830381600087803b158015611bd157600080fd5b505af1158015611be5573d6000803e3d6000fd5b505050505b611bfc8460000151826040015161301c565b6020810151606083015261010081015160408201518251611c2892916115a6919063ffffffff61263216565b608083018190526060808401516040808501519285015190517f4152c73dd2614c4f9fc35e8c9cf16013cd588c75b49a4c1673ecffdcbcda940394611c7094909290916155c3565b60405180910390a1611c908460000151338360600151846040015161317d565b5050505050565b60006110ec611ca461344a565b613b40565b60195481565b60106020526000908152604090208054600182015460028301546003909301549192909160ff81169061010090046001600160801b031685565b6004546001600160a01b031681565b6000611d026124d8565b6001600160a01b038316600090815260106020526040812060010154611d2e908463ffffffff613c2216565b6001600160a01b038516600090815260106020526040902060010181905591505092915050565b670de0b6b3a764000081565b6002546001600160a01b031681565b60178181548110611d7d57fe5b6000918252602090912001546001600160a01b0316905081565b6801158e460913d0000081565b60035460408051631e5395c960e21b815290516000926001600160a01b03169163794e5724916004808301926020929190829003018186803b1580156117e357600080fd5b60008054604080516272c7d360e71b8152905183926001600160a01b031691633963e980916004808301926020929190829003018186803b158015611e2d57600080fd5b505afa158015611e41573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e659190614fa7565b90506000600160009054906101000a90046001600160a01b03166001600160a01b0316633963e9806040518163ffffffff1660e01b815260040160206040518083038186803b158015611eb757600080fd5b505afa158015611ecb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611eef9190614fa7565b9050611f01828263ffffffff613c2216565b9250505090565b60185481565b600a546001600160a01b031681565b6000546001600160a01b031681565b60125481565b6000611f3f8484846133e4565b90505b9392505050565b611f516124d8565b6110d081613c47565b611f626120b5565b6001600160a01b0316336001600160a01b031614611f925760405162461bcd60e51b8152600401610adb906153a3565b611f9b81612493565b600480546001600160a01b0319166001600160a01b0383161790556040517f6493041f605f233753d9b16dd158c9f297b8eaca22b2d0dc402a454f5683a5b190610ffe90839061510e565b6000805460408051630a7b61df60e11b8152905183926001600160a01b0316916314f6c3be916004808301926020929190829003018186803b15801561202b57600080fd5b505afa15801561203f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120639190614fa7565b90506000600160009054906101000a90046001600160a01b03166001600160a01b03166314f6c3be6040518163ffffffff1660e01b815260040160206040518083038186803b158015611eb757600080fd5b6000806040516120c4906150f1565b6040519081900390205492915050565b60135481565b60006120e46124d8565b6001600160a01b038316600090815260106020526040812054611124908463ffffffff613c2216565b60145481565b6003546001600160a01b031681565b6040518060400160405280600c81526020016b2a3937bb32a6b0b730b3b2b960a11b81525081565b600061114382613ca4565b6006546001600160a01b031681565b600d546001600160a01b031681565b60008060006121818461335e565b9150915060006121918383613d30565b95945050505050565b6005546001600160a01b031681565b600061114382613d65565b6001600160a01b038116600090815260106020526040812080546001909101549091806121e0856111c7565b91506121eb85611867565b90506121fd848363ffffffff613c2216565b935061220f838263ffffffff613c2216565b92509193509193565b6004546040516000916060916001600160a01b039091169061223d90849036906150e1565b600060405180830381855af49150503d8060008114612278576040519150601f19603f3d011682016040523d82523d6000602084013e61227d565b606091505b50915091508181906122a25760405162461bcd60e51b8152600401610adb91906151b8565b50505050505050505050565b60155481565b60115481565b7f000000000000000000000000000000000000000000000000000000000000000081565b60006110ec6122eb61344a565b6132a3565b670ddd4b8c6c7d70d881565b6123046124d8565b6110d0816002613d91565b6000611f42838361175e565b600f5481565b600061232b6124d8565b6001600160a01b038316600090815260106020526040812060010154611d2e908463ffffffff61263216565b60006111436123646122de565b83613ea6565b6001600160a01b031660009081526010602052604090205490565b6009546001600160a01b031681565b6000601782815481106123a357fe5b6000918252602090912001546001600160a01b031692915050565b60006123c861344a565b600e55670de0b6b3a7640000600e5411156123df57fe5b6123e761348e565b50600e5490565b6017546116c78282613ee6565b600060016001600160a01b03831660009081526010602052604090206003015460ff16600481111561242957fe5b14612436575060006111a9565b506014546001600160a01b03821660009081526016602052604090205410919050565b6000611143826123fb565b60006110ec600e54613b40565b6124796124d8565b6110d081614087565b600061248d826140d7565b50919050565b6001600160a01b0381166124b95760405162461bcd60e51b8152600401610adb90615284565b803b806116c75760405162461bcd60e51b8152600401610adb9061542a565b6005546001600160a01b031633146125025760405162461bcd60e51b8152600401610adb90615346565b565b61250d816123fb565b156126115761251b8161325a565b6000612526826111e5565b90506000612533836116f6565b6001600160a01b038416600090815260106020526040902060010154909150612562908363ffffffff613c2216565b6001600160a01b0384166000908152601060205260409020600181019190915554612593908263ffffffff613c2216565b6001600160a01b0384166000908152601060205260409020556125b583613c47565b6125c1858583856140e4565b6001600160a01b03831660008181526010602052604080822080546001820154600290920154925160008051602061566683398151915294612606949293929161518c565b60405180910390a250505b505050565b60006110ec603c611295600f544261263290919063ffffffff16565b6000611f4283836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506141cc565b6001600160a01b03811661269a5760405162461bcd60e51b8152600401610adb90615242565b806001600160a01b03166126ac6120b5565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360006040516126ef906150f1565b6040519081900390209190915550565b601780546001808201835560008381527fc624b66cc0138b8fabc209247f72d758e1cf3343756d543badbf24212bed8c1590920180546001600160a01b0319166001600160a01b0386161790559154909161275a9190612632565b6001600160a01b039290921660009081526010602052604090206003018054610100600160881b0319166101006001600160801b038516021790555090565b6001600160a01b03811660009081526010602052604081206001015481906127c0906141f8565b6001600160a01b03841660009081526010602052604090206002018054908290556011549192509061280a9083906127fe908463ffffffff61263216565b9063ffffffff613c2216565b60118190556040517f6bac5e0eb3c44eb03a60ab11ec3a2c051771616aecadbcfff2630aabae5203829161283d91615546565b60405180910390a15092915050565b60008261285b57506000611143565b8282028284828161286857fe5b0414611f425760405162461bcd60e51b8152600401610adb90615305565b6000611f4283836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250614234565b6000806128d483613d65565b9050600360009054906101000a90046001600160a01b03166001600160a01b0316635733d58f6040518163ffffffff1660e01b815260040160206040518083038186803b15801561292457600080fd5b505afa158015612938573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061295c9190614fa7565b1192915050565b61296b614c6e565b612973614cf6565b61297b614c6e565b8482526000608083015261298d611de9565b60a083015261299a611fe6565b60c0830152600060208301525b835182602001511015612c6d57838260200151815181106129c457fe5b6020908102919091018101516001600160a01b03166060840181905260009081526010909152604090206003015460019060ff166004811115612a0357fe5b14612a0d57612c5d565b612a1b82606001518761175e565b60408301526080820151612b8257600360009054906101000a90046001600160a01b03166001600160a01b031663794e57246040518163ffffffff1660e01b815260040160206040518083038186803b158015612a7757600080fd5b505afa158015612a8b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612aaf9190614fa7565b826040015110158015612ac157508151155b15612acb57612c5d565b6000612ae08360c001518460a00151896133e4565b9050612afd8989856060015186604001518760000151868d61426b565b60808101518451919350612b17919063ffffffff61263216565b8352608082015160a0840151612b329163ffffffff61263216565b60a08085019190915282015160c0840151612b529163ffffffff61263216565b60c0840152612b618483614641565b9350612b768360c001518460a0015189614758565b15608084015250612c5d565b81608001518015612c1b5750600360009054906101000a90046001600160a01b03166001600160a01b031663794e57246040518163ffffffff1660e01b815260040160206040518083038186803b158015612bdc57600080fd5b505afa158015612bf0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612c149190614fa7565b8260400151105b15612c5d57612c348888846060015185600001516147f7565b60808101518351919250612c4e919063ffffffff61263216565b8252612c5a8382614641565b92505b60208201805160010190526129a7565b505095945050505050565b612c80614c6e565b612c88614cf6565b612c90614c6e565b848252600060208301525b835182602001511015612c6d5783826020015181518110612cb857fe5b60209081029190910101516001600160a01b031660608301819052612cdd908761175e565b6040808401919091526003548151631e5395c960e21b815291516001600160a01b039091169163794e5724916004808301926020929190829003018186803b158015612d2857600080fd5b505afa158015612d3c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612d609190614fa7565b82604001511015612da857612d7f8888846060015185600001516147f7565b60808101518351919250612d99919063ffffffff61263216565b8252612da58382614641565b92505b6020820180516001019052612c9b565b81612dc257613016565b601854600090612de4906127fe84670de0b6b3a764000063ffffffff61284c16565b90506000612e096019546127fe670de0b6b3a76400008761284c90919063ffffffff16565b90506000612e226011548461288690919063ffffffff16565b90506000612e3b6011548461288690919063ffffffff16565b9050612e62612e556011548461284c90919063ffffffff16565b859063ffffffff61263216565b601855601154612e8a90612e7d90839063ffffffff61284c16565b849063ffffffff61263216565b601955601454612ea0908363ffffffff613c2216565b601455601554612eb6908263ffffffff613c2216565b60158190556014546040517f9f8bc8ab0daf5bceef75ecfd2085d1fcc6548c657ea970d9a23a60610d0737e392612eed929161554f565b60405180910390a160405163121cbc4d60e11b81526001600160a01b03891690632439789a90612f21908990600401615546565b600060405180830381600087803b158015612f3b57600080fd5b505af1158015612f4f573d6000803e3d6000fd5b505060405163f2e91d7160e01b81526001600160a01b038a16925063f2e91d719150612f7f908990600401615546565b600060405180830381600087803b158015612f9957600080fd5b505af1158015612fad573d6000803e3d6000fd5b50506040516364a197f360e01b81526001600160a01b038b1692506364a197f39150612fdf908a908990600401615168565b600060405180830381600087803b158015612ff957600080fd5b505af115801561300d573d6000803e3d6000fd5b50505050505050505b50505050565b6011546012819055506000826001600160a01b03166314f6c3be6040518163ffffffff1660e01b815260040160206040518083038186803b15801561306057600080fd5b505afa158015613074573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906130989190614fa7565b90506000600160009054906101000a90046001600160a01b03166001600160a01b03166314f6c3be6040518163ffffffff1660e01b815260040160206040518083038186803b1580156130ea57600080fd5b505afa1580156130fe573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906131229190614fa7565b9050613138816127fe848663ffffffff61263216565b60138190556012546040517f51bf4c63ec3cba9d03d43238abbdd979dd91bd16d9895c74ceea9118c7baaf609261316f929161554f565b60405180910390a150505050565b81156131ee57600954600754604051631062c15f60e11b81526001600160a01b03928316926320c582be926131bb9291169087908790600401615122565b600060405180830381600087803b1580156131d557600080fd5b505af11580156131e9573d6000803e3d6000fd5b505050505b8015613016576040516364a197f360e01b81526001600160a01b038516906364a197f3906132229086908590600401615168565b600060405180830381600087803b15801561323c57600080fd5b505af1158015613250573d6000803e3d6000fd5b5050505050505050565b60016001600160a01b03821660009081526010602052604090206003015460ff16600481111561328657fe5b146110d05760405162461bcd60e51b8152600401610adb906154f7565b600061114361333283600360009054906101000a90046001600160a01b03166001600160a01b03166328d28b5b6040518163ffffffff1660e01b815260040160206040518083038186803b1580156132fa57600080fd5b505afa15801561330e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127fe9190614fa7565b670de0b6b3a7640000614929565b6000611f42670de0b6b3a7640000611295858563ffffffff61284c16565b600080600061336c846111e5565b90506000613379856116f6565b6001600160a01b038616600090815260106020526040812060010154919250906133a9908463ffffffff613c2216565b6001600160a01b038716600090815260106020526040812054919250906133d6908463ffffffff613c2216565b919550909350505050915091565b6000821561340b57600061340284611295878663ffffffff61284c16565b9150611f429050565b50600019611f42565b6000611143826801158e460913d0000063ffffffff613c2216565b6000611143826801158e460913d0000063ffffffff61263216565b600080613455612616565b9050600061346b670ddd4b8c6c7d70d88361493f565b9050611f01670de0b6b3a764000061129583600e5461284c90919063ffffffff16565b60006134a5600f544261263290919063ffffffff16565b9050603c81106110d05742600f8190556040517f860f8d2f0c74dd487e89e2883e3b25b8159ce1e1b3433a291cba7b82c508f3bc91610ffe91615546565b6134eb614c6e565b6134f3614cf6565b6134fb614c6e565b8482526000608083015261350d611de9565b60a083015261351a611fe6565b8260c001818152505086608001516001600160a01b0316634d6228316040518163ffffffff1660e01b815260040160206040518083038186803b15801561356057600080fd5b505afa158015613574573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906135989190614d86565b82606001906001600160a01b031690816001600160a01b031681525050600087608001516001600160a01b0316631e2231436040518163ffffffff1660e01b815260040160206040518083038186803b1580156135f457600080fd5b505afa158015613608573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061362c9190614d86565b6000602085015290505b84836020015110801561365f5750806001600160a01b031683606001516001600160a01b031614155b1561397f5760808801516060840151604051632dc9c0eb60e21b81526000926001600160a01b03169163b72703ac9161369b919060040161510e565b60206040518083038186803b1580156136b357600080fd5b505afa1580156136c7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906136eb9190614d86565b90506136fb84606001518961175e565b6040850152608084015161387457600360009054906101000a90046001600160a01b03166001600160a01b031663794e57246040518163ffffffff1660e01b815260040160206040518083038186803b15801561375757600080fd5b505afa15801561376b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061378f9190614fa7565b8460400151101580156137a157508351155b156137ac575061397f565b60006137c18560c001518660a001518b6133e4565b8a5160208c01516060880151604089015189519495506137e294868f61426b565b608081015186519195506137fc919063ffffffff61263216565b8552608084015160a08601516138179163ffffffff61263216565b8560a00181815250506138448461010001516115a68660a001518860c0015161263290919063ffffffff16565b60c08601526138538685614641565b95506138688560c001518660a001518b614758565b15608086015250613961565b8360800151801561390d5750600360009054906101000a90046001600160a01b03166001600160a01b031663794e57246040518163ffffffff1660e01b815260040160206040518083038186803b1580156138ce57600080fd5b505afa1580156138e2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906139069190614fa7565b8460400151105b1561395b5761392e89600001518a60200151866060015187600001516147f7565b60808101518551919450613948919063ffffffff61263216565b84526139548584614641565b9450613961565b5061397f565b6001600160a01b031660608401526020830180516001019052613636565b505050949350505050565b613992614c6e565b61399a614cf6565b6139a2614c6e565b600d54858352600060208401526001600160a01b03165b8483602001511015613b3457806001600160a01b0316634d6228316040518163ffffffff1660e01b815260040160206040518083038186803b1580156139fe57600080fd5b505afa158015613a12573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613a369190614d86565b6001600160a01b031660608401819052613a50908861175e565b6040808501919091526003548151631e5395c960e21b815291516001600160a01b039091169163794e5724916004808301926020929190829003018186803b158015613a9b57600080fd5b505afa158015613aaf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613ad39190614fa7565b83604001511015613b1f57613af28989856060015186600001516147f7565b60808101518451919350613b0c919063ffffffff61263216565b8352613b188483614641565b9350613b24565b613b34565b60208301805160010190526139b9565b50505095945050505050565b6000611143613b9783600360009054906101000a90046001600160a01b03166001600160a01b031663f92d34336040518163ffffffff1660e01b815260040160206040518083038186803b1580156132fa57600080fd5b600360009054906101000a90046001600160a01b03166001600160a01b031663240926696040518163ffffffff1660e01b815260040160206040518083038186803b158015613be557600080fd5b505afa158015613bf9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613c1d9190614fa7565b614929565b600082820183811015611f425760405162461bcd60e51b8152600401610adb9061520b565b601480546001600160a01b038316600090815260166020526040908190209182556015546001909201829055915491517fc437f324d85e369394148dd9d62f98f534b382e01ed3dd2eb98138fb6d3ab49a92610ffe92909161554f565b600354604080516324386ecd60e11b815290516000926001600160a01b031691634870dd9a916004808301926020929190829003018186803b158015613ce957600080fd5b505afa158015613cfd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613d219190614fa7565b8281613d2957fe5b0492915050565b60008115613d5c57613d55826112958568056bc75e2d6310000063ffffffff61284c16565b9050611143565b50600019611143565b600080613d70611fe6565b90506000613d7c611de9565b9050613d898282866133e4565b949350505050565b6000816004811115613d9f57fe5b14158015613db957506001816004811115613db657fe5b14155b613dbf57fe5b601754613dcb816149ea565b6001600160a01b0383166000908152601060205260409020600301805483919060ff19166001836004811115613dfd57fe5b02179055506001600160a01b0383166000908152601060209081526040808320600180820185905590849055601690925282208281550155613e3f8382613ee6565b600d54604051631484968760e11b81526001600160a01b03909116906329092d0e90613e6f90869060040161510e565b600060405180830381600087803b158015613e8957600080fd5b505af1158015613e9d573d6000803e3d6000fd5b50505050505050565b600080613ec5670de0b6b3a7640000611295868663ffffffff61284c16565b9050828110611f425760405162461bcd60e51b8152600401610adb9061545f565b6001600160a01b03821660009081526010602052604081206003015460ff1690816004811115613f1257fe5b14158015613f2c57506001816004811115613f2957fe5b14155b613f3257fe5b6001600160a01b03831660009081526010602052604081206003015461010090046001600160801b0316908390613f6a826001612632565b905080836001600160801b03161115613f7f57fe5b600060178281548110613f8e57fe5b600091825260209091200154601780546001600160a01b03909216925082916001600160801b038716908110613fc057fe5b600091825260208083209190910180546001600160a01b0319166001600160a01b03948516179055918316815260109091526040908190206003018054610100600160881b0319166101006001600160801b03881602179055517f02b04ae5f7be9ca7c103293a2aa15f3c339d15d6eda53b721fef7b0e609c831a906140499083908790615146565b60405180910390a1601780548061405c57fe5b600082815260209020810160001990810180546001600160a01b031916905501905550505050505050565b6001600160a01b0381166000908152601060205260409020600201546011546140b6908263ffffffff61263216565b601155506001600160a01b0316600090815260106020526040812060020155565b60006111436123646116cb565b60405163121cbc4d60e11b81526001600160a01b03841690632439789a90614110908590600401615546565b600060405180830381600087803b15801561412a57600080fd5b505af115801561413e573d6000803e3d6000fd5b505060405163f2e91d7160e01b81526001600160a01b038716925063f2e91d71915061416e908590600401615546565b600060405180830381600087803b15801561418857600080fd5b505af115801561419c573d6000803e3d6000fd5b505060405163be41205f60e01b81526001600160a01b038616925063be41205f9150613222908490600401615546565b600081848411156141f05760405162461bcd60e51b8152600401610adb91906151b8565b505050900390565b6000806013546000141561420d575081611143565b60006012541161421957fe5b611f426013546112956012548661284c90919063ffffffff16565b600081836142555760405162461bcd60e51b8152600401610adb91906151b8565b50600083858161426157fe5b0495945050505050565b614273614c6e565b61427b614d3e565b60175460011061428b5750614636565b614294876121b4565b604085015260208481019190915284018190529083526142b390613ca4565b604083018190526801158e460913d00000606084015260208301516142dd9163ffffffff61263216565b8152670de0b6b3a764000086116143a8576143028989836020015184604001516140e4565b61430b87614087565b60006080830181905260a0830152815160c0830152805160e0830152614332876003613d91565b815160208301516040516001600160a01b038a1692600080516020615646833981519152926143639260029061555d565b60405180910390a2866001600160a01b03166000805160206156668339815191526000806000600260405161439b949392919061518c565b60405180910390a2614634565b670de0b6b3a7640000861180156144435750600360009054906101000a90046001600160a01b03166001600160a01b031663794e57246040518163ffffffff1660e01b815260040160206040518083038186803b15801561440857600080fd5b505afa15801561441c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906144409190614fa7565b86105b156144935761445c8989836020015184604001516140e4565b61446587614087565b81518151614474919087614a90565b60e086015260c085015260a08401526080830152614332876003613d91565b600360009054906101000a90046001600160a01b03166001600160a01b031663794e57246040518163ffffffff1660e01b815260040160206040518083038186803b1580156144e157600080fd5b505afa1580156144f5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906145199190614fa7565b861015801561452757508386105b8015614534575081518510155b156146235761454d8989836020015184604001516140e4565b8461455457fe5b61455d87614087565b6145708260000151836020015185614afc565b915061457d876003613d91565b610100820151156145f257600854610100830151604051633f10abab60e01b81526001600160a01b0390921691633f10abab916145bf918b9190600401615168565b600060405180830381600087803b1580156145d957600080fd5b505af11580156145ed573d6000803e3d6000fd5b505050505b815160a08301516040516001600160a01b038a1692600080516020615646833981519152926143639260029061555d565b61462b614c6e565b91506146369050565b505b979650505050505050565b614649614c6e565b604080830151908401516146629163ffffffff613c2216565b6040820152606080830151908401516146809163ffffffff613c2216565b60608201528151602084015161469b9163ffffffff613c2216565b60208083019190915282015183516146b89163ffffffff613c2216565b8152608080830151908401516146d39163ffffffff613c2216565b608082015260a080830151908401516146f19163ffffffff613c2216565b60a082015260c0808301519084015161470f9163ffffffff613c2216565b60c082015260e0808301519084015161472d9163ffffffff613c2216565b60e0820152610100808301519084015161474c9163ffffffff613c2216565b61010082015292915050565b6000806147668585856133e4565b9050600360009054906101000a90046001600160a01b03166001600160a01b0316635733d58f6040518163ffffffff1660e01b815260040160206040518083038186803b1580156147b657600080fd5b505afa1580156147ca573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906147ee9190614fa7565b11949350505050565b6147ff614c6e565b614807614d3e565b614810846121b4565b6040850190815260208581019283528601929092529184529051905161483a9188918891906140e4565b61484384614087565b6148508260200151613ca4565b604083018190526801158e460913d000006060840152602083015160009161487e919063ffffffff61263216565b905061488f83600001518286614a90565b60e087015260c086015260a085015260808401526148ae856003613d91565b825160208401516040516001600160a01b03881692600080516020615646833981519152926148df9260019061555d565b60405180910390a2846001600160a01b031660008051602061566683398151915260008060006001604051614917949392919061518c565b60405180910390a25050949350505050565b60008183106149385781611f42565b5090919050565b6000631f54050082111561495557631f54050091505b816149695750670de0b6b3a7640000611143565b670de0b6b3a764000083835b60018111156149e057600281066149aa576149908283614c0a565b91506149a381600263ffffffff61288616565b90506149db565b6149b48284614c0a565b92506149c08283614c0a565b91506149d8600261129583600163ffffffff61263216565b90505b614975565b6112a18284614c0a565b600181118015614a745750600d546040805163de8fa43160e01b815290516001926001600160a01b03169163de8fa431916004808301926020929190829003018186803b158015614a3a57600080fd5b505afa158015614a4e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190614a729190614fa7565b115b6110d05760405162461bcd60e51b8152600401610adb906152bb565b60008080808415614ae657614aa58786614929565b9350614abb87611295888763ffffffff61284c16565b9250614acd878563ffffffff61263216565b9150614adf868463ffffffff61263216565b9050614af3565b5060009250829150859050845b93509350935093565b614b04614c6e565b838152602080820184905260035460408051631e5395c960e21b81529051600093614ba0938793611295936001600160a01b039092169263794e572492600480840193829003018186803b158015614b5b57600080fd5b505afa158015614b6f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190614b939190614fa7565b889063ffffffff61284c16565b9050614bab81613ca4565b604083018190526801158e460913d00000606084015260808301869052614bd990829063ffffffff61263216565b60a0830152614bee848263ffffffff61263216565b61010083015250600060c0820181905260e08201529392505050565b600080614c1d848463ffffffff61284c16565b9050613d89670de0b6b3a7640000611295836706f05b59d3b20000613c22565b6040518060a00160405280600081526020016000815260200160001515815260200160008152602001600081525090565b6040518061012001604052806000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081525090565b6040805160e081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c081019190915290565b6040518060e0016040528060008152602001600081526020016000815260200160006001600160a01b0316815260200160001515815260200160008152602001600081525090565b60405180606001604052806000815260200160008152602001600081525090565b803561114381615630565b600060208284031215614d7b578081fd5b8135611f4281615630565b600060208284031215614d97578081fd5b8151611f4281615630565b60008060408385031215614db4578081fd5b8235614dbf81615630565b946020939093013593505050565b60006020808385031215614ddf578182fd5b823567ffffffffffffffff811115614df5578283fd5b80840185601f820112614e06578384fd5b80359150614e1b614e1683615605565b6155de565b8281528381019082850185850284018601891015614e37578687fd5b8693505b8484101561463457614e4d8982614d5f565b835260019390930192918501918501614e3b565b60006101c0808385031215614e74578182fd5b614e7d816155de565b614e878585614d5f565b8152614e968560208601614d5f565b6020820152614ea88560408601614d5f565b6040820152614eba8560608601614d5f565b6060820152614ecc8560808601614d5f565b6080820152614ede8560a08601614d5f565b60a0820152614ef08560c08601614d5f565b60c0820152614f028560e08601614d5f565b60e08201526101009150614f1885838601614d5f565b828201526101209150614f2d85838601614d5f565b828201526101409150614f4285838601614d5f565b828201526101609150614f5785838601614d5f565b828201526101809150614f6c85838601614d5f565b828201526101a09150614f8185838601614d5f565b918101919091529392505050565b600060208284031215614fa0578081fd5b5035919050565b600060208284031215614fb8578081fd5b5051919050565b600080600080600080600060e0888a031215614fd9578283fd5b873596506020880135614feb81615630565b95506040880135614ffb81615630565b9450606088013561500b81615630565b9699959850939660808101359560a0820135955060c0909101359350915050565b600080600080600080600080888a03610160811215615049578182fd5b8935985060208a013561505b81615630565b975060408a013561506b81615630565b965060608a013561507b81615630565b955060808a810135955060a08b0135945060c08b0135935060df19820112156150a2578182fd5b5060e0890190509295985092959890939650565b6000806000606084860312156150ca578283fd5b505081359360208301359350604090920135919050565b6000828483379101908152919050565b7035b2bc9737bbb730b136329737bbb732b960791b815260110190565b6001600160a01b0391909116815260200190565b6001600160a01b039384168152919092166020820152604081019190915260600190565b6001600160a01b039290921682526001600160801b0316602082015260400190565b6001600160a01b03929092168252602082015260400190565b901515815260200190565b8481526020810184905260408101839052608081016151aa83615625565b606083015295945050505050565b6000602080835283518082850152825b818110156151e4578581018301518582016040015282016151c8565b818111156151f55783604083870101525b50601f01601f1916929092016040019392505050565b6020808252601b908201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604082015260600190565b60208082526022908201527f4f776e61626c653a3a7365744f776e65723a20696e76616c6964206164647265604082015261737360f01b606082015260800190565b6020808252601e908201527f4163636f756e742063616e6e6f74206265207a65726f20616464726573730000604082015260600190565b6020808252602a908201527f54726f76654d616e616765723a204f6e6c79206f6e652074726f766520696e206040820152697468652073797374656d60b01b606082015260800190565b60208082526021908201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6040820152607760f81b606082015260800190565b6020808252603b908201527f54726f76654d616e616765723a2043616c6c6572206973206e6f74207468652060408201527f426f72726f7765724f7065726174696f6e7320636f6e74726163740000000000606082015260800190565b60208082526017908201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604082015260600190565b60208082526036908201527f54726f76654d616e616765723a2043616c6c646174612061646472657373206160408201527572726179206d757374206e6f7420626520656d70747960501b606082015260800190565b6020808252818101527f4163636f756e7420636f64652073697a652063616e6e6f74206265207a65726f604082015260600190565b60208082526036908201527f54726f76654d616e616765723a2046656520776f756c642065617420757020616040820152751b1b081c995d1d5c9b99590818dbdb1b185d195c985b60521b606082015260800190565b60208082526022908201527f54726f76654d616e616765723a206e6f7468696e6720746f206c697175696461604082015261746560f01b606082015260800190565b6020808252602f908201527f54726f76654d616e616765723a2054726f766520646f6573206e6f742065786960408201526e1cdd081bdc881a5cc818db1bdcd959608a1b606082015260800190565b90815260200190565b918252602082015260400190565b83815260208101839052606081016004831061557557fe5b826040830152949350505050565b858152602081018590526040810184905260a08101600584106155a257fe5b60608201939093526001600160801b03919091166080909101529392505050565b93845260208401929092526040830152606082015260800190565b60405181810167ffffffffffffffff811182821017156155fd57600080fd5b604052919050565b600067ffffffffffffffff82111561561b578081fd5b5060209081020190565b80600481106111a957fe5b6001600160a01b03811681146110d057600080fdfeea67486ed7ebe3eea8ab3390efd4a3c8aae48be5bea27df104a8af786c408434c3770d654ed33aeea6bf11ac8ef05d02a6a04ed4686dd2f624d853bbec43cc8ba2646970667358221220fa638268bd477a34983ec9709b7e8ae76c286d60c7d4262c98e769f0e17c4a4664736f6c634300060b0033", - "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106105255760003560e01c8063741bef1a116102af578063b7f8cf9b11610172578063d3d6f843116100d9578063dc62a70211610092578063dc62a70214610a3c578063e056e91814610a4f578063e2ac77b014610a62578063f36b242514610a75578063fe2ba84814610a7d578063febb33de14610a9057610525565b8063d3d6f843146109e0578063d5b35635146109f3578063d66a255314610a06578063d815e8e914610a19578063d9a7244414610a21578063da303f1414610a3457610525565b8063c35bc5501161012b578063c35bc5501461099a578063c52861f2146109a2578063c7b55481146109aa578063cbd138ae146109b2578063d293c710146109c5578063d380a37c146109d857610525565b8063b7f8cf9b14610939578063b82f263d14610941578063b91af97c14610954578063bcd3752614610977578063be4b03341461098a578063bf9befb11461099257610525565b8063887105d311610216578063a20baee6116101cf578063a20baee61461081f578063a3f4df7e146108ee578063a537896f14610903578063ae7bec1914610916578063ae9187541461091e578063b0d8e1811461092657610525565b8063887105d3146108b3578063893d20e8146108bb57806396d711ff146108c35780639976cf45146108cb5780639dd233d2146108de5780639f070670146108e657610525565b80637cf54e40116102685780637cf54e40146108625780637f7dde4a1461086a578063807d138d14610872578063814a0a451461087a57806382fe3eb91461088d57806387436936146108a057610525565b8063741bef1a14610827578063756b253e1461082f578063759b303414610842578063794e57241461084a578063795d26c314610852578063797250e31461085a57610525565b80633a128595116103f75780635d8c96091161035e57806366ca4a211161031757806366ca4a21146107d05780636b444952146107d85780636ef64338146107e0578063716c47e61461080457806372423c171461080c57806372fe25aa1461081f57610525565b80635d8c9609146107745780635dba4c4a1461078757806361ec893d1461078f578063631203b01461079757806364cee260146107aa578063653d46e7146107bd57610525565b80634a767d68116103b05780634a767d68146107005780634e443d9e146107135780634ff814431461073357806354062a45146107465780635733d58f146107595780635d6b480f1461076157610525565b80633a128595146106af5780633cc74225146106b757806342ccf1e4146106bf578063477d66cf146106d2578063480cd578146106e557806349eefeee146106f857610525565b806317c62b171161049b5780631eb08380116104545780631eb08380146106695780631f68f20a1461067157806321e37801146106795780632b11551a1461068c5780632f8655681461069457806331c903b0146106a757610525565b806317c62b171461060257806318f2817a146106155780631a59a50e146106285780631bf435551461063b5780631d08837b146106435780631e8b1c2b1461065657610525565b80630d43e8ad116104ed5780630d43e8ad1461058b578063105bb15c146105a057806312610e92146105a857806313af4035146105bb57806315d549f1146105ce5780631673c79a146105e157610525565b806301f16e181461052a578063043782fb1461053f57806305b6f5ca14610547578063071a75411461055a5780630b07655714610578575b600080fd5b61053d610538366004614e61565b610aa3565b005b61053d611009565b61053d61055536600461502c565b61100f565b6105626110a6565b60405161056f9190615546565b60405180910390f35b61053d610586366004614d6a565b6110ab565b6105936110d3565b60405161056f919061510e565b6105626110e2565b6105626105b6366004614da2565b6110f1565b61053d6105c9366004614d6a565b611149565b6105626105dc366004614d6a565b61118a565b6105f46105ef366004614d6a565b6111ae565b60405161056f92919061554f565b610562610610366004614d6a565b6111c7565b610562610623366004614d6a565b6111d2565b610562610636366004614d6a565b6111e5565b6105626112ab565b61053d610651366004614f8f565b6112b8565b61053d610664366004614dcd565b6112bd565b61056261161e565b61056261162b565b610562610687366004614d6a565b611631565b61056261165b565b61053d6106a2366004614d6a565b611665565b6105626116cb565b6105936116d8565b6105936116e7565b6105626106cd366004614d6a565b6116f6565b6105626106e0366004614f8f565b611727565b6105626106f3366004614d6a565b61173a565b610562611758565b61056261070e366004614da2565b61175e565b610726610721366004614f8f565b61177d565b60405161056f9190615181565b610562610741366004614f8f565b611788565b610562610754366004614f8f565b611793565b61056261179e565b61053d61076f366004614da2565b61181b565b610562610782366004614d6a565b611867565b61053d611872565b6105626118dd565b6105626107a5366004614f8f565b6118e2565b6105626107b8366004614d6a565b6118ef565b61053d6107cb366004614f8f565b61190d565b610562611c97565b610562611ca9565b6107f36107ee366004614d6a565b611caf565b60405161056f959493929190615583565b610593611ce9565b61056261081a366004614da2565b611cf8565b610562611d55565b610593611d61565b61059361083d366004614f8f565b611d70565b610562611d97565b610562611da4565b610562611de9565b610562611f08565b610593611f0e565b610593611f1d565b610562611f2c565b6105626108883660046150b6565b611f32565b61053d61089b366004614d6a565b611f49565b61053d6108ae366004614d6a565b611f5a565b610562611fe6565b6105936120b5565b6105626120d4565b6105626108d9366004614da2565b6120da565b61056261210d565b610593612113565b6108f6612122565b60405161056f91906151b8565b610562610911366004614f8f565b61214a565b610593612155565b610593612164565b610562610934366004614d6a565b612173565b61059361219a565b61056261094f366004614f8f565b6121a9565b610967610962366004614d6a565b6121b4565b60405161056f94939291906155c3565b61053d610985366004614fbf565b612218565b6105626122ae565b6105626122b4565b6105626122ba565b6105626122de565b6105626122f0565b61053d6109c0366004614d6a565b6122fc565b6105626109d3366004614da2565b61230f565b61056261231b565b6105626109ee366004614da2565b612321565b610562610a01366004614f8f565b612357565b610562610a14366004614d6a565b61236a565b610593612385565b610593610a2f366004614f8f565b612394565b6105626123be565b61053d610a4a366004614d6a565b6123ee565b610726610a5d366004614d6a565b6123fb565b610726610a70366004614d6a565b612459565b610562612464565b61053d610a8b366004614d6a565b612471565b610562610a9e366004614f8f565b612482565b610aab6120b5565b6001600160a01b0316336001600160a01b031614610ae45760405162461bcd60e51b8152600401610adb906153a3565b60405180910390fd5b8051610aef90612493565b610afc8160200151612493565b610b098160400151612493565b610b168160600151612493565b610b238160800151612493565b610b308160a00151612493565b610b3d8160c00151612493565b610b4a8160e00151612493565b610b58816101000151612493565b610b66816101200151612493565b610b74816101400151612493565b610b82816101600151612493565b610b90816101800151612493565b610b9e816101a00151612493565b8051600c80546001600160a01b03199081166001600160a01b038085169190911790925560208401516004805483169184169190911790556040808501516003805484169185169190911790556060850151600580548416918516919091179055608085015160008054841691851691909117905560a085015160018054841691851691909117905560c085015160068054841691851691909117905560e0850151600780548416918516919091179055610100850151600880548416918516919091179055610120850151600280548416918516919091179055610140850151600980548416918516919091179055610160850151600d80548416918516919091179055610180850151600a805484169185169190911790556101a0850151600b80549093169316929092179055517f84861842e6a98dd759145eb5e7b48279d0f02ebeabc8a69e5196b2f4c5023db991610cf99161510e565b60405180910390a17f6493041f605f233753d9b16dd158c9f297b8eaca22b2d0dc402a454f5683a5b18160200151604051610d34919061510e565b60405180910390a17fbf65195e6d5213f6fcbce65b1454c925197a45e616dabd2e243542b039b050928160600151604051610d6f919061510e565b60405180910390a17f3ca631ffcd2a9b5d9ae18543fc82f58eb4ca33af9e6ab01b7a8e95331e6ed9858160600151604051610daa919061510e565b60405180910390a17f78f058b189175430c48dc02699e3a0031ea4ff781536dc2fab847de4babdd8828160800151604051610de5919061510e565b60405180910390a17f5ee0cae2f063ed938bb55046f6a932fb6ae792bf43624806bb90abe68a50be9b8160a00151604051610e20919061510e565b60405180910390a17f82966d27eea39b038ee0fa30cd16532bb24f6e65d31cb58fb227aa5766cdcc7f8160c00151604051610e5b919061510e565b60405180910390a17fcfb07d791fcafc032b35837b50eb84b74df518cf4cc287e8084f47630fa70fa08160e00151604051610e96919061510e565b60405180910390a17fe67f36a6e961157d6eff83b91f3af5a62131ceb6f04954ef74f51c1c05e7f88d816101000151604051610ed2919061510e565b60405180910390a17f8c537274438aa850a330284665d81a85dd38267d09e4050d416bfc94142db264816101200151604051610f0e919061510e565b60405180910390a17fcdf33850c44a1a874b5fefb51dae615ac6afebd581ef90d571f81b06541d8e9d816101400151604051610f4a919061510e565b60405180910390a17f65f4cf077bc01e4742eb5ad98326f6e95b63548ea24b17f8d5e823111fe78800816101600151604051610f86919061510e565b60405180910390a17f61e0c29d5028a9e4facaa476a46e78912e99f1ba945c9560b86b82ebe36ee52d816101800151604051610fc2919061510e565b60405180910390a17f7624075ed781e3aa34b0f492d70d1bb5a6fcde04534165e20f990d2e546be4dd816101a00151604051610ffe919061510e565b60405180910390a150565b42600f55565b6004546040516000916060916001600160a01b039091169061103490849036906150e1565b600060405180830381855af49150503d806000811461106f576040519150601f19603f3d011682016040523d82523d6000602084013e611074565b606091505b50915091508181906110995760405162461bcd60e51b8152600401610adb91906151b8565b5050505050505050505050565b600281565b6110b36124d8565b6000546001546110d0916001600160a01b03908116911683612504565b50565b600c546001600160a01b031681565b60006110ec612616565b905090565b60006110fb6124d8565b6001600160a01b038316600090815260106020526040812054611124908463ffffffff61263216565b6001600160a01b03851660009081526010602052604090208190559150505b92915050565b6111516120b5565b6001600160a01b0316336001600160a01b0316146111815760405162461bcd60e51b8152600401610adb906153a3565b6110d081612674565b60006111946124d8565b61119d826126ff565b6001600160801b031690505b919050565b6016602052600090815260409020805460019091015482565b6000611143826116f6565b60006111dc6124d8565b61114382612799565b6001600160a01b0381166000908152601660205260408120546014548290611213908363ffffffff61263216565b905080158061124c575060016001600160a01b03851660009081526010602052604090206003015460ff16600481111561124957fe5b14155b1561125c576000925050506111a9565b6001600160a01b038416600090815260106020526040812060020154906112a1670de0b6b3a7640000611295848663ffffffff61284c16565b9063ffffffff61288616565b9695505050505050565b6809c2007651b250000081565b600e55565b80516112db5760405162461bcd60e51b8152600401610adb906153d4565b6000546001546006546001600160a01b039283169291821691166112fd614c3d565b611305614c6e565b600260009054906101000a90046001600160a01b03166001600160a01b0316630fdb11cf6040518163ffffffff1660e01b8152600401602060405180830381600087803b15801561135557600080fd5b505af1158015611369573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061138d9190614fa7565b826000018181525050826001600160a01b031663bdaf37ea6040518163ffffffff1660e01b815260040160206040518083038186803b1580156113cf57600080fd5b505afa1580156113e3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114079190614fa7565b60208301528151611417906128c8565b158015604084015261143f576114388585846000015185602001518a612963565b9050611457565b6114548585846000015185602001518a612c78565b90505b600081602001511161147b5760405162461bcd60e51b8152600401610adb906154b5565b608081015160a082015160405163335525ad60e01b81526001600160a01b0386169263335525ad926114af9260040161554f565b600060405180830381600087803b1580156114c957600080fd5b505af11580156114dd573d6000803e3d6000fd5b505050506114f585858360c001518460e00151612db8565b6101008101511561156c576008546101008201516040516364a197f360e01b81526001600160a01b03888116936364a197f393611539939290911691600401615168565b600060405180830381600087803b15801561155357600080fd5b505af1158015611567573d6000803e3d6000fd5b505050505b61157a85826040015161301c565b60208101516060830152610100810151604082015182516115b292916115a6919063ffffffff61263216565b9063ffffffff61263216565b608083018190526060808401516040808501519285015190517f4152c73dd2614c4f9fc35e8c9cf16013cd588c75b49a4c1673ecffdcbcda9403946115fa94909290916155c3565b60405180910390a161161685338360600151846040015161317d565b505050505050565b6801158e460913d0000090565b600e5481565b6001600160a01b03811660009081526010602052604081206003015460ff16600481111561114357fe5b60006110ec6116cb565b61166e8161325a565b60408051600180825281830190925260609160208083019080368337019050509050818160008151811061169e57fe5b60200260200101906001600160a01b031690816001600160a01b0316815250506116c7816112bd565b5050565b60006110ec600e546132a3565b600b546001600160a01b031681565b6001546001600160a01b031681565b6001600160a01b0381166000908152601660205260408120600101546015548290611213908363ffffffff61263216565b6000611143611734611c97565b83613340565b6001600160a01b031660009081526010602052604090206001015490565b60175490565b600080600061176c8561335e565b9150915060006112a18383876133e4565b6000611143826128c8565b600061114382613414565b60006111438261342f565b60035460408051635733d58f60e01b815290516000926001600160a01b031691635733d58f916004808301926020929190829003018186803b1580156117e357600080fd5b505afa1580156117f7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110ec9190614fa7565b6118236124d8565b80600481111561182f57fe5b6001600160a01b0383166000908152601060205260409020600301805460ff1916600183600481111561185e57fe5b02179055505050565b6000611143826111e5565b61187a6124d8565b600061188461344a565b9050670de0b6b3a764000081111561189857fe5b600e8190556040517fc454ee9b76c52f782a256af821b857ca6e125d1e3333bcede402fec2bed9600c906118cd908390615546565b60405180910390a16110d061348e565b603c81565b6000611143611734612464565b6001600160a01b031660009081526010602052604090206002015490565b611915614cba565b506040805160e081018252600080546001600160a01b0390811683526001548116602084015292820181905260608201819052600d548316608083015260a0820181905260c082015260065490911661196c614c3d565b611974614c6e565b600260009054906101000a90046001600160a01b03166001600160a01b0316630fdb11cf6040518163ffffffff1660e01b8152600401602060405180830381600087803b1580156119c457600080fd5b505af11580156119d8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119fc9190614fa7565b826000018181525050826001600160a01b031663bdaf37ea6040518163ffffffff1660e01b815260040160206040518083038186803b158015611a3e57600080fd5b505afa158015611a52573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a769190614fa7565b60208301528151611a86906128c8565b1580156040840152611aad57611aa68483600001518460200151886134e3565b9050611acd565b611aca84600001518560200151846000015185602001518961398a565b90505b6000816020015111611af15760405162461bcd60e51b8152600401610adb906154b5565b608081015160a082015160405163335525ad60e01b81526001600160a01b0386169263335525ad92611b259260040161554f565b600060405180830381600087803b158015611b3f57600080fd5b505af1158015611b53573d6000803e3d6000fd5b50505050611b73846000015185602001518360c001518460e00151612db8565b61010081015115611bea5783516008546101008301516040516364a197f360e01b81526001600160a01b03938416936364a197f393611bb793911691600401615168565b600060405180830381600087803b158015611bd157600080fd5b505af1158015611be5573d6000803e3d6000fd5b505050505b611bfc8460000151826040015161301c565b6020810151606083015261010081015160408201518251611c2892916115a6919063ffffffff61263216565b608083018190526060808401516040808501519285015190517f4152c73dd2614c4f9fc35e8c9cf16013cd588c75b49a4c1673ecffdcbcda940394611c7094909290916155c3565b60405180910390a1611c908460000151338360600151846040015161317d565b5050505050565b60006110ec611ca461344a565b613b40565b60195481565b60106020526000908152604090208054600182015460028301546003909301549192909160ff81169061010090046001600160801b031685565b6004546001600160a01b031681565b6000611d026124d8565b6001600160a01b038316600090815260106020526040812060010154611d2e908463ffffffff613c2216565b6001600160a01b038516600090815260106020526040902060010181905591505092915050565b670de0b6b3a764000081565b6002546001600160a01b031681565b60178181548110611d7d57fe5b6000918252602090912001546001600160a01b0316905081565b6801158e460913d0000081565b60035460408051631e5395c960e21b815290516000926001600160a01b03169163794e5724916004808301926020929190829003018186803b1580156117e357600080fd5b60008054604080516272c7d360e71b8152905183926001600160a01b031691633963e980916004808301926020929190829003018186803b158015611e2d57600080fd5b505afa158015611e41573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e659190614fa7565b90506000600160009054906101000a90046001600160a01b03166001600160a01b0316633963e9806040518163ffffffff1660e01b815260040160206040518083038186803b158015611eb757600080fd5b505afa158015611ecb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611eef9190614fa7565b9050611f01828263ffffffff613c2216565b9250505090565b60185481565b600a546001600160a01b031681565b6000546001600160a01b031681565b60125481565b6000611f3f8484846133e4565b90505b9392505050565b611f516124d8565b6110d081613c47565b611f626120b5565b6001600160a01b0316336001600160a01b031614611f925760405162461bcd60e51b8152600401610adb906153a3565b611f9b81612493565b600480546001600160a01b0319166001600160a01b0383161790556040517f6493041f605f233753d9b16dd158c9f297b8eaca22b2d0dc402a454f5683a5b190610ffe90839061510e565b6000805460408051630a7b61df60e11b8152905183926001600160a01b0316916314f6c3be916004808301926020929190829003018186803b15801561202b57600080fd5b505afa15801561203f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120639190614fa7565b90506000600160009054906101000a90046001600160a01b03166001600160a01b03166314f6c3be6040518163ffffffff1660e01b815260040160206040518083038186803b158015611eb757600080fd5b6000806040516120c4906150f1565b6040519081900390205492915050565b60135481565b60006120e46124d8565b6001600160a01b038316600090815260106020526040812054611124908463ffffffff613c2216565b60145481565b6003546001600160a01b031681565b6040518060400160405280600c81526020016b2a3937bb32a6b0b730b3b2b960a11b81525081565b600061114382613ca4565b6006546001600160a01b031681565b600d546001600160a01b031681565b60008060006121818461335e565b9150915060006121918383613d30565b95945050505050565b6005546001600160a01b031681565b600061114382613d65565b6001600160a01b038116600090815260106020526040812080546001909101549091806121e0856111c7565b91506121eb85611867565b90506121fd848363ffffffff613c2216565b935061220f838263ffffffff613c2216565b92509193509193565b6004546040516000916060916001600160a01b039091169061223d90849036906150e1565b600060405180830381855af49150503d8060008114612278576040519150601f19603f3d011682016040523d82523d6000602084013e61227d565b606091505b50915091508181906122a25760405162461bcd60e51b8152600401610adb91906151b8565b50505050505050505050565b60155481565b60115481565b7f000000000000000000000000000000000000000000000000000000000000000081565b60006110ec6122eb61344a565b6132a3565b670ddd4b8c6c7d70d881565b6123046124d8565b6110d0816002613d91565b6000611f42838361175e565b600f5481565b600061232b6124d8565b6001600160a01b038316600090815260106020526040812060010154611d2e908463ffffffff61263216565b60006111436123646122de565b83613ea6565b6001600160a01b031660009081526010602052604090205490565b6009546001600160a01b031681565b6000601782815481106123a357fe5b6000918252602090912001546001600160a01b031692915050565b60006123c861344a565b600e55670de0b6b3a7640000600e5411156123df57fe5b6123e761348e565b50600e5490565b6017546116c78282613ee6565b600060016001600160a01b03831660009081526010602052604090206003015460ff16600481111561242957fe5b14612436575060006111a9565b506014546001600160a01b03821660009081526016602052604090205410919050565b6000611143826123fb565b60006110ec600e54613b40565b6124796124d8565b6110d081614087565b600061248d826140d7565b50919050565b6001600160a01b0381166124b95760405162461bcd60e51b8152600401610adb90615284565b803b806116c75760405162461bcd60e51b8152600401610adb9061542a565b6005546001600160a01b031633146125025760405162461bcd60e51b8152600401610adb90615346565b565b61250d816123fb565b156126115761251b8161325a565b6000612526826111e5565b90506000612533836116f6565b6001600160a01b038416600090815260106020526040902060010154909150612562908363ffffffff613c2216565b6001600160a01b0384166000908152601060205260409020600181019190915554612593908263ffffffff613c2216565b6001600160a01b0384166000908152601060205260409020556125b583613c47565b6125c1858583856140e4565b6001600160a01b03831660008181526010602052604080822080546001820154600290920154925160008051602061566683398151915294612606949293929161518c565b60405180910390a250505b505050565b60006110ec603c611295600f544261263290919063ffffffff16565b6000611f4283836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506141cc565b6001600160a01b03811661269a5760405162461bcd60e51b8152600401610adb90615242565b806001600160a01b03166126ac6120b5565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360006040516126ef906150f1565b6040519081900390209190915550565b601780546001808201835560008381527fc624b66cc0138b8fabc209247f72d758e1cf3343756d543badbf24212bed8c1590920180546001600160a01b0319166001600160a01b0386161790559154909161275a9190612632565b6001600160a01b039290921660009081526010602052604090206003018054610100600160881b0319166101006001600160801b038516021790555090565b6001600160a01b03811660009081526010602052604081206001015481906127c0906141f8565b6001600160a01b03841660009081526010602052604090206002018054908290556011549192509061280a9083906127fe908463ffffffff61263216565b9063ffffffff613c2216565b60118190556040517f6bac5e0eb3c44eb03a60ab11ec3a2c051771616aecadbcfff2630aabae5203829161283d91615546565b60405180910390a15092915050565b60008261285b57506000611143565b8282028284828161286857fe5b0414611f425760405162461bcd60e51b8152600401610adb90615305565b6000611f4283836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250614234565b6000806128d483613d65565b9050600360009054906101000a90046001600160a01b03166001600160a01b0316635733d58f6040518163ffffffff1660e01b815260040160206040518083038186803b15801561292457600080fd5b505afa158015612938573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061295c9190614fa7565b1192915050565b61296b614c6e565b612973614cf6565b61297b614c6e565b8482526000608083015261298d611de9565b60a083015261299a611fe6565b60c0830152600060208301525b835182602001511015612c6d57838260200151815181106129c457fe5b6020908102919091018101516001600160a01b03166060840181905260009081526010909152604090206003015460019060ff166004811115612a0357fe5b14612a0d57612c5d565b612a1b82606001518761175e565b60408301526080820151612b8257600360009054906101000a90046001600160a01b03166001600160a01b031663794e57246040518163ffffffff1660e01b815260040160206040518083038186803b158015612a7757600080fd5b505afa158015612a8b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612aaf9190614fa7565b826040015110158015612ac157508151155b15612acb57612c5d565b6000612ae08360c001518460a00151896133e4565b9050612afd8989856060015186604001518760000151868d61426b565b60808101518451919350612b17919063ffffffff61263216565b8352608082015160a0840151612b329163ffffffff61263216565b60a08085019190915282015160c0840151612b529163ffffffff61263216565b60c0840152612b618483614641565b9350612b768360c001518460a0015189614758565b15608084015250612c5d565b81608001518015612c1b5750600360009054906101000a90046001600160a01b03166001600160a01b031663794e57246040518163ffffffff1660e01b815260040160206040518083038186803b158015612bdc57600080fd5b505afa158015612bf0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612c149190614fa7565b8260400151105b15612c5d57612c348888846060015185600001516147f7565b60808101518351919250612c4e919063ffffffff61263216565b8252612c5a8382614641565b92505b60208201805160010190526129a7565b505095945050505050565b612c80614c6e565b612c88614cf6565b612c90614c6e565b848252600060208301525b835182602001511015612c6d5783826020015181518110612cb857fe5b60209081029190910101516001600160a01b031660608301819052612cdd908761175e565b6040808401919091526003548151631e5395c960e21b815291516001600160a01b039091169163794e5724916004808301926020929190829003018186803b158015612d2857600080fd5b505afa158015612d3c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612d609190614fa7565b82604001511015612da857612d7f8888846060015185600001516147f7565b60808101518351919250612d99919063ffffffff61263216565b8252612da58382614641565b92505b6020820180516001019052612c9b565b81612dc257613016565b601854600090612de4906127fe84670de0b6b3a764000063ffffffff61284c16565b90506000612e096019546127fe670de0b6b3a76400008761284c90919063ffffffff16565b90506000612e226011548461288690919063ffffffff16565b90506000612e3b6011548461288690919063ffffffff16565b9050612e62612e556011548461284c90919063ffffffff16565b859063ffffffff61263216565b601855601154612e8a90612e7d90839063ffffffff61284c16565b849063ffffffff61263216565b601955601454612ea0908363ffffffff613c2216565b601455601554612eb6908263ffffffff613c2216565b60158190556014546040517f9f8bc8ab0daf5bceef75ecfd2085d1fcc6548c657ea970d9a23a60610d0737e392612eed929161554f565b60405180910390a160405163121cbc4d60e11b81526001600160a01b03891690632439789a90612f21908990600401615546565b600060405180830381600087803b158015612f3b57600080fd5b505af1158015612f4f573d6000803e3d6000fd5b505060405163f2e91d7160e01b81526001600160a01b038a16925063f2e91d719150612f7f908990600401615546565b600060405180830381600087803b158015612f9957600080fd5b505af1158015612fad573d6000803e3d6000fd5b50506040516364a197f360e01b81526001600160a01b038b1692506364a197f39150612fdf908a908990600401615168565b600060405180830381600087803b158015612ff957600080fd5b505af115801561300d573d6000803e3d6000fd5b50505050505050505b50505050565b6011546012819055506000826001600160a01b03166314f6c3be6040518163ffffffff1660e01b815260040160206040518083038186803b15801561306057600080fd5b505afa158015613074573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906130989190614fa7565b90506000600160009054906101000a90046001600160a01b03166001600160a01b03166314f6c3be6040518163ffffffff1660e01b815260040160206040518083038186803b1580156130ea57600080fd5b505afa1580156130fe573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906131229190614fa7565b9050613138816127fe848663ffffffff61263216565b60138190556012546040517f51bf4c63ec3cba9d03d43238abbdd979dd91bd16d9895c74ceea9118c7baaf609261316f929161554f565b60405180910390a150505050565b81156131ee57600954600754604051631062c15f60e11b81526001600160a01b03928316926320c582be926131bb9291169087908790600401615122565b600060405180830381600087803b1580156131d557600080fd5b505af11580156131e9573d6000803e3d6000fd5b505050505b8015613016576040516364a197f360e01b81526001600160a01b038516906364a197f3906132229086908590600401615168565b600060405180830381600087803b15801561323c57600080fd5b505af1158015613250573d6000803e3d6000fd5b5050505050505050565b60016001600160a01b03821660009081526010602052604090206003015460ff16600481111561328657fe5b146110d05760405162461bcd60e51b8152600401610adb906154f7565b600061114361333283600360009054906101000a90046001600160a01b03166001600160a01b03166328d28b5b6040518163ffffffff1660e01b815260040160206040518083038186803b1580156132fa57600080fd5b505afa15801561330e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127fe9190614fa7565b670de0b6b3a7640000614929565b6000611f42670de0b6b3a7640000611295858563ffffffff61284c16565b600080600061336c846111e5565b90506000613379856116f6565b6001600160a01b038616600090815260106020526040812060010154919250906133a9908463ffffffff613c2216565b6001600160a01b038716600090815260106020526040812054919250906133d6908463ffffffff613c2216565b919550909350505050915091565b6000821561340b57600061340284611295878663ffffffff61284c16565b9150611f429050565b50600019611f42565b6000611143826801158e460913d0000063ffffffff613c2216565b6000611143826801158e460913d0000063ffffffff61263216565b600080613455612616565b9050600061346b670ddd4b8c6c7d70d88361493f565b9050611f01670de0b6b3a764000061129583600e5461284c90919063ffffffff16565b60006134a5600f544261263290919063ffffffff16565b9050603c81106110d05742600f8190556040517f860f8d2f0c74dd487e89e2883e3b25b8159ce1e1b3433a291cba7b82c508f3bc91610ffe91615546565b6134eb614c6e565b6134f3614cf6565b6134fb614c6e565b8482526000608083015261350d611de9565b60a083015261351a611fe6565b8260c001818152505086608001516001600160a01b0316634d6228316040518163ffffffff1660e01b815260040160206040518083038186803b15801561356057600080fd5b505afa158015613574573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906135989190614d86565b82606001906001600160a01b031690816001600160a01b031681525050600087608001516001600160a01b0316631e2231436040518163ffffffff1660e01b815260040160206040518083038186803b1580156135f457600080fd5b505afa158015613608573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061362c9190614d86565b6000602085015290505b84836020015110801561365f5750806001600160a01b031683606001516001600160a01b031614155b1561397f5760808801516060840151604051632dc9c0eb60e21b81526000926001600160a01b03169163b72703ac9161369b919060040161510e565b60206040518083038186803b1580156136b357600080fd5b505afa1580156136c7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906136eb9190614d86565b90506136fb84606001518961175e565b6040850152608084015161387457600360009054906101000a90046001600160a01b03166001600160a01b031663794e57246040518163ffffffff1660e01b815260040160206040518083038186803b15801561375757600080fd5b505afa15801561376b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061378f9190614fa7565b8460400151101580156137a157508351155b156137ac575061397f565b60006137c18560c001518660a001518b6133e4565b8a5160208c01516060880151604089015189519495506137e294868f61426b565b608081015186519195506137fc919063ffffffff61263216565b8552608084015160a08601516138179163ffffffff61263216565b8560a00181815250506138448461010001516115a68660a001518860c0015161263290919063ffffffff16565b60c08601526138538685614641565b95506138688560c001518660a001518b614758565b15608086015250613961565b8360800151801561390d5750600360009054906101000a90046001600160a01b03166001600160a01b031663794e57246040518163ffffffff1660e01b815260040160206040518083038186803b1580156138ce57600080fd5b505afa1580156138e2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906139069190614fa7565b8460400151105b1561395b5761392e89600001518a60200151866060015187600001516147f7565b60808101518551919450613948919063ffffffff61263216565b84526139548584614641565b9450613961565b5061397f565b6001600160a01b031660608401526020830180516001019052613636565b505050949350505050565b613992614c6e565b61399a614cf6565b6139a2614c6e565b600d54858352600060208401526001600160a01b03165b8483602001511015613b3457806001600160a01b0316634d6228316040518163ffffffff1660e01b815260040160206040518083038186803b1580156139fe57600080fd5b505afa158015613a12573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613a369190614d86565b6001600160a01b031660608401819052613a50908861175e565b6040808501919091526003548151631e5395c960e21b815291516001600160a01b039091169163794e5724916004808301926020929190829003018186803b158015613a9b57600080fd5b505afa158015613aaf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613ad39190614fa7565b83604001511015613b1f57613af28989856060015186600001516147f7565b60808101518451919350613b0c919063ffffffff61263216565b8352613b188483614641565b9350613b24565b613b34565b60208301805160010190526139b9565b50505095945050505050565b6000611143613b9783600360009054906101000a90046001600160a01b03166001600160a01b031663f92d34336040518163ffffffff1660e01b815260040160206040518083038186803b1580156132fa57600080fd5b600360009054906101000a90046001600160a01b03166001600160a01b031663240926696040518163ffffffff1660e01b815260040160206040518083038186803b158015613be557600080fd5b505afa158015613bf9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613c1d9190614fa7565b614929565b600082820183811015611f425760405162461bcd60e51b8152600401610adb9061520b565b601480546001600160a01b038316600090815260166020526040908190209182556015546001909201829055915491517fc437f324d85e369394148dd9d62f98f534b382e01ed3dd2eb98138fb6d3ab49a92610ffe92909161554f565b600354604080516324386ecd60e11b815290516000926001600160a01b031691634870dd9a916004808301926020929190829003018186803b158015613ce957600080fd5b505afa158015613cfd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613d219190614fa7565b8281613d2957fe5b0492915050565b60008115613d5c57613d55826112958568056bc75e2d6310000063ffffffff61284c16565b9050611143565b50600019611143565b600080613d70611fe6565b90506000613d7c611de9565b9050613d898282866133e4565b949350505050565b6000816004811115613d9f57fe5b14158015613db957506001816004811115613db657fe5b14155b613dbf57fe5b601754613dcb816149ea565b6001600160a01b0383166000908152601060205260409020600301805483919060ff19166001836004811115613dfd57fe5b02179055506001600160a01b0383166000908152601060209081526040808320600180820185905590849055601690925282208281550155613e3f8382613ee6565b600d54604051631484968760e11b81526001600160a01b03909116906329092d0e90613e6f90869060040161510e565b600060405180830381600087803b158015613e8957600080fd5b505af1158015613e9d573d6000803e3d6000fd5b50505050505050565b600080613ec5670de0b6b3a7640000611295868663ffffffff61284c16565b9050828110611f425760405162461bcd60e51b8152600401610adb9061545f565b6001600160a01b03821660009081526010602052604081206003015460ff1690816004811115613f1257fe5b14158015613f2c57506001816004811115613f2957fe5b14155b613f3257fe5b6001600160a01b03831660009081526010602052604081206003015461010090046001600160801b0316908390613f6a826001612632565b905080836001600160801b03161115613f7f57fe5b600060178281548110613f8e57fe5b600091825260209091200154601780546001600160a01b03909216925082916001600160801b038716908110613fc057fe5b600091825260208083209190910180546001600160a01b0319166001600160a01b03948516179055918316815260109091526040908190206003018054610100600160881b0319166101006001600160801b03881602179055517f02b04ae5f7be9ca7c103293a2aa15f3c339d15d6eda53b721fef7b0e609c831a906140499083908790615146565b60405180910390a1601780548061405c57fe5b600082815260209020810160001990810180546001600160a01b031916905501905550505050505050565b6001600160a01b0381166000908152601060205260409020600201546011546140b6908263ffffffff61263216565b601155506001600160a01b0316600090815260106020526040812060020155565b60006111436123646116cb565b60405163121cbc4d60e11b81526001600160a01b03841690632439789a90614110908590600401615546565b600060405180830381600087803b15801561412a57600080fd5b505af115801561413e573d6000803e3d6000fd5b505060405163f2e91d7160e01b81526001600160a01b038716925063f2e91d71915061416e908590600401615546565b600060405180830381600087803b15801561418857600080fd5b505af115801561419c573d6000803e3d6000fd5b505060405163be41205f60e01b81526001600160a01b038616925063be41205f9150613222908490600401615546565b600081848411156141f05760405162461bcd60e51b8152600401610adb91906151b8565b505050900390565b6000806013546000141561420d575081611143565b60006012541161421957fe5b611f426013546112956012548661284c90919063ffffffff16565b600081836142555760405162461bcd60e51b8152600401610adb91906151b8565b50600083858161426157fe5b0495945050505050565b614273614c6e565b61427b614d3e565b60175460011061428b5750614636565b614294876121b4565b604085015260208481019190915284018190529083526142b390613ca4565b604083018190526801158e460913d00000606084015260208301516142dd9163ffffffff61263216565b8152670de0b6b3a764000086116143a8576143028989836020015184604001516140e4565b61430b87614087565b60006080830181905260a0830152815160c0830152805160e0830152614332876003613d91565b815160208301516040516001600160a01b038a1692600080516020615646833981519152926143639260029061555d565b60405180910390a2866001600160a01b03166000805160206156668339815191526000806000600260405161439b949392919061518c565b60405180910390a2614634565b670de0b6b3a7640000861180156144435750600360009054906101000a90046001600160a01b03166001600160a01b031663794e57246040518163ffffffff1660e01b815260040160206040518083038186803b15801561440857600080fd5b505afa15801561441c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906144409190614fa7565b86105b156144935761445c8989836020015184604001516140e4565b61446587614087565b81518151614474919087614a90565b60e086015260c085015260a08401526080830152614332876003613d91565b600360009054906101000a90046001600160a01b03166001600160a01b031663794e57246040518163ffffffff1660e01b815260040160206040518083038186803b1580156144e157600080fd5b505afa1580156144f5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906145199190614fa7565b861015801561452757508386105b8015614534575081518510155b156146235761454d8989836020015184604001516140e4565b8461455457fe5b61455d87614087565b6145708260000151836020015185614afc565b915061457d876003613d91565b610100820151156145f257600854610100830151604051633f10abab60e01b81526001600160a01b0390921691633f10abab916145bf918b9190600401615168565b600060405180830381600087803b1580156145d957600080fd5b505af11580156145ed573d6000803e3d6000fd5b505050505b815160a08301516040516001600160a01b038a1692600080516020615646833981519152926143639260029061555d565b61462b614c6e565b91506146369050565b505b979650505050505050565b614649614c6e565b604080830151908401516146629163ffffffff613c2216565b6040820152606080830151908401516146809163ffffffff613c2216565b60608201528151602084015161469b9163ffffffff613c2216565b60208083019190915282015183516146b89163ffffffff613c2216565b8152608080830151908401516146d39163ffffffff613c2216565b608082015260a080830151908401516146f19163ffffffff613c2216565b60a082015260c0808301519084015161470f9163ffffffff613c2216565b60c082015260e0808301519084015161472d9163ffffffff613c2216565b60e0820152610100808301519084015161474c9163ffffffff613c2216565b61010082015292915050565b6000806147668585856133e4565b9050600360009054906101000a90046001600160a01b03166001600160a01b0316635733d58f6040518163ffffffff1660e01b815260040160206040518083038186803b1580156147b657600080fd5b505afa1580156147ca573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906147ee9190614fa7565b11949350505050565b6147ff614c6e565b614807614d3e565b614810846121b4565b6040850190815260208581019283528601929092529184529051905161483a9188918891906140e4565b61484384614087565b6148508260200151613ca4565b604083018190526801158e460913d000006060840152602083015160009161487e919063ffffffff61263216565b905061488f83600001518286614a90565b60e087015260c086015260a085015260808401526148ae856003613d91565b825160208401516040516001600160a01b03881692600080516020615646833981519152926148df9260019061555d565b60405180910390a2846001600160a01b031660008051602061566683398151915260008060006001604051614917949392919061518c565b60405180910390a25050949350505050565b60008183106149385781611f42565b5090919050565b6000631f54050082111561495557631f54050091505b816149695750670de0b6b3a7640000611143565b670de0b6b3a764000083835b60018111156149e057600281066149aa576149908283614c0a565b91506149a381600263ffffffff61288616565b90506149db565b6149b48284614c0a565b92506149c08283614c0a565b91506149d8600261129583600163ffffffff61263216565b90505b614975565b6112a18284614c0a565b600181118015614a745750600d546040805163de8fa43160e01b815290516001926001600160a01b03169163de8fa431916004808301926020929190829003018186803b158015614a3a57600080fd5b505afa158015614a4e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190614a729190614fa7565b115b6110d05760405162461bcd60e51b8152600401610adb906152bb565b60008080808415614ae657614aa58786614929565b9350614abb87611295888763ffffffff61284c16565b9250614acd878563ffffffff61263216565b9150614adf868463ffffffff61263216565b9050614af3565b5060009250829150859050845b93509350935093565b614b04614c6e565b838152602080820184905260035460408051631e5395c960e21b81529051600093614ba0938793611295936001600160a01b039092169263794e572492600480840193829003018186803b158015614b5b57600080fd5b505afa158015614b6f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190614b939190614fa7565b889063ffffffff61284c16565b9050614bab81613ca4565b604083018190526801158e460913d00000606084015260808301869052614bd990829063ffffffff61263216565b60a0830152614bee848263ffffffff61263216565b61010083015250600060c0820181905260e08201529392505050565b600080614c1d848463ffffffff61284c16565b9050613d89670de0b6b3a7640000611295836706f05b59d3b20000613c22565b6040518060a00160405280600081526020016000815260200160001515815260200160008152602001600081525090565b6040518061012001604052806000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081525090565b6040805160e081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c081019190915290565b6040518060e0016040528060008152602001600081526020016000815260200160006001600160a01b0316815260200160001515815260200160008152602001600081525090565b60405180606001604052806000815260200160008152602001600081525090565b803561114381615630565b600060208284031215614d7b578081fd5b8135611f4281615630565b600060208284031215614d97578081fd5b8151611f4281615630565b60008060408385031215614db4578081fd5b8235614dbf81615630565b946020939093013593505050565b60006020808385031215614ddf578182fd5b823567ffffffffffffffff811115614df5578283fd5b80840185601f820112614e06578384fd5b80359150614e1b614e1683615605565b6155de565b8281528381019082850185850284018601891015614e37578687fd5b8693505b8484101561463457614e4d8982614d5f565b835260019390930192918501918501614e3b565b60006101c0808385031215614e74578182fd5b614e7d816155de565b614e878585614d5f565b8152614e968560208601614d5f565b6020820152614ea88560408601614d5f565b6040820152614eba8560608601614d5f565b6060820152614ecc8560808601614d5f565b6080820152614ede8560a08601614d5f565b60a0820152614ef08560c08601614d5f565b60c0820152614f028560e08601614d5f565b60e08201526101009150614f1885838601614d5f565b828201526101209150614f2d85838601614d5f565b828201526101409150614f4285838601614d5f565b828201526101609150614f5785838601614d5f565b828201526101809150614f6c85838601614d5f565b828201526101a09150614f8185838601614d5f565b918101919091529392505050565b600060208284031215614fa0578081fd5b5035919050565b600060208284031215614fb8578081fd5b5051919050565b600080600080600080600060e0888a031215614fd9578283fd5b873596506020880135614feb81615630565b95506040880135614ffb81615630565b9450606088013561500b81615630565b9699959850939660808101359560a0820135955060c0909101359350915050565b600080600080600080600080888a03610160811215615049578182fd5b8935985060208a013561505b81615630565b975060408a013561506b81615630565b965060608a013561507b81615630565b955060808a810135955060a08b0135945060c08b0135935060df19820112156150a2578182fd5b5060e0890190509295985092959890939650565b6000806000606084860312156150ca578283fd5b505081359360208301359350604090920135919050565b6000828483379101908152919050565b7035b2bc9737bbb730b136329737bbb732b960791b815260110190565b6001600160a01b0391909116815260200190565b6001600160a01b039384168152919092166020820152604081019190915260600190565b6001600160a01b039290921682526001600160801b0316602082015260400190565b6001600160a01b03929092168252602082015260400190565b901515815260200190565b8481526020810184905260408101839052608081016151aa83615625565b606083015295945050505050565b6000602080835283518082850152825b818110156151e4578581018301518582016040015282016151c8565b818111156151f55783604083870101525b50601f01601f1916929092016040019392505050565b6020808252601b908201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604082015260600190565b60208082526022908201527f4f776e61626c653a3a7365744f776e65723a20696e76616c6964206164647265604082015261737360f01b606082015260800190565b6020808252601e908201527f4163636f756e742063616e6e6f74206265207a65726f20616464726573730000604082015260600190565b6020808252602a908201527f54726f76654d616e616765723a204f6e6c79206f6e652074726f766520696e206040820152697468652073797374656d60b01b606082015260800190565b60208082526021908201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6040820152607760f81b606082015260800190565b6020808252603b908201527f54726f76654d616e616765723a2043616c6c6572206973206e6f74207468652060408201527f426f72726f7765724f7065726174696f6e7320636f6e74726163740000000000606082015260800190565b60208082526017908201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604082015260600190565b60208082526036908201527f54726f76654d616e616765723a2043616c6c646174612061646472657373206160408201527572726179206d757374206e6f7420626520656d70747960501b606082015260800190565b6020808252818101527f4163636f756e7420636f64652073697a652063616e6e6f74206265207a65726f604082015260600190565b60208082526036908201527f54726f76654d616e616765723a2046656520776f756c642065617420757020616040820152751b1b081c995d1d5c9b99590818dbdb1b185d195c985b60521b606082015260800190565b60208082526022908201527f54726f76654d616e616765723a206e6f7468696e6720746f206c697175696461604082015261746560f01b606082015260800190565b6020808252602f908201527f54726f76654d616e616765723a2054726f766520646f6573206e6f742065786960408201526e1cdd081bdc881a5cc818db1bdcd959608a1b606082015260800190565b90815260200190565b918252602082015260400190565b83815260208101839052606081016004831061557557fe5b826040830152949350505050565b858152602081018590526040810184905260a08101600584106155a257fe5b60608201939093526001600160801b03919091166080909101529392505050565b93845260208401929092526040830152606082015260800190565b60405181810167ffffffffffffffff811182821017156155fd57600080fd5b604052919050565b600067ffffffffffffffff82111561561b578081fd5b5060209081020190565b80600481106111a957fe5b6001600160a01b03811681146110d057600080fdfeea67486ed7ebe3eea8ab3390efd4a3c8aae48be5bea27df104a8af786c408434c3770d654ed33aeea6bf11ac8ef05d02a6a04ed4686dd2f624d853bbec43cc8ba2646970667358221220fa638268bd477a34983ec9709b7e8ae76c286d60c7d4262c98e769f0e17c4a4664736f6c634300060b0033", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/packages/lib-ethers/live/UpgradableProxy.json b/packages/lib-ethers/live/UpgradableProxy.json deleted file mode 100644 index 3f6b3de2d..000000000 --- a/packages/lib-ethers/live/UpgradableProxy.json +++ /dev/null @@ -1,109 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "UpgradableProxy", - "sourceName": "contracts/Proxy/UpgradableProxy.sol", - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "_oldImplementation", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "_newImplementation", - "type": "address" - } - ], - "name": "ImplementationChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "previousOwner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnershipTransferred", - "type": "event" - }, - { - "stateMutability": "payable", - "type": "fallback" - }, - { - "inputs": [], - "name": "getImplementation", - "outputs": [ - { - "internalType": "address", - "name": "_implementation", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getOwner", - "outputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_implementation", - "type": "address" - } - ], - "name": "setImplementation", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - } - ], - "name": "setOwner", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "stateMutability": "payable", - "type": "receive" - } - ], - "bytecode": "0x608060405234801561001057600080fd5b50610023336001600160e01b0361002816565b610110565b6001600160a01b03811661006d5760405162461bcd60e51b81526004018080602001828103825260228152602001806105e26022913960400191505060405180910390fd5b6001600160a01b0381166100886001600160e01b036100e616565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3604080517035b2bc9737bbb730b136329737bbb732b960791b8152905190819003601101902055565b604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205490565b6104c38061011f6000396000f3fe6080604052600436106100435760003560e01c806313af40351461005a578063893d20e81461008d578063aaf10f42146100be578063d784d426146100d357610052565b3661005257610050610106565b005b610050610106565b34801561006657600080fd5b506100506004803603602081101561007d57600080fd5b50356001600160a01b031661017c565b34801561009957600080fd5b506100a26101ef565b604080516001600160a01b039092168252519081900360200190f35b3480156100ca57600080fd5b506100a2610219565b3480156100df57600080fd5b50610050600480360360208110156100f657600080fd5b50356001600160a01b0316610244565b6000610110610219565b90506001600160a01b0381166101575760405162461bcd60e51b815260040180806020018281038252602381526020018061046b6023913960400191505060405180910390fd5b60405136600082376000803683855af43d806000843e818015610178578184f35b8184fd5b6101846101ef565b6001600160a01b0316336001600160a01b0316146101e3576040805162461bcd60e51b815260206004820152601760248201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604482015290519081900360640190fd5b6101ec816102b4565b50565b604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205490565b604080517135b2bc9734b6b83632b6b2b73a30ba34b7b760711b815290519081900360120190205490565b61024c6101ef565b6001600160a01b0316336001600160a01b0316146102ab576040805162461bcd60e51b815260206004820152601760248201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604482015290519081900360640190fd5b6101ec81610369565b6001600160a01b0381166102f95760405162461bcd60e51b81526004018080602001828103825260228152602001806104206022913960400191505060405180910390fd5b806001600160a01b031661030b6101ef565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3604080517035b2bc9737bbb730b136329737bbb732b960791b8152905190819003601101902055565b6001600160a01b0381166103ae5760405162461bcd60e51b81526004018080602001828103825260298152602001806104426029913960400191505060405180910390fd5b806001600160a01b03166103c0610219565b6001600160a01b03167fcfbf4028add9318bbf716f08c348595afb063b0e9feed1f86d33681a4b3ed4d360405160405180910390a3604080517135b2bc9734b6b83632b6b2b73a30ba34b7b760711b815290519081900360120190205556fe4f776e61626c653a3a7365744f776e65723a20696e76616c6964206164647265737350726f78793a3a736574496d706c656d656e746174696f6e3a20696e76616c6964206164647265737350726f78793a3a28293a20696d706c656d656e746174696f6e206e6f7420666f756e64a2646970667358221220f84db5b0f5dd60cbb7d66141de13219d0da4edbe3006d54bb4d362cbc0da0dfa64736f6c634300060b00334f776e61626c653a3a7365744f776e65723a20696e76616c69642061646472657373", - "deployedBytecode": "0x6080604052600436106100435760003560e01c806313af40351461005a578063893d20e81461008d578063aaf10f42146100be578063d784d426146100d357610052565b3661005257610050610106565b005b610050610106565b34801561006657600080fd5b506100506004803603602081101561007d57600080fd5b50356001600160a01b031661017c565b34801561009957600080fd5b506100a26101ef565b604080516001600160a01b039092168252519081900360200190f35b3480156100ca57600080fd5b506100a2610219565b3480156100df57600080fd5b50610050600480360360208110156100f657600080fd5b50356001600160a01b0316610244565b6000610110610219565b90506001600160a01b0381166101575760405162461bcd60e51b815260040180806020018281038252602381526020018061046b6023913960400191505060405180910390fd5b60405136600082376000803683855af43d806000843e818015610178578184f35b8184fd5b6101846101ef565b6001600160a01b0316336001600160a01b0316146101e3576040805162461bcd60e51b815260206004820152601760248201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604482015290519081900360640190fd5b6101ec816102b4565b50565b604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205490565b604080517135b2bc9734b6b83632b6b2b73a30ba34b7b760711b815290519081900360120190205490565b61024c6101ef565b6001600160a01b0316336001600160a01b0316146102ab576040805162461bcd60e51b815260206004820152601760248201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604482015290519081900360640190fd5b6101ec81610369565b6001600160a01b0381166102f95760405162461bcd60e51b81526004018080602001828103825260228152602001806104206022913960400191505060405180910390fd5b806001600160a01b031661030b6101ef565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3604080517035b2bc9737bbb730b136329737bbb732b960791b8152905190819003601101902055565b6001600160a01b0381166103ae5760405162461bcd60e51b81526004018080602001828103825260298152602001806104426029913960400191505060405180910390fd5b806001600160a01b03166103c0610219565b6001600160a01b03167fcfbf4028add9318bbf716f08c348595afb063b0e9feed1f86d33681a4b3ed4d360405160405180910390a3604080517135b2bc9734b6b83632b6b2b73a30ba34b7b760711b815290519081900360120190205556fe4f776e61626c653a3a7365744f776e65723a20696e76616c6964206164647265737350726f78793a3a736574496d706c656d656e746174696f6e3a20696e76616c6964206164647265737350726f78793a3a28293a20696d706c656d656e746174696f6e206e6f7420666f756e64a2646970667358221220f84db5b0f5dd60cbb7d66141de13219d0da4edbe3006d54bb4d362cbc0da0dfa64736f6c634300060b0033", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/packages/lib-ethers/live/UpgradableProxyTester.json b/packages/lib-ethers/live/UpgradableProxyTester.json deleted file mode 100644 index 7a20f4fde..000000000 --- a/packages/lib-ethers/live/UpgradableProxyTester.json +++ /dev/null @@ -1,109 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "UpgradableProxyTester", - "sourceName": "contracts/TestContracts/UpgradableProxyTester.sol", - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "_oldImplementation", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "_newImplementation", - "type": "address" - } - ], - "name": "ImplementationChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "previousOwner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnershipTransferred", - "type": "event" - }, - { - "stateMutability": "payable", - "type": "fallback" - }, - { - "inputs": [], - "name": "getImplementation", - "outputs": [ - { - "internalType": "address", - "name": "_implementation", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getOwner", - "outputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_implementation", - "type": "address" - } - ], - "name": "setImplementation", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - } - ], - "name": "setOwner", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "stateMutability": "payable", - "type": "receive" - } - ], - "bytecode": "0x608060405234801561001057600080fd5b50610023336001600160e01b0361002816565b610110565b6001600160a01b03811661006d5760405162461bcd60e51b81526004018080602001828103825260228152602001806105e26022913960400191505060405180910390fd5b6001600160a01b0381166100886001600160e01b036100e616565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3604080517035b2bc9737bbb730b136329737bbb732b960791b8152905190819003601101902055565b604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205490565b6104c38061011f6000396000f3fe6080604052600436106100435760003560e01c806313af40351461005a578063893d20e81461008d578063aaf10f42146100be578063d784d426146100d357610052565b3661005257610050610106565b005b610050610106565b34801561006657600080fd5b506100506004803603602081101561007d57600080fd5b50356001600160a01b031661017c565b34801561009957600080fd5b506100a26101ef565b604080516001600160a01b039092168252519081900360200190f35b3480156100ca57600080fd5b506100a2610219565b3480156100df57600080fd5b50610050600480360360208110156100f657600080fd5b50356001600160a01b0316610244565b6000610110610219565b90506001600160a01b0381166101575760405162461bcd60e51b815260040180806020018281038252602381526020018061046b6023913960400191505060405180910390fd5b60405136600082376000803683855af43d806000843e818015610178578184f35b8184fd5b6101846101ef565b6001600160a01b0316336001600160a01b0316146101e3576040805162461bcd60e51b815260206004820152601760248201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604482015290519081900360640190fd5b6101ec816102b4565b50565b604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205490565b604080517135b2bc9734b6b83632b6b2b73a30ba34b7b760711b815290519081900360120190205490565b61024c6101ef565b6001600160a01b0316336001600160a01b0316146102ab576040805162461bcd60e51b815260206004820152601760248201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604482015290519081900360640190fd5b6101ec81610369565b6001600160a01b0381166102f95760405162461bcd60e51b81526004018080602001828103825260228152602001806104206022913960400191505060405180910390fd5b806001600160a01b031661030b6101ef565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3604080517035b2bc9737bbb730b136329737bbb732b960791b8152905190819003601101902055565b6001600160a01b0381166103ae5760405162461bcd60e51b81526004018080602001828103825260298152602001806104426029913960400191505060405180910390fd5b806001600160a01b03166103c0610219565b6001600160a01b03167fcfbf4028add9318bbf716f08c348595afb063b0e9feed1f86d33681a4b3ed4d360405160405180910390a3604080517135b2bc9734b6b83632b6b2b73a30ba34b7b760711b815290519081900360120190205556fe4f776e61626c653a3a7365744f776e65723a20696e76616c6964206164647265737350726f78793a3a736574496d706c656d656e746174696f6e3a20696e76616c6964206164647265737350726f78793a3a28293a20696d706c656d656e746174696f6e206e6f7420666f756e64a26469706673582212203e5f6a4da741108bc95e126f8eb9df40528bfe875ce024f1930bbbcf5556e4c764736f6c634300060b00334f776e61626c653a3a7365744f776e65723a20696e76616c69642061646472657373", - "deployedBytecode": "0x6080604052600436106100435760003560e01c806313af40351461005a578063893d20e81461008d578063aaf10f42146100be578063d784d426146100d357610052565b3661005257610050610106565b005b610050610106565b34801561006657600080fd5b506100506004803603602081101561007d57600080fd5b50356001600160a01b031661017c565b34801561009957600080fd5b506100a26101ef565b604080516001600160a01b039092168252519081900360200190f35b3480156100ca57600080fd5b506100a2610219565b3480156100df57600080fd5b50610050600480360360208110156100f657600080fd5b50356001600160a01b0316610244565b6000610110610219565b90506001600160a01b0381166101575760405162461bcd60e51b815260040180806020018281038252602381526020018061046b6023913960400191505060405180910390fd5b60405136600082376000803683855af43d806000843e818015610178578184f35b8184fd5b6101846101ef565b6001600160a01b0316336001600160a01b0316146101e3576040805162461bcd60e51b815260206004820152601760248201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604482015290519081900360640190fd5b6101ec816102b4565b50565b604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205490565b604080517135b2bc9734b6b83632b6b2b73a30ba34b7b760711b815290519081900360120190205490565b61024c6101ef565b6001600160a01b0316336001600160a01b0316146102ab576040805162461bcd60e51b815260206004820152601760248201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604482015290519081900360640190fd5b6101ec81610369565b6001600160a01b0381166102f95760405162461bcd60e51b81526004018080602001828103825260228152602001806104206022913960400191505060405180910390fd5b806001600160a01b031661030b6101ef565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3604080517035b2bc9737bbb730b136329737bbb732b960791b8152905190819003601101902055565b6001600160a01b0381166103ae5760405162461bcd60e51b81526004018080602001828103825260298152602001806104426029913960400191505060405180910390fd5b806001600160a01b03166103c0610219565b6001600160a01b03167fcfbf4028add9318bbf716f08c348595afb063b0e9feed1f86d33681a4b3ed4d360405160405180910390a3604080517135b2bc9734b6b83632b6b2b73a30ba34b7b760711b815290519081900360120190205556fe4f776e61626c653a3a7365744f776e65723a20696e76616c6964206164647265737350726f78793a3a736574496d706c656d656e746174696f6e3a20696e76616c6964206164647265737350726f78793a3a28293a20696d706c656d656e746174696f6e206e6f7420666f756e64a26469706673582212203e5f6a4da741108bc95e126f8eb9df40528bfe875ce024f1930bbbcf5556e4c764736f6c634300060b0033", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/packages/lib-ethers/live/WRBTCTokenTester.json b/packages/lib-ethers/live/WRBTCTokenTester.json deleted file mode 100644 index 54703048c..000000000 --- a/packages/lib-ethers/live/WRBTCTokenTester.json +++ /dev/null @@ -1,331 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "WRBTCTokenTester", - "sourceName": "contracts/TestContracts/WRBTCTokenTester.sol", - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "src", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "guy", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "wad", - "type": "uint256" - } - ], - "name": "Approval", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "dst", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "wad", - "type": "uint256" - } - ], - "name": "Deposit", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "src", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "dst", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "wad", - "type": "uint256" - } - ], - "name": "Transfer", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "src", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "wad", - "type": "uint256" - } - ], - "name": "Withdrawal", - "type": "event" - }, - { - "stateMutability": "payable", - "type": "fallback" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "allowance", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "guy", - "type": "address" - }, - { - "internalType": "uint256", - "name": "wad", - "type": "uint256" - } - ], - "name": "approve", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "balanceOf", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_who", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_value", - "type": "uint256" - } - ], - "name": "burn", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "decimals", - "outputs": [ - { - "internalType": "uint8", - "name": "", - "type": "uint8" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "deposit", - "outputs": [], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_value", - "type": "uint256" - } - ], - "name": "mint", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "name", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "symbol", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "totalSupply", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "dst", - "type": "address" - }, - { - "internalType": "uint256", - "name": "wad", - "type": "uint256" - } - ], - "name": "transfer", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "src", - "type": "address" - }, - { - "internalType": "address", - "name": "dst", - "type": "address" - }, - { - "internalType": "uint256", - "name": "wad", - "type": "uint256" - } - ], - "name": "transferFrom", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "wad", - "type": "uint256" - } - ], - "name": "withdraw", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": "0x60c0604052600b60808190526a577261707065642042544360a81b60a090815261002c9160009190610079565b5060408051808201909152600580825264575242544360d81b602090920191825261005991600191610079565b506002805460ff1916601217905534801561007357600080fd5b50610114565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106100ba57805160ff19168380011785556100e7565b828001600101855582156100e7579182015b828111156100e75782518255916020019190600101906100cc565b506100f39291506100f7565b5090565b61011191905b808211156100f357600081556001016100fd565b90565b6108b4806101236000396000f3fe6080604052600436106100b25760003560e01c806340c10f191161006f57806340c10f191461025257806370a082311461028b57806395d89b41146102be5780639dc29fac146102d3578063a9059cbb1461030c578063d0e30db0146100b2578063dd62ed3e14610345576100b2565b806306fdde03146100bc578063095ea7b31461014657806318160ddd1461019357806323b872dd146101ba5780632e1a7d4d146101fd578063313ce56714610227575b6100ba610380565b005b3480156100c857600080fd5b506100d16103cf565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561010b5781810151838201526020016100f3565b50505050905090810190601f1680156101385780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561015257600080fd5b5061017f6004803603604081101561016957600080fd5b506001600160a01b03813516906020013561045d565b604080519115158252519081900360200190f35b34801561019f57600080fd5b506101a86104c3565b60408051918252519081900360200190f35b3480156101c657600080fd5b5061017f600480360360608110156101dd57600080fd5b506001600160a01b038135811691602081013590911690604001356104c7565b34801561020957600080fd5b506100ba6004803603602081101561022057600080fd5b50356105e9565b34801561023357600080fd5b5061023c61067e565b6040805160ff9092168252519081900360200190f35b34801561025e57600080fd5b506100ba6004803603604081101561027557600080fd5b506001600160a01b038135169060200135610687565b34801561029757600080fd5b506101a8600480360360208110156102ae57600080fd5b50356001600160a01b0316610719565b3480156102ca57600080fd5b506100d161072b565b3480156102df57600080fd5b506100ba600480360360408110156102f657600080fd5b506001600160a01b038135169060200135610785565b34801561031857600080fd5b5061017f6004803603604081101561032f57600080fd5b506001600160a01b03813516906020013561082d565b34801561035157600080fd5b506101a86004803603604081101561036857600080fd5b506001600160a01b0381358116916020013516610841565b33600081815260036020908152604091829020805434908101909155825190815291517fe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c9281900390910190a2565b6000805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156104555780601f1061042a57610100808354040283529160200191610455565b820191906000526020600020905b81548152906001019060200180831161043857829003601f168201915b505050505081565b3360008181526004602090815260408083206001600160a01b038716808552908352818420869055815186815291519394909390927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925928290030190a350600192915050565b4790565b6001600160a01b0383166000908152600360205260408120548211156104ec57600080fd5b6001600160a01b038416331480159061052a57506001600160a01b038416600090815260046020908152604080832033845290915290205460001914155b1561058a576001600160a01b038416600090815260046020908152604080832033845290915290205482111561055f57600080fd5b6001600160a01b03841660009081526004602090815260408083203384529091529020805483900390555b6001600160a01b038085166000818152600360209081526040808320805488900390559387168083529184902080548701905583518681529351919360008051602061085f833981519152929081900390910190a35060019392505050565b3360009081526003602052604090205481111561060557600080fd5b33600081815260036020526040808220805485900390555183156108fc0291849190818181858888f19350505050158015610644573d6000803e3d6000fd5b5060408051828152905133917f7fcf532c15f0a6db0bd6d0e038bea71d30d808c7d98cb3bf7268a95bf5081b65919081900360200190a250565b60025460ff1681565b6001600160a01b0382166106d4576040805162461bcd60e51b815260206004820152600f60248201526e1b9bc8189d5c9b88185b1b1bddd959608a1b604482015290519081900360640190fd5b6001600160a01b03821660008181526003602090815260408083208054860190558051858152905160008051602061085f833981519152929181900390910190a35050565b60036020526000908152604090205481565b60018054604080516020600284861615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156104555780601f1061042a57610100808354040283529160200191610455565b6001600160a01b0382166000908152600360205260409020548111156107e4576040805162461bcd60e51b815260206004820152600f60248201526e62616c616e636520746f6f206c6f7760881b604482015290519081900360640190fd5b6001600160a01b0382166000818152600360209081526040808320805486900390558051858152905192939260008051602061085f833981519152929181900390910190a35050565b600061083a3384846104c7565b9392505050565b60046020908152600092835260408084209091529082529020548156feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa2646970667358221220162ffe589535e0a8b0bdf192cfefd7becbd7fb0984b535b54ee44a02a922b1ab64736f6c634300060b0033", - "deployedBytecode": "0x6080604052600436106100b25760003560e01c806340c10f191161006f57806340c10f191461025257806370a082311461028b57806395d89b41146102be5780639dc29fac146102d3578063a9059cbb1461030c578063d0e30db0146100b2578063dd62ed3e14610345576100b2565b806306fdde03146100bc578063095ea7b31461014657806318160ddd1461019357806323b872dd146101ba5780632e1a7d4d146101fd578063313ce56714610227575b6100ba610380565b005b3480156100c857600080fd5b506100d16103cf565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561010b5781810151838201526020016100f3565b50505050905090810190601f1680156101385780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561015257600080fd5b5061017f6004803603604081101561016957600080fd5b506001600160a01b03813516906020013561045d565b604080519115158252519081900360200190f35b34801561019f57600080fd5b506101a86104c3565b60408051918252519081900360200190f35b3480156101c657600080fd5b5061017f600480360360608110156101dd57600080fd5b506001600160a01b038135811691602081013590911690604001356104c7565b34801561020957600080fd5b506100ba6004803603602081101561022057600080fd5b50356105e9565b34801561023357600080fd5b5061023c61067e565b6040805160ff9092168252519081900360200190f35b34801561025e57600080fd5b506100ba6004803603604081101561027557600080fd5b506001600160a01b038135169060200135610687565b34801561029757600080fd5b506101a8600480360360208110156102ae57600080fd5b50356001600160a01b0316610719565b3480156102ca57600080fd5b506100d161072b565b3480156102df57600080fd5b506100ba600480360360408110156102f657600080fd5b506001600160a01b038135169060200135610785565b34801561031857600080fd5b5061017f6004803603604081101561032f57600080fd5b506001600160a01b03813516906020013561082d565b34801561035157600080fd5b506101a86004803603604081101561036857600080fd5b506001600160a01b0381358116916020013516610841565b33600081815260036020908152604091829020805434908101909155825190815291517fe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c9281900390910190a2565b6000805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156104555780601f1061042a57610100808354040283529160200191610455565b820191906000526020600020905b81548152906001019060200180831161043857829003601f168201915b505050505081565b3360008181526004602090815260408083206001600160a01b038716808552908352818420869055815186815291519394909390927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925928290030190a350600192915050565b4790565b6001600160a01b0383166000908152600360205260408120548211156104ec57600080fd5b6001600160a01b038416331480159061052a57506001600160a01b038416600090815260046020908152604080832033845290915290205460001914155b1561058a576001600160a01b038416600090815260046020908152604080832033845290915290205482111561055f57600080fd5b6001600160a01b03841660009081526004602090815260408083203384529091529020805483900390555b6001600160a01b038085166000818152600360209081526040808320805488900390559387168083529184902080548701905583518681529351919360008051602061085f833981519152929081900390910190a35060019392505050565b3360009081526003602052604090205481111561060557600080fd5b33600081815260036020526040808220805485900390555183156108fc0291849190818181858888f19350505050158015610644573d6000803e3d6000fd5b5060408051828152905133917f7fcf532c15f0a6db0bd6d0e038bea71d30d808c7d98cb3bf7268a95bf5081b65919081900360200190a250565b60025460ff1681565b6001600160a01b0382166106d4576040805162461bcd60e51b815260206004820152600f60248201526e1b9bc8189d5c9b88185b1b1bddd959608a1b604482015290519081900360640190fd5b6001600160a01b03821660008181526003602090815260408083208054860190558051858152905160008051602061085f833981519152929181900390910190a35050565b60036020526000908152604090205481565b60018054604080516020600284861615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156104555780601f1061042a57610100808354040283529160200191610455565b6001600160a01b0382166000908152600360205260409020548111156107e4576040805162461bcd60e51b815260206004820152600f60248201526e62616c616e636520746f6f206c6f7760881b604482015290519081900360640190fd5b6001600160a01b0382166000818152600360209081526040808320805486900390558051858152905192939260008051602061085f833981519152929181900390910190a35050565b600061083a3384846104c7565b9392505050565b60046020908152600092835260408084209091529082529020548156feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa2646970667358221220162ffe589535e0a8b0bdf192cfefd7becbd7fb0984b535b54ee44a02a922b1ab64736f6c634300060b0033", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/packages/lib-ethers/live/ZEROStaking.json b/packages/lib-ethers/live/ZEROStaking.json deleted file mode 100644 index 5a5b63cf8..000000000 --- a/packages/lib-ethers/live/ZEROStaking.json +++ /dev/null @@ -1,530 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "ZEROStaking", - "sourceName": "contracts/ZERO/ZEROStaking.sol", - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_activePoolAddress", - "type": "address" - } - ], - "name": "ActivePoolAddressSet", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_account", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "name": "EtherSent", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "_F_ETH", - "type": "uint256" - } - ], - "name": "F_ETHUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "_F_ZUSD", - "type": "uint256" - } - ], - "name": "F_ZUSDUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_feeDistributorAddress", - "type": "address" - } - ], - "name": "FeeDistributorAddressAddressSet", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_feeDistributorAddress", - "type": "address" - } - ], - "name": "FeeDistributorAddressSet", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "previousOwner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnershipTransferred", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "staker", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "newStake", - "type": "uint256" - } - ], - "name": "StakeChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_staker", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_F_ETH", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_F_ZUSD", - "type": "uint256" - } - ], - "name": "StakerSnapshotsUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "staker", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "ZUSDGain", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "ETHGain", - "type": "uint256" - } - ], - "name": "StakingGainsWithdrawn", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "_totalZEROStaked", - "type": "uint256" - } - ], - "name": "TotalZEROStakedUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_zeroTokenAddress", - "type": "address" - } - ], - "name": "ZEROTokenAddressSet", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_zusdTokenAddress", - "type": "address" - } - ], - "name": "ZUSDTokenAddressSet", - "type": "event" - }, - { - "inputs": [], - "name": "DECIMAL_PRECISION", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "F_ETH", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "F_ZUSD", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "NAME", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "activePoolAddress", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "feeDistributorAddress", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getOwner", - "outputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_user", - "type": "address" - } - ], - "name": "getPendingETHGain", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_user", - "type": "address" - } - ], - "name": "getPendingZUSDGain", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_ETHFee", - "type": "uint256" - } - ], - "name": "increaseF_ETH", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_ZUSDFee", - "type": "uint256" - } - ], - "name": "increaseF_ZUSD", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_zeroTokenAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_zusdTokenAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_feeDistributorAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_activePoolAddress", - "type": "address" - } - ], - "name": "setAddresses", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - } - ], - "name": "setOwner", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "snapshots", - "outputs": [ - { - "internalType": "uint256", - "name": "F_ETH_Snapshot", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "F_ZUSD_Snapshot", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_ZEROamount", - "type": "uint256" - } - ], - "name": "stake", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "stakes", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "totalZEROStaked", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_ZEROamount", - "type": "uint256" - } - ], - "name": "unstake", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "zeroToken", - "outputs": [ - { - "internalType": "contract IZEROToken", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "zusdToken", - "outputs": [ - { - "internalType": "contract IZUSDToken", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "stateMutability": "payable", - "type": "receive" - } - ], - "bytecode": "0x608060405234801561001057600080fd5b50610023336001600160e01b0361002816565b610110565b6001600160a01b03811661006d5760405162461bcd60e51b81526004018080602001828103825260228152602001806116eb6022913960400191505060405180910390fd5b6001600160a01b0381166100886001600160e01b036100e616565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3604080517035b2bc9737bbb730b136329737bbb732b960791b8152905190819003601101902055565b604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205490565b6115cc8061011f6000396000f3fe6080604052600436106101235760003560e01c80638b9345ad116100a0578063b9bbe00f11610064578063b9bbe00f1461044e578063bc70cd8c14610463578063e6f7a1e714610478578063ec9f7d461461048d578063f294bd92146104a257610132565b80638b9345ad1461033d578063a20baee614610370578063a3f4df7e14610385578063a694fc3a1461040f578063b08bc7221461043957610132565b806334b3081f116100e757806334b3081f146102185780634a945f8d1461026457806361f6ab8c146102af578063787a149e146102d9578063893d20e81461030c57610132565b806313af40351461013757806316934fc41461016a5780631e3e2a1a146101af5780631f49119a146101d95780632e17de78146101ee57610132565b36610132576101306104b7565b005b600080fd5b34801561014357600080fd5b506101306004803603602081101561015a57600080fd5b50356001600160a01b0316610502565b34801561017657600080fd5b5061019d6004803603602081101561018d57600080fd5b50356001600160a01b0316610575565b60408051918252519081900360200190f35b3480156101bb57600080fd5b50610130600480360360208110156101d257600080fd5b5035610587565b3480156101e557600080fd5b5061019d610616565b3480156101fa57600080fd5b506101306004803603602081101561021157600080fd5b503561061c565b34801561022457600080fd5b5061024b6004803603602081101561023b57600080fd5b50356001600160a01b0316610901565b6040805192835260208301919091528051918290030190f35b34801561027057600080fd5b506101306004803603608081101561028757600080fd5b506001600160a01b03813581169160208101358216916040820135811691606001351661091a565b3480156102bb57600080fd5b50610130600480360360208110156102d257600080fd5b5035610ad9565b3480156102e557600080fd5b5061019d600480360360208110156102fc57600080fd5b50356001600160a01b0316610b5c565b34801561031857600080fd5b50610321610b6d565b604080516001600160a01b039092168252519081900360200190f35b34801561034957600080fd5b5061019d6004803603602081101561036057600080fd5b50356001600160a01b0316610b97565b34801561037c57600080fd5b5061019d610ba2565b34801561039157600080fd5b5061039a610bae565b6040805160208082528351818301528351919283929083019185019080838360005b838110156103d45781810151838201526020016103bc565b50505050905090810190601f1680156104015780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561041b57600080fd5b506101306004803603602081101561043257600080fd5b5035610bd5565b34801561044557600080fd5b50610321610e49565b34801561045a57600080fd5b5061019d610e58565b34801561046f57600080fd5b50610321610e5e565b34801561048457600080fd5b5061019d610e6d565b34801561049957600080fd5b50610321610e73565b3480156104ae57600080fd5b50610321610e82565b6007546001600160a01b031633146105005760405162461bcd60e51b81526004018080602001828103825260298152602001806115216029913960400191505060405180910390fd5b565b61050a610b6d565b6001600160a01b0316336001600160a01b031614610569576040805162461bcd60e51b815260206004820152601760248201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604482015290519081900360640190fd5b61057281610e91565b50565b60006020819052908152604090205481565b61058f6104b7565b600154600090156105c8576001546105c5906105b984670de0b6b3a764000063ffffffff610f4616565b9063ffffffff610fa616565b90505b6002546105db908263ffffffff610fe816565b600281905560408051918252517f4c56a0cf74da9899410b818edf6758c8af9b7b3070da97d2dcb6a5b1bf96317e9181900360200190a15050565b60035481565b3360009081526020819052604090205461063581611042565b600061064033611081565b9050600061064d336110ee565b905061065833611131565b83156107e757600061066a85856111a3565b9050600061067e858363ffffffff6111b916565b3360009081526020819052604090208190556001549091506106a6908363ffffffff6111b916565b600181905560408051918252517f119495b1b01a3979110ba18e2447296d0bf46ef520fc0a3af775e233d7bb12529181900360200190a16005546040805163a9059cbb60e01b81523360048201526024810185905290516001600160a01b039092169163a9059cbb916044808201926020929091908290030181600087803b15801561073157600080fd5b505af1158015610745573d6000803e3d6000fd5b505050506040513d602081101561075b57600080fd5b50516107ae576040805162461bcd60e51b815260206004820152601e60248201527f436f756c646e27742065786563757465205a555344207472616e736665720000604482015290519081900360640190fd5b60408051828152905133917f39df0e5286a3ef2f42a0bf52f32cfe2c58e5b0405f47fe512f2c2439e4cfe204919081900360200190a250505b6040805182815260208101849052815133927ff744d34ca1cb25acfa4180df5f09a67306107110a9f4b6ed99bb3be259738215928290030190a26006546040805163a9059cbb60e01b81523360048201526024810184905290516001600160a01b039092169163a9059cbb916044808201926020929091908290030181600087803b15801561087557600080fd5b505af1158015610889573d6000803e3d6000fd5b505050506040513d602081101561089f57600080fd5b50516108f2576040805162461bcd60e51b815260206004820152601e60248201527f436f756c646e27742065786563757465205a555344207472616e736665720000604482015290519081900360640190fd5b6108fb826111fb565b50505050565b6004602052600090815260409020805460019091015482565b610922610b6d565b6001600160a01b0316336001600160a01b031614610981576040805162461bcd60e51b815260206004820152601760248201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604482015290519081900360640190fd5b61098a846112c1565b610993836112c1565b61099c826112c1565b6109a5816112c1565b600580546001600160a01b038087166001600160a01b031992831681179093556006805487831690841617905560078054868316908416179055600880549185169190921617905560408051918252517f7eeded1a6761a0ca57ff60155bdd3e94fbfe5d9e8dc5013b3aa195b8d9e851ea9181900360200190a1604080516001600160a01b038516815290517f7eeded1a6761a0ca57ff60155bdd3e94fbfe5d9e8dc5013b3aa195b8d9e851ea9181900360200190a1604080516001600160a01b038416815290517f8a0d5ec55b7ba4e72b7d97dbd26e71ff52e453e626ce74a96c649e5bc026c4c89181900360200190a1604080516001600160a01b038316815290517f8f6a6e7d20a3233e0a79883272259ffbd7a243734e397bc2b4642c79d7fa8a6d9181900360200190a150505050565b610ae16104b7565b60015460009015610b0e57600154610b0b906105b984670de0b6b3a764000063ffffffff610f4616565b90505b600354610b21908263ffffffff610fe816565b600381905560408051918252517fa7ab0bde92e8afee66c7c5f3592a5b93e7415501b666f15bea395b30d399e1729181900360200190a15050565b6000610b67826110ee565b92915050565b604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205490565b6000610b6782611081565b670de0b6b3a764000081565b6040518060400160405280600b81526020016a5a45524f5374616b696e6760a81b81525081565b610bde81611370565b3360009081526020819052604081205490808215610c0d57610bff33611081565b9150610c0a336110ee565b90505b610c1633611131565b6000610c28848663ffffffff610fe816565b336000908152602081905260409020819055600154909150610c50908663ffffffff610fe816565b600181905560408051918252517f119495b1b01a3979110ba18e2447296d0bf46ef520fc0a3af775e233d7bb12529181900360200190a160055460408051631e2feecf60e11b81523360048201526024810188905290516001600160a01b0390921691633c5fdd9e9160448082019260009290919082900301818387803b158015610cda57600080fd5b505af1158015610cee573d6000803e3d6000fd5b50506040805184815290513393507f39df0e5286a3ef2f42a0bf52f32cfe2c58e5b0405f47fe512f2c2439e4cfe20492509081900360200190a26040805183815260208101859052815133927ff744d34ca1cb25acfa4180df5f09a67306107110a9f4b6ed99bb3be259738215928290030190a28315610e42576006546040805163a9059cbb60e01b81523360048201526024810185905290516001600160a01b039092169163a9059cbb916044808201926020929091908290030181600087803b158015610dbc57600080fd5b505af1158015610dd0573d6000803e3d6000fd5b505050506040513d6020811015610de657600080fd5b5051610e39576040805162461bcd60e51b815260206004820152601d60248201527f436f75646e27742065786563757465205a555344207472616e73666572000000604482015290519081900360640190fd5b610e42836111fb565b5050505050565b6008546001600160a01b031681565b60025481565b6007546001600160a01b031681565b60015481565b6006546001600160a01b031681565b6005546001600160a01b031681565b6001600160a01b038116610ed65760405162461bcd60e51b81526004018080602001828103825260228152602001806114ff6022913960400191505060405180910390fd5b806001600160a01b0316610ee8610b6d565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3604080517035b2bc9737bbb730b136329737bbb732b960791b8152905190819003601101902055565b600082610f5557506000610b67565b82820282848281610f6257fe5b0414610f9f5760405162461bcd60e51b81526004018080602001828103825260218152602001806115766021913960400191505060405180910390fd5b9392505050565b6000610f9f83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506113af565b600082820183811015610f9f576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b600081116105725760405162461bcd60e51b815260040180806020018281038252602c81526020018061154a602c913960400191505060405180910390fd5b6001600160a01b03811660009081526004602052604081205460025482906110e690670de0b6b3a7640000906105b9906110c1908663ffffffff6111b916565b6001600160a01b0388166000908152602081905260409020549063ffffffff610f4616565b949350505050565b6001600160a01b03811660009081526004602052604081206001015460035482906110e690670de0b6b3a7640000906105b9906110c1908663ffffffff6111b916565b600280546001600160a01b038316600081815260046020908152604091829020938455600354600190940184905593548151928352938201939093528083019190915290517f6b5cf27595af4428271524e0a5abd2b63f6fee1a61e31970490f5a10e257a1cd9181900360600190a150565b60008183106111b25781610f9f565b5090919050565b6000610f9f83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611451565b604080513381526020810183905281517f6109e2559dfa766aaec7118351d48a523f0a4157f49c8d68749c8ac41318ad12929181900390910190a1604051600090339083908381818185875af1925050503d8060008114611278576040519150601f19603f3d011682016040523d82523d6000602084013e61127d565b606091505b50509050806112bd5760405162461bcd60e51b815260040180806020018281038252602f8152602001806114ac602f913960400191505060405180910390fd5b5050565b6001600160a01b03811661131c576040805162461bcd60e51b815260206004820152601e60248201527f4163636f756e742063616e6e6f74206265207a65726f20616464726573730000604482015290519081900360640190fd5b803b806112bd576040805162461bcd60e51b815260206004820181905260248201527f4163636f756e7420636f64652073697a652063616e6e6f74206265207a65726f604482015290519081900360640190fd5b600081116105725760405162461bcd60e51b81526004018080602001828103825260248152602001806114db6024913960400191505060405180910390fd5b6000818361143b5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156114005781810151838201526020016113e8565b50505050905090810190601f16801561142d5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50600083858161144757fe5b0495945050505050565b600081848411156114a35760405162461bcd60e51b81526020600482018181528351602484015283519092839260449091019190850190808383600083156114005781810151838201526020016113e8565b50505090039056fe5a45524f5374616b696e673a204661696c656420746f2073656e6420616363756d756c61746564204554484761696e5a45524f5374616b696e673a20416d6f756e74206d757374206265206e6f6e2d7a65726f4f776e61626c653a3a7365744f776e65723a20696e76616c696420616464726573735a45524f5374616b696e673a2063616c6c6572206973206e6f74204665654469737472696275746f725a45524f5374616b696e673a2055736572206d75737420686176652061206e6f6e2d7a65726f207374616b65536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77a264697066735822122005ea5c1b2e30d7b818e7b6b5a8a68d8fe02ca8b773da2bafd849f769747926ed64736f6c634300060b00334f776e61626c653a3a7365744f776e65723a20696e76616c69642061646472657373", - "deployedBytecode": "0x6080604052600436106101235760003560e01c80638b9345ad116100a0578063b9bbe00f11610064578063b9bbe00f1461044e578063bc70cd8c14610463578063e6f7a1e714610478578063ec9f7d461461048d578063f294bd92146104a257610132565b80638b9345ad1461033d578063a20baee614610370578063a3f4df7e14610385578063a694fc3a1461040f578063b08bc7221461043957610132565b806334b3081f116100e757806334b3081f146102185780634a945f8d1461026457806361f6ab8c146102af578063787a149e146102d9578063893d20e81461030c57610132565b806313af40351461013757806316934fc41461016a5780631e3e2a1a146101af5780631f49119a146101d95780632e17de78146101ee57610132565b36610132576101306104b7565b005b600080fd5b34801561014357600080fd5b506101306004803603602081101561015a57600080fd5b50356001600160a01b0316610502565b34801561017657600080fd5b5061019d6004803603602081101561018d57600080fd5b50356001600160a01b0316610575565b60408051918252519081900360200190f35b3480156101bb57600080fd5b50610130600480360360208110156101d257600080fd5b5035610587565b3480156101e557600080fd5b5061019d610616565b3480156101fa57600080fd5b506101306004803603602081101561021157600080fd5b503561061c565b34801561022457600080fd5b5061024b6004803603602081101561023b57600080fd5b50356001600160a01b0316610901565b6040805192835260208301919091528051918290030190f35b34801561027057600080fd5b506101306004803603608081101561028757600080fd5b506001600160a01b03813581169160208101358216916040820135811691606001351661091a565b3480156102bb57600080fd5b50610130600480360360208110156102d257600080fd5b5035610ad9565b3480156102e557600080fd5b5061019d600480360360208110156102fc57600080fd5b50356001600160a01b0316610b5c565b34801561031857600080fd5b50610321610b6d565b604080516001600160a01b039092168252519081900360200190f35b34801561034957600080fd5b5061019d6004803603602081101561036057600080fd5b50356001600160a01b0316610b97565b34801561037c57600080fd5b5061019d610ba2565b34801561039157600080fd5b5061039a610bae565b6040805160208082528351818301528351919283929083019185019080838360005b838110156103d45781810151838201526020016103bc565b50505050905090810190601f1680156104015780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561041b57600080fd5b506101306004803603602081101561043257600080fd5b5035610bd5565b34801561044557600080fd5b50610321610e49565b34801561045a57600080fd5b5061019d610e58565b34801561046f57600080fd5b50610321610e5e565b34801561048457600080fd5b5061019d610e6d565b34801561049957600080fd5b50610321610e73565b3480156104ae57600080fd5b50610321610e82565b6007546001600160a01b031633146105005760405162461bcd60e51b81526004018080602001828103825260298152602001806115216029913960400191505060405180910390fd5b565b61050a610b6d565b6001600160a01b0316336001600160a01b031614610569576040805162461bcd60e51b815260206004820152601760248201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604482015290519081900360640190fd5b61057281610e91565b50565b60006020819052908152604090205481565b61058f6104b7565b600154600090156105c8576001546105c5906105b984670de0b6b3a764000063ffffffff610f4616565b9063ffffffff610fa616565b90505b6002546105db908263ffffffff610fe816565b600281905560408051918252517f4c56a0cf74da9899410b818edf6758c8af9b7b3070da97d2dcb6a5b1bf96317e9181900360200190a15050565b60035481565b3360009081526020819052604090205461063581611042565b600061064033611081565b9050600061064d336110ee565b905061065833611131565b83156107e757600061066a85856111a3565b9050600061067e858363ffffffff6111b916565b3360009081526020819052604090208190556001549091506106a6908363ffffffff6111b916565b600181905560408051918252517f119495b1b01a3979110ba18e2447296d0bf46ef520fc0a3af775e233d7bb12529181900360200190a16005546040805163a9059cbb60e01b81523360048201526024810185905290516001600160a01b039092169163a9059cbb916044808201926020929091908290030181600087803b15801561073157600080fd5b505af1158015610745573d6000803e3d6000fd5b505050506040513d602081101561075b57600080fd5b50516107ae576040805162461bcd60e51b815260206004820152601e60248201527f436f756c646e27742065786563757465205a555344207472616e736665720000604482015290519081900360640190fd5b60408051828152905133917f39df0e5286a3ef2f42a0bf52f32cfe2c58e5b0405f47fe512f2c2439e4cfe204919081900360200190a250505b6040805182815260208101849052815133927ff744d34ca1cb25acfa4180df5f09a67306107110a9f4b6ed99bb3be259738215928290030190a26006546040805163a9059cbb60e01b81523360048201526024810184905290516001600160a01b039092169163a9059cbb916044808201926020929091908290030181600087803b15801561087557600080fd5b505af1158015610889573d6000803e3d6000fd5b505050506040513d602081101561089f57600080fd5b50516108f2576040805162461bcd60e51b815260206004820152601e60248201527f436f756c646e27742065786563757465205a555344207472616e736665720000604482015290519081900360640190fd5b6108fb826111fb565b50505050565b6004602052600090815260409020805460019091015482565b610922610b6d565b6001600160a01b0316336001600160a01b031614610981576040805162461bcd60e51b815260206004820152601760248201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604482015290519081900360640190fd5b61098a846112c1565b610993836112c1565b61099c826112c1565b6109a5816112c1565b600580546001600160a01b038087166001600160a01b031992831681179093556006805487831690841617905560078054868316908416179055600880549185169190921617905560408051918252517f7eeded1a6761a0ca57ff60155bdd3e94fbfe5d9e8dc5013b3aa195b8d9e851ea9181900360200190a1604080516001600160a01b038516815290517f7eeded1a6761a0ca57ff60155bdd3e94fbfe5d9e8dc5013b3aa195b8d9e851ea9181900360200190a1604080516001600160a01b038416815290517f8a0d5ec55b7ba4e72b7d97dbd26e71ff52e453e626ce74a96c649e5bc026c4c89181900360200190a1604080516001600160a01b038316815290517f8f6a6e7d20a3233e0a79883272259ffbd7a243734e397bc2b4642c79d7fa8a6d9181900360200190a150505050565b610ae16104b7565b60015460009015610b0e57600154610b0b906105b984670de0b6b3a764000063ffffffff610f4616565b90505b600354610b21908263ffffffff610fe816565b600381905560408051918252517fa7ab0bde92e8afee66c7c5f3592a5b93e7415501b666f15bea395b30d399e1729181900360200190a15050565b6000610b67826110ee565b92915050565b604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205490565b6000610b6782611081565b670de0b6b3a764000081565b6040518060400160405280600b81526020016a5a45524f5374616b696e6760a81b81525081565b610bde81611370565b3360009081526020819052604081205490808215610c0d57610bff33611081565b9150610c0a336110ee565b90505b610c1633611131565b6000610c28848663ffffffff610fe816565b336000908152602081905260409020819055600154909150610c50908663ffffffff610fe816565b600181905560408051918252517f119495b1b01a3979110ba18e2447296d0bf46ef520fc0a3af775e233d7bb12529181900360200190a160055460408051631e2feecf60e11b81523360048201526024810188905290516001600160a01b0390921691633c5fdd9e9160448082019260009290919082900301818387803b158015610cda57600080fd5b505af1158015610cee573d6000803e3d6000fd5b50506040805184815290513393507f39df0e5286a3ef2f42a0bf52f32cfe2c58e5b0405f47fe512f2c2439e4cfe20492509081900360200190a26040805183815260208101859052815133927ff744d34ca1cb25acfa4180df5f09a67306107110a9f4b6ed99bb3be259738215928290030190a28315610e42576006546040805163a9059cbb60e01b81523360048201526024810185905290516001600160a01b039092169163a9059cbb916044808201926020929091908290030181600087803b158015610dbc57600080fd5b505af1158015610dd0573d6000803e3d6000fd5b505050506040513d6020811015610de657600080fd5b5051610e39576040805162461bcd60e51b815260206004820152601d60248201527f436f75646e27742065786563757465205a555344207472616e73666572000000604482015290519081900360640190fd5b610e42836111fb565b5050505050565b6008546001600160a01b031681565b60025481565b6007546001600160a01b031681565b60015481565b6006546001600160a01b031681565b6005546001600160a01b031681565b6001600160a01b038116610ed65760405162461bcd60e51b81526004018080602001828103825260228152602001806114ff6022913960400191505060405180910390fd5b806001600160a01b0316610ee8610b6d565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3604080517035b2bc9737bbb730b136329737bbb732b960791b8152905190819003601101902055565b600082610f5557506000610b67565b82820282848281610f6257fe5b0414610f9f5760405162461bcd60e51b81526004018080602001828103825260218152602001806115766021913960400191505060405180910390fd5b9392505050565b6000610f9f83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506113af565b600082820183811015610f9f576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b600081116105725760405162461bcd60e51b815260040180806020018281038252602c81526020018061154a602c913960400191505060405180910390fd5b6001600160a01b03811660009081526004602052604081205460025482906110e690670de0b6b3a7640000906105b9906110c1908663ffffffff6111b916565b6001600160a01b0388166000908152602081905260409020549063ffffffff610f4616565b949350505050565b6001600160a01b03811660009081526004602052604081206001015460035482906110e690670de0b6b3a7640000906105b9906110c1908663ffffffff6111b916565b600280546001600160a01b038316600081815260046020908152604091829020938455600354600190940184905593548151928352938201939093528083019190915290517f6b5cf27595af4428271524e0a5abd2b63f6fee1a61e31970490f5a10e257a1cd9181900360600190a150565b60008183106111b25781610f9f565b5090919050565b6000610f9f83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611451565b604080513381526020810183905281517f6109e2559dfa766aaec7118351d48a523f0a4157f49c8d68749c8ac41318ad12929181900390910190a1604051600090339083908381818185875af1925050503d8060008114611278576040519150601f19603f3d011682016040523d82523d6000602084013e61127d565b606091505b50509050806112bd5760405162461bcd60e51b815260040180806020018281038252602f8152602001806114ac602f913960400191505060405180910390fd5b5050565b6001600160a01b03811661131c576040805162461bcd60e51b815260206004820152601e60248201527f4163636f756e742063616e6e6f74206265207a65726f20616464726573730000604482015290519081900360640190fd5b803b806112bd576040805162461bcd60e51b815260206004820181905260248201527f4163636f756e7420636f64652073697a652063616e6e6f74206265207a65726f604482015290519081900360640190fd5b600081116105725760405162461bcd60e51b81526004018080602001828103825260248152602001806114db6024913960400191505060405180910390fd5b6000818361143b5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156114005781810151838201526020016113e8565b50505050905090810190601f16801561142d5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50600083858161144757fe5b0495945050505050565b600081848411156114a35760405162461bcd60e51b81526020600482018181528351602484015283519092839260449091019190850190808383600083156114005781810151838201526020016113e8565b50505090039056fe5a45524f5374616b696e673a204661696c656420746f2073656e6420616363756d756c61746564204554484761696e5a45524f5374616b696e673a20416d6f756e74206d757374206265206e6f6e2d7a65726f4f776e61626c653a3a7365744f776e65723a20696e76616c696420616464726573735a45524f5374616b696e673a2063616c6c6572206973206e6f74204665654469737472696275746f725a45524f5374616b696e673a2055736572206d75737420686176652061206e6f6e2d7a65726f207374616b65536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77a264697066735822122005ea5c1b2e30d7b818e7b6b5a8a68d8fe02ca8b773da2bafd849f769747926ed64736f6c634300060b0033", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/packages/lib-ethers/live/ZEROStakingScript.json b/packages/lib-ethers/live/ZEROStakingScript.json deleted file mode 100644 index cc9f6f6a1..000000000 --- a/packages/lib-ethers/live/ZEROStakingScript.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "ZEROStakingScript", - "sourceName": "contracts/Proxy/ZEROStakingScript.sol", - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_zeroStakingAddress", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_ZEROamount", - "type": "uint256" - } - ], - "name": "stake", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": "0x60a060405234801561001057600080fd5b506040516102273803806102278339818101604052602081101561003357600080fd5b5051610047816001600160e01b0361005c16565b60601b6001600160601b03191660805261010f565b6001600160a01b0381166100b7576040805162461bcd60e51b815260206004820152601e60248201527f4163636f756e742063616e6e6f74206265207a65726f20616464726573730000604482015290519081900360640190fd5b803b8061010b576040805162461bcd60e51b815260206004820181905260248201527f4163636f756e7420636f64652073697a652063616e6e6f74206265207a65726f604482015290519081900360640190fd5b5050565b60805160601c60fe61012960003980604b525060fe6000f3fe6080604052348015600f57600080fd5b506004361060285760003560e01c8063a694fc3a14602d575b600080fd5b604760048036036020811015604157600080fd5b50356049565b005b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a694fc3a826040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b15801560ae57600080fd5b505af115801560c1573d6000803e3d6000fd5b505050505056fea26469706673582212204c801065953c8f8d9dfd43e80a431fc675352de7ae7da040d4d0ff10dc2c737464736f6c634300060b0033", - "deployedBytecode": "0x6080604052348015600f57600080fd5b506004361060285760003560e01c8063a694fc3a14602d575b600080fd5b604760048036036020811015604157600080fd5b50356049565b005b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a694fc3a826040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b15801560ae57600080fd5b505af115801560c1573d6000803e3d6000fd5b505050505056fea26469706673582212204c801065953c8f8d9dfd43e80a431fc675352de7ae7da040d4d0ff10dc2c737464736f6c634300060b0033", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/packages/lib-ethers/live/ZEROStakingStorage.json b/packages/lib-ethers/live/ZEROStakingStorage.json deleted file mode 100644 index d742458df..000000000 --- a/packages/lib-ethers/live/ZEROStakingStorage.json +++ /dev/null @@ -1,203 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "ZEROStakingStorage", - "sourceName": "contracts/ZERO/ZEROStakingStorage.sol", - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "previousOwner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnershipTransferred", - "type": "event" - }, - { - "inputs": [], - "name": "F_ETH", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "F_ZUSD", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "NAME", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "activePoolAddress", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "feeDistributorAddress", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getOwner", - "outputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - } - ], - "name": "setOwner", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "snapshots", - "outputs": [ - { - "internalType": "uint256", - "name": "F_ETH_Snapshot", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "F_ZUSD_Snapshot", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "stakes", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "totalZEROStaked", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "zeroToken", - "outputs": [ - { - "internalType": "contract IZEROToken", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "zusdToken", - "outputs": [ - { - "internalType": "contract IZUSDToken", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": "0x608060405234801561001057600080fd5b50610023336001600160e01b0361002816565b610110565b6001600160a01b03811661006d5760405162461bcd60e51b815260040180806020018281038252602281526020018061059a6022913960400191505060405180910390fd5b6001600160a01b0381166100886001600160e01b036100e616565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3604080517035b2bc9737bbb730b136329737bbb732b960791b8152905190819003601101902055565b604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205490565b61047b8061011f6000396000f3fe608060405234801561001057600080fd5b50600436106100b45760003560e01c8063b08bc72211610071578063b08bc72214610201578063b9bbe00f14610209578063bc70cd8c14610211578063e6f7a1e714610219578063ec9f7d4614610221578063f294bd9214610229576100b4565b806313af4035146100b957806316934fc4146100e15780631f49119a1461011957806334b3081f14610121578063893d20e814610160578063a3f4df7e14610184575b600080fd5b6100df600480360360208110156100cf57600080fd5b50356001600160a01b0316610231565b005b610107600480360360208110156100f757600080fd5b50356001600160a01b03166102a4565b60408051918252519081900360200190f35b6101076102b6565b6101476004803603602081101561013757600080fd5b50356001600160a01b03166102bc565b6040805192835260208301919091528051918290030190f35b6101686102d5565b604080516001600160a01b039092168252519081900360200190f35b61018c6102ff565b6040805160208082528351818301528351919283929083019185019080838360005b838110156101c65781810151838201526020016101ae565b50505050905090810190601f1680156101f35780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b610168610326565b610107610335565b61016861033b565b61010761034a565b610168610350565b61016861035f565b6102396102d5565b6001600160a01b0316336001600160a01b031614610298576040805162461bcd60e51b815260206004820152601760248201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604482015290519081900360640190fd5b6102a18161036e565b50565b60006020819052908152604090205481565b60035481565b6004602052600090815260409020805460019091015482565b604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205490565b6040518060400160405280600b81526020016a5a45524f5374616b696e6760a81b81525081565b6008546001600160a01b031681565b60025481565b6007546001600160a01b031681565b60015481565b6006546001600160a01b031681565b6005546001600160a01b031681565b6001600160a01b0381166103b35760405162461bcd60e51b81526004018080602001828103825260228152602001806104246022913960400191505060405180910390fd5b806001600160a01b03166103c56102d5565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205556fe4f776e61626c653a3a7365744f776e65723a20696e76616c69642061646472657373a26469706673582212209b240d95256e5de14f3a6e8d35856a41eacaa1a6034c1e8cf77e72380b18114b64736f6c634300060b00334f776e61626c653a3a7365744f776e65723a20696e76616c69642061646472657373", - "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100b45760003560e01c8063b08bc72211610071578063b08bc72214610201578063b9bbe00f14610209578063bc70cd8c14610211578063e6f7a1e714610219578063ec9f7d4614610221578063f294bd9214610229576100b4565b806313af4035146100b957806316934fc4146100e15780631f49119a1461011957806334b3081f14610121578063893d20e814610160578063a3f4df7e14610184575b600080fd5b6100df600480360360208110156100cf57600080fd5b50356001600160a01b0316610231565b005b610107600480360360208110156100f757600080fd5b50356001600160a01b03166102a4565b60408051918252519081900360200190f35b6101076102b6565b6101476004803603602081101561013757600080fd5b50356001600160a01b03166102bc565b6040805192835260208301919091528051918290030190f35b6101686102d5565b604080516001600160a01b039092168252519081900360200190f35b61018c6102ff565b6040805160208082528351818301528351919283929083019185019080838360005b838110156101c65781810151838201526020016101ae565b50505050905090810190601f1680156101f35780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b610168610326565b610107610335565b61016861033b565b61010761034a565b610168610350565b61016861035f565b6102396102d5565b6001600160a01b0316336001600160a01b031614610298576040805162461bcd60e51b815260206004820152601760248201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604482015290519081900360640190fd5b6102a18161036e565b50565b60006020819052908152604090205481565b60035481565b6004602052600090815260409020805460019091015482565b604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205490565b6040518060400160405280600b81526020016a5a45524f5374616b696e6760a81b81525081565b6008546001600160a01b031681565b60025481565b6007546001600160a01b031681565b60015481565b6006546001600160a01b031681565b6005546001600160a01b031681565b6001600160a01b0381166103b35760405162461bcd60e51b81526004018080602001828103825260228152602001806104246022913960400191505060405180910390fd5b806001600160a01b03166103c56102d5565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205556fe4f776e61626c653a3a7365744f776e65723a20696e76616c69642061646472657373a26469706673582212209b240d95256e5de14f3a6e8d35856a41eacaa1a6034c1e8cf77e72380b18114b64736f6c634300060b0033", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/packages/lib-ethers/live/ZEROStakingTester.json b/packages/lib-ethers/live/ZEROStakingTester.json deleted file mode 100644 index 2b1744a48..000000000 --- a/packages/lib-ethers/live/ZEROStakingTester.json +++ /dev/null @@ -1,537 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "ZEROStakingTester", - "sourceName": "contracts/TestContracts/ZEROStakingTester.sol", - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_activePoolAddress", - "type": "address" - } - ], - "name": "ActivePoolAddressSet", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_account", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "name": "EtherSent", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "_F_ETH", - "type": "uint256" - } - ], - "name": "F_ETHUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "_F_ZUSD", - "type": "uint256" - } - ], - "name": "F_ZUSDUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_feeDistributorAddress", - "type": "address" - } - ], - "name": "FeeDistributorAddressAddressSet", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_feeDistributorAddress", - "type": "address" - } - ], - "name": "FeeDistributorAddressSet", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "previousOwner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnershipTransferred", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "staker", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "newStake", - "type": "uint256" - } - ], - "name": "StakeChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_staker", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_F_ETH", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_F_ZUSD", - "type": "uint256" - } - ], - "name": "StakerSnapshotsUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "staker", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "ZUSDGain", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "ETHGain", - "type": "uint256" - } - ], - "name": "StakingGainsWithdrawn", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "_totalZEROStaked", - "type": "uint256" - } - ], - "name": "TotalZEROStakedUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_zeroTokenAddress", - "type": "address" - } - ], - "name": "ZEROTokenAddressSet", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_zusdTokenAddress", - "type": "address" - } - ], - "name": "ZUSDTokenAddressSet", - "type": "event" - }, - { - "inputs": [], - "name": "DECIMAL_PRECISION", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "F_ETH", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "F_ZUSD", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "NAME", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "activePoolAddress", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "feeDistributorAddress", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getOwner", - "outputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_user", - "type": "address" - } - ], - "name": "getPendingETHGain", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_user", - "type": "address" - } - ], - "name": "getPendingZUSDGain", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_ETHFee", - "type": "uint256" - } - ], - "name": "increaseF_ETH", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_ZUSDFee", - "type": "uint256" - } - ], - "name": "increaseF_ZUSD", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "requireCallerIsFeeDistributor", - "outputs": [], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_zeroTokenAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_zusdTokenAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_feeDistributorAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_activePoolAddress", - "type": "address" - } - ], - "name": "setAddresses", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - } - ], - "name": "setOwner", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "snapshots", - "outputs": [ - { - "internalType": "uint256", - "name": "F_ETH_Snapshot", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "F_ZUSD_Snapshot", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_ZEROamount", - "type": "uint256" - } - ], - "name": "stake", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "stakes", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "totalZEROStaked", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_ZEROamount", - "type": "uint256" - } - ], - "name": "unstake", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "zeroToken", - "outputs": [ - { - "internalType": "contract IZEROToken", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "zusdToken", - "outputs": [ - { - "internalType": "contract IZUSDToken", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "stateMutability": "payable", - "type": "receive" - } - ], - "bytecode": "0x608060405234801561001057600080fd5b50610023336001600160e01b0361002816565b610110565b6001600160a01b03811661006d5760405162461bcd60e51b81526004018080602001828103825260228152602001806117136022913960400191505060405180910390fd5b6001600160a01b0381166100886001600160e01b036100e616565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3604080517035b2bc9737bbb730b136329737bbb732b960791b8152905190819003601101902055565b604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205490565b6115f48061011f6000396000f3fe60806040526004361061012e5760003560e01c8063893d20e8116100ab578063b08bc7221161006f578063b08bc72214610459578063b9bbe00f1461046e578063bc70cd8c14610483578063e6f7a1e714610498578063ec9f7d46146104ad578063f294bd92146104c25761013d565b8063893d20e81461032c5780638b9345ad1461035d578063a20baee614610390578063a3f4df7e146103a5578063a694fc3a1461042f5761013d565b80632e17de78116100f25780632e17de781461020e57806334b3081f146102385780634a945f8d1461028457806361f6ab8c146102cf578063787a149e146102f95761013d565b8063022d5d411461014257806313af40351461015757806316934fc41461018a5780631e3e2a1a146101cf5780631f49119a146101f95761013d565b3661013d5761013b6104d7565b005b600080fd5b34801561014e57600080fd5b5061013b610522565b34801561016357600080fd5b5061013b6004803603602081101561017a57600080fd5b50356001600160a01b031661052a565b34801561019657600080fd5b506101bd600480360360208110156101ad57600080fd5b50356001600160a01b031661059d565b60408051918252519081900360200190f35b3480156101db57600080fd5b5061013b600480360360208110156101f257600080fd5b50356105af565b34801561020557600080fd5b506101bd61063e565b34801561021a57600080fd5b5061013b6004803603602081101561023157600080fd5b5035610644565b34801561024457600080fd5b5061026b6004803603602081101561025b57600080fd5b50356001600160a01b0316610929565b6040805192835260208301919091528051918290030190f35b34801561029057600080fd5b5061013b600480360360808110156102a757600080fd5b506001600160a01b038135811691602081013582169160408201358116916060013516610942565b3480156102db57600080fd5b5061013b600480360360208110156102f257600080fd5b5035610b01565b34801561030557600080fd5b506101bd6004803603602081101561031c57600080fd5b50356001600160a01b0316610b84565b34801561033857600080fd5b50610341610b95565b604080516001600160a01b039092168252519081900360200190f35b34801561036957600080fd5b506101bd6004803603602081101561038057600080fd5b50356001600160a01b0316610bbf565b34801561039c57600080fd5b506101bd610bca565b3480156103b157600080fd5b506103ba610bd6565b6040805160208082528351818301528351919283929083019185019080838360005b838110156103f45781810151838201526020016103dc565b50505050905090810190601f1680156104215780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561043b57600080fd5b5061013b6004803603602081101561045257600080fd5b5035610bfd565b34801561046557600080fd5b50610341610e71565b34801561047a57600080fd5b506101bd610e80565b34801561048f57600080fd5b50610341610e86565b3480156104a457600080fd5b506101bd610e95565b3480156104b957600080fd5b50610341610e9b565b3480156104ce57600080fd5b50610341610eaa565b6007546001600160a01b031633146105205760405162461bcd60e51b81526004018080602001828103825260298152602001806115496029913960400191505060405180910390fd5b565b6105206104d7565b610532610b95565b6001600160a01b0316336001600160a01b031614610591576040805162461bcd60e51b815260206004820152601760248201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604482015290519081900360640190fd5b61059a81610eb9565b50565b60006020819052908152604090205481565b6105b76104d7565b600154600090156105f0576001546105ed906105e184670de0b6b3a764000063ffffffff610f6e16565b9063ffffffff610fce16565b90505b600254610603908263ffffffff61101016565b600281905560408051918252517f4c56a0cf74da9899410b818edf6758c8af9b7b3070da97d2dcb6a5b1bf96317e9181900360200190a15050565b60035481565b3360009081526020819052604090205461065d8161106a565b6000610668336110a9565b9050600061067533611116565b905061068033611159565b831561080f57600061069285856111cb565b905060006106a6858363ffffffff6111e116565b3360009081526020819052604090208190556001549091506106ce908363ffffffff6111e116565b600181905560408051918252517f119495b1b01a3979110ba18e2447296d0bf46ef520fc0a3af775e233d7bb12529181900360200190a16005546040805163a9059cbb60e01b81523360048201526024810185905290516001600160a01b039092169163a9059cbb916044808201926020929091908290030181600087803b15801561075957600080fd5b505af115801561076d573d6000803e3d6000fd5b505050506040513d602081101561078357600080fd5b50516107d6576040805162461bcd60e51b815260206004820152601e60248201527f436f756c646e27742065786563757465205a555344207472616e736665720000604482015290519081900360640190fd5b60408051828152905133917f39df0e5286a3ef2f42a0bf52f32cfe2c58e5b0405f47fe512f2c2439e4cfe204919081900360200190a250505b6040805182815260208101849052815133927ff744d34ca1cb25acfa4180df5f09a67306107110a9f4b6ed99bb3be259738215928290030190a26006546040805163a9059cbb60e01b81523360048201526024810184905290516001600160a01b039092169163a9059cbb916044808201926020929091908290030181600087803b15801561089d57600080fd5b505af11580156108b1573d6000803e3d6000fd5b505050506040513d60208110156108c757600080fd5b505161091a576040805162461bcd60e51b815260206004820152601e60248201527f436f756c646e27742065786563757465205a555344207472616e736665720000604482015290519081900360640190fd5b61092382611223565b50505050565b6004602052600090815260409020805460019091015482565b61094a610b95565b6001600160a01b0316336001600160a01b0316146109a9576040805162461bcd60e51b815260206004820152601760248201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604482015290519081900360640190fd5b6109b2846112e9565b6109bb836112e9565b6109c4826112e9565b6109cd816112e9565b600580546001600160a01b038087166001600160a01b031992831681179093556006805487831690841617905560078054868316908416179055600880549185169190921617905560408051918252517f7eeded1a6761a0ca57ff60155bdd3e94fbfe5d9e8dc5013b3aa195b8d9e851ea9181900360200190a1604080516001600160a01b038516815290517f7eeded1a6761a0ca57ff60155bdd3e94fbfe5d9e8dc5013b3aa195b8d9e851ea9181900360200190a1604080516001600160a01b038416815290517f8a0d5ec55b7ba4e72b7d97dbd26e71ff52e453e626ce74a96c649e5bc026c4c89181900360200190a1604080516001600160a01b038316815290517f8f6a6e7d20a3233e0a79883272259ffbd7a243734e397bc2b4642c79d7fa8a6d9181900360200190a150505050565b610b096104d7565b60015460009015610b3657600154610b33906105e184670de0b6b3a764000063ffffffff610f6e16565b90505b600354610b49908263ffffffff61101016565b600381905560408051918252517fa7ab0bde92e8afee66c7c5f3592a5b93e7415501b666f15bea395b30d399e1729181900360200190a15050565b6000610b8f82611116565b92915050565b604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205490565b6000610b8f826110a9565b670de0b6b3a764000081565b6040518060400160405280600b81526020016a5a45524f5374616b696e6760a81b81525081565b610c0681611398565b3360009081526020819052604081205490808215610c3557610c27336110a9565b9150610c3233611116565b90505b610c3e33611159565b6000610c50848663ffffffff61101016565b336000908152602081905260409020819055600154909150610c78908663ffffffff61101016565b600181905560408051918252517f119495b1b01a3979110ba18e2447296d0bf46ef520fc0a3af775e233d7bb12529181900360200190a160055460408051631e2feecf60e11b81523360048201526024810188905290516001600160a01b0390921691633c5fdd9e9160448082019260009290919082900301818387803b158015610d0257600080fd5b505af1158015610d16573d6000803e3d6000fd5b50506040805184815290513393507f39df0e5286a3ef2f42a0bf52f32cfe2c58e5b0405f47fe512f2c2439e4cfe20492509081900360200190a26040805183815260208101859052815133927ff744d34ca1cb25acfa4180df5f09a67306107110a9f4b6ed99bb3be259738215928290030190a28315610e6a576006546040805163a9059cbb60e01b81523360048201526024810185905290516001600160a01b039092169163a9059cbb916044808201926020929091908290030181600087803b158015610de457600080fd5b505af1158015610df8573d6000803e3d6000fd5b505050506040513d6020811015610e0e57600080fd5b5051610e61576040805162461bcd60e51b815260206004820152601d60248201527f436f75646e27742065786563757465205a555344207472616e73666572000000604482015290519081900360640190fd5b610e6a83611223565b5050505050565b6008546001600160a01b031681565b60025481565b6007546001600160a01b031681565b60015481565b6006546001600160a01b031681565b6005546001600160a01b031681565b6001600160a01b038116610efe5760405162461bcd60e51b81526004018080602001828103825260228152602001806115276022913960400191505060405180910390fd5b806001600160a01b0316610f10610b95565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3604080517035b2bc9737bbb730b136329737bbb732b960791b8152905190819003601101902055565b600082610f7d57506000610b8f565b82820282848281610f8a57fe5b0414610fc75760405162461bcd60e51b815260040180806020018281038252602181526020018061159e6021913960400191505060405180910390fd5b9392505050565b6000610fc783836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506113d7565b600082820183811015610fc7576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b6000811161059a5760405162461bcd60e51b815260040180806020018281038252602c815260200180611572602c913960400191505060405180910390fd5b6001600160a01b038116600090815260046020526040812054600254829061110e90670de0b6b3a7640000906105e1906110e9908663ffffffff6111e116565b6001600160a01b0388166000908152602081905260409020549063ffffffff610f6e16565b949350505050565b6001600160a01b038116600090815260046020526040812060010154600354829061110e90670de0b6b3a7640000906105e1906110e9908663ffffffff6111e116565b600280546001600160a01b038316600081815260046020908152604091829020938455600354600190940184905593548151928352938201939093528083019190915290517f6b5cf27595af4428271524e0a5abd2b63f6fee1a61e31970490f5a10e257a1cd9181900360600190a150565b60008183106111da5781610fc7565b5090919050565b6000610fc783836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611479565b604080513381526020810183905281517f6109e2559dfa766aaec7118351d48a523f0a4157f49c8d68749c8ac41318ad12929181900390910190a1604051600090339083908381818185875af1925050503d80600081146112a0576040519150601f19603f3d011682016040523d82523d6000602084013e6112a5565b606091505b50509050806112e55760405162461bcd60e51b815260040180806020018281038252602f8152602001806114d4602f913960400191505060405180910390fd5b5050565b6001600160a01b038116611344576040805162461bcd60e51b815260206004820152601e60248201527f4163636f756e742063616e6e6f74206265207a65726f20616464726573730000604482015290519081900360640190fd5b803b806112e5576040805162461bcd60e51b815260206004820181905260248201527f4163636f756e7420636f64652073697a652063616e6e6f74206265207a65726f604482015290519081900360640190fd5b6000811161059a5760405162461bcd60e51b81526004018080602001828103825260248152602001806115036024913960400191505060405180910390fd5b600081836114635760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611428578181015183820152602001611410565b50505050905090810190601f1680156114555780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50600083858161146f57fe5b0495945050505050565b600081848411156114cb5760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315611428578181015183820152602001611410565b50505090039056fe5a45524f5374616b696e673a204661696c656420746f2073656e6420616363756d756c61746564204554484761696e5a45524f5374616b696e673a20416d6f756e74206d757374206265206e6f6e2d7a65726f4f776e61626c653a3a7365744f776e65723a20696e76616c696420616464726573735a45524f5374616b696e673a2063616c6c6572206973206e6f74204665654469737472696275746f725a45524f5374616b696e673a2055736572206d75737420686176652061206e6f6e2d7a65726f207374616b65536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77a2646970667358221220549d08e1c2f7f559e0968928209fdc50ff207bce3ae52ac30ef27530781a0e8564736f6c634300060b00334f776e61626c653a3a7365744f776e65723a20696e76616c69642061646472657373", - "deployedBytecode": "0x60806040526004361061012e5760003560e01c8063893d20e8116100ab578063b08bc7221161006f578063b08bc72214610459578063b9bbe00f1461046e578063bc70cd8c14610483578063e6f7a1e714610498578063ec9f7d46146104ad578063f294bd92146104c25761013d565b8063893d20e81461032c5780638b9345ad1461035d578063a20baee614610390578063a3f4df7e146103a5578063a694fc3a1461042f5761013d565b80632e17de78116100f25780632e17de781461020e57806334b3081f146102385780634a945f8d1461028457806361f6ab8c146102cf578063787a149e146102f95761013d565b8063022d5d411461014257806313af40351461015757806316934fc41461018a5780631e3e2a1a146101cf5780631f49119a146101f95761013d565b3661013d5761013b6104d7565b005b600080fd5b34801561014e57600080fd5b5061013b610522565b34801561016357600080fd5b5061013b6004803603602081101561017a57600080fd5b50356001600160a01b031661052a565b34801561019657600080fd5b506101bd600480360360208110156101ad57600080fd5b50356001600160a01b031661059d565b60408051918252519081900360200190f35b3480156101db57600080fd5b5061013b600480360360208110156101f257600080fd5b50356105af565b34801561020557600080fd5b506101bd61063e565b34801561021a57600080fd5b5061013b6004803603602081101561023157600080fd5b5035610644565b34801561024457600080fd5b5061026b6004803603602081101561025b57600080fd5b50356001600160a01b0316610929565b6040805192835260208301919091528051918290030190f35b34801561029057600080fd5b5061013b600480360360808110156102a757600080fd5b506001600160a01b038135811691602081013582169160408201358116916060013516610942565b3480156102db57600080fd5b5061013b600480360360208110156102f257600080fd5b5035610b01565b34801561030557600080fd5b506101bd6004803603602081101561031c57600080fd5b50356001600160a01b0316610b84565b34801561033857600080fd5b50610341610b95565b604080516001600160a01b039092168252519081900360200190f35b34801561036957600080fd5b506101bd6004803603602081101561038057600080fd5b50356001600160a01b0316610bbf565b34801561039c57600080fd5b506101bd610bca565b3480156103b157600080fd5b506103ba610bd6565b6040805160208082528351818301528351919283929083019185019080838360005b838110156103f45781810151838201526020016103dc565b50505050905090810190601f1680156104215780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561043b57600080fd5b5061013b6004803603602081101561045257600080fd5b5035610bfd565b34801561046557600080fd5b50610341610e71565b34801561047a57600080fd5b506101bd610e80565b34801561048f57600080fd5b50610341610e86565b3480156104a457600080fd5b506101bd610e95565b3480156104b957600080fd5b50610341610e9b565b3480156104ce57600080fd5b50610341610eaa565b6007546001600160a01b031633146105205760405162461bcd60e51b81526004018080602001828103825260298152602001806115496029913960400191505060405180910390fd5b565b6105206104d7565b610532610b95565b6001600160a01b0316336001600160a01b031614610591576040805162461bcd60e51b815260206004820152601760248201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604482015290519081900360640190fd5b61059a81610eb9565b50565b60006020819052908152604090205481565b6105b76104d7565b600154600090156105f0576001546105ed906105e184670de0b6b3a764000063ffffffff610f6e16565b9063ffffffff610fce16565b90505b600254610603908263ffffffff61101016565b600281905560408051918252517f4c56a0cf74da9899410b818edf6758c8af9b7b3070da97d2dcb6a5b1bf96317e9181900360200190a15050565b60035481565b3360009081526020819052604090205461065d8161106a565b6000610668336110a9565b9050600061067533611116565b905061068033611159565b831561080f57600061069285856111cb565b905060006106a6858363ffffffff6111e116565b3360009081526020819052604090208190556001549091506106ce908363ffffffff6111e116565b600181905560408051918252517f119495b1b01a3979110ba18e2447296d0bf46ef520fc0a3af775e233d7bb12529181900360200190a16005546040805163a9059cbb60e01b81523360048201526024810185905290516001600160a01b039092169163a9059cbb916044808201926020929091908290030181600087803b15801561075957600080fd5b505af115801561076d573d6000803e3d6000fd5b505050506040513d602081101561078357600080fd5b50516107d6576040805162461bcd60e51b815260206004820152601e60248201527f436f756c646e27742065786563757465205a555344207472616e736665720000604482015290519081900360640190fd5b60408051828152905133917f39df0e5286a3ef2f42a0bf52f32cfe2c58e5b0405f47fe512f2c2439e4cfe204919081900360200190a250505b6040805182815260208101849052815133927ff744d34ca1cb25acfa4180df5f09a67306107110a9f4b6ed99bb3be259738215928290030190a26006546040805163a9059cbb60e01b81523360048201526024810184905290516001600160a01b039092169163a9059cbb916044808201926020929091908290030181600087803b15801561089d57600080fd5b505af11580156108b1573d6000803e3d6000fd5b505050506040513d60208110156108c757600080fd5b505161091a576040805162461bcd60e51b815260206004820152601e60248201527f436f756c646e27742065786563757465205a555344207472616e736665720000604482015290519081900360640190fd5b61092382611223565b50505050565b6004602052600090815260409020805460019091015482565b61094a610b95565b6001600160a01b0316336001600160a01b0316146109a9576040805162461bcd60e51b815260206004820152601760248201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604482015290519081900360640190fd5b6109b2846112e9565b6109bb836112e9565b6109c4826112e9565b6109cd816112e9565b600580546001600160a01b038087166001600160a01b031992831681179093556006805487831690841617905560078054868316908416179055600880549185169190921617905560408051918252517f7eeded1a6761a0ca57ff60155bdd3e94fbfe5d9e8dc5013b3aa195b8d9e851ea9181900360200190a1604080516001600160a01b038516815290517f7eeded1a6761a0ca57ff60155bdd3e94fbfe5d9e8dc5013b3aa195b8d9e851ea9181900360200190a1604080516001600160a01b038416815290517f8a0d5ec55b7ba4e72b7d97dbd26e71ff52e453e626ce74a96c649e5bc026c4c89181900360200190a1604080516001600160a01b038316815290517f8f6a6e7d20a3233e0a79883272259ffbd7a243734e397bc2b4642c79d7fa8a6d9181900360200190a150505050565b610b096104d7565b60015460009015610b3657600154610b33906105e184670de0b6b3a764000063ffffffff610f6e16565b90505b600354610b49908263ffffffff61101016565b600381905560408051918252517fa7ab0bde92e8afee66c7c5f3592a5b93e7415501b666f15bea395b30d399e1729181900360200190a15050565b6000610b8f82611116565b92915050565b604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205490565b6000610b8f826110a9565b670de0b6b3a764000081565b6040518060400160405280600b81526020016a5a45524f5374616b696e6760a81b81525081565b610c0681611398565b3360009081526020819052604081205490808215610c3557610c27336110a9565b9150610c3233611116565b90505b610c3e33611159565b6000610c50848663ffffffff61101016565b336000908152602081905260409020819055600154909150610c78908663ffffffff61101016565b600181905560408051918252517f119495b1b01a3979110ba18e2447296d0bf46ef520fc0a3af775e233d7bb12529181900360200190a160055460408051631e2feecf60e11b81523360048201526024810188905290516001600160a01b0390921691633c5fdd9e9160448082019260009290919082900301818387803b158015610d0257600080fd5b505af1158015610d16573d6000803e3d6000fd5b50506040805184815290513393507f39df0e5286a3ef2f42a0bf52f32cfe2c58e5b0405f47fe512f2c2439e4cfe20492509081900360200190a26040805183815260208101859052815133927ff744d34ca1cb25acfa4180df5f09a67306107110a9f4b6ed99bb3be259738215928290030190a28315610e6a576006546040805163a9059cbb60e01b81523360048201526024810185905290516001600160a01b039092169163a9059cbb916044808201926020929091908290030181600087803b158015610de457600080fd5b505af1158015610df8573d6000803e3d6000fd5b505050506040513d6020811015610e0e57600080fd5b5051610e61576040805162461bcd60e51b815260206004820152601d60248201527f436f75646e27742065786563757465205a555344207472616e73666572000000604482015290519081900360640190fd5b610e6a83611223565b5050505050565b6008546001600160a01b031681565b60025481565b6007546001600160a01b031681565b60015481565b6006546001600160a01b031681565b6005546001600160a01b031681565b6001600160a01b038116610efe5760405162461bcd60e51b81526004018080602001828103825260228152602001806115276022913960400191505060405180910390fd5b806001600160a01b0316610f10610b95565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3604080517035b2bc9737bbb730b136329737bbb732b960791b8152905190819003601101902055565b600082610f7d57506000610b8f565b82820282848281610f8a57fe5b0414610fc75760405162461bcd60e51b815260040180806020018281038252602181526020018061159e6021913960400191505060405180910390fd5b9392505050565b6000610fc783836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506113d7565b600082820183811015610fc7576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b6000811161059a5760405162461bcd60e51b815260040180806020018281038252602c815260200180611572602c913960400191505060405180910390fd5b6001600160a01b038116600090815260046020526040812054600254829061110e90670de0b6b3a7640000906105e1906110e9908663ffffffff6111e116565b6001600160a01b0388166000908152602081905260409020549063ffffffff610f6e16565b949350505050565b6001600160a01b038116600090815260046020526040812060010154600354829061110e90670de0b6b3a7640000906105e1906110e9908663ffffffff6111e116565b600280546001600160a01b038316600081815260046020908152604091829020938455600354600190940184905593548151928352938201939093528083019190915290517f6b5cf27595af4428271524e0a5abd2b63f6fee1a61e31970490f5a10e257a1cd9181900360600190a150565b60008183106111da5781610fc7565b5090919050565b6000610fc783836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611479565b604080513381526020810183905281517f6109e2559dfa766aaec7118351d48a523f0a4157f49c8d68749c8ac41318ad12929181900390910190a1604051600090339083908381818185875af1925050503d80600081146112a0576040519150601f19603f3d011682016040523d82523d6000602084013e6112a5565b606091505b50509050806112e55760405162461bcd60e51b815260040180806020018281038252602f8152602001806114d4602f913960400191505060405180910390fd5b5050565b6001600160a01b038116611344576040805162461bcd60e51b815260206004820152601e60248201527f4163636f756e742063616e6e6f74206265207a65726f20616464726573730000604482015290519081900360640190fd5b803b806112e5576040805162461bcd60e51b815260206004820181905260248201527f4163636f756e7420636f64652073697a652063616e6e6f74206265207a65726f604482015290519081900360640190fd5b6000811161059a5760405162461bcd60e51b81526004018080602001828103825260248152602001806115036024913960400191505060405180910390fd5b600081836114635760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611428578181015183820152602001611410565b50505050905090810190601f1680156114555780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50600083858161146f57fe5b0495945050505050565b600081848411156114cb5760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315611428578181015183820152602001611410565b50505090039056fe5a45524f5374616b696e673a204661696c656420746f2073656e6420616363756d756c61746564204554484761696e5a45524f5374616b696e673a20416d6f756e74206d757374206265206e6f6e2d7a65726f4f776e61626c653a3a7365744f776e65723a20696e76616c696420616464726573735a45524f5374616b696e673a2063616c6c6572206973206e6f74204665654469737472696275746f725a45524f5374616b696e673a2055736572206d75737420686176652061206e6f6e2d7a65726f207374616b65536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77a2646970667358221220549d08e1c2f7f559e0968928209fdc50ff207bce3ae52ac30ef27530781a0e8564736f6c634300060b0033", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/packages/lib-ethers/live/ZEROToken.json b/packages/lib-ethers/live/ZEROToken.json deleted file mode 100644 index 8475caa92..000000000 --- a/packages/lib-ethers/live/ZEROToken.json +++ /dev/null @@ -1,524 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "ZEROToken", - "sourceName": "contracts/ZERO/ZEROToken.sol", - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "Approval", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "Transfer", - "type": "event" - }, - { - "inputs": [], - "name": "ONE_YEAR_IN_SECONDS", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "address", - "name": "spender", - "type": "address" - } - ], - "name": "allowance", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "approve", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "balanceOf", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "burn", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "decimals", - "outputs": [ - { - "internalType": "uint8", - "name": "", - "type": "uint8" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "subtractedValue", - "type": "uint256" - } - ], - "name": "decreaseAllowance", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "domainSeparator", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getDeploymentStartTime", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "addedValue", - "type": "uint256" - } - ], - "name": "increaseAllowance", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_zeroStakingAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_marketMakerAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_presaleAddress", - "type": "address" - } - ], - "name": "initialize", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "marketMakerAddress", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "mint", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "name", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - } - ], - "name": "nonces", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "deadline", - "type": "uint256" - }, - { - "internalType": "uint8", - "name": "v", - "type": "uint8" - }, - { - "internalType": "bytes32", - "name": "r", - "type": "bytes32" - }, - { - "internalType": "bytes32", - "name": "s", - "type": "bytes32" - } - ], - "name": "permit", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "permitTypeHash", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "presale", - "outputs": [ - { - "internalType": "contract IBalanceRedirectPresale", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_sender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "name": "sendToZEROStaking", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "symbol", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "totalSupply", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "transfer", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "transferFrom", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "version", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "zeroStakingAddress", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": "0x608060405234801561001057600080fd5b50611074806100206000396000f3fe608060405234801561001057600080fd5b50600436106101635760003560e01c806370a08231116100ce578063c0c53b8b11610087578063c0c53b8b14610425578063cc9105881461045d578063d505accf14610465578063dd62ed3e146104b6578063e7c8fed4146104e4578063f698da25146104ec578063fdea8e0b146104f457610163565b806370a08231146103555780637ecebe001461037b57806395d89b41146101685780639dc29fac146103a1578063a457c2d7146103cd578063a9059cbb146103f957610163565b8063313ce56711610120578063313ce567146102a157806339509351146102bf5780633c5fdd9e146102eb5780633c84b7c21461031957806340c10f191461032157806354fd4d501461034d57610163565b806306fdde0314610168578063095ea7b3146101e55780630ff9a5121461022557806310ce43bd1461024957806318160ddd1461026357806323b872dd1461026b575b600080fd5b6101706104fc565b6040805160208082528351818301528351919283929083019185019080838360005b838110156101aa578181015183820152602001610192565b50505050905090810190601f1680156101d75780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b610211600480360360408110156101fb57600080fd5b506001600160a01b03813516906020013561051b565b604080519115158252519081900360200190f35b61022d610531565b604080516001600160a01b039092168252519081900360200190f35b610251610540565b60408051918252519081900360200190f35b610251610564565b6102116004803603606081101561028157600080fd5b506001600160a01b0381358116916020810135909116906040013561056a565b6102a96105e2565b6040805160ff9092168252519081900360200190f35b610211600480360360408110156102d557600080fd5b506001600160a01b0381351690602001356105e7565b6103176004803603604081101561030157600080fd5b506001600160a01b038135169060200135610623565b005b610251610647565b6103176004803603604081101561033757600080fd5b506001600160a01b03813516906020013561064d565b6101706106bc565b6102516004803603602081101561036b57600080fd5b50356001600160a01b03166106d7565b6102516004803603602081101561039157600080fd5b50356001600160a01b03166106f2565b610317600480360360408110156103b757600080fd5b506001600160a01b03813516906020013561070d565b610211600480360360408110156103e357600080fd5b506001600160a01b03813516906020013561075d565b6102116004803603604081101561040f57600080fd5b506001600160a01b0381351690602001356107b2565b6103176004803603606081101561043b57600080fd5b506001600160a01b0381358116916020810135821691604090910135166107c8565b61022d610964565b610317600480360360e081101561047b57600080fd5b506001600160a01b03813581169160208101359091169060408101359060608101359060ff6080820135169060a08101359060c00135610973565b610251600480360360408110156104cc57600080fd5b506001600160a01b0381358116916020013516610b68565b610251610b93565b610251610b9b565b61022d610bf0565b6040805180820190915260048152635a45524f60e01b60208201525b90565b6000610528338484610bff565b50600192915050565b603c546001600160a01b031681565b7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c990565b60355490565b600061057583610ceb565b610580848484610d4a565b6105d884336105d385604051806060016040528060288152602001610f4c602891396001600160a01b038a166000908152603460209081526040808320338452909152902054919063ffffffff610d4f16565b610bff565b5060019392505050565b601290565b3360008181526034602090815260408083206001600160a01b038716845290915281205490916105289185906105d3908663ffffffff610de616565b61062b610e47565b603c546106439083906001600160a01b031683610d4a565b5050565b603b5490565b603d546001600160a01b03163314806106705750603e546001600160a01b031633145b6106b2576040805162461bcd60e51b815260206004820152600e60248201526d24b73b30b634b21031b0b63632b960911b604482015290519081900360640190fd5b6106438282610e92565b6040805180820190915260018152603160f81b602082015290565b6001600160a01b031660009081526033602052604090205490565b6001600160a01b03166000908152603a602052604090205490565b603d546001600160a01b031633146106b2576040805162461bcd60e51b815260206004820152600e60248201526d24b73b30b634b21031b0b63632b960911b604482015290519081900360640190fd5b600061052833846105d38560405180606001604052806025815260200161101a602591393360009081526034602090815260408083206001600160a01b038d168452909152902054919063ffffffff610d4f16565b60006107bd83610ceb565b610528338484610d4a565b600054610100900460ff16806107e157506107e1610e97565b806107ef575060005460ff16155b61082a5760405162461bcd60e51b815260040180806020018281038252602e815260200180610f74602e913960400191505060405180910390fd5b600054610100900460ff16158015610855576000805460ff1961ff0019909116610100171660011790555b42603b55603c80546001600160a01b038087166001600160a01b031992831617909255603d8054868416908316179055603e80549285169290911691909117905560408051808201825260048152635a45524f60e01b602091820152815180830190925260018252603160f81b9101527f2f1c95f5699b1388b3fa2230461010fd3feef63c25f1cc630151d42efc1108b260388190557fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc66039819055610919610e9d565b6037556109477f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8383610ea1565b6036555050801561095e576000805461ff00191690555b50505050565b603d546001600160a01b031681565b428410156109c1576040805162461bcd60e51b81526020600482015260166024820152755a45524f3a206578706972656420646561646c696e6560501b604482015290519081900360640190fd5b60006109cb610b9b565b6001600160a01b03808a166000818152603a602090815260408083208054600180820190925582517f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98186015280840196909652958e166060860152608085018d905260a085019590955260c08085018c90528151808603909101815260e08501825280519083012061190160f01b6101008601526101028501969096526101228085019690965280518085039096018652610142840180825286519683019690962095839052610162840180825286905260ff8a166101828501526101a284018990526101c284018890525194955090936101e280840193601f198301929081900390910190855afa158015610ae6573d6000803e3d6000fd5b505050602060405103519050886001600160a01b0316816001600160a01b031614610b52576040805162461bcd60e51b81526020600482015260176024820152765a45524f3a20696e76616c6964207369676e617475726560481b604482015290519081900360640190fd5b610b5d898989610bff565b505050505050505050565b6001600160a01b03918216600090815260346020908152604080832093909416825291909152205490565b6301e1338081565b6000603754610ba8610e9d565b1415610bb75750603654610518565b610be97f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60001b603854603954610ea1565b9050610518565b603e546001600160a01b031681565b6001600160a01b038316610c445760405162461bcd60e51b8152600401808060200182810382526024815260200180610fa26024913960400191505060405180910390fd5b6001600160a01b038216610c895760405162461bcd60e51b8152600401808060200182810382526022815260200180610ef86022913960400191505060405180910390fd5b6001600160a01b03808416600081815260346020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b03811615801590610d0c57506001600160a01b0381163014155b610d475760405162461bcd60e51b8152600401808060200182810382526054815260200180610fc66054913960600191505060405180910390fd5b50565b505050565b60008184841115610dde5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610da3578181015183820152602001610d8b565b50505050905090810190601f168015610dd05780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b600082820183811015610e40576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b603c546001600160a01b03163314610e905760405162461bcd60e51b8152600401808060200182810382526032815260200180610f1a6032913960400191505060405180910390fd5b565b610643565b303b1590565b4690565b6000838383610eae610e9d565b6040805160208082019690965280820194909452606084019290925260808301523060a0808401919091528151808403909101815260c09092019052805191012094935050505056fe45524332303a20617070726f766520746f20746865207a65726f20616464726573735a45524f546f6b656e3a2063616c6c6572206d75737420626520746865205a45524f5374616b696e6720636f6e747261637445524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365436f6e747261637420696e7374616e63652068617320616c7265616479206265656e20696e697469616c697a656445524332303a20617070726f76652066726f6d20746865207a65726f20616464726573735a45524f3a2043616e6e6f74207472616e7366657220746f6b656e73206469726563746c7920746f20746865205a45524f20746f6b656e20636f6e7472616374206f7220746865207a65726f206164647265737345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa264697066735822122025c7c463a2415070379fcea62d59c20b6a6907e1a5e6a780a8468cff25a6ad5764736f6c634300060b0033", - "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106101635760003560e01c806370a08231116100ce578063c0c53b8b11610087578063c0c53b8b14610425578063cc9105881461045d578063d505accf14610465578063dd62ed3e146104b6578063e7c8fed4146104e4578063f698da25146104ec578063fdea8e0b146104f457610163565b806370a08231146103555780637ecebe001461037b57806395d89b41146101685780639dc29fac146103a1578063a457c2d7146103cd578063a9059cbb146103f957610163565b8063313ce56711610120578063313ce567146102a157806339509351146102bf5780633c5fdd9e146102eb5780633c84b7c21461031957806340c10f191461032157806354fd4d501461034d57610163565b806306fdde0314610168578063095ea7b3146101e55780630ff9a5121461022557806310ce43bd1461024957806318160ddd1461026357806323b872dd1461026b575b600080fd5b6101706104fc565b6040805160208082528351818301528351919283929083019185019080838360005b838110156101aa578181015183820152602001610192565b50505050905090810190601f1680156101d75780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b610211600480360360408110156101fb57600080fd5b506001600160a01b03813516906020013561051b565b604080519115158252519081900360200190f35b61022d610531565b604080516001600160a01b039092168252519081900360200190f35b610251610540565b60408051918252519081900360200190f35b610251610564565b6102116004803603606081101561028157600080fd5b506001600160a01b0381358116916020810135909116906040013561056a565b6102a96105e2565b6040805160ff9092168252519081900360200190f35b610211600480360360408110156102d557600080fd5b506001600160a01b0381351690602001356105e7565b6103176004803603604081101561030157600080fd5b506001600160a01b038135169060200135610623565b005b610251610647565b6103176004803603604081101561033757600080fd5b506001600160a01b03813516906020013561064d565b6101706106bc565b6102516004803603602081101561036b57600080fd5b50356001600160a01b03166106d7565b6102516004803603602081101561039157600080fd5b50356001600160a01b03166106f2565b610317600480360360408110156103b757600080fd5b506001600160a01b03813516906020013561070d565b610211600480360360408110156103e357600080fd5b506001600160a01b03813516906020013561075d565b6102116004803603604081101561040f57600080fd5b506001600160a01b0381351690602001356107b2565b6103176004803603606081101561043b57600080fd5b506001600160a01b0381358116916020810135821691604090910135166107c8565b61022d610964565b610317600480360360e081101561047b57600080fd5b506001600160a01b03813581169160208101359091169060408101359060608101359060ff6080820135169060a08101359060c00135610973565b610251600480360360408110156104cc57600080fd5b506001600160a01b0381358116916020013516610b68565b610251610b93565b610251610b9b565b61022d610bf0565b6040805180820190915260048152635a45524f60e01b60208201525b90565b6000610528338484610bff565b50600192915050565b603c546001600160a01b031681565b7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c990565b60355490565b600061057583610ceb565b610580848484610d4a565b6105d884336105d385604051806060016040528060288152602001610f4c602891396001600160a01b038a166000908152603460209081526040808320338452909152902054919063ffffffff610d4f16565b610bff565b5060019392505050565b601290565b3360008181526034602090815260408083206001600160a01b038716845290915281205490916105289185906105d3908663ffffffff610de616565b61062b610e47565b603c546106439083906001600160a01b031683610d4a565b5050565b603b5490565b603d546001600160a01b03163314806106705750603e546001600160a01b031633145b6106b2576040805162461bcd60e51b815260206004820152600e60248201526d24b73b30b634b21031b0b63632b960911b604482015290519081900360640190fd5b6106438282610e92565b6040805180820190915260018152603160f81b602082015290565b6001600160a01b031660009081526033602052604090205490565b6001600160a01b03166000908152603a602052604090205490565b603d546001600160a01b031633146106b2576040805162461bcd60e51b815260206004820152600e60248201526d24b73b30b634b21031b0b63632b960911b604482015290519081900360640190fd5b600061052833846105d38560405180606001604052806025815260200161101a602591393360009081526034602090815260408083206001600160a01b038d168452909152902054919063ffffffff610d4f16565b60006107bd83610ceb565b610528338484610d4a565b600054610100900460ff16806107e157506107e1610e97565b806107ef575060005460ff16155b61082a5760405162461bcd60e51b815260040180806020018281038252602e815260200180610f74602e913960400191505060405180910390fd5b600054610100900460ff16158015610855576000805460ff1961ff0019909116610100171660011790555b42603b55603c80546001600160a01b038087166001600160a01b031992831617909255603d8054868416908316179055603e80549285169290911691909117905560408051808201825260048152635a45524f60e01b602091820152815180830190925260018252603160f81b9101527f2f1c95f5699b1388b3fa2230461010fd3feef63c25f1cc630151d42efc1108b260388190557fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc66039819055610919610e9d565b6037556109477f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8383610ea1565b6036555050801561095e576000805461ff00191690555b50505050565b603d546001600160a01b031681565b428410156109c1576040805162461bcd60e51b81526020600482015260166024820152755a45524f3a206578706972656420646561646c696e6560501b604482015290519081900360640190fd5b60006109cb610b9b565b6001600160a01b03808a166000818152603a602090815260408083208054600180820190925582517f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98186015280840196909652958e166060860152608085018d905260a085019590955260c08085018c90528151808603909101815260e08501825280519083012061190160f01b6101008601526101028501969096526101228085019690965280518085039096018652610142840180825286519683019690962095839052610162840180825286905260ff8a166101828501526101a284018990526101c284018890525194955090936101e280840193601f198301929081900390910190855afa158015610ae6573d6000803e3d6000fd5b505050602060405103519050886001600160a01b0316816001600160a01b031614610b52576040805162461bcd60e51b81526020600482015260176024820152765a45524f3a20696e76616c6964207369676e617475726560481b604482015290519081900360640190fd5b610b5d898989610bff565b505050505050505050565b6001600160a01b03918216600090815260346020908152604080832093909416825291909152205490565b6301e1338081565b6000603754610ba8610e9d565b1415610bb75750603654610518565b610be97f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60001b603854603954610ea1565b9050610518565b603e546001600160a01b031681565b6001600160a01b038316610c445760405162461bcd60e51b8152600401808060200182810382526024815260200180610fa26024913960400191505060405180910390fd5b6001600160a01b038216610c895760405162461bcd60e51b8152600401808060200182810382526022815260200180610ef86022913960400191505060405180910390fd5b6001600160a01b03808416600081815260346020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b03811615801590610d0c57506001600160a01b0381163014155b610d475760405162461bcd60e51b8152600401808060200182810382526054815260200180610fc66054913960600191505060405180910390fd5b50565b505050565b60008184841115610dde5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610da3578181015183820152602001610d8b565b50505050905090810190601f168015610dd05780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b600082820183811015610e40576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b603c546001600160a01b03163314610e905760405162461bcd60e51b8152600401808060200182810382526032815260200180610f1a6032913960400191505060405180910390fd5b565b610643565b303b1590565b4690565b6000838383610eae610e9d565b6040805160208082019690965280820194909452606084019290925260808301523060a0808401919091528151808403909101815260c09092019052805191012094935050505056fe45524332303a20617070726f766520746f20746865207a65726f20616464726573735a45524f546f6b656e3a2063616c6c6572206d75737420626520746865205a45524f5374616b696e6720636f6e747261637445524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365436f6e747261637420696e7374616e63652068617320616c7265616479206265656e20696e697469616c697a656445524332303a20617070726f76652066726f6d20746865207a65726f20616464726573735a45524f3a2043616e6e6f74207472616e7366657220746f6b656e73206469726563746c7920746f20746865205a45524f20746f6b656e20636f6e7472616374206f7220746865207a65726f206164647265737345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa264697066735822122025c7c463a2415070379fcea62d59c20b6a6907e1a5e6a780a8468cff25a6ad5764736f6c634300060b0033", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/packages/lib-ethers/live/ZEROTokenStorage.json b/packages/lib-ethers/live/ZEROTokenStorage.json deleted file mode 100644 index 6d5d6a7af..000000000 --- a/packages/lib-ethers/live/ZEROTokenStorage.json +++ /dev/null @@ -1,63 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "ZEROTokenStorage", - "sourceName": "contracts/ZERO/ZEROTokenStorage.sol", - "abi": [ - { - "inputs": [], - "name": "ONE_YEAR_IN_SECONDS", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "marketMakerAddress", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "presale", - "outputs": [ - { - "internalType": "contract IBalanceRedirectPresale", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "zeroStakingAddress", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": "0x608060405234801561001057600080fd5b5060fc8061001f6000396000f3fe6080604052348015600f57600080fd5b506004361060465760003560e01c80630ff9a51214604b578063cc91058814606d578063e7c8fed4146073578063fdea8e0b14608b575b600080fd5b60516091565b604080516001600160a01b039092168252519081900360200190f35b605160a0565b607960af565b60408051918252519081900360200190f35b605160b7565b603c546001600160a01b031681565b603d546001600160a01b031681565b6301e1338081565b603e546001600160a01b03168156fea264697066735822122044c0f8ee36d1b4ceeba082d8b8d86131fc1e409b5b6a430ec1e90d12b794639c64736f6c634300060b0033", - "deployedBytecode": "0x6080604052348015600f57600080fd5b506004361060465760003560e01c80630ff9a51214604b578063cc91058814606d578063e7c8fed4146073578063fdea8e0b14608b575b600080fd5b60516091565b604080516001600160a01b039092168252519081900360200190f35b605160a0565b607960af565b60408051918252519081900360200190f35b605160b7565b603c546001600160a01b031681565b603d546001600160a01b031681565b6301e1338081565b603e546001600160a01b03168156fea264697066735822122044c0f8ee36d1b4ceeba082d8b8d86131fc1e409b5b6a430ec1e90d12b794639c64736f6c634300060b0033", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/packages/lib-ethers/live/ZEROTokenTester.json b/packages/lib-ethers/live/ZEROTokenTester.json deleted file mode 100644 index d6ffdbf15..000000000 --- a/packages/lib-ethers/live/ZEROTokenTester.json +++ /dev/null @@ -1,652 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "ZEROTokenTester", - "sourceName": "contracts/TestContracts/ZEROTokenTester.sol", - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_zeroStakingAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_marketMakerAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_presaleAddress", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "Approval", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "Transfer", - "type": "event" - }, - { - "inputs": [], - "name": "ONE_YEAR_IN_SECONDS", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "address", - "name": "spender", - "type": "address" - } - ], - "name": "allowance", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "approve", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "balanceOf", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "burn", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "callInternalApprove", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "callInternalTransfer", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "decimals", - "outputs": [ - { - "internalType": "uint8", - "name": "", - "type": "uint8" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "subtractedValue", - "type": "uint256" - } - ], - "name": "decreaseAllowance", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "domainSeparator", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getChainId", - "outputs": [ - { - "internalType": "uint256", - "name": "chainID", - "type": "uint256" - } - ], - "stateMutability": "pure", - "type": "function" - }, - { - "inputs": [], - "name": "getDeploymentStartTime", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "addedValue", - "type": "uint256" - } - ], - "name": "increaseAllowance", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_zeroStakingAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_marketMakerAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_presaleAddress", - "type": "address" - } - ], - "name": "initialize", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "marketMakerAddress", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "mint", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "name", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - } - ], - "name": "nonces", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "deadline", - "type": "uint256" - }, - { - "internalType": "uint8", - "name": "v", - "type": "uint8" - }, - { - "internalType": "bytes32", - "name": "r", - "type": "bytes32" - }, - { - "internalType": "bytes32", - "name": "s", - "type": "bytes32" - } - ], - "name": "permit", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "permitTypeHash", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "presale", - "outputs": [ - { - "internalType": "contract IBalanceRedirectPresale", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_sender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "name": "sendToZEROStaking", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "symbol", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "totalSupply", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "transfer", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "transferFrom", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "unprotectedMint", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_sender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "name": "unprotectedSendToZEROStaking", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "version", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "zeroStakingAddress", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": "0x60806040523480156200001157600080fd5b506040516200146438038062001464833981810160405260608110156200003757600080fd5b50805160208201516040909201519091906200005e8383836001600160e01b036200006716565b50505062000295565b600054610100900460ff16806200008c57506200008c6001600160e01b036200022a16565b806200009b575060005460ff16155b620000d85760405162461bcd60e51b815260040180806020018281038252602e81526020018062001436602e913960400191505060405180910390fd5b600054610100900460ff1615801562000104576000805460ff1961ff0019909116610100171660011790555b42603b55603c80546001600160a01b038087166001600160a01b031992831617909255603d8054868416908316179055603e80549285169290911691909117905560408051808201825260048152635a45524f60e01b602091820152815180830190925260018252603160f81b9101527f2f1c95f5699b1388b3fa2230461010fd3feef63c25f1cc630151d42efc1108b260388190557fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc66039819055620001d36001600160e01b036200023016565b6037556200020c7f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83836001600160e01b036200023416565b6036555050801562000224576000805461ff00191690555b50505050565b303b1590565b4690565b60008383836200024c6001600160e01b036200023016565b6040805160208082019690965280820194909452606084019290925260808301523060a0808401919091528151808403909101815260c090920190528051910120949350505050565b61119180620002a56000396000f3fe608060405234801561001057600080fd5b506004361061019a5760003560e01c80635099f99f116100e4578063a9059cbb11610092578063a9059cbb146104fc578063c0c53b8b14610528578063cc91058814610560578063d505accf14610568578063dd62ed3e146105b9578063e7c8fed4146105e7578063f698da25146105ef578063fdea8e0b146105f75761019a565b80635099f99f1461042457806354fd4d501461045057806370a08231146104585780637ecebe001461047e57806395d89b41146101e95780639dc29fac146104a4578063a457c2d7146104d05761019a565b80632c685c841161014c5780632c685c841461030e578063313ce5671461033c5780633408e4701461035a578063387a54d91461036257806339509351146103985780633c5fdd9e146103c45780633c84b7c2146103f057806340c10f19146103f85761019a565b806303d999461461019f57806306fdde03146101e9578063095ea7b3146102665780630ff9a5121461029257806310ce43bd146102b657806318160ddd146102d057806323b872dd146102d8575b600080fd5b6101d5600480360360608110156101b557600080fd5b506001600160a01b038135811691602081013590911690604001356105ff565b604080519115158252519081900360200190f35b6101f1610613565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561022b578181015183820152602001610213565b50505050905090810190601f1680156102585780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101d56004803603604081101561027c57600080fd5b506001600160a01b038135169060200135610632565b61029a610648565b604080516001600160a01b039092168252519081900360200190f35b6102be610657565b60408051918252519081900360200190f35b6102be61067b565b6101d5600480360360608110156102ee57600080fd5b506001600160a01b03813581169160208101359091169060400135610681565b61033a6004803603604081101561032457600080fd5b506001600160a01b0381351690602001356106f9565b005b610344610715565b6040805160ff9092168252519081900360200190f35b6102be61071a565b6101d56004803603606081101561037857600080fd5b506001600160a01b0381358116916020810135909116906040013561071e565b6101d5600480360360408110156103ae57600080fd5b506001600160a01b03813516906020013561072b565b61033a600480360360408110156103da57600080fd5b506001600160a01b038135169060200135610767565b6102be61076f565b61033a6004803603604081101561040e57600080fd5b506001600160a01b038135169060200135610775565b61033a6004803603604081101561043a57600080fd5b506001600160a01b0381351690602001356107da565b6101f16107e4565b6102be6004803603602081101561046e57600080fd5b50356001600160a01b03166107ff565b6102be6004803603602081101561049457600080fd5b50356001600160a01b031661081a565b61033a600480360360408110156104ba57600080fd5b506001600160a01b038135169060200135610835565b6101d5600480360360408110156104e657600080fd5b506001600160a01b038135169060200135610885565b6101d56004803603604081101561051257600080fd5b506001600160a01b0381351690602001356108da565b61033a6004803603606081101561053e57600080fd5b506001600160a01b0381358116916020810135821691604090910135166108f0565b61029a610a8c565b61033a600480360360e081101561057e57600080fd5b506001600160a01b03813581169160208101359091169060408101359060608101359060ff6080820135169060a08101359060c00135610a9b565b6102be600480360360408110156105cf57600080fd5b506001600160a01b0381358116916020013516610c90565b6102be610cbb565b6102be610cc3565b61029a610d18565b600061060c848484610d27565b9392505050565b6040805180820190915260048152635a45524f60e01b60208201525b90565b600061063f338484610d27565b50600192915050565b603c546001600160a01b031681565b7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c990565b60355490565b600061068c83610e13565b610697848484610e72565b6106ef84336106ea85604051806060016040528060288152602001611069602891396001600160a01b038a166000908152603460209081526040808320338452909152902054919063ffffffff610e7716565b610d27565b5060019392505050565b603c546107119083906001600160a01b031683610e72565b5050565b601290565b4690565b600061060c848484610e72565b3360008181526034602090815260408083206001600160a01b0387168452909152812054909161063f9185906106ea908663ffffffff610f0e16565b6106f9610f68565b603b5490565b603d546001600160a01b03163314806107985750603e546001600160a01b031633145b6107da576040805162461bcd60e51b815260206004820152600e60248201526d24b73b30b634b21031b0b63632b960911b604482015290519081900360640190fd5b6107118282610fb3565b6040805180820190915260018152603160f81b602082015290565b6001600160a01b031660009081526033602052604090205490565b6001600160a01b03166000908152603a602052604090205490565b603d546001600160a01b031633146107da576040805162461bcd60e51b815260206004820152600e60248201526d24b73b30b634b21031b0b63632b960911b604482015290519081900360640190fd5b600061063f33846106ea85604051806060016040528060258152602001611137602591393360009081526034602090815260408083206001600160a01b038d168452909152902054919063ffffffff610e7716565b60006108e583610e13565b61063f338484610e72565b600054610100900460ff16806109095750610909610fb8565b80610917575060005460ff16155b6109525760405162461bcd60e51b815260040180806020018281038252602e815260200180611091602e913960400191505060405180910390fd5b600054610100900460ff1615801561097d576000805460ff1961ff0019909116610100171660011790555b42603b55603c80546001600160a01b038087166001600160a01b031992831617909255603d8054868416908316179055603e80549285169290911691909117905560408051808201825260048152635a45524f60e01b602091820152815180830190925260018252603160f81b9101527f2f1c95f5699b1388b3fa2230461010fd3feef63c25f1cc630151d42efc1108b260388190557fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc66039819055610a4161071a565b603755610a6f7f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8383610fbe565b60365550508015610a86576000805461ff00191690555b50505050565b603d546001600160a01b031681565b42841015610ae9576040805162461bcd60e51b81526020600482015260166024820152755a45524f3a206578706972656420646561646c696e6560501b604482015290519081900360640190fd5b6000610af3610cc3565b6001600160a01b03808a166000818152603a602090815260408083208054600180820190925582517f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98186015280840196909652958e166060860152608085018d905260a085019590955260c08085018c90528151808603909101815260e08501825280519083012061190160f01b6101008601526101028501969096526101228085019690965280518085039096018652610142840180825286519683019690962095839052610162840180825286905260ff8a166101828501526101a284018990526101c284018890525194955090936101e280840193601f198301929081900390910190855afa158015610c0e573d6000803e3d6000fd5b505050602060405103519050886001600160a01b0316816001600160a01b031614610c7a576040805162461bcd60e51b81526020600482015260176024820152765a45524f3a20696e76616c6964207369676e617475726560481b604482015290519081900360640190fd5b610c85898989610d27565b505050505050505050565b6001600160a01b03918216600090815260346020908152604080832093909416825291909152205490565b6301e1338081565b6000603754610cd061071a565b1415610cdf575060365461062f565b610d117f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60001b603854603954610fbe565b905061062f565b603e546001600160a01b031681565b6001600160a01b038316610d6c5760405162461bcd60e51b81526004018080602001828103825260248152602001806110bf6024913960400191505060405180910390fd5b6001600160a01b038216610db15760405162461bcd60e51b81526004018080602001828103825260228152602001806110156022913960400191505060405180910390fd5b6001600160a01b03808416600081815260346020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b03811615801590610e3457506001600160a01b0381163014155b610e6f5760405162461bcd60e51b81526004018080602001828103825260548152602001806110e36054913960600191505060405180910390fd5b50565b505050565b60008184841115610f065760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610ecb578181015183820152602001610eb3565b50505050905090810190601f168015610ef85780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b60008282018381101561060c576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b603c546001600160a01b03163314610fb15760405162461bcd60e51b81526004018080602001828103825260328152602001806110376032913960400191505060405180910390fd5b565b610711565b303b1590565b6000838383610fcb61071a565b6040805160208082019690965280820194909452606084019290925260808301523060a0808401919091528151808403909101815260c09092019052805191012094935050505056fe45524332303a20617070726f766520746f20746865207a65726f20616464726573735a45524f546f6b656e3a2063616c6c6572206d75737420626520746865205a45524f5374616b696e6720636f6e747261637445524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365436f6e747261637420696e7374616e63652068617320616c7265616479206265656e20696e697469616c697a656445524332303a20617070726f76652066726f6d20746865207a65726f20616464726573735a45524f3a2043616e6e6f74207472616e7366657220746f6b656e73206469726563746c7920746f20746865205a45524f20746f6b656e20636f6e7472616374206f7220746865207a65726f206164647265737345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220db53999c1b95a2172b23c13e26af38a9485ea7e07468975fe67e731cae23dc6864736f6c634300060b0033436f6e747261637420696e7374616e63652068617320616c7265616479206265656e20696e697469616c697a6564", - "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061019a5760003560e01c80635099f99f116100e4578063a9059cbb11610092578063a9059cbb146104fc578063c0c53b8b14610528578063cc91058814610560578063d505accf14610568578063dd62ed3e146105b9578063e7c8fed4146105e7578063f698da25146105ef578063fdea8e0b146105f75761019a565b80635099f99f1461042457806354fd4d501461045057806370a08231146104585780637ecebe001461047e57806395d89b41146101e95780639dc29fac146104a4578063a457c2d7146104d05761019a565b80632c685c841161014c5780632c685c841461030e578063313ce5671461033c5780633408e4701461035a578063387a54d91461036257806339509351146103985780633c5fdd9e146103c45780633c84b7c2146103f057806340c10f19146103f85761019a565b806303d999461461019f57806306fdde03146101e9578063095ea7b3146102665780630ff9a5121461029257806310ce43bd146102b657806318160ddd146102d057806323b872dd146102d8575b600080fd5b6101d5600480360360608110156101b557600080fd5b506001600160a01b038135811691602081013590911690604001356105ff565b604080519115158252519081900360200190f35b6101f1610613565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561022b578181015183820152602001610213565b50505050905090810190601f1680156102585780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101d56004803603604081101561027c57600080fd5b506001600160a01b038135169060200135610632565b61029a610648565b604080516001600160a01b039092168252519081900360200190f35b6102be610657565b60408051918252519081900360200190f35b6102be61067b565b6101d5600480360360608110156102ee57600080fd5b506001600160a01b03813581169160208101359091169060400135610681565b61033a6004803603604081101561032457600080fd5b506001600160a01b0381351690602001356106f9565b005b610344610715565b6040805160ff9092168252519081900360200190f35b6102be61071a565b6101d56004803603606081101561037857600080fd5b506001600160a01b0381358116916020810135909116906040013561071e565b6101d5600480360360408110156103ae57600080fd5b506001600160a01b03813516906020013561072b565b61033a600480360360408110156103da57600080fd5b506001600160a01b038135169060200135610767565b6102be61076f565b61033a6004803603604081101561040e57600080fd5b506001600160a01b038135169060200135610775565b61033a6004803603604081101561043a57600080fd5b506001600160a01b0381351690602001356107da565b6101f16107e4565b6102be6004803603602081101561046e57600080fd5b50356001600160a01b03166107ff565b6102be6004803603602081101561049457600080fd5b50356001600160a01b031661081a565b61033a600480360360408110156104ba57600080fd5b506001600160a01b038135169060200135610835565b6101d5600480360360408110156104e657600080fd5b506001600160a01b038135169060200135610885565b6101d56004803603604081101561051257600080fd5b506001600160a01b0381351690602001356108da565b61033a6004803603606081101561053e57600080fd5b506001600160a01b0381358116916020810135821691604090910135166108f0565b61029a610a8c565b61033a600480360360e081101561057e57600080fd5b506001600160a01b03813581169160208101359091169060408101359060608101359060ff6080820135169060a08101359060c00135610a9b565b6102be600480360360408110156105cf57600080fd5b506001600160a01b0381358116916020013516610c90565b6102be610cbb565b6102be610cc3565b61029a610d18565b600061060c848484610d27565b9392505050565b6040805180820190915260048152635a45524f60e01b60208201525b90565b600061063f338484610d27565b50600192915050565b603c546001600160a01b031681565b7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c990565b60355490565b600061068c83610e13565b610697848484610e72565b6106ef84336106ea85604051806060016040528060288152602001611069602891396001600160a01b038a166000908152603460209081526040808320338452909152902054919063ffffffff610e7716565b610d27565b5060019392505050565b603c546107119083906001600160a01b031683610e72565b5050565b601290565b4690565b600061060c848484610e72565b3360008181526034602090815260408083206001600160a01b0387168452909152812054909161063f9185906106ea908663ffffffff610f0e16565b6106f9610f68565b603b5490565b603d546001600160a01b03163314806107985750603e546001600160a01b031633145b6107da576040805162461bcd60e51b815260206004820152600e60248201526d24b73b30b634b21031b0b63632b960911b604482015290519081900360640190fd5b6107118282610fb3565b6040805180820190915260018152603160f81b602082015290565b6001600160a01b031660009081526033602052604090205490565b6001600160a01b03166000908152603a602052604090205490565b603d546001600160a01b031633146107da576040805162461bcd60e51b815260206004820152600e60248201526d24b73b30b634b21031b0b63632b960911b604482015290519081900360640190fd5b600061063f33846106ea85604051806060016040528060258152602001611137602591393360009081526034602090815260408083206001600160a01b038d168452909152902054919063ffffffff610e7716565b60006108e583610e13565b61063f338484610e72565b600054610100900460ff16806109095750610909610fb8565b80610917575060005460ff16155b6109525760405162461bcd60e51b815260040180806020018281038252602e815260200180611091602e913960400191505060405180910390fd5b600054610100900460ff1615801561097d576000805460ff1961ff0019909116610100171660011790555b42603b55603c80546001600160a01b038087166001600160a01b031992831617909255603d8054868416908316179055603e80549285169290911691909117905560408051808201825260048152635a45524f60e01b602091820152815180830190925260018252603160f81b9101527f2f1c95f5699b1388b3fa2230461010fd3feef63c25f1cc630151d42efc1108b260388190557fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc66039819055610a4161071a565b603755610a6f7f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8383610fbe565b60365550508015610a86576000805461ff00191690555b50505050565b603d546001600160a01b031681565b42841015610ae9576040805162461bcd60e51b81526020600482015260166024820152755a45524f3a206578706972656420646561646c696e6560501b604482015290519081900360640190fd5b6000610af3610cc3565b6001600160a01b03808a166000818152603a602090815260408083208054600180820190925582517f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98186015280840196909652958e166060860152608085018d905260a085019590955260c08085018c90528151808603909101815260e08501825280519083012061190160f01b6101008601526101028501969096526101228085019690965280518085039096018652610142840180825286519683019690962095839052610162840180825286905260ff8a166101828501526101a284018990526101c284018890525194955090936101e280840193601f198301929081900390910190855afa158015610c0e573d6000803e3d6000fd5b505050602060405103519050886001600160a01b0316816001600160a01b031614610c7a576040805162461bcd60e51b81526020600482015260176024820152765a45524f3a20696e76616c6964207369676e617475726560481b604482015290519081900360640190fd5b610c85898989610d27565b505050505050505050565b6001600160a01b03918216600090815260346020908152604080832093909416825291909152205490565b6301e1338081565b6000603754610cd061071a565b1415610cdf575060365461062f565b610d117f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60001b603854603954610fbe565b905061062f565b603e546001600160a01b031681565b6001600160a01b038316610d6c5760405162461bcd60e51b81526004018080602001828103825260248152602001806110bf6024913960400191505060405180910390fd5b6001600160a01b038216610db15760405162461bcd60e51b81526004018080602001828103825260228152602001806110156022913960400191505060405180910390fd5b6001600160a01b03808416600081815260346020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b03811615801590610e3457506001600160a01b0381163014155b610e6f5760405162461bcd60e51b81526004018080602001828103825260548152602001806110e36054913960600191505060405180910390fd5b50565b505050565b60008184841115610f065760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610ecb578181015183820152602001610eb3565b50505050905090810190601f168015610ef85780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b60008282018381101561060c576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b603c546001600160a01b03163314610fb15760405162461bcd60e51b81526004018080602001828103825260328152602001806110376032913960400191505060405180910390fd5b565b610711565b303b1590565b6000838383610fcb61071a565b6040805160208082019690965280820194909452606084019290925260808301523060a0808401919091528151808403909101815260c09092019052805191012094935050505056fe45524332303a20617070726f766520746f20746865207a65726f20616464726573735a45524f546f6b656e3a2063616c6c6572206d75737420626520746865205a45524f5374616b696e6720636f6e747261637445524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365436f6e747261637420696e7374616e63652068617320616c7265616479206265656e20696e697469616c697a656445524332303a20617070726f76652066726f6d20746865207a65726f20616464726573735a45524f3a2043616e6e6f74207472616e7366657220746f6b656e73206469726563746c7920746f20746865205a45524f20746f6b656e20636f6e7472616374206f7220746865207a65726f206164647265737345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220db53999c1b95a2172b23c13e26af38a9485ea7e07468975fe67e731cae23dc6864736f6c634300060b0033", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/packages/lib-ethers/live/ZUSDToken.json b/packages/lib-ethers/live/ZUSDToken.json deleted file mode 100644 index 0d061cf86..000000000 --- a/packages/lib-ethers/live/ZUSDToken.json +++ /dev/null @@ -1,590 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "ZUSDToken", - "sourceName": "contracts/ZUSDToken.sol", - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "Approval", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_newBorrowerOperationsAddress", - "type": "address" - } - ], - "name": "BorrowerOperationsAddressChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "previousOwner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnershipTransferred", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_newStabilityPoolAddress", - "type": "address" - } - ], - "name": "StabilityPoolAddressChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "Transfer", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_troveManagerAddress", - "type": "address" - } - ], - "name": "TroveManagerAddressChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_user", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "name": "ZUSDTokenBalanceUpdated", - "type": "event" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "address", - "name": "spender", - "type": "address" - } - ], - "name": "allowance", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "approve", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "balanceOf", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_account", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "name": "burn", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "decimals", - "outputs": [ - { - "internalType": "uint8", - "name": "", - "type": "uint8" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "subtractedValue", - "type": "uint256" - } - ], - "name": "decreaseAllowance", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "domainSeparator", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getOwner", - "outputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "addedValue", - "type": "uint256" - } - ], - "name": "increaseAllowance", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_troveManagerAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_stabilityPoolAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_borrowerOperationsAddress", - "type": "address" - } - ], - "name": "initialize", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_account", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "name": "mint", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "name", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - } - ], - "name": "nonces", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "deadline", - "type": "uint256" - }, - { - "internalType": "uint8", - "name": "v", - "type": "uint8" - }, - { - "internalType": "bytes32", - "name": "r", - "type": "bytes32" - }, - { - "internalType": "bytes32", - "name": "s", - "type": "bytes32" - } - ], - "name": "permit", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "permitTypeHash", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_poolAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_receiver", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "name": "returnFromPool", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_sender", - "type": "address" - }, - { - "internalType": "address", - "name": "_poolAddress", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "name": "sendToPool", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - } - ], - "name": "setOwner", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "symbol", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "totalSupply", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "transfer", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "transferFrom", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "version", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": "0x608060405234801561001057600080fd5b50610023336001600160e01b0361002816565b610110565b6001600160a01b03811661006d5760405162461bcd60e51b81526004018080602001828103825260228152602001806118646022913960400191505060405180910390fd5b6001600160a01b0381166100886001600160e01b036100e616565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3604080517035b2bc9737bbb730b136329737bbb732b960791b8152905190819003601101902055565b604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205490565b6117458061011f6000396000f3fe608060405234801561001057600080fd5b506004361061014d5760003560e01c806370a08231116100c3578063a9059cbb1161007c578063a9059cbb14610413578063bb997bac1461043f578063c0c53b8b14610475578063d505accf146104ad578063dd62ed3e146104fe578063f698da251461052c5761014d565b806370a08231146103435780637ecebe0014610369578063893d20e81461038f57806395d89b41146103b35780639dc29fac146103bb578063a457c2d7146103e75761014d565b806320c582be1161011557806320c582be1461025957806323b872dd1461028f578063313ce567146102c557806339509351146102e357806340c10f191461030f57806354fd4d501461033b5761014d565b806306fdde0314610152578063095ea7b3146101cf57806310ce43bd1461020f57806313af40351461022957806318160ddd14610251575b600080fd5b61015a610534565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561019457818101518382015260200161017c565b50505050905090810190601f1680156101c15780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101fb600480360360408110156101e557600080fd5b506001600160a01b03813516906020013561055e565b604080519115158252519081900360200190f35b610217610574565b60408051918252519081900360200190f35b61024f6004803603602081101561023f57600080fd5b50356001600160a01b0316610598565b005b61021761060b565b61024f6004803603606081101561026f57600080fd5b506001600160a01b03813581169160208101359091169060400135610611565b6101fb600480360360608110156102a557600080fd5b506001600160a01b03813581169160208101359091169060400135610629565b6102cd6106a1565b6040805160ff9092168252519081900360200190f35b6101fb600480360360408110156102f957600080fd5b506001600160a01b0381351690602001356106a6565b61024f6004803603604081101561032557600080fd5b506001600160a01b0381351690602001356106e2565b61015a6106f8565b6102176004803603602081101561035957600080fd5b50356001600160a01b0316610713565b6102176004803603602081101561037f57600080fd5b50356001600160a01b031661072e565b610397610749565b604080516001600160a01b039092168252519081900360200190f35b61015a610773565b61024f600480360360408110156103d157600080fd5b506001600160a01b038135169060200135610791565b6101fb600480360360408110156103fd57600080fd5b506001600160a01b0381351690602001356107a3565b6101fb6004803603604081101561042957600080fd5b506001600160a01b0381351690602001356107f8565b61024f6004803603606081101561045557600080fd5b506001600160a01b0381358116916020810135909116906040013561080e565b61024f6004803603606081101561048b57600080fd5b506001600160a01b038135811691602081013582169160409091013516610816565b61024f600480360360e08110156104c357600080fd5b506001600160a01b03813581169160208101359091169060408101359060608101359060ff6080820135169060a08101359060c0013561092d565b6102176004803603604081101561051457600080fd5b506001600160a01b0381358116916020013516610b22565b610217610b4d565b60408051808201909152600f81526e2d2aa9a21029ba30b13632b1b7b4b760891b60208201525b90565b600061056b338484610ba2565b50600192915050565b7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c990565b6105a0610749565b6001600160a01b0316336001600160a01b0316146105ff576040805162461bcd60e51b815260206004820152601760248201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604482015290519081900360640190fd5b61060881610c24565b50565b60335490565b610619610cd9565b610624838383610d39565b505050565b600061063483610e1b565b61063f848484610d39565b61069784336106928560405180606001604052806028815260200161161a602891396001600160a01b038a166000908152603a60209081526040808320338452909152902054919063ffffffff610e7716565b610ba2565b5060019392505050565b601290565b336000818152603a602090815260408083206001600160a01b0387168452909152812054909161056b918590610692908663ffffffff610f0e16565b6106ea610f6f565b6106f48282610fb8565b5050565b6040805180820190915260018152603160f81b602082015290565b6001600160a01b031660009081526039602052604090205490565b6001600160a01b031660009081526038602052604090205490565b604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205490565b604080518082019091526004815263169554d160e21b602082015290565b61079961104d565b6106f482826110c0565b600061056b3384610692856040518060600160405280602581526020016116eb60259139336000908152603a602090815260408083206001600160a01b038d168452909152902054919063ffffffff610e7716565b600061080383610e1b565b61056b338484610d39565b610619611175565b600054610100900460ff168061082f575061082f6111be565b8061083d575060005460ff16155b6108785760405162461bcd60e51b815260040180806020018281038252602e815260200180611642602e913960400191505060405180910390fd5b600054610100900460ff161580156108a3576000805460ff1961ff0019909116610100171660011790555b6108ab610749565b6001600160a01b0316336001600160a01b03161461090a576040805162461bcd60e51b815260206004820152601760248201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604482015290519081900360640190fd5b6109158484846111c4565b8015610927576000805461ff00191690555b50505050565b4284101561097b576040805162461bcd60e51b81526020600482015260166024820152755a5553443a206578706972656420646561646c696e6560501b604482015290519081900360640190fd5b6000610985610b4d565b6001600160a01b03808a1660008181526038602090815260408083208054600180820190925582517f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98186015280840196909652958e166060860152608085018d905260a085019590955260c08085018c90528151808603909101815260e08501825280519083012061190160f01b6101008601526101028501969096526101228085019690965280518085039096018652610142840180825286519683019690962095839052610162840180825286905260ff8a166101828501526101a284018990526101c284018890525194955090936101e280840193601f198301929081900390910190855afa158015610aa0573d6000803e3d6000fd5b505050602060405103519050886001600160a01b0316816001600160a01b031614610b0c576040805162461bcd60e51b81526020600482015260176024820152765a5553443a20696e76616c6964207369676e617475726560481b604482015290519081900360640190fd5b610b17898989610ba2565b505050505050505050565b6001600160a01b039182166000908152603a6020908152604080832093909416825291909152205490565b6000603554610b5a611398565b1415610b69575060345461055b565b610b9b7f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60001b60365460375461139c565b905061055b565b6001600160a01b038316610bb257fe5b6001600160a01b038216610bc257fe5b6001600160a01b038084166000818152603a6020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b038116610c695760405162461bcd60e51b81526004018080602001828103825260228152602001806115a46022913960400191505060405180910390fd5b806001600160a01b0316610c7b610749565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3604080517035b2bc9737bbb730b136329737bbb732b960791b8152905190819003601101902055565b603b546001600160a01b0316331480610cfc5750603c546001600160a01b031633145b610d375760405162461bcd60e51b81526004018080602001828103825260368152602001806116b56036913960400191505060405180910390fd5b565b6001600160a01b038316610d4957fe5b6001600160a01b038216610d5957fe5b610d9c81604051806060016040528060268152602001611531602691396001600160a01b038616600090815260396020526040902054919063ffffffff610e7716565b6001600160a01b038085166000908152603960205260408082209390935590841681522054610dd1908263ffffffff610f0e16565b6001600160a01b03808416600081815260396020908152604091829020949094558051858152905191939287169260008051602061169583398151915292918290030190a3505050565b6001600160a01b03811615801590610e3c57506001600160a01b0381163014155b6106085760405162461bcd60e51b81526004018080602001828103825260548152602001806115c66054913960600191505060405180910390fd5b60008184841115610f065760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610ecb578181015183820152602001610eb3565b50505050905090810190601f168015610ef85780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b600082820183811015610f68576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b603d546001600160a01b03163314610d375760405162461bcd60e51b815260040180806020018281038252602b815260200180611506602b913960400191505060405180910390fd5b6001600160a01b038216610fc857fe5b603354610fdb908263ffffffff610f0e16565b6033556001600160a01b038216600090815260396020526040902054611007908263ffffffff610f0e16565b6001600160a01b03831660008181526039602090815260408083209490945583518581529351929391926000805160206116958339815191529281900390910190a35050565b603d546001600160a01b03163314806110705750603b546001600160a01b031633145b806110855750603c546001600160a01b031633145b610d375760405162461bcd60e51b815260040180806020018281038252604d815260200180611557604d913960600191505060405180910390fd5b6001600160a01b0382166110d057fe5b611113816040518060600160405280602281526020016114e4602291396001600160a01b038516600090815260396020526040902054919063ffffffff610e7716565b6001600160a01b03831660009081526039602052604090205560335461113f908263ffffffff6113f216565b6033556040805182815290516000916001600160a01b038516916000805160206116958339815191529181900360200190a35050565b603c546001600160a01b03163314610d375760405162461bcd60e51b81526004018080602001828103825260258152602001806116706025913960400191505060405180910390fd5b303b1590565b6111cd83611434565b6111d682611434565b6111df81611434565b603b80546001600160a01b0385166001600160a01b0319909116811790915560408051918252517f143219c9e69b09e07e095fcc889b43d8f46ca892bba65f08dc3a0050869a56789181900360200190a1603c80546001600160a01b0384166001600160a01b0319909116811790915560408051918252517f82966d27eea39b038ee0fa30cd16532bb24f6e65d31cb58fb227aa5766cdcc7f9181900360200190a1603d80546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f3ca631ffcd2a9b5d9ae18543fc82f58eb4ca33af9e6ab01b7a8e95331e6ed9859181900360200190a1604080518082018252600f81526e2d2aa9a21029ba30b13632b1b7b4b760891b602091820152815180830190925260018252603160f81b9101527fd28848e7c3cbededd42b8bfb722b93a1d091c2e7280388a67bb55fc505b758eb60368190557fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc66037819055611360611398565b60355561138e7f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f838361139c565b6034555050505050565b4690565b60008383836113a9611398565b6040805160208082019690965280820194909452606084019290925260808301523060a0808401919091528151808403909101815260c090920190528051910120949350505050565b6000610f6883836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610e77565b6001600160a01b03811661148f576040805162461bcd60e51b815260206004820152601e60248201527f4163636f756e742063616e6e6f74206265207a65726f20616464726573730000604482015290519081900360640190fd5b803b806106f4576040805162461bcd60e51b815260206004820181905260248201527f4163636f756e7420636f64652073697a652063616e6e6f74206265207a65726f604482015290519081900360640190fdfe45524332303a206275726e20616d6f756e7420657863656564732062616c616e63655a555344546f6b656e3a2043616c6c6572206973206e6f7420426f72726f7765724f7065726174696f6e7345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e63655a5553443a2043616c6c6572206973206e65697468657220426f72726f7765724f7065726174696f6e73206e6f722054726f76654d616e61676572206e6f722053746162696c697479506f6f6c4f776e61626c653a3a7365744f776e65723a20696e76616c696420616464726573735a5553443a2043616e6e6f74207472616e7366657220746f6b656e73206469726563746c7920746f20746865205a55534420746f6b656e20636f6e7472616374206f7220746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365436f6e747261637420696e7374616e63652068617320616c7265616479206265656e20696e697469616c697a65645a5553443a2043616c6c6572206973206e6f74207468652053746162696c697479506f6f6cddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef5a5553443a2043616c6c6572206973206e6569746865722054726f76654d616e61676572206e6f722053746162696c697479506f6f6c45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220f50801aa88b31fd77d008212bfb89f94e9589a1713a72c6a58c4d6412ee8a87f64736f6c634300060b00334f776e61626c653a3a7365744f776e65723a20696e76616c69642061646472657373", - "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061014d5760003560e01c806370a08231116100c3578063a9059cbb1161007c578063a9059cbb14610413578063bb997bac1461043f578063c0c53b8b14610475578063d505accf146104ad578063dd62ed3e146104fe578063f698da251461052c5761014d565b806370a08231146103435780637ecebe0014610369578063893d20e81461038f57806395d89b41146103b35780639dc29fac146103bb578063a457c2d7146103e75761014d565b806320c582be1161011557806320c582be1461025957806323b872dd1461028f578063313ce567146102c557806339509351146102e357806340c10f191461030f57806354fd4d501461033b5761014d565b806306fdde0314610152578063095ea7b3146101cf57806310ce43bd1461020f57806313af40351461022957806318160ddd14610251575b600080fd5b61015a610534565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561019457818101518382015260200161017c565b50505050905090810190601f1680156101c15780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101fb600480360360408110156101e557600080fd5b506001600160a01b03813516906020013561055e565b604080519115158252519081900360200190f35b610217610574565b60408051918252519081900360200190f35b61024f6004803603602081101561023f57600080fd5b50356001600160a01b0316610598565b005b61021761060b565b61024f6004803603606081101561026f57600080fd5b506001600160a01b03813581169160208101359091169060400135610611565b6101fb600480360360608110156102a557600080fd5b506001600160a01b03813581169160208101359091169060400135610629565b6102cd6106a1565b6040805160ff9092168252519081900360200190f35b6101fb600480360360408110156102f957600080fd5b506001600160a01b0381351690602001356106a6565b61024f6004803603604081101561032557600080fd5b506001600160a01b0381351690602001356106e2565b61015a6106f8565b6102176004803603602081101561035957600080fd5b50356001600160a01b0316610713565b6102176004803603602081101561037f57600080fd5b50356001600160a01b031661072e565b610397610749565b604080516001600160a01b039092168252519081900360200190f35b61015a610773565b61024f600480360360408110156103d157600080fd5b506001600160a01b038135169060200135610791565b6101fb600480360360408110156103fd57600080fd5b506001600160a01b0381351690602001356107a3565b6101fb6004803603604081101561042957600080fd5b506001600160a01b0381351690602001356107f8565b61024f6004803603606081101561045557600080fd5b506001600160a01b0381358116916020810135909116906040013561080e565b61024f6004803603606081101561048b57600080fd5b506001600160a01b038135811691602081013582169160409091013516610816565b61024f600480360360e08110156104c357600080fd5b506001600160a01b03813581169160208101359091169060408101359060608101359060ff6080820135169060a08101359060c0013561092d565b6102176004803603604081101561051457600080fd5b506001600160a01b0381358116916020013516610b22565b610217610b4d565b60408051808201909152600f81526e2d2aa9a21029ba30b13632b1b7b4b760891b60208201525b90565b600061056b338484610ba2565b50600192915050565b7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c990565b6105a0610749565b6001600160a01b0316336001600160a01b0316146105ff576040805162461bcd60e51b815260206004820152601760248201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604482015290519081900360640190fd5b61060881610c24565b50565b60335490565b610619610cd9565b610624838383610d39565b505050565b600061063483610e1b565b61063f848484610d39565b61069784336106928560405180606001604052806028815260200161161a602891396001600160a01b038a166000908152603a60209081526040808320338452909152902054919063ffffffff610e7716565b610ba2565b5060019392505050565b601290565b336000818152603a602090815260408083206001600160a01b0387168452909152812054909161056b918590610692908663ffffffff610f0e16565b6106ea610f6f565b6106f48282610fb8565b5050565b6040805180820190915260018152603160f81b602082015290565b6001600160a01b031660009081526039602052604090205490565b6001600160a01b031660009081526038602052604090205490565b604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205490565b604080518082019091526004815263169554d160e21b602082015290565b61079961104d565b6106f482826110c0565b600061056b3384610692856040518060600160405280602581526020016116eb60259139336000908152603a602090815260408083206001600160a01b038d168452909152902054919063ffffffff610e7716565b600061080383610e1b565b61056b338484610d39565b610619611175565b600054610100900460ff168061082f575061082f6111be565b8061083d575060005460ff16155b6108785760405162461bcd60e51b815260040180806020018281038252602e815260200180611642602e913960400191505060405180910390fd5b600054610100900460ff161580156108a3576000805460ff1961ff0019909116610100171660011790555b6108ab610749565b6001600160a01b0316336001600160a01b03161461090a576040805162461bcd60e51b815260206004820152601760248201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604482015290519081900360640190fd5b6109158484846111c4565b8015610927576000805461ff00191690555b50505050565b4284101561097b576040805162461bcd60e51b81526020600482015260166024820152755a5553443a206578706972656420646561646c696e6560501b604482015290519081900360640190fd5b6000610985610b4d565b6001600160a01b03808a1660008181526038602090815260408083208054600180820190925582517f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98186015280840196909652958e166060860152608085018d905260a085019590955260c08085018c90528151808603909101815260e08501825280519083012061190160f01b6101008601526101028501969096526101228085019690965280518085039096018652610142840180825286519683019690962095839052610162840180825286905260ff8a166101828501526101a284018990526101c284018890525194955090936101e280840193601f198301929081900390910190855afa158015610aa0573d6000803e3d6000fd5b505050602060405103519050886001600160a01b0316816001600160a01b031614610b0c576040805162461bcd60e51b81526020600482015260176024820152765a5553443a20696e76616c6964207369676e617475726560481b604482015290519081900360640190fd5b610b17898989610ba2565b505050505050505050565b6001600160a01b039182166000908152603a6020908152604080832093909416825291909152205490565b6000603554610b5a611398565b1415610b69575060345461055b565b610b9b7f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60001b60365460375461139c565b905061055b565b6001600160a01b038316610bb257fe5b6001600160a01b038216610bc257fe5b6001600160a01b038084166000818152603a6020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b038116610c695760405162461bcd60e51b81526004018080602001828103825260228152602001806115a46022913960400191505060405180910390fd5b806001600160a01b0316610c7b610749565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3604080517035b2bc9737bbb730b136329737bbb732b960791b8152905190819003601101902055565b603b546001600160a01b0316331480610cfc5750603c546001600160a01b031633145b610d375760405162461bcd60e51b81526004018080602001828103825260368152602001806116b56036913960400191505060405180910390fd5b565b6001600160a01b038316610d4957fe5b6001600160a01b038216610d5957fe5b610d9c81604051806060016040528060268152602001611531602691396001600160a01b038616600090815260396020526040902054919063ffffffff610e7716565b6001600160a01b038085166000908152603960205260408082209390935590841681522054610dd1908263ffffffff610f0e16565b6001600160a01b03808416600081815260396020908152604091829020949094558051858152905191939287169260008051602061169583398151915292918290030190a3505050565b6001600160a01b03811615801590610e3c57506001600160a01b0381163014155b6106085760405162461bcd60e51b81526004018080602001828103825260548152602001806115c66054913960600191505060405180910390fd5b60008184841115610f065760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610ecb578181015183820152602001610eb3565b50505050905090810190601f168015610ef85780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b600082820183811015610f68576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b603d546001600160a01b03163314610d375760405162461bcd60e51b815260040180806020018281038252602b815260200180611506602b913960400191505060405180910390fd5b6001600160a01b038216610fc857fe5b603354610fdb908263ffffffff610f0e16565b6033556001600160a01b038216600090815260396020526040902054611007908263ffffffff610f0e16565b6001600160a01b03831660008181526039602090815260408083209490945583518581529351929391926000805160206116958339815191529281900390910190a35050565b603d546001600160a01b03163314806110705750603b546001600160a01b031633145b806110855750603c546001600160a01b031633145b610d375760405162461bcd60e51b815260040180806020018281038252604d815260200180611557604d913960600191505060405180910390fd5b6001600160a01b0382166110d057fe5b611113816040518060600160405280602281526020016114e4602291396001600160a01b038516600090815260396020526040902054919063ffffffff610e7716565b6001600160a01b03831660009081526039602052604090205560335461113f908263ffffffff6113f216565b6033556040805182815290516000916001600160a01b038516916000805160206116958339815191529181900360200190a35050565b603c546001600160a01b03163314610d375760405162461bcd60e51b81526004018080602001828103825260258152602001806116706025913960400191505060405180910390fd5b303b1590565b6111cd83611434565b6111d682611434565b6111df81611434565b603b80546001600160a01b0385166001600160a01b0319909116811790915560408051918252517f143219c9e69b09e07e095fcc889b43d8f46ca892bba65f08dc3a0050869a56789181900360200190a1603c80546001600160a01b0384166001600160a01b0319909116811790915560408051918252517f82966d27eea39b038ee0fa30cd16532bb24f6e65d31cb58fb227aa5766cdcc7f9181900360200190a1603d80546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f3ca631ffcd2a9b5d9ae18543fc82f58eb4ca33af9e6ab01b7a8e95331e6ed9859181900360200190a1604080518082018252600f81526e2d2aa9a21029ba30b13632b1b7b4b760891b602091820152815180830190925260018252603160f81b9101527fd28848e7c3cbededd42b8bfb722b93a1d091c2e7280388a67bb55fc505b758eb60368190557fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc66037819055611360611398565b60355561138e7f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f838361139c565b6034555050505050565b4690565b60008383836113a9611398565b6040805160208082019690965280820194909452606084019290925260808301523060a0808401919091528151808403909101815260c090920190528051910120949350505050565b6000610f6883836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610e77565b6001600160a01b03811661148f576040805162461bcd60e51b815260206004820152601e60248201527f4163636f756e742063616e6e6f74206265207a65726f20616464726573730000604482015290519081900360640190fd5b803b806106f4576040805162461bcd60e51b815260206004820181905260248201527f4163636f756e7420636f64652073697a652063616e6e6f74206265207a65726f604482015290519081900360640190fdfe45524332303a206275726e20616d6f756e7420657863656564732062616c616e63655a555344546f6b656e3a2043616c6c6572206973206e6f7420426f72726f7765724f7065726174696f6e7345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e63655a5553443a2043616c6c6572206973206e65697468657220426f72726f7765724f7065726174696f6e73206e6f722054726f76654d616e61676572206e6f722053746162696c697479506f6f6c4f776e61626c653a3a7365744f776e65723a20696e76616c696420616464726573735a5553443a2043616e6e6f74207472616e7366657220746f6b656e73206469726563746c7920746f20746865205a55534420746f6b656e20636f6e7472616374206f7220746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365436f6e747261637420696e7374616e63652068617320616c7265616479206265656e20696e697469616c697a65645a5553443a2043616c6c6572206973206e6f74207468652053746162696c697479506f6f6cddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef5a5553443a2043616c6c6572206973206e6569746865722054726f76654d616e61676572206e6f722053746162696c697479506f6f6c45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220f50801aa88b31fd77d008212bfb89f94e9589a1713a72c6a58c4d6412ee8a87f64736f6c634300060b0033", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/packages/lib-ethers/live/ZUSDTokenCaller.json b/packages/lib-ethers/live/ZUSDTokenCaller.json deleted file mode 100644 index 4d01a3888..000000000 --- a/packages/lib-ethers/live/ZUSDTokenCaller.json +++ /dev/null @@ -1,106 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "ZUSDTokenCaller", - "sourceName": "contracts/TestContracts/ZUSDTokenCaller.sol", - "abi": [ - { - "inputs": [ - { - "internalType": "contract IZUSDToken", - "name": "_ZUSD", - "type": "address" - } - ], - "name": "setZUSD", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_account", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "name": "zusdBurn", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_account", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "name": "zusdMint", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_poolAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_receiver", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "name": "zusdReturnFromPool", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_sender", - "type": "address" - }, - { - "internalType": "address", - "name": "_poolAddress", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "name": "zusdSendToPool", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": "0x608060405234801561001057600080fd5b50610331806100206000396000f3fe608060405234801561001057600080fd5b50600436106100575760003560e01c80633703bbd01461005c57806372f2276b1461008a57806373b89e67146100b6578063b4107221146100ec578063fb4b791314610122575b600080fd5b6100886004803603604081101561007257600080fd5b506001600160a01b038135169060200135610148565b005b610088600480360360408110156100a057600080fd5b506001600160a01b0381351690602001356101b6565b610088600480360360608110156100cc57600080fd5b506001600160a01b03813581169160208101359091169060400135610208565b6100886004803603606081101561010257600080fd5b506001600160a01b0381358116916020810135909116906040013561027f565b6100886004803603602081101561013857600080fd5b50356001600160a01b03166102d9565b60008054604080516340c10f1960e01b81526001600160a01b03868116600483015260248201869052915191909216926340c10f19926044808201939182900301818387803b15801561019a57600080fd5b505af11580156101ae573d6000803e3d6000fd5b505050505050565b6000805460408051632770a7eb60e21b81526001600160a01b0386811660048301526024820186905291519190921692639dc29fac926044808201939182900301818387803b15801561019a57600080fd5b6000805460408051632ee65eeb60e21b81526001600160a01b0387811660048301528681166024830152604482018690529151919092169263bb997bac926064808201939182900301818387803b15801561026257600080fd5b505af1158015610276573d6000803e3d6000fd5b50505050505050565b6000805460408051631062c15f60e11b81526001600160a01b038781166004830152868116602483015260448201869052915191909216926320c582be926064808201939182900301818387803b15801561026257600080fd5b600080546001600160a01b0319166001600160a01b039290921691909117905556fea264697066735822122012dfd2301323a81363e6fb38928c17aaa36a218da6c3bd5925b0c712e4b8093064736f6c634300060b0033", - "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100575760003560e01c80633703bbd01461005c57806372f2276b1461008a57806373b89e67146100b6578063b4107221146100ec578063fb4b791314610122575b600080fd5b6100886004803603604081101561007257600080fd5b506001600160a01b038135169060200135610148565b005b610088600480360360408110156100a057600080fd5b506001600160a01b0381351690602001356101b6565b610088600480360360608110156100cc57600080fd5b506001600160a01b03813581169160208101359091169060400135610208565b6100886004803603606081101561010257600080fd5b506001600160a01b0381358116916020810135909116906040013561027f565b6100886004803603602081101561013857600080fd5b50356001600160a01b03166102d9565b60008054604080516340c10f1960e01b81526001600160a01b03868116600483015260248201869052915191909216926340c10f19926044808201939182900301818387803b15801561019a57600080fd5b505af11580156101ae573d6000803e3d6000fd5b505050505050565b6000805460408051632770a7eb60e21b81526001600160a01b0386811660048301526024820186905291519190921692639dc29fac926044808201939182900301818387803b15801561019a57600080fd5b6000805460408051632ee65eeb60e21b81526001600160a01b0387811660048301528681166024830152604482018690529151919092169263bb997bac926064808201939182900301818387803b15801561026257600080fd5b505af1158015610276573d6000803e3d6000fd5b50505050505050565b6000805460408051631062c15f60e11b81526001600160a01b038781166004830152868116602483015260448201869052915191909216926320c582be926064808201939182900301818387803b15801561026257600080fd5b600080546001600160a01b0319166001600160a01b039290921691909117905556fea264697066735822122012dfd2301323a81363e6fb38928c17aaa36a218da6c3bd5925b0c712e4b8093064736f6c634300060b0033", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/packages/lib-ethers/live/ZUSDTokenStorage.json b/packages/lib-ethers/live/ZUSDTokenStorage.json deleted file mode 100644 index 3cd45830b..000000000 --- a/packages/lib-ethers/live/ZUSDTokenStorage.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "ZUSDTokenStorage", - "sourceName": "contracts/ZUSDTokenStorage.sol", - "abi": [], - "bytecode": "0x6080604052348015600f57600080fd5b50603f80601d6000396000f3fe6080604052600080fdfea26469706673582212209a680acea503c86ad4c6b063d1fb5f966aa9dc664b59a4560b808e353195e63b64736f6c634300060b0033", - "deployedBytecode": "0x6080604052600080fdfea26469706673582212209a680acea503c86ad4c6b063d1fb5f966aa9dc664b59a4560b808e353195e63b64736f6c634300060b0033", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/packages/lib-ethers/live/ZUSDTokenTester.json b/packages/lib-ethers/live/ZUSDTokenTester.json deleted file mode 100644 index 0bc06b210..000000000 --- a/packages/lib-ethers/live/ZUSDTokenTester.json +++ /dev/null @@ -1,808 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "ZUSDTokenTester", - "sourceName": "contracts/TestContracts/ZUSDTokenTester.sol", - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_troveManagerAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_stabilityPoolAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_borrowerOperationsAddress", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "Approval", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_newBorrowerOperationsAddress", - "type": "address" - } - ], - "name": "BorrowerOperationsAddressChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "previousOwner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnershipTransferred", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_newStabilityPoolAddress", - "type": "address" - } - ], - "name": "StabilityPoolAddressChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "Transfer", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_troveManagerAddress", - "type": "address" - } - ], - "name": "TroveManagerAddressChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_user", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "name": "ZUSDTokenBalanceUpdated", - "type": "event" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "address", - "name": "spender", - "type": "address" - } - ], - "name": "allowance", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "approve", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "balanceOf", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_account", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "name": "burn", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "callInternalApprove", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "decimals", - "outputs": [ - { - "internalType": "uint8", - "name": "", - "type": "uint8" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "subtractedValue", - "type": "uint256" - } - ], - "name": "decreaseAllowance", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "domainSeparator", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getChainId", - "outputs": [ - { - "internalType": "uint256", - "name": "chainID", - "type": "uint256" - } - ], - "stateMutability": "pure", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "nonce", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "deadline", - "type": "uint256" - } - ], - "name": "getDigest", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getOwner", - "outputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "addedValue", - "type": "uint256" - } - ], - "name": "increaseAllowance", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_troveManagerAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_stabilityPoolAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_borrowerOperationsAddress", - "type": "address" - } - ], - "name": "initialize", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_account", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "name": "mint", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "name", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - } - ], - "name": "nonces", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "deadline", - "type": "uint256" - }, - { - "internalType": "uint8", - "name": "v", - "type": "uint8" - }, - { - "internalType": "bytes32", - "name": "r", - "type": "bytes32" - }, - { - "internalType": "bytes32", - "name": "s", - "type": "bytes32" - } - ], - "name": "permit", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "permitTypeHash", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "digest", - "type": "bytes32" - }, - { - "internalType": "uint8", - "name": "v", - "type": "uint8" - }, - { - "internalType": "bytes32", - "name": "r", - "type": "bytes32" - }, - { - "internalType": "bytes32", - "name": "s", - "type": "bytes32" - } - ], - "name": "recoverAddress", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "pure", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_poolAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_receiver", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "name": "returnFromPool", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_sender", - "type": "address" - }, - { - "internalType": "address", - "name": "_poolAddress", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "name": "sendToPool", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - } - ], - "name": "setOwner", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "symbol", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "totalSupply", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "transfer", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "transferFrom", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_account", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "name": "unprotectedBurn", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_account", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "name": "unprotectedMint", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_poolAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_receiver", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "name": "unprotectedReturnFromPool", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_sender", - "type": "address" - }, - { - "internalType": "address", - "name": "_poolAddress", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "name": "unprotectedSendToPool", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "version", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": "0x60806040523480156200001157600080fd5b506040516200204038038062002040833981810160405260608110156200003757600080fd5b50805160208201516040909201519091906200005c336001600160e01b036200007b16565b620000728383836001600160e01b036200013d16565b505050620005d7565b6001600160a01b038116620000c25760405162461bcd60e51b815260040180806020018281038252602281526020018062001ff06022913960400191505060405180910390fd5b6001600160a01b038116620000df6001600160e01b036200028216565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3604080517035b2bc9737bbb730b136329737bbb732b960791b8152905190819003601101902055565b600054610100900460ff1680620001625750620001626001600160e01b03620002ac16565b8062000171575060005460ff16155b620001ae5760405162461bcd60e51b815260040180806020018281038252602e81526020018062002012602e913960400191505060405180910390fd5b600054610100900460ff16158015620001da576000805460ff1961ff0019909116610100171660011790555b620001ed6001600160e01b036200028216565b6001600160a01b0316336001600160a01b03161462000253576040805162461bcd60e51b815260206004820152601760248201527f4f776e61626c653a3a206163636573732064656e696564000000000000000000604482015290519081900360640190fd5b620002698484846001600160e01b03620002b216565b80156200027c576000805461ff00191690555b50505050565b604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205490565b303b1590565b620002c6836001600160e01b03620004bd16565b620002da826001600160e01b03620004bd16565b620002ee816001600160e01b03620004bd16565b603b80546001600160a01b0385166001600160a01b0319909116811790915560408051918252517f143219c9e69b09e07e095fcc889b43d8f46ca892bba65f08dc3a0050869a56789181900360200190a1603c80546001600160a01b0384166001600160a01b0319909116811790915560408051918252517f82966d27eea39b038ee0fa30cd16532bb24f6e65d31cb58fb227aa5766cdcc7f9181900360200190a1603d80546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f3ca631ffcd2a9b5d9ae18543fc82f58eb4ca33af9e6ab01b7a8e95331e6ed9859181900360200190a1604080518082018252600f81526e2d2aa9a21029ba30b13632b1b7b4b760891b602091820152815180830190925260018252603160f81b9101527fd28848e7c3cbededd42b8bfb722b93a1d091c2e7280388a67bb55fc505b758eb60368190557fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660378190556200047a6001600160e01b036200057216565b603555620004b37f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83836001600160e01b036200057616565b6034555050505050565b6001600160a01b03811662000519576040805162461bcd60e51b815260206004820152601e60248201527f4163636f756e742063616e6e6f74206265207a65726f20616464726573730000604482015290519081900360640190fd5b803b806200056e576040805162461bcd60e51b815260206004820181905260248201527f4163636f756e7420636f64652073697a652063616e6e6f74206265207a65726f604482015290519081900360640190fd5b5050565b4690565b60008383836200058e6001600160e01b036200057216565b6040805160208082019690965280820194909452606084019290925260808301523060a0808401919091528151808403909101815260c090920190528051910120949350505050565b611a0980620005e76000396000f3fe608060405234801561001057600080fd5b50600436106101a55760003560e01c8063519e2cee116100ef578063a457c2d711610092578063a457c2d71461057f578063a9059cbb146105ab578063b655c276146103d1578063bb997bac146105d7578063c0c53b8b1461060d578063d505accf14610645578063dd62ed3e14610696578063f698da25146106c4576101a5565b8063519e2cee1461045f57806354fd4d50146104a157806370a08231146104a95780637ecebe00146104cf5780638428cf83146104f5578063893d20e81461054357806395d89b411461054b5780639dc29fac14610553576101a5565b806323b872dd1161015757806323b872dd1461031d578063313ce567146103535780633408e4701461037157806339509351146103795780633ab60582146103a55780633dc2ea6d146103d157806340c10f19146104075780635099f99f14610433576101a5565b806303d99946146101aa57806306fdde03146101f4578063095ea7b31461027157806310ce43bd1461029d57806313af4035146102b757806318160ddd146102df57806320c582be146102e7575b600080fd5b6101e0600480360360608110156101c057600080fd5b506001600160a01b038135811691602081013590911690604001356106cc565b604080519115158252519081900360200190f35b6101fc6106e0565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561023657818101518382015260200161021e565b50505050905090810190601f1680156102635780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101e06004803603604081101561028757600080fd5b506001600160a01b03813516906020013561070a565b6102a5610720565b60408051918252519081900360200190f35b6102dd600480360360208110156102cd57600080fd5b50356001600160a01b0316610732565b005b6102a56107a5565b6102dd600480360360608110156102fd57600080fd5b506001600160a01b038135811691602081013590911690604001356107ab565b6101e06004803603606081101561033357600080fd5b506001600160a01b038135811691602081013590911690604001356107c3565b61035b61083b565b6040805160ff9092168252519081900360200190f35b6102a5610840565b6101e06004803603604081101561038f57600080fd5b506001600160a01b038135169060200135610844565b6102dd600480360360408110156103bb57600080fd5b506001600160a01b038135169060200135610880565b6102dd600480360360608110156103e757600080fd5b506001600160a01b038135811691602081013590911690604001356107b3565b6102dd6004803603604081101561041d57600080fd5b506001600160a01b03813516906020013561088e565b6102dd6004803603604081101561044957600080fd5b506001600160a01b038135169060200135610896565b6102a5600480360360a081101561047557600080fd5b506001600160a01b038135811691602081013590911690604081013590606081013590608001356108a0565b6101fc610957565b6102a5600480360360208110156104bf57600080fd5b50356001600160a01b0316610972565b6102a5600480360360208110156104e557600080fd5b50356001600160a01b031661098d565b6105276004803603608081101561050b57600080fd5b5080359060ff60208201351690604081013590606001356109a8565b604080516001600160a01b039092168252519081900360200190f35b610527610a14565b6101fc610a3e565b6102dd6004803603604081101561056957600080fd5b506001600160a01b038135169060200135610a5c565b6101e06004803603604081101561059557600080fd5b506001600160a01b038135169060200135610a64565b6101e0600480360360408110156105c157600080fd5b506001600160a01b038135169060200135610ab9565b6102dd600480360360608110156105ed57600080fd5b506001600160a01b03813581169160208101359091169060400135610acf565b6102dd6004803603606081101561062357600080fd5b506001600160a01b038135811691602081013582169160409091013516610ad7565b6102dd600480360360e081101561065b57600080fd5b506001600160a01b03813581169160208101359091169060408101359060608101359060ff6080820135169060a08101359060c00135610bee565b6102a5600480360360408110156106ac57600080fd5b506001600160a01b0381358116916020013516610dd1565b6102a5610dfc565b60006106d9848484610e51565b9392505050565b60408051808201909152600f81526e2d2aa9a21029ba30b13632b1b7b4b760891b60208201525b90565b6000610717338484610e51565b50600192915050565b60008051602061195983398151915290565b61073a610a14565b6001600160a01b0316336001600160a01b031614610799576040805162461bcd60e51b815260206004820152601760248201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604482015290519081900360640190fd5b6107a281610ed3565b50565b60335490565b6107b3610f88565b6107be838383610fe8565b505050565b60006107ce836110ca565b6107d9848484610fe8565b610831843361082c856040518060600160405280602881526020016118be602891396001600160a01b038a166000908152603a60209081526040808320338452909152902054919063ffffffff61112616565b610e51565b5060019392505050565b601290565b4690565b336000818152603a602090815260408083206001600160a01b0387168452909152812054909161071791859061082c908663ffffffff6111bd16565b61088a8282611217565b5050565b6108966112cc565b61088a8282611315565b60006119016108ad610dfc565b604080516000805160206119598339815191526020808301919091526001600160a01b03808c16838501528a1660608301526080820189905260a0820188905260c08083018890528351808403909101815260e0830184528051908201206001600160f01b031960f09690961b9590951661010083015261010282019390935261012280820194909452815180820390940184526101420190528151910120905095945050505050565b6040805180820190915260018152603160f81b602082015290565b6001600160a01b031660009081526039602052604090205490565b6001600160a01b031660009081526038602052604090205490565b604080516000808252602080830180855288905260ff87168385015260608301869052608083018590529251909260019260a080820193601f1981019281900390910190855afa158015610a00573d6000803e3d6000fd5b5050604051601f1901519695505050505050565b604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205490565b604080518082019091526004815263169554d160e21b602082015290565b6108806113aa565b6000610717338461082c856040518060600160405280602581526020016119af60259139336000908152603a602090815260408083206001600160a01b038d168452909152902054919063ffffffff61112616565b6000610ac4836110ca565b610717338484610fe8565b6107b361141d565b600054610100900460ff1680610af05750610af0611466565b80610afe575060005460ff16155b610b395760405162461bcd60e51b815260040180806020018281038252602e8152602001806118e6602e913960400191505060405180910390fd5b600054610100900460ff16158015610b64576000805460ff1961ff0019909116610100171660011790555b610b6c610a14565b6001600160a01b0316336001600160a01b031614610bcb576040805162461bcd60e51b815260206004820152601760248201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604482015290519081900360640190fd5b610bd684848461146c565b8015610be8576000805461ff00191690555b50505050565b42841015610c3c576040805162461bcd60e51b81526020600482015260166024820152755a5553443a206578706972656420646561646c696e6560501b604482015290519081900360640190fd5b6000610c46610dfc565b6001600160a01b03808a1660008181526038602090815260408083208054600180820190925582516000805160206119598339815191528186015280840196909652958e166060860152608085018d905260a085019590955260c08085018c90528151808603909101815260e08501825280519083012061190160f01b6101008601526101028501969096526101228085019690965280518085039096018652610142840180825286519683019690962095839052610162840180825286905260ff8a166101828501526101a284018990526101c284018890525194955090936101e280840193601f198301929081900390910190855afa158015610d4f573d6000803e3d6000fd5b505050602060405103519050886001600160a01b0316816001600160a01b031614610dbb576040805162461bcd60e51b81526020600482015260176024820152765a5553443a20696e76616c6964207369676e617475726560481b604482015290519081900360640190fd5b610dc6898989610e51565b505050505050505050565b6001600160a01b039182166000908152603a6020908152604080832093909416825291909152205490565b6000603554610e09610840565b1415610e185750603454610707565b610e4a7f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60001b603654603754611640565b9050610707565b6001600160a01b038316610e6157fe5b6001600160a01b038216610e7157fe5b6001600160a01b038084166000818152603a6020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b038116610f185760405162461bcd60e51b81526004018080602001828103825260228152602001806118486022913960400191505060405180910390fd5b806001600160a01b0316610f2a610a14565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3604080517035b2bc9737bbb730b136329737bbb732b960791b8152905190819003601101902055565b603b546001600160a01b0316331480610fab5750603c546001600160a01b031633145b610fe65760405162461bcd60e51b81526004018080602001828103825260368152602001806119796036913960400191505060405180910390fd5b565b6001600160a01b038316610ff857fe5b6001600160a01b03821661100857fe5b61104b816040518060600160405280602681526020016117d5602691396001600160a01b038616600090815260396020526040902054919063ffffffff61112616565b6001600160a01b038085166000908152603960205260408082209390935590841681522054611080908263ffffffff6111bd16565b6001600160a01b03808416600081815260396020908152604091829020949094558051858152905191939287169260008051602061193983398151915292918290030190a3505050565b6001600160a01b038116158015906110eb57506001600160a01b0381163014155b6107a25760405162461bcd60e51b815260040180806020018281038252605481526020018061186a6054913960600191505060405180910390fd5b600081848411156111b55760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561117a578181015183820152602001611162565b50505050905090810190601f1680156111a75780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b6000828201838110156106d9576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b6001600160a01b03821661122757fe5b61126a81604051806060016040528060228152602001611788602291396001600160a01b038516600090815260396020526040902054919063ffffffff61112616565b6001600160a01b038316600090815260396020526040902055603354611296908263ffffffff61169616565b6033556040805182815290516000916001600160a01b038516916000805160206119398339815191529181900360200190a35050565b603d546001600160a01b03163314610fe65760405162461bcd60e51b815260040180806020018281038252602b8152602001806117aa602b913960400191505060405180910390fd5b6001600160a01b03821661132557fe5b603354611338908263ffffffff6111bd16565b6033556001600160a01b038216600090815260396020526040902054611364908263ffffffff6111bd16565b6001600160a01b03831660008181526039602090815260408083209490945583518581529351929391926000805160206119398339815191529281900390910190a35050565b603d546001600160a01b03163314806113cd5750603b546001600160a01b031633145b806113e25750603c546001600160a01b031633145b610fe65760405162461bcd60e51b815260040180806020018281038252604d8152602001806117fb604d913960600191505060405180910390fd5b603c546001600160a01b03163314610fe65760405162461bcd60e51b81526004018080602001828103825260258152602001806119146025913960400191505060405180910390fd5b303b1590565b611475836116d8565b61147e826116d8565b611487816116d8565b603b80546001600160a01b0385166001600160a01b0319909116811790915560408051918252517f143219c9e69b09e07e095fcc889b43d8f46ca892bba65f08dc3a0050869a56789181900360200190a1603c80546001600160a01b0384166001600160a01b0319909116811790915560408051918252517f82966d27eea39b038ee0fa30cd16532bb24f6e65d31cb58fb227aa5766cdcc7f9181900360200190a1603d80546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f3ca631ffcd2a9b5d9ae18543fc82f58eb4ca33af9e6ab01b7a8e95331e6ed9859181900360200190a1604080518082018252600f81526e2d2aa9a21029ba30b13632b1b7b4b760891b602091820152815180830190925260018252603160f81b9101527fd28848e7c3cbededd42b8bfb722b93a1d091c2e7280388a67bb55fc505b758eb60368190557fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc66037819055611608610840565b6035556116367f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8383611640565b6034555050505050565b600083838361164d610840565b6040805160208082019690965280820194909452606084019290925260808301523060a0808401919091528151808403909101815260c090920190528051910120949350505050565b60006106d983836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611126565b6001600160a01b038116611733576040805162461bcd60e51b815260206004820152601e60248201527f4163636f756e742063616e6e6f74206265207a65726f20616464726573730000604482015290519081900360640190fd5b803b8061088a576040805162461bcd60e51b815260206004820181905260248201527f4163636f756e7420636f64652073697a652063616e6e6f74206265207a65726f604482015290519081900360640190fdfe45524332303a206275726e20616d6f756e7420657863656564732062616c616e63655a555344546f6b656e3a2043616c6c6572206973206e6f7420426f72726f7765724f7065726174696f6e7345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e63655a5553443a2043616c6c6572206973206e65697468657220426f72726f7765724f7065726174696f6e73206e6f722054726f76654d616e61676572206e6f722053746162696c697479506f6f6c4f776e61626c653a3a7365744f776e65723a20696e76616c696420616464726573735a5553443a2043616e6e6f74207472616e7366657220746f6b656e73206469726563746c7920746f20746865205a55534420746f6b656e20636f6e7472616374206f7220746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365436f6e747261637420696e7374616e63652068617320616c7265616479206265656e20696e697469616c697a65645a5553443a2043616c6c6572206973206e6f74207468652053746162696c697479506f6f6cddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c95a5553443a2043616c6c6572206973206e6569746865722054726f76654d616e61676572206e6f722053746162696c697479506f6f6c45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220cf94bdb6eb90c532d4c1cc0b9af6913b9d12393330e376b716cfcf8fc492447664736f6c634300060b00334f776e61626c653a3a7365744f776e65723a20696e76616c69642061646472657373436f6e747261637420696e7374616e63652068617320616c7265616479206265656e20696e697469616c697a6564", - "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106101a55760003560e01c8063519e2cee116100ef578063a457c2d711610092578063a457c2d71461057f578063a9059cbb146105ab578063b655c276146103d1578063bb997bac146105d7578063c0c53b8b1461060d578063d505accf14610645578063dd62ed3e14610696578063f698da25146106c4576101a5565b8063519e2cee1461045f57806354fd4d50146104a157806370a08231146104a95780637ecebe00146104cf5780638428cf83146104f5578063893d20e81461054357806395d89b411461054b5780639dc29fac14610553576101a5565b806323b872dd1161015757806323b872dd1461031d578063313ce567146103535780633408e4701461037157806339509351146103795780633ab60582146103a55780633dc2ea6d146103d157806340c10f19146104075780635099f99f14610433576101a5565b806303d99946146101aa57806306fdde03146101f4578063095ea7b31461027157806310ce43bd1461029d57806313af4035146102b757806318160ddd146102df57806320c582be146102e7575b600080fd5b6101e0600480360360608110156101c057600080fd5b506001600160a01b038135811691602081013590911690604001356106cc565b604080519115158252519081900360200190f35b6101fc6106e0565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561023657818101518382015260200161021e565b50505050905090810190601f1680156102635780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101e06004803603604081101561028757600080fd5b506001600160a01b03813516906020013561070a565b6102a5610720565b60408051918252519081900360200190f35b6102dd600480360360208110156102cd57600080fd5b50356001600160a01b0316610732565b005b6102a56107a5565b6102dd600480360360608110156102fd57600080fd5b506001600160a01b038135811691602081013590911690604001356107ab565b6101e06004803603606081101561033357600080fd5b506001600160a01b038135811691602081013590911690604001356107c3565b61035b61083b565b6040805160ff9092168252519081900360200190f35b6102a5610840565b6101e06004803603604081101561038f57600080fd5b506001600160a01b038135169060200135610844565b6102dd600480360360408110156103bb57600080fd5b506001600160a01b038135169060200135610880565b6102dd600480360360608110156103e757600080fd5b506001600160a01b038135811691602081013590911690604001356107b3565b6102dd6004803603604081101561041d57600080fd5b506001600160a01b03813516906020013561088e565b6102dd6004803603604081101561044957600080fd5b506001600160a01b038135169060200135610896565b6102a5600480360360a081101561047557600080fd5b506001600160a01b038135811691602081013590911690604081013590606081013590608001356108a0565b6101fc610957565b6102a5600480360360208110156104bf57600080fd5b50356001600160a01b0316610972565b6102a5600480360360208110156104e557600080fd5b50356001600160a01b031661098d565b6105276004803603608081101561050b57600080fd5b5080359060ff60208201351690604081013590606001356109a8565b604080516001600160a01b039092168252519081900360200190f35b610527610a14565b6101fc610a3e565b6102dd6004803603604081101561056957600080fd5b506001600160a01b038135169060200135610a5c565b6101e06004803603604081101561059557600080fd5b506001600160a01b038135169060200135610a64565b6101e0600480360360408110156105c157600080fd5b506001600160a01b038135169060200135610ab9565b6102dd600480360360608110156105ed57600080fd5b506001600160a01b03813581169160208101359091169060400135610acf565b6102dd6004803603606081101561062357600080fd5b506001600160a01b038135811691602081013582169160409091013516610ad7565b6102dd600480360360e081101561065b57600080fd5b506001600160a01b03813581169160208101359091169060408101359060608101359060ff6080820135169060a08101359060c00135610bee565b6102a5600480360360408110156106ac57600080fd5b506001600160a01b0381358116916020013516610dd1565b6102a5610dfc565b60006106d9848484610e51565b9392505050565b60408051808201909152600f81526e2d2aa9a21029ba30b13632b1b7b4b760891b60208201525b90565b6000610717338484610e51565b50600192915050565b60008051602061195983398151915290565b61073a610a14565b6001600160a01b0316336001600160a01b031614610799576040805162461bcd60e51b815260206004820152601760248201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604482015290519081900360640190fd5b6107a281610ed3565b50565b60335490565b6107b3610f88565b6107be838383610fe8565b505050565b60006107ce836110ca565b6107d9848484610fe8565b610831843361082c856040518060600160405280602881526020016118be602891396001600160a01b038a166000908152603a60209081526040808320338452909152902054919063ffffffff61112616565b610e51565b5060019392505050565b601290565b4690565b336000818152603a602090815260408083206001600160a01b0387168452909152812054909161071791859061082c908663ffffffff6111bd16565b61088a8282611217565b5050565b6108966112cc565b61088a8282611315565b60006119016108ad610dfc565b604080516000805160206119598339815191526020808301919091526001600160a01b03808c16838501528a1660608301526080820189905260a0820188905260c08083018890528351808403909101815260e0830184528051908201206001600160f01b031960f09690961b9590951661010083015261010282019390935261012280820194909452815180820390940184526101420190528151910120905095945050505050565b6040805180820190915260018152603160f81b602082015290565b6001600160a01b031660009081526039602052604090205490565b6001600160a01b031660009081526038602052604090205490565b604080516000808252602080830180855288905260ff87168385015260608301869052608083018590529251909260019260a080820193601f1981019281900390910190855afa158015610a00573d6000803e3d6000fd5b5050604051601f1901519695505050505050565b604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205490565b604080518082019091526004815263169554d160e21b602082015290565b6108806113aa565b6000610717338461082c856040518060600160405280602581526020016119af60259139336000908152603a602090815260408083206001600160a01b038d168452909152902054919063ffffffff61112616565b6000610ac4836110ca565b610717338484610fe8565b6107b361141d565b600054610100900460ff1680610af05750610af0611466565b80610afe575060005460ff16155b610b395760405162461bcd60e51b815260040180806020018281038252602e8152602001806118e6602e913960400191505060405180910390fd5b600054610100900460ff16158015610b64576000805460ff1961ff0019909116610100171660011790555b610b6c610a14565b6001600160a01b0316336001600160a01b031614610bcb576040805162461bcd60e51b815260206004820152601760248201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604482015290519081900360640190fd5b610bd684848461146c565b8015610be8576000805461ff00191690555b50505050565b42841015610c3c576040805162461bcd60e51b81526020600482015260166024820152755a5553443a206578706972656420646561646c696e6560501b604482015290519081900360640190fd5b6000610c46610dfc565b6001600160a01b03808a1660008181526038602090815260408083208054600180820190925582516000805160206119598339815191528186015280840196909652958e166060860152608085018d905260a085019590955260c08085018c90528151808603909101815260e08501825280519083012061190160f01b6101008601526101028501969096526101228085019690965280518085039096018652610142840180825286519683019690962095839052610162840180825286905260ff8a166101828501526101a284018990526101c284018890525194955090936101e280840193601f198301929081900390910190855afa158015610d4f573d6000803e3d6000fd5b505050602060405103519050886001600160a01b0316816001600160a01b031614610dbb576040805162461bcd60e51b81526020600482015260176024820152765a5553443a20696e76616c6964207369676e617475726560481b604482015290519081900360640190fd5b610dc6898989610e51565b505050505050505050565b6001600160a01b039182166000908152603a6020908152604080832093909416825291909152205490565b6000603554610e09610840565b1415610e185750603454610707565b610e4a7f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60001b603654603754611640565b9050610707565b6001600160a01b038316610e6157fe5b6001600160a01b038216610e7157fe5b6001600160a01b038084166000818152603a6020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b038116610f185760405162461bcd60e51b81526004018080602001828103825260228152602001806118486022913960400191505060405180910390fd5b806001600160a01b0316610f2a610a14565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3604080517035b2bc9737bbb730b136329737bbb732b960791b8152905190819003601101902055565b603b546001600160a01b0316331480610fab5750603c546001600160a01b031633145b610fe65760405162461bcd60e51b81526004018080602001828103825260368152602001806119796036913960400191505060405180910390fd5b565b6001600160a01b038316610ff857fe5b6001600160a01b03821661100857fe5b61104b816040518060600160405280602681526020016117d5602691396001600160a01b038616600090815260396020526040902054919063ffffffff61112616565b6001600160a01b038085166000908152603960205260408082209390935590841681522054611080908263ffffffff6111bd16565b6001600160a01b03808416600081815260396020908152604091829020949094558051858152905191939287169260008051602061193983398151915292918290030190a3505050565b6001600160a01b038116158015906110eb57506001600160a01b0381163014155b6107a25760405162461bcd60e51b815260040180806020018281038252605481526020018061186a6054913960600191505060405180910390fd5b600081848411156111b55760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561117a578181015183820152602001611162565b50505050905090810190601f1680156111a75780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b6000828201838110156106d9576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b6001600160a01b03821661122757fe5b61126a81604051806060016040528060228152602001611788602291396001600160a01b038516600090815260396020526040902054919063ffffffff61112616565b6001600160a01b038316600090815260396020526040902055603354611296908263ffffffff61169616565b6033556040805182815290516000916001600160a01b038516916000805160206119398339815191529181900360200190a35050565b603d546001600160a01b03163314610fe65760405162461bcd60e51b815260040180806020018281038252602b8152602001806117aa602b913960400191505060405180910390fd5b6001600160a01b03821661132557fe5b603354611338908263ffffffff6111bd16565b6033556001600160a01b038216600090815260396020526040902054611364908263ffffffff6111bd16565b6001600160a01b03831660008181526039602090815260408083209490945583518581529351929391926000805160206119398339815191529281900390910190a35050565b603d546001600160a01b03163314806113cd5750603b546001600160a01b031633145b806113e25750603c546001600160a01b031633145b610fe65760405162461bcd60e51b815260040180806020018281038252604d8152602001806117fb604d913960600191505060405180910390fd5b603c546001600160a01b03163314610fe65760405162461bcd60e51b81526004018080602001828103825260258152602001806119146025913960400191505060405180910390fd5b303b1590565b611475836116d8565b61147e826116d8565b611487816116d8565b603b80546001600160a01b0385166001600160a01b0319909116811790915560408051918252517f143219c9e69b09e07e095fcc889b43d8f46ca892bba65f08dc3a0050869a56789181900360200190a1603c80546001600160a01b0384166001600160a01b0319909116811790915560408051918252517f82966d27eea39b038ee0fa30cd16532bb24f6e65d31cb58fb227aa5766cdcc7f9181900360200190a1603d80546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f3ca631ffcd2a9b5d9ae18543fc82f58eb4ca33af9e6ab01b7a8e95331e6ed9859181900360200190a1604080518082018252600f81526e2d2aa9a21029ba30b13632b1b7b4b760891b602091820152815180830190925260018252603160f81b9101527fd28848e7c3cbededd42b8bfb722b93a1d091c2e7280388a67bb55fc505b758eb60368190557fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc66037819055611608610840565b6035556116367f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8383611640565b6034555050505050565b600083838361164d610840565b6040805160208082019690965280820194909452606084019290925260808301523060a0808401919091528151808403909101815260c090920190528051910120949350505050565b60006106d983836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611126565b6001600160a01b038116611733576040805162461bcd60e51b815260206004820152601e60248201527f4163636f756e742063616e6e6f74206265207a65726f20616464726573730000604482015290519081900360640190fd5b803b8061088a576040805162461bcd60e51b815260206004820181905260248201527f4163636f756e7420636f64652073697a652063616e6e6f74206265207a65726f604482015290519081900360640190fdfe45524332303a206275726e20616d6f756e7420657863656564732062616c616e63655a555344546f6b656e3a2043616c6c6572206973206e6f7420426f72726f7765724f7065726174696f6e7345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e63655a5553443a2043616c6c6572206973206e65697468657220426f72726f7765724f7065726174696f6e73206e6f722054726f76654d616e61676572206e6f722053746162696c697479506f6f6c4f776e61626c653a3a7365744f776e65723a20696e76616c696420616464726573735a5553443a2043616e6e6f74207472616e7366657220746f6b656e73206469726563746c7920746f20746865205a55534420746f6b656e20636f6e7472616374206f7220746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365436f6e747261637420696e7374616e63652068617320616c7265616479206265656e20696e697469616c697a65645a5553443a2043616c6c6572206973206e6f74207468652053746162696c697479506f6f6cddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c95a5553443a2043616c6c6572206973206e6569746865722054726f76654d616e61676572206e6f722053746162696c697479506f6f6c45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220cf94bdb6eb90c532d4c1cc0b9af6913b9d12393330e376b716cfcf8fc492447664736f6c634300060b0033", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/packages/lib-ethers/live/ZUSDTokenTestnet.json b/packages/lib-ethers/live/ZUSDTokenTestnet.json deleted file mode 100644 index 82f37e514..000000000 --- a/packages/lib-ethers/live/ZUSDTokenTestnet.json +++ /dev/null @@ -1,590 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "ZUSDTokenTestnet", - "sourceName": "contracts/TestContracts/ZUSDTokenTestnet.sol", - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "Approval", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_newBorrowerOperationsAddress", - "type": "address" - } - ], - "name": "BorrowerOperationsAddressChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "previousOwner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnershipTransferred", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_newStabilityPoolAddress", - "type": "address" - } - ], - "name": "StabilityPoolAddressChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "Transfer", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_troveManagerAddress", - "type": "address" - } - ], - "name": "TroveManagerAddressChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_user", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "name": "ZUSDTokenBalanceUpdated", - "type": "event" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "address", - "name": "spender", - "type": "address" - } - ], - "name": "allowance", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "approve", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "balanceOf", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_account", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "name": "burn", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "decimals", - "outputs": [ - { - "internalType": "uint8", - "name": "", - "type": "uint8" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "subtractedValue", - "type": "uint256" - } - ], - "name": "decreaseAllowance", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "domainSeparator", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getOwner", - "outputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "addedValue", - "type": "uint256" - } - ], - "name": "increaseAllowance", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_troveManagerAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_stabilityPoolAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_borrowerOperationsAddress", - "type": "address" - } - ], - "name": "initialize", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_account", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "name": "mint", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "name", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - } - ], - "name": "nonces", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "deadline", - "type": "uint256" - }, - { - "internalType": "uint8", - "name": "v", - "type": "uint8" - }, - { - "internalType": "bytes32", - "name": "r", - "type": "bytes32" - }, - { - "internalType": "bytes32", - "name": "s", - "type": "bytes32" - } - ], - "name": "permit", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "permitTypeHash", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_poolAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_receiver", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "name": "returnFromPool", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_sender", - "type": "address" - }, - { - "internalType": "address", - "name": "_poolAddress", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "name": "sendToPool", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - } - ], - "name": "setOwner", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "symbol", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "totalSupply", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "transfer", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "transferFrom", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "version", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": "0x608060405234801561001057600080fd5b50610023336001600160e01b0361002816565b610110565b6001600160a01b03811661006d5760405162461bcd60e51b815260040180806020018281038252602281526020018061178b6022913960400191505060405180910390fd5b6001600160a01b0381166100886001600160e01b036100e616565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3604080517035b2bc9737bbb730b136329737bbb732b960791b8152905190819003601101902055565b604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205490565b61166c8061011f6000396000f3fe608060405234801561001057600080fd5b506004361061014d5760003560e01c806370a08231116100c3578063a9059cbb1161007c578063a9059cbb14610413578063bb997bac1461043f578063c0c53b8b14610475578063d505accf146104ad578063dd62ed3e146104fe578063f698da251461052c5761014d565b806370a08231146103435780637ecebe0014610369578063893d20e81461038f57806395d89b41146103b35780639dc29fac146103bb578063a457c2d7146103e75761014d565b806320c582be1161011557806320c582be1461025957806323b872dd1461028f578063313ce567146102c557806339509351146102e357806340c10f191461030f57806354fd4d501461033b5761014d565b806306fdde0314610152578063095ea7b3146101cf57806310ce43bd1461020f57806313af40351461022957806318160ddd14610251575b600080fd5b61015a610534565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561019457818101518382015260200161017c565b50505050905090810190601f1680156101c15780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101fb600480360360408110156101e557600080fd5b506001600160a01b03813516906020013561055e565b604080519115158252519081900360200190f35b610217610574565b60408051918252519081900360200190f35b61024f6004803603602081101561023f57600080fd5b50356001600160a01b0316610598565b005b61021761060b565b61024f6004803603606081101561026f57600080fd5b506001600160a01b03813581169160208101359091169060400135610611565b6101fb600480360360608110156102a557600080fd5b506001600160a01b03813581169160208101359091169060400135610629565b6102cd6106a1565b6040805160ff9092168252519081900360200190f35b6101fb600480360360408110156102f957600080fd5b506001600160a01b0381351690602001356106a6565b61024f6004803603604081101561032557600080fd5b506001600160a01b0381351690602001356106e2565b61015a6106f8565b6102176004803603602081101561035957600080fd5b50356001600160a01b0316610713565b6102176004803603602081101561037f57600080fd5b50356001600160a01b031661072e565b610397610749565b604080516001600160a01b039092168252519081900360200190f35b61015a610773565b61024f600480360360408110156103d157600080fd5b506001600160a01b038135169060200135610791565b6101fb600480360360408110156103fd57600080fd5b506001600160a01b0381351690602001356107a3565b6101fb6004803603604081101561042957600080fd5b506001600160a01b0381351690602001356107f8565b61024f6004803603606081101561045557600080fd5b506001600160a01b0381358116916020810135909116906040013561080e565b61024f6004803603606081101561048b57600080fd5b506001600160a01b038135811691602081013582169160409091013516610816565b61024f600480360360e08110156104c357600080fd5b506001600160a01b03813581169160208101359091169060408101359060608101359060ff6080820135169060a08101359060c00135610888565b6102176004803603604081101561051457600080fd5b506001600160a01b0381358116916020013516610a7d565b610217610aa8565b60408051808201909152600f81526e2d2aa9a21029ba30b13632b1b7b4b760891b60208201525b90565b600061056b338484610afd565b50600192915050565b7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c990565b6105a0610749565b6001600160a01b0316336001600160a01b0316146105ff576040805162461bcd60e51b815260206004820152601760248201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604482015290519081900360640190fd5b61060881610b7f565b50565b60335490565b610619610c34565b610624838383610c94565b505050565b600061063483610d76565b61063f848484610c94565b61069784336106928560405180606001604052806028815260200161156f602891396001600160a01b038a166000908152603a60209081526040808320338452909152902054919063ffffffff610dd216565b610afd565b5060019392505050565b601290565b336000818152603a602090815260408083206001600160a01b0387168452909152812054909161056b918590610692908663ffffffff610e6916565b6106ea610eca565b6106f48282610f13565b5050565b6040805180820190915260018152603160f81b602082015290565b6001600160a01b031660009081526039602052604090205490565b6001600160a01b031660009081526038602052604090205490565b604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205490565b604080518082019091526004815263169554d160e21b602082015290565b610799610fa8565b6106f4828261101b565b600061056b33846106928560405180606001604052806025815260200161161260259139336000908152603a602090815260408083206001600160a01b038d168452909152902054919063ffffffff610dd216565b600061080383610d76565b61056b338484610c94565b6106196110d0565b61081e610749565b6001600160a01b0316336001600160a01b03161461087d576040805162461bcd60e51b815260206004820152601760248201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604482015290519081900360640190fd5b610624838383611119565b428410156108d6576040805162461bcd60e51b81526020600482015260166024820152755a5553443a206578706972656420646561646c696e6560501b604482015290519081900360640190fd5b60006108e0610aa8565b6001600160a01b03808a1660008181526038602090815260408083208054600180820190925582517f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98186015280840196909652958e166060860152608085018d905260a085019590955260c08085018c90528151808603909101815260e08501825280519083012061190160f01b6101008601526101028501969096526101228085019690965280518085039096018652610142840180825286519683019690962095839052610162840180825286905260ff8a166101828501526101a284018990526101c284018890525194955090936101e280840193601f198301929081900390910190855afa1580156109fb573d6000803e3d6000fd5b505050602060405103519050886001600160a01b0316816001600160a01b031614610a67576040805162461bcd60e51b81526020600482015260176024820152765a5553443a20696e76616c6964207369676e617475726560481b604482015290519081900360640190fd5b610a72898989610afd565b505050505050505050565b6001600160a01b039182166000908152603a6020908152604080832093909416825291909152205490565b6000603554610ab56112ed565b1415610ac4575060345461055b565b610af67f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60001b6036546037546112f1565b905061055b565b6001600160a01b038316610b0d57fe5b6001600160a01b038216610b1d57fe5b6001600160a01b038084166000818152603a6020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b038116610bc45760405162461bcd60e51b81526004018080602001828103825260228152602001806114f96022913960400191505060405180910390fd5b806001600160a01b0316610bd6610749565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3604080517035b2bc9737bbb730b136329737bbb732b960791b8152905190819003601101902055565b603b546001600160a01b0316331480610c575750603c546001600160a01b031633145b610c925760405162461bcd60e51b81526004018080602001828103825260368152602001806115dc6036913960400191505060405180910390fd5b565b6001600160a01b038316610ca457fe5b6001600160a01b038216610cb457fe5b610cf781604051806060016040528060268152602001611486602691396001600160a01b038616600090815260396020526040902054919063ffffffff610dd216565b6001600160a01b038085166000908152603960205260408082209390935590841681522054610d2c908263ffffffff610e6916565b6001600160a01b0380841660008181526039602090815260409182902094909455805185815290519193928716926000805160206115bc83398151915292918290030190a3505050565b6001600160a01b03811615801590610d9757506001600160a01b0381163014155b6106085760405162461bcd60e51b815260040180806020018281038252605481526020018061151b6054913960600191505060405180910390fd5b60008184841115610e615760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610e26578181015183820152602001610e0e565b50505050905090810190601f168015610e535780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b600082820183811015610ec3576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b603d546001600160a01b03163314610c925760405162461bcd60e51b815260040180806020018281038252602b81526020018061145b602b913960400191505060405180910390fd5b6001600160a01b038216610f2357fe5b603354610f36908263ffffffff610e6916565b6033556001600160a01b038216600090815260396020526040902054610f62908263ffffffff610e6916565b6001600160a01b03831660008181526039602090815260408083209490945583518581529351929391926000805160206115bc8339815191529281900390910190a35050565b603d546001600160a01b0316331480610fcb5750603b546001600160a01b031633145b80610fe05750603c546001600160a01b031633145b610c925760405162461bcd60e51b815260040180806020018281038252604d8152602001806114ac604d913960600191505060405180910390fd5b6001600160a01b03821661102b57fe5b61106e81604051806060016040528060228152602001611439602291396001600160a01b038516600090815260396020526040902054919063ffffffff610dd216565b6001600160a01b03831660009081526039602052604090205560335461109a908263ffffffff61134716565b6033556040805182815290516000916001600160a01b038516916000805160206115bc8339815191529181900360200190a35050565b603c546001600160a01b03163314610c925760405162461bcd60e51b81526004018080602001828103825260258152602001806115976025913960400191505060405180910390fd5b61112283611389565b61112b82611389565b61113481611389565b603b80546001600160a01b0385166001600160a01b0319909116811790915560408051918252517f143219c9e69b09e07e095fcc889b43d8f46ca892bba65f08dc3a0050869a56789181900360200190a1603c80546001600160a01b0384166001600160a01b0319909116811790915560408051918252517f82966d27eea39b038ee0fa30cd16532bb24f6e65d31cb58fb227aa5766cdcc7f9181900360200190a1603d80546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f3ca631ffcd2a9b5d9ae18543fc82f58eb4ca33af9e6ab01b7a8e95331e6ed9859181900360200190a1604080518082018252600f81526e2d2aa9a21029ba30b13632b1b7b4b760891b602091820152815180830190925260018252603160f81b9101527fd28848e7c3cbededd42b8bfb722b93a1d091c2e7280388a67bb55fc505b758eb60368190557fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660378190556112b56112ed565b6035556112e37f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83836112f1565b6034555050505050565b4690565b60008383836112fe6112ed565b6040805160208082019690965280820194909452606084019290925260808301523060a0808401919091528151808403909101815260c090920190528051910120949350505050565b6000610ec383836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610dd2565b6001600160a01b0381166113e4576040805162461bcd60e51b815260206004820152601e60248201527f4163636f756e742063616e6e6f74206265207a65726f20616464726573730000604482015290519081900360640190fd5b803b806106f4576040805162461bcd60e51b815260206004820181905260248201527f4163636f756e7420636f64652073697a652063616e6e6f74206265207a65726f604482015290519081900360640190fdfe45524332303a206275726e20616d6f756e7420657863656564732062616c616e63655a555344546f6b656e3a2043616c6c6572206973206e6f7420426f72726f7765724f7065726174696f6e7345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e63655a5553443a2043616c6c6572206973206e65697468657220426f72726f7765724f7065726174696f6e73206e6f722054726f76654d616e61676572206e6f722053746162696c697479506f6f6c4f776e61626c653a3a7365744f776e65723a20696e76616c696420616464726573735a5553443a2043616e6e6f74207472616e7366657220746f6b656e73206469726563746c7920746f20746865205a55534420746f6b656e20636f6e7472616374206f7220746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e63655a5553443a2043616c6c6572206973206e6f74207468652053746162696c697479506f6f6cddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef5a5553443a2043616c6c6572206973206e6569746865722054726f76654d616e61676572206e6f722053746162696c697479506f6f6c45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220ecebc177bf12b2c45ec9b4acb27c8714c0dc58e5d1ce71cfff6100f3ce1bc40864736f6c634300060b00334f776e61626c653a3a7365744f776e65723a20696e76616c69642061646472657373", - "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061014d5760003560e01c806370a08231116100c3578063a9059cbb1161007c578063a9059cbb14610413578063bb997bac1461043f578063c0c53b8b14610475578063d505accf146104ad578063dd62ed3e146104fe578063f698da251461052c5761014d565b806370a08231146103435780637ecebe0014610369578063893d20e81461038f57806395d89b41146103b35780639dc29fac146103bb578063a457c2d7146103e75761014d565b806320c582be1161011557806320c582be1461025957806323b872dd1461028f578063313ce567146102c557806339509351146102e357806340c10f191461030f57806354fd4d501461033b5761014d565b806306fdde0314610152578063095ea7b3146101cf57806310ce43bd1461020f57806313af40351461022957806318160ddd14610251575b600080fd5b61015a610534565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561019457818101518382015260200161017c565b50505050905090810190601f1680156101c15780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101fb600480360360408110156101e557600080fd5b506001600160a01b03813516906020013561055e565b604080519115158252519081900360200190f35b610217610574565b60408051918252519081900360200190f35b61024f6004803603602081101561023f57600080fd5b50356001600160a01b0316610598565b005b61021761060b565b61024f6004803603606081101561026f57600080fd5b506001600160a01b03813581169160208101359091169060400135610611565b6101fb600480360360608110156102a557600080fd5b506001600160a01b03813581169160208101359091169060400135610629565b6102cd6106a1565b6040805160ff9092168252519081900360200190f35b6101fb600480360360408110156102f957600080fd5b506001600160a01b0381351690602001356106a6565b61024f6004803603604081101561032557600080fd5b506001600160a01b0381351690602001356106e2565b61015a6106f8565b6102176004803603602081101561035957600080fd5b50356001600160a01b0316610713565b6102176004803603602081101561037f57600080fd5b50356001600160a01b031661072e565b610397610749565b604080516001600160a01b039092168252519081900360200190f35b61015a610773565b61024f600480360360408110156103d157600080fd5b506001600160a01b038135169060200135610791565b6101fb600480360360408110156103fd57600080fd5b506001600160a01b0381351690602001356107a3565b6101fb6004803603604081101561042957600080fd5b506001600160a01b0381351690602001356107f8565b61024f6004803603606081101561045557600080fd5b506001600160a01b0381358116916020810135909116906040013561080e565b61024f6004803603606081101561048b57600080fd5b506001600160a01b038135811691602081013582169160409091013516610816565b61024f600480360360e08110156104c357600080fd5b506001600160a01b03813581169160208101359091169060408101359060608101359060ff6080820135169060a08101359060c00135610888565b6102176004803603604081101561051457600080fd5b506001600160a01b0381358116916020013516610a7d565b610217610aa8565b60408051808201909152600f81526e2d2aa9a21029ba30b13632b1b7b4b760891b60208201525b90565b600061056b338484610afd565b50600192915050565b7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c990565b6105a0610749565b6001600160a01b0316336001600160a01b0316146105ff576040805162461bcd60e51b815260206004820152601760248201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604482015290519081900360640190fd5b61060881610b7f565b50565b60335490565b610619610c34565b610624838383610c94565b505050565b600061063483610d76565b61063f848484610c94565b61069784336106928560405180606001604052806028815260200161156f602891396001600160a01b038a166000908152603a60209081526040808320338452909152902054919063ffffffff610dd216565b610afd565b5060019392505050565b601290565b336000818152603a602090815260408083206001600160a01b0387168452909152812054909161056b918590610692908663ffffffff610e6916565b6106ea610eca565b6106f48282610f13565b5050565b6040805180820190915260018152603160f81b602082015290565b6001600160a01b031660009081526039602052604090205490565b6001600160a01b031660009081526038602052604090205490565b604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205490565b604080518082019091526004815263169554d160e21b602082015290565b610799610fa8565b6106f4828261101b565b600061056b33846106928560405180606001604052806025815260200161161260259139336000908152603a602090815260408083206001600160a01b038d168452909152902054919063ffffffff610dd216565b600061080383610d76565b61056b338484610c94565b6106196110d0565b61081e610749565b6001600160a01b0316336001600160a01b03161461087d576040805162461bcd60e51b815260206004820152601760248201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604482015290519081900360640190fd5b610624838383611119565b428410156108d6576040805162461bcd60e51b81526020600482015260166024820152755a5553443a206578706972656420646561646c696e6560501b604482015290519081900360640190fd5b60006108e0610aa8565b6001600160a01b03808a1660008181526038602090815260408083208054600180820190925582517f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98186015280840196909652958e166060860152608085018d905260a085019590955260c08085018c90528151808603909101815260e08501825280519083012061190160f01b6101008601526101028501969096526101228085019690965280518085039096018652610142840180825286519683019690962095839052610162840180825286905260ff8a166101828501526101a284018990526101c284018890525194955090936101e280840193601f198301929081900390910190855afa1580156109fb573d6000803e3d6000fd5b505050602060405103519050886001600160a01b0316816001600160a01b031614610a67576040805162461bcd60e51b81526020600482015260176024820152765a5553443a20696e76616c6964207369676e617475726560481b604482015290519081900360640190fd5b610a72898989610afd565b505050505050505050565b6001600160a01b039182166000908152603a6020908152604080832093909416825291909152205490565b6000603554610ab56112ed565b1415610ac4575060345461055b565b610af67f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60001b6036546037546112f1565b905061055b565b6001600160a01b038316610b0d57fe5b6001600160a01b038216610b1d57fe5b6001600160a01b038084166000818152603a6020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b038116610bc45760405162461bcd60e51b81526004018080602001828103825260228152602001806114f96022913960400191505060405180910390fd5b806001600160a01b0316610bd6610749565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3604080517035b2bc9737bbb730b136329737bbb732b960791b8152905190819003601101902055565b603b546001600160a01b0316331480610c575750603c546001600160a01b031633145b610c925760405162461bcd60e51b81526004018080602001828103825260368152602001806115dc6036913960400191505060405180910390fd5b565b6001600160a01b038316610ca457fe5b6001600160a01b038216610cb457fe5b610cf781604051806060016040528060268152602001611486602691396001600160a01b038616600090815260396020526040902054919063ffffffff610dd216565b6001600160a01b038085166000908152603960205260408082209390935590841681522054610d2c908263ffffffff610e6916565b6001600160a01b0380841660008181526039602090815260409182902094909455805185815290519193928716926000805160206115bc83398151915292918290030190a3505050565b6001600160a01b03811615801590610d9757506001600160a01b0381163014155b6106085760405162461bcd60e51b815260040180806020018281038252605481526020018061151b6054913960600191505060405180910390fd5b60008184841115610e615760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610e26578181015183820152602001610e0e565b50505050905090810190601f168015610e535780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b600082820183811015610ec3576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b603d546001600160a01b03163314610c925760405162461bcd60e51b815260040180806020018281038252602b81526020018061145b602b913960400191505060405180910390fd5b6001600160a01b038216610f2357fe5b603354610f36908263ffffffff610e6916565b6033556001600160a01b038216600090815260396020526040902054610f62908263ffffffff610e6916565b6001600160a01b03831660008181526039602090815260408083209490945583518581529351929391926000805160206115bc8339815191529281900390910190a35050565b603d546001600160a01b0316331480610fcb5750603b546001600160a01b031633145b80610fe05750603c546001600160a01b031633145b610c925760405162461bcd60e51b815260040180806020018281038252604d8152602001806114ac604d913960600191505060405180910390fd5b6001600160a01b03821661102b57fe5b61106e81604051806060016040528060228152602001611439602291396001600160a01b038516600090815260396020526040902054919063ffffffff610dd216565b6001600160a01b03831660009081526039602052604090205560335461109a908263ffffffff61134716565b6033556040805182815290516000916001600160a01b038516916000805160206115bc8339815191529181900360200190a35050565b603c546001600160a01b03163314610c925760405162461bcd60e51b81526004018080602001828103825260258152602001806115976025913960400191505060405180910390fd5b61112283611389565b61112b82611389565b61113481611389565b603b80546001600160a01b0385166001600160a01b0319909116811790915560408051918252517f143219c9e69b09e07e095fcc889b43d8f46ca892bba65f08dc3a0050869a56789181900360200190a1603c80546001600160a01b0384166001600160a01b0319909116811790915560408051918252517f82966d27eea39b038ee0fa30cd16532bb24f6e65d31cb58fb227aa5766cdcc7f9181900360200190a1603d80546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f3ca631ffcd2a9b5d9ae18543fc82f58eb4ca33af9e6ab01b7a8e95331e6ed9859181900360200190a1604080518082018252600f81526e2d2aa9a21029ba30b13632b1b7b4b760891b602091820152815180830190925260018252603160f81b9101527fd28848e7c3cbededd42b8bfb722b93a1d091c2e7280388a67bb55fc505b758eb60368190557fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660378190556112b56112ed565b6035556112e37f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83836112f1565b6034555050505050565b4690565b60008383836112fe6112ed565b6040805160208082019690965280820194909452606084019290925260808301523060a0808401919091528151808403909101815260c090920190528051910120949350505050565b6000610ec383836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610dd2565b6001600160a01b0381166113e4576040805162461bcd60e51b815260206004820152601e60248201527f4163636f756e742063616e6e6f74206265207a65726f20616464726573730000604482015290519081900360640190fd5b803b806106f4576040805162461bcd60e51b815260206004820181905260248201527f4163636f756e7420636f64652073697a652063616e6e6f74206265207a65726f604482015290519081900360640190fdfe45524332303a206275726e20616d6f756e7420657863656564732062616c616e63655a555344546f6b656e3a2043616c6c6572206973206e6f7420426f72726f7765724f7065726174696f6e7345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e63655a5553443a2043616c6c6572206973206e65697468657220426f72726f7765724f7065726174696f6e73206e6f722054726f76654d616e61676572206e6f722053746162696c697479506f6f6c4f776e61626c653a3a7365744f776e65723a20696e76616c696420616464726573735a5553443a2043616e6e6f74207472616e7366657220746f6b656e73206469726563746c7920746f20746865205a55534420746f6b656e20636f6e7472616374206f7220746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e63655a5553443a2043616c6c6572206973206e6f74207468652053746162696c697479506f6f6cddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef5a5553443a2043616c6c6572206973206e6569746865722054726f76654d616e61676572206e6f722053746162696c697479506f6f6c45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220ecebc177bf12b2c45ec9b4acb27c8714c0dc58e5d1ce71cfff6100f3ce1bc40864736f6c634300060b0033", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/packages/lib-ethers/live/console.json b/packages/lib-ethers/live/console.json deleted file mode 100644 index 9c26cb88f..000000000 --- a/packages/lib-ethers/live/console.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "console", - "sourceName": "contracts/Dependencies/console.sol", - "abi": [], - "bytecode": "0x60566023600b82828239805160001a607314601657fe5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212203a438388591f2c2a4431b32fe3d109ca58bf98ef135986aa09f3208024f433db64736f6c634300060b0033", - "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212203a438388591f2c2a4431b32fe3d109ca58bf98ef135986aa09f3208024f433db64736f6c634300060b0033", - "linkReferences": {}, - "deployedLinkReferences": {} -} From 3dcbe7b21313b7b1c1c6d96285ef530bb8f96dd6 Mon Sep 17 00:00:00 2001 From: tiltom Date: Wed, 4 Oct 2023 14:19:52 +0200 Subject: [PATCH 09/10] Delete dev-frontend package --- .github/workflows/release.yml | 9 - README.md | 108 +- filter-repo/1-included-paths | 1 - package.json | 7 - package.public.json | 2 - packages/dev-frontend/.dockerignore | 1 - packages/dev-frontend/.env.example | 3 - packages/dev-frontend/.gitignore | 4 - packages/dev-frontend/Dockerfile | 7 - packages/dev-frontend/LICENSE | 907 - .../nginx/site-confs/liquity.example.com | 14 - .../docker-compose-example/docker-compose.yml | 40 - packages/dev-frontend/docker-compose.yml | 14 - .../docker-entrypoint.d/99-frontend-config.sh | 13 - .../etc/nginx/conf.d/enable_gzip.conf | 9 - packages/dev-frontend/package.json | 82 - packages/dev-frontend/public/favicon.png | Bin 3886 -> 0 bytes .../public/icons/128-lqty-icon.png | Bin 4778 -> 0 bytes .../public/icons/128-lqty-icon.svg | 13 - .../public/icons/128-lusd-icon.png | Bin 6062 -> 0 bytes .../public/icons/128-lusd-icon.svg | 18 - .../public/icons/32-lqty-icon.png | Bin 1089 -> 0 bytes .../public/icons/32-lqty-icon.svg | 13 - .../public/icons/32-lusd-icon.png | Bin 1201 -> 0 bytes .../public/icons/32-lusd-icon.svg | 18 - .../public/icons/64-lqty-icon.png | Bin 2338 -> 0 bytes .../public/icons/64-lqty-icon.svg | 13 - .../public/icons/64-lusd-icon.png | Bin 2551 -> 0 bytes .../public/icons/64-lusd-icon.svg | 18 - .../dev-frontend/public/images/confirm-tx.svg | 1 - .../dev-frontend/public/images/failed-tx.svg | 1 - packages/dev-frontend/public/images/logo.svg | 64 - .../dev-frontend/public/images/pending-tx.svg | 1 - packages/dev-frontend/public/images/rsk.svg | 9 - .../dev-frontend/public/images/sovryn.svg | 8 - packages/dev-frontend/public/images/x.svg | 42 - .../dev-frontend/public/images/zerologo.svg | 4 - packages/dev-frontend/public/index.html | 57 - packages/dev-frontend/public/lusd-icon.png | Bin 6062 -> 0 bytes packages/dev-frontend/public/manifest.json | 15 - packages/dev-frontend/public/robots.txt | 2 - packages/dev-frontend/public/success-mark.png | Bin 2697 -> 0 bytes packages/dev-frontend/public/zero-logo.svg | 4 - packages/dev-frontend/scripts/set-version.js | 32 - .../src/@types/window.ethereum.d.ts | 5 - packages/dev-frontend/src/App.test.tsx | 31 - packages/dev-frontend/src/App.tsx | 119 - packages/dev-frontend/src/LiquityFrontend.tsx | 80 - packages/dev-frontend/src/assets/logo.svg | 64 - .../src/components/Abbreviation.tsx | 18 - .../src/components/ActionDescription.tsx | 67 - .../src/components/Aggregator/Convert.tsx | 181 - .../dev-frontend/src/components/Badge.tsx | 6 - packages/dev-frontend/src/components/Card.tsx | 17 - .../components/CollateralSurplusAction.tsx | 51 - .../ConnectionConfirmationDialog.tsx | 32 - .../src/components/Connector/Connector.tsx | 225 - .../src/components/Connector/config.ts | 82 - .../Connector/custom/ledger-module.ts | 291 - .../Connector/custom/trezor-module.ts | 387 - .../src/components/Connector/index.ts | 1 - .../src/components/Connector/reducer.ts | 138 - .../dev-frontend/src/components/Dialog.tsx | 104 - .../src/components/ErrorDescription.tsx | 33 - .../dev-frontend/src/components/Header.tsx | 42 - packages/dev-frontend/src/components/Icon.tsx | 84 - .../dev-frontend/src/components/InfoIcon.tsx | 20 - .../src/components/InfoMessage.tsx | 20 - packages/dev-frontend/src/components/Link.tsx | 12 - .../src/components/LiquidationManager.tsx | 54 - .../src/components/LiquityLogo.tsx | 15 - .../src/components/LoadingOverlay.tsx | 11 - .../src/components/MetaMaskIcon.tsx | 17 - .../dev-frontend/src/components/Modal.tsx | 8 - packages/dev-frontend/src/components/Nav.tsx | 52 - .../src/components/PriceManager.tsx | 59 - .../Redemption/DisabledRedemption.tsx | 42 - .../src/components/Redemption/Redemption.tsx | 32 - .../Redemption/RedemptionAction.tsx | 35 - .../Redemption/RedemptionManager.tsx | 188 - .../src/components/RetryDialog.tsx | 50 - .../src/components/RiskyTroves.tsx | 362 - .../dev-frontend/src/components/SideNav.tsx | 48 - .../components/Stability/ActiveDeposit.tsx | 120 - .../src/components/Stability/NoDeposit.tsx | 24 - .../components/Stability/RemainingZERO.tsx | 19 - .../src/components/Stability/Stability.tsx | 43 - .../Stability/StabilityActionDescription.tsx | 55 - .../Stability/StabilityDepositAction.tsx | 40 - .../Stability/StabilityDepositEditor.tsx | 142 - .../Stability/StabilityDepositManager.tsx | 157 - .../src/components/Stability/Yield.tsx | 73 - .../Stability/actions/ClaimAndMove.tsx | 23 - .../Stability/actions/ClaimRewards.tsx | 25 - .../context/StabilityViewContext.tsx | 19 - .../context/StabilityViewProvider.tsx | 78 - .../Stability/context/fetchZeroPrice.ts | 53 - .../src/components/Stability/context/types.ts | 21 - .../validateStabilityDepositChange.tsx | 80 - .../src/components/Staking/ReadOnlyStake.tsx | 78 - .../src/components/Staking/StakingEditor.tsx | 127 - .../components/Staking/StakingGainsAction.tsx | 25 - .../src/components/Staking/StakingManager.tsx | 167 - .../Staking/StakingManagerAction.tsx | 23 - .../Staking/context/StakingViewContext.tsx | 28 - .../Staking/context/StakingViewProvider.tsx | 101 - .../dev-frontend/src/components/Statistic.tsx | 44 - .../src/components/StatusDialog.tsx | 60 - .../src/components/SystemStats.tsx | 177 - .../src/components/SystemStatsPopup.tsx | 66 - .../dev-frontend/src/components/Tooltip.tsx | 64 - .../src/components/Transaction.tsx | 542 - .../src/components/Trove/Adjusting.tsx | 294 - .../src/components/Trove/CollateralRatio.tsx | 64 - .../src/components/Trove/Editor.tsx | 318 - .../src/components/Trove/LiquidatedTrove.tsx | 39 - .../src/components/Trove/NoTrove.tsx | 20 - .../src/components/Trove/NueCheckbox.tsx | 13 - .../src/components/Trove/Opening.tsx | 231 - .../src/components/Trove/ReadOnlyTrove.tsx | 54 - .../src/components/Trove/RedeemedTrove.tsx | 41 - .../src/components/Trove/Trove.tsx | 58 - .../src/components/Trove/TroveAction.tsx | 65 - .../src/components/Trove/TroveEditor.tsx | 132 - .../src/components/Trove/TroveManager.tsx | 263 - .../Trove/context/TroveViewContext.tsx | 19 - .../Trove/context/TroveViewProvider.tsx | 115 - .../src/components/Trove/context/types.ts | 39 - .../Trove/validation/validateTroveChange.tsx | 405 - .../src/components/UserAccount.tsx | 52 - .../src/components/UserAddress.tsx | 52 - .../src/components/WaitListAccessSuccess.tsx | 51 - .../src/components/WaitListSuccess.tsx | 45 - .../src/components/WaitingDialog.tsx | 40 - .../src/components/WalletConnector.tsx | 184 - packages/dev-frontend/src/config/index.ts | 85 - .../src/contracts/BabelfishAggregator.json | 1097 - .../dev-frontend/src/contracts/ERC20.json | 222 - packages/dev-frontend/src/contracts/config.ts | 26 - packages/dev-frontend/src/hooks/AsyncValue.ts | 87 - .../dev-frontend/src/hooks/LiquityContext.tsx | 125 - .../dev-frontend/src/hooks/useBlockNumber.ts | 18 - .../dev-frontend/src/hooks/useContract.ts | 25 - .../hooks/useKeepSWRDataLiveAsBlocksArrive.ts | 19 - .../src/hooks/useNueTokenSelection.ts | 17 - .../src/hooks/useOnClickOutside.ts | 25 - .../dev-frontend/src/hooks/usePrevious.ts | 10 - .../dev-frontend/src/hooks/useTokenBalance.ts | 48 - .../src/hooks/useZusdAggregator.ts | 111 - packages/dev-frontend/src/index.css | 75 - packages/dev-frontend/src/index.tsx | 12 - .../dev-frontend/src/pages/AccessPage.tsx | 227 - .../dev-frontend/src/pages/ConfirmPage.tsx | 101 - packages/dev-frontend/src/pages/Dashboard.tsx | 76 - .../src/pages/FrontendRegistration.tsx | 117 - .../src/pages/FrontendRegistrationSuccess.tsx | 44 - .../dev-frontend/src/pages/PageSwitcher.tsx | 44 - .../dev-frontend/src/pages/RedemptionPage.tsx | 42 - .../src/pages/RiskyTrovesPage.tsx | 30 - .../src/pages/UnregisteredFrontend.tsx | 40 - .../dev-frontend/src/pages/WaitListSignup.tsx | 268 - packages/dev-frontend/src/react-app-env.d.ts | 1 - packages/dev-frontend/src/setupTests.ts | 25 - packages/dev-frontend/src/strings.ts | 6 - .../src/testUtils/DisposableWalletProvider.ts | 110 - packages/dev-frontend/src/theme.ts | 603 - packages/dev-frontend/src/utils/helpers.ts | 5 - packages/dev-frontend/src/utils/index.ts | 26 - .../dev-frontend/src/utils/shortenAddress.ts | 5 - packages/dev-frontend/src/utils/whitelist.ts | 39 - packages/dev-frontend/tsconfig.json | 22 - packages/dev-frontend/yarn-error.log | 24802 ------------ packages/lib-ethers/README.md | 1 - yarn.lock | 31733 ++++++---------- 174 files changed, 11196 insertions(+), 58878 deletions(-) delete mode 100644 packages/dev-frontend/.dockerignore delete mode 100644 packages/dev-frontend/.env.example delete mode 100644 packages/dev-frontend/.gitignore delete mode 100644 packages/dev-frontend/Dockerfile delete mode 100644 packages/dev-frontend/LICENSE delete mode 100644 packages/dev-frontend/docker-compose-example/config/nginx/site-confs/liquity.example.com delete mode 100644 packages/dev-frontend/docker-compose-example/docker-compose.yml delete mode 100644 packages/dev-frontend/docker-compose.yml delete mode 100755 packages/dev-frontend/docker-entrypoint.d/99-frontend-config.sh delete mode 100644 packages/dev-frontend/etc/nginx/conf.d/enable_gzip.conf delete mode 100644 packages/dev-frontend/package.json delete mode 100644 packages/dev-frontend/public/favicon.png delete mode 100644 packages/dev-frontend/public/icons/128-lqty-icon.png delete mode 100644 packages/dev-frontend/public/icons/128-lqty-icon.svg delete mode 100644 packages/dev-frontend/public/icons/128-lusd-icon.png delete mode 100644 packages/dev-frontend/public/icons/128-lusd-icon.svg delete mode 100644 packages/dev-frontend/public/icons/32-lqty-icon.png delete mode 100644 packages/dev-frontend/public/icons/32-lqty-icon.svg delete mode 100644 packages/dev-frontend/public/icons/32-lusd-icon.png delete mode 100644 packages/dev-frontend/public/icons/32-lusd-icon.svg delete mode 100644 packages/dev-frontend/public/icons/64-lqty-icon.png delete mode 100644 packages/dev-frontend/public/icons/64-lqty-icon.svg delete mode 100644 packages/dev-frontend/public/icons/64-lusd-icon.png delete mode 100644 packages/dev-frontend/public/icons/64-lusd-icon.svg delete mode 100644 packages/dev-frontend/public/images/confirm-tx.svg delete mode 100644 packages/dev-frontend/public/images/failed-tx.svg delete mode 100644 packages/dev-frontend/public/images/logo.svg delete mode 100644 packages/dev-frontend/public/images/pending-tx.svg delete mode 100644 packages/dev-frontend/public/images/rsk.svg delete mode 100644 packages/dev-frontend/public/images/sovryn.svg delete mode 100644 packages/dev-frontend/public/images/x.svg delete mode 100644 packages/dev-frontend/public/images/zerologo.svg delete mode 100644 packages/dev-frontend/public/index.html delete mode 100644 packages/dev-frontend/public/lusd-icon.png delete mode 100644 packages/dev-frontend/public/manifest.json delete mode 100644 packages/dev-frontend/public/robots.txt delete mode 100644 packages/dev-frontend/public/success-mark.png delete mode 100644 packages/dev-frontend/public/zero-logo.svg delete mode 100644 packages/dev-frontend/scripts/set-version.js delete mode 100644 packages/dev-frontend/src/@types/window.ethereum.d.ts delete mode 100644 packages/dev-frontend/src/App.test.tsx delete mode 100644 packages/dev-frontend/src/App.tsx delete mode 100644 packages/dev-frontend/src/LiquityFrontend.tsx delete mode 100644 packages/dev-frontend/src/assets/logo.svg delete mode 100644 packages/dev-frontend/src/components/Abbreviation.tsx delete mode 100644 packages/dev-frontend/src/components/ActionDescription.tsx delete mode 100644 packages/dev-frontend/src/components/Aggregator/Convert.tsx delete mode 100644 packages/dev-frontend/src/components/Badge.tsx delete mode 100644 packages/dev-frontend/src/components/Card.tsx delete mode 100644 packages/dev-frontend/src/components/CollateralSurplusAction.tsx delete mode 100644 packages/dev-frontend/src/components/ConnectionConfirmationDialog.tsx delete mode 100644 packages/dev-frontend/src/components/Connector/Connector.tsx delete mode 100644 packages/dev-frontend/src/components/Connector/config.ts delete mode 100644 packages/dev-frontend/src/components/Connector/custom/ledger-module.ts delete mode 100644 packages/dev-frontend/src/components/Connector/custom/trezor-module.ts delete mode 100644 packages/dev-frontend/src/components/Connector/index.ts delete mode 100644 packages/dev-frontend/src/components/Connector/reducer.ts delete mode 100644 packages/dev-frontend/src/components/Dialog.tsx delete mode 100644 packages/dev-frontend/src/components/ErrorDescription.tsx delete mode 100644 packages/dev-frontend/src/components/Header.tsx delete mode 100644 packages/dev-frontend/src/components/Icon.tsx delete mode 100644 packages/dev-frontend/src/components/InfoIcon.tsx delete mode 100644 packages/dev-frontend/src/components/InfoMessage.tsx delete mode 100644 packages/dev-frontend/src/components/Link.tsx delete mode 100644 packages/dev-frontend/src/components/LiquidationManager.tsx delete mode 100644 packages/dev-frontend/src/components/LiquityLogo.tsx delete mode 100644 packages/dev-frontend/src/components/LoadingOverlay.tsx delete mode 100644 packages/dev-frontend/src/components/MetaMaskIcon.tsx delete mode 100644 packages/dev-frontend/src/components/Modal.tsx delete mode 100644 packages/dev-frontend/src/components/Nav.tsx delete mode 100644 packages/dev-frontend/src/components/PriceManager.tsx delete mode 100644 packages/dev-frontend/src/components/Redemption/DisabledRedemption.tsx delete mode 100644 packages/dev-frontend/src/components/Redemption/Redemption.tsx delete mode 100644 packages/dev-frontend/src/components/Redemption/RedemptionAction.tsx delete mode 100644 packages/dev-frontend/src/components/Redemption/RedemptionManager.tsx delete mode 100644 packages/dev-frontend/src/components/RetryDialog.tsx delete mode 100644 packages/dev-frontend/src/components/RiskyTroves.tsx delete mode 100644 packages/dev-frontend/src/components/SideNav.tsx delete mode 100644 packages/dev-frontend/src/components/Stability/ActiveDeposit.tsx delete mode 100644 packages/dev-frontend/src/components/Stability/NoDeposit.tsx delete mode 100644 packages/dev-frontend/src/components/Stability/RemainingZERO.tsx delete mode 100644 packages/dev-frontend/src/components/Stability/Stability.tsx delete mode 100644 packages/dev-frontend/src/components/Stability/StabilityActionDescription.tsx delete mode 100644 packages/dev-frontend/src/components/Stability/StabilityDepositAction.tsx delete mode 100644 packages/dev-frontend/src/components/Stability/StabilityDepositEditor.tsx delete mode 100644 packages/dev-frontend/src/components/Stability/StabilityDepositManager.tsx delete mode 100644 packages/dev-frontend/src/components/Stability/Yield.tsx delete mode 100644 packages/dev-frontend/src/components/Stability/actions/ClaimAndMove.tsx delete mode 100644 packages/dev-frontend/src/components/Stability/actions/ClaimRewards.tsx delete mode 100644 packages/dev-frontend/src/components/Stability/context/StabilityViewContext.tsx delete mode 100644 packages/dev-frontend/src/components/Stability/context/StabilityViewProvider.tsx delete mode 100644 packages/dev-frontend/src/components/Stability/context/fetchZeroPrice.ts delete mode 100644 packages/dev-frontend/src/components/Stability/context/types.ts delete mode 100644 packages/dev-frontend/src/components/Stability/validation/validateStabilityDepositChange.tsx delete mode 100644 packages/dev-frontend/src/components/Staking/ReadOnlyStake.tsx delete mode 100644 packages/dev-frontend/src/components/Staking/StakingEditor.tsx delete mode 100644 packages/dev-frontend/src/components/Staking/StakingGainsAction.tsx delete mode 100644 packages/dev-frontend/src/components/Staking/StakingManager.tsx delete mode 100644 packages/dev-frontend/src/components/Staking/StakingManagerAction.tsx delete mode 100644 packages/dev-frontend/src/components/Staking/context/StakingViewContext.tsx delete mode 100644 packages/dev-frontend/src/components/Staking/context/StakingViewProvider.tsx delete mode 100644 packages/dev-frontend/src/components/Statistic.tsx delete mode 100644 packages/dev-frontend/src/components/StatusDialog.tsx delete mode 100644 packages/dev-frontend/src/components/SystemStats.tsx delete mode 100644 packages/dev-frontend/src/components/SystemStatsPopup.tsx delete mode 100644 packages/dev-frontend/src/components/Tooltip.tsx delete mode 100644 packages/dev-frontend/src/components/Transaction.tsx delete mode 100644 packages/dev-frontend/src/components/Trove/Adjusting.tsx delete mode 100644 packages/dev-frontend/src/components/Trove/CollateralRatio.tsx delete mode 100644 packages/dev-frontend/src/components/Trove/Editor.tsx delete mode 100644 packages/dev-frontend/src/components/Trove/LiquidatedTrove.tsx delete mode 100644 packages/dev-frontend/src/components/Trove/NoTrove.tsx delete mode 100644 packages/dev-frontend/src/components/Trove/NueCheckbox.tsx delete mode 100644 packages/dev-frontend/src/components/Trove/Opening.tsx delete mode 100644 packages/dev-frontend/src/components/Trove/ReadOnlyTrove.tsx delete mode 100644 packages/dev-frontend/src/components/Trove/RedeemedTrove.tsx delete mode 100644 packages/dev-frontend/src/components/Trove/Trove.tsx delete mode 100644 packages/dev-frontend/src/components/Trove/TroveAction.tsx delete mode 100644 packages/dev-frontend/src/components/Trove/TroveEditor.tsx delete mode 100644 packages/dev-frontend/src/components/Trove/TroveManager.tsx delete mode 100644 packages/dev-frontend/src/components/Trove/context/TroveViewContext.tsx delete mode 100644 packages/dev-frontend/src/components/Trove/context/TroveViewProvider.tsx delete mode 100644 packages/dev-frontend/src/components/Trove/context/types.ts delete mode 100644 packages/dev-frontend/src/components/Trove/validation/validateTroveChange.tsx delete mode 100644 packages/dev-frontend/src/components/UserAccount.tsx delete mode 100644 packages/dev-frontend/src/components/UserAddress.tsx delete mode 100644 packages/dev-frontend/src/components/WaitListAccessSuccess.tsx delete mode 100644 packages/dev-frontend/src/components/WaitListSuccess.tsx delete mode 100644 packages/dev-frontend/src/components/WaitingDialog.tsx delete mode 100644 packages/dev-frontend/src/components/WalletConnector.tsx delete mode 100644 packages/dev-frontend/src/config/index.ts delete mode 100644 packages/dev-frontend/src/contracts/BabelfishAggregator.json delete mode 100644 packages/dev-frontend/src/contracts/ERC20.json delete mode 100644 packages/dev-frontend/src/contracts/config.ts delete mode 100644 packages/dev-frontend/src/hooks/AsyncValue.ts delete mode 100644 packages/dev-frontend/src/hooks/LiquityContext.tsx delete mode 100644 packages/dev-frontend/src/hooks/useBlockNumber.ts delete mode 100644 packages/dev-frontend/src/hooks/useContract.ts delete mode 100644 packages/dev-frontend/src/hooks/useKeepSWRDataLiveAsBlocksArrive.ts delete mode 100644 packages/dev-frontend/src/hooks/useNueTokenSelection.ts delete mode 100644 packages/dev-frontend/src/hooks/useOnClickOutside.ts delete mode 100644 packages/dev-frontend/src/hooks/usePrevious.ts delete mode 100644 packages/dev-frontend/src/hooks/useTokenBalance.ts delete mode 100644 packages/dev-frontend/src/hooks/useZusdAggregator.ts delete mode 100644 packages/dev-frontend/src/index.css delete mode 100644 packages/dev-frontend/src/index.tsx delete mode 100644 packages/dev-frontend/src/pages/AccessPage.tsx delete mode 100644 packages/dev-frontend/src/pages/ConfirmPage.tsx delete mode 100644 packages/dev-frontend/src/pages/Dashboard.tsx delete mode 100644 packages/dev-frontend/src/pages/FrontendRegistration.tsx delete mode 100644 packages/dev-frontend/src/pages/FrontendRegistrationSuccess.tsx delete mode 100644 packages/dev-frontend/src/pages/PageSwitcher.tsx delete mode 100644 packages/dev-frontend/src/pages/RedemptionPage.tsx delete mode 100644 packages/dev-frontend/src/pages/RiskyTrovesPage.tsx delete mode 100644 packages/dev-frontend/src/pages/UnregisteredFrontend.tsx delete mode 100644 packages/dev-frontend/src/pages/WaitListSignup.tsx delete mode 100644 packages/dev-frontend/src/react-app-env.d.ts delete mode 100644 packages/dev-frontend/src/setupTests.ts delete mode 100644 packages/dev-frontend/src/strings.ts delete mode 100644 packages/dev-frontend/src/testUtils/DisposableWalletProvider.ts delete mode 100644 packages/dev-frontend/src/theme.ts delete mode 100644 packages/dev-frontend/src/utils/helpers.ts delete mode 100644 packages/dev-frontend/src/utils/index.ts delete mode 100644 packages/dev-frontend/src/utils/shortenAddress.ts delete mode 100644 packages/dev-frontend/src/utils/whitelist.ts delete mode 100644 packages/dev-frontend/tsconfig.json delete mode 100644 packages/dev-frontend/yarn-error.log diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index c7553ff63..10eceba18 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -54,12 +54,3 @@ jobs: # with: # username: ${{ secrets.DOCKER_USERNAME }} # password: ${{ secrets.DOCKER_ACCESS_TOKEN }} -# - #- name: Release dev-frontend on Docker Hub - # if: ${{ github.event_name == 'push' }} - # run: | - # docker-compose build - # docker-compose push - # working-directory: ./packages/dev-frontend - # env: - # TAG: ${{ fromJSON('{ "refs/heads/master":"latest", "refs/heads/main":"next" }')[github.ref] }} diff --git a/README.md b/README.md index 7c0f17e29..40164d8cb 100644 --- a/README.md +++ b/README.md @@ -94,9 +94,6 @@ Visit the [Sovryn website](https://www.sovryn.app/zero) to find out more and joi - [Run all tests](#run-all-tests) - [Deploy contracts to a testnet](#deploy-contracts-to-a-testnet) - [Start a local blockchain and deploy the contracts](#start-a-local-blockchain-and-deploy-the-contracts) - - [Start dev-frontend in development mode](#start-dev-frontend-in-development-mode) - - [Start dev-frontend in demo mode](#start-dev-frontend-in-demo-mode) - - [Build dev-frontend for production](#build-dev-frontend-for-production) - [Configuring your custom frontend](#configuring-your-custom-frontend) - [Running a frontend with Docker](#running-a-frontend-with-docker) - [Prerequisites](#prerequisites-1) @@ -227,7 +224,6 @@ Economically, Recovery Mode is designed to encourage collateral top-ups and debt ### Directories -- `packages/dev-frontend/` - Zero Beta: a fully functional React app used for interfacing with the smart contracts during development - `packages/fuzzer/` - A very simple, purpose-built tool based on Zero middleware for randomly interacting with the system - `packages/lib-base/` - Common interfaces and classes shared by the other `lib-` packages - `packages/lib-ethers/` - [ethers](https://github.com/ethers-io/ethers.js)-based middleware that can read Zero state and send transactions @@ -1153,7 +1149,7 @@ E.g.: yarn deploy --network ropsten ``` -Supported networks are currently: rsk testnet, rsk mainnet. The above command will deploy into the default channel (the one that's used by the public dev-frontend). To deploy into the internal channel instead: +Supported networks are currently: rsk testnet, rsk mainnet. The above command will deploy into the default channel. To deploy into the internal channel instead: ``` yarn deploy --network ropsten --channel internal @@ -1191,7 +1187,7 @@ yarn start-dev-chain Starts an RSK node in a Docker container, running the [private development chain](https://github.com/rsksmart/rskj), then deploys the contracts to this chain. -You may want to use this before starting the dev-frontend in development mode. To use the newly deployed contracts, switch MetaMask to the built-in "Localhost 8545" network. +To use the newly deployed contracts, switch MetaMask to the built-in "Localhost 8545" network. > Q: How can I get RBTC on the local blockchain? > A: There are some already unlocked accounts @@ -1202,52 +1198,6 @@ Once you no longer need the local node, stop it with: yarn stop-dev-chain ``` -#### Start dev-frontend in development mode - -``` -yarn start-dev-frontend -``` - -This will start dev-frontend in development mode on http://localhost:3000. The app will automatically be reloaded if you change a source file under `packages/dev-frontend`. - -If you make changes to a different package under `packages`, it is recommended to rebuild the entire project with `yarn prepare` in the root directory of the repo. This makes sure that a change in one package doesn't break another. - -To stop the dev-frontend running in this mode, bring up the terminal in which you've started the command and press Ctrl+C. - -#### Start dev-frontend in demo mode - -This will automatically start the local blockchain, so you need to make sure that's not already running before you run the following command. - -``` -yarn start-demo -``` - -This spawns a modified version of dev-frontend that ignores MetaMask, and directly uses the local blockchain node. Every time the page is reloaded (at http://localhost:3000), a new random account is created with a balance of 100 RBTC. Additionally, transactions are automatically signed, so you no longer need to accept wallet confirmations. This lets you play around with Zero more freely. - -When you no longer need the demo mode, press Ctrl+C in the terminal then run: - -``` -yarn stop-demo -``` - -#### Build dev-frontend for production - -In a freshly cloned & installed monorepo, or if you have only modified code inside the dev-frontend package: - -``` -yarn build -``` - -If you have changed something in one or more packages apart from dev-frontend, it's best to use: - -``` -yarn rebuild -``` - -This combines the top-level `prepare` and `build` scripts. - -You'll find the output in `packages/dev-frontend/build`. - ### Configuring your custom frontend Your custom built frontend can be configured by putting a file named `config.json` inside the same directory as `index.html` built in the previous step. The format of this file is: @@ -1259,29 +1209,10 @@ Your custom built frontend can be configured by putting a file named `config.jso } ``` -## Running a frontend with Docker - -The quickest way to get a frontend up and running is to use the [prebuilt image](https://hub.docker.com/r/liquity/dev-frontend) available on Docker Hub. - ### Prerequisites You will need to have [Docker](https://docs.docker.com/get-docker/) installed. -### Running with `docker` - -``` -docker pull liquity/dev-frontend -docker run --name Zero -d --rm -p 3000:80 liquity/dev-frontend -``` - -This will start serving your frontend using HTTP on port 3000. If everything went well, you should be able to open http://localhost:3000/ in your browser. To use a different port, just replace 3000 with your desired port number. - -To stop the service: - -``` -docker kill liquity -``` - ### Configuring a public frontend If you're planning to publicly host a frontend, you might need to pass the Docker container some extra configuration in the form of environment variables. @@ -1290,41 +1221,6 @@ If you're planning to publicly host a frontend, you might need to pass the Docke This is an optional parameter. If you'd like your frontend to use Infura's [WebSocket endpoint](https://infura.io/docs/RSK#section/Websockets) for receiving blockchain events, set this variable to an Infura Project ID. -### Next steps for hosting a frontend - -You'll need to decide how you want to host your frontend. There are way too many options to list here, so these are going to be just a few examples. - -#### Example 1: using static website hosting - -A frontend doesn't require any database or server-side computation, so the easiest way to host it is to use a service that lets you upload a folder of static files (HTML, CSS, JS, etc). - -To obtain the files you need to upload, you need to extract them from a frontend Docker container. If you were following the guide for setting a kickback rate and haven't stopped the container yet, then you already have one! Otherwise, you can create it with a command like this (remember to use your own `FRONTEND_TAG` and `INFURA_API_KEY`): - -``` -docker run --name Zero -d --rm \ - -e FRONTEND_TAG=0x2781fD154358b009abf6280db4Ec066FCC6cb435 \ - -e INFURA_API_KEY=158b6511a5c74d1ac028a8a2afe8f626 \ - liquity/dev-frontend -``` - -While the container is running, use `docker cp` to extract the frontend's files to a folder of your choosing. For example to extract them to a new folder named "devui" inside the current folder, run: - -``` -docker cp liquity:/usr/share/nginx/html ./devui -``` - -Upload the contents of this folder to your chosen hosting service (or serve them using your own infrastructure), and you're set! - -#### Example 2: wrapping the frontend container in HTTPS - -If you have command line access to a server with Docker installed, hosting a frontend from a Docker container is a viable option. - -The frontend Docker container simply serves files using plain HTTP, which is susceptible to man-in-the-middle attacks. Therefore it is highly recommended to wrap it in HTTPS using a reverse proxy. You can find an example docker-compose config [here](packages/dev-frontend/docker-compose-example/docker-compose.yml) that secures the frontend using [SWAG (Secure Web Application Gateway)](https://github.com/linuxserver/docker-swag) and uses [watchtower](https://github.com/containrrr/watchtower) for automatically updating the frontend image to the latest version on Docker Hub. - -Remember to customize both [docker-compose.yml](packages/dev-frontend/docker-compose-example/docker-compose.yml) and the [site config](packages/dev-frontend/docker-compose-example/config/nginx/site-confs/liquity.example.com). - - - ## Disclaimer The content of this readme document (“Readme”) is of purely informational nature. In particular, none of the content of the Readme shall be understood as advice provided by Sovryn, any Zero Project Team member or other contributor to the Readme, nor does any of these persons warrant the actuality and accuracy of the Readme. diff --git a/filter-repo/1-included-paths b/filter-repo/1-included-paths index b08a9c9e6..a1add89a0 100644 --- a/filter-repo/1-included-paths +++ b/filter-repo/1-included-paths @@ -3,7 +3,6 @@ registry/ docs/ packages/decimal/ packages/frontend/ -packages/dev-frontend/ packages/examples/ packages/providers/ packages/subgraph/ diff --git a/package.json b/package.json index bc63344ac..92eccd6b4 100644 --- a/package.json +++ b/package.json @@ -44,7 +44,6 @@ }, "scripts": { "build": "run-s build:*", - "build:dev-frontend": "yarn workspace @sovryn-zero/dev-frontend build", "deploy": "yarn workspace @sovryn-zero/lib-ethers hardhat deploy", "docs": "run-s docs:*", "docs:collect-sdk-apis": "node scripts/collect-sdk-apis.js", @@ -79,18 +78,12 @@ "start-dev-chain:deploy-contracts": "yarn deploy --network rskdev", "start-dev-chain:prepare-lib-ethers": "yarn prepare:lib-ethers", "stop-dev-chain": "docker kill regtest-node-rsk", - "start-dev-frontend": "yarn workspace @sovryn-zero/dev-frontend start", "start-demo": "run-s start-demo:*", "start-demo:dev-chain": "yarn start-dev-chain", - "start-demo:dev-frontend": "yarn workspace @sovryn-zero/dev-frontend start-demo", "stop-demo": "yarn stop-dev-chain", "test": "run-s test:*", "test:lib-base": "yarn workspace @sovryn-zero/lib-base test", "test:lib-ethers": "yarn workspace @sovryn-zero/lib-ethers test", - "test-deprecated:dev-frontend": "run-s --continue-on-error test:dev-frontend:*", - "test-deprecated:dev-frontend:start-dev-chain": "yarn start-dev-chain", - "test-deprecated:dev-frontend:run": "yarn workspace @sovryn-zero/dev-frontend test --watchAll=false --forceExit --detectOpenHandles", - "test-deprecated:dev-frontend:stop-dev-chain": "yarn stop-dev-chain", "test:contracts": "yarn workspace @sovryn-zero/contracts test", "test:sdk-contracts": "yarn workspace @sovryn-zero/sdk-contracts test", "format-lint:contracts": "yarn workspace @sovryn-zero/contracts lint && yarn workspace @sovryn-zero/contracts prettier:write", diff --git a/package.public.json b/package.public.json index 74f99cf4a..dccd302ee 100644 --- a/package.public.json +++ b/package.public.json @@ -14,7 +14,6 @@ }, "scripts": { "build": "run-s build:*", - "build:dev-frontend": "yarn workspace @sovryn-zero/dev-frontend build", "build:subgraph": "yarn workspace @sovryn-zero/subgraph build", "docs": "run-s docs:*", "docs:collect-sdk-apis": "node scripts/collect-sdk-apis.js", @@ -31,7 +30,6 @@ "prepare:subgraph": "yarn workspace @sovryn-zero/subgraph prepare", "prepare:docs": "run-s docs", "rebuild": "run-s prepare build", - "start-dev-frontend": "yarn workspace @sovryn-zero/dev-frontend start" }, "devDependencies": { "@microsoft/api-documenter": "^7.12.6", diff --git a/packages/dev-frontend/.dockerignore b/packages/dev-frontend/.dockerignore deleted file mode 100644 index 3c3629e64..000000000 --- a/packages/dev-frontend/.dockerignore +++ /dev/null @@ -1 +0,0 @@ -node_modules diff --git a/packages/dev-frontend/.env.example b/packages/dev-frontend/.env.example deleted file mode 100644 index 2fedd41b9..000000000 --- a/packages/dev-frontend/.env.example +++ /dev/null @@ -1,3 +0,0 @@ -REACT_APP_VERSION=369019f9cc8d08ad53c16263f3a3737e7a68b7f1 -REACT_APP_NETWORK=testnet -REACT_APP_HCAPTCHA=xxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx diff --git a/packages/dev-frontend/.gitignore b/packages/dev-frontend/.gitignore deleted file mode 100644 index 70e9603ba..000000000 --- a/packages/dev-frontend/.gitignore +++ /dev/null @@ -1,4 +0,0 @@ -/public/config.json -/build -/.env -/config.json diff --git a/packages/dev-frontend/Dockerfile b/packages/dev-frontend/Dockerfile deleted file mode 100644 index 2d532a7a4..000000000 --- a/packages/dev-frontend/Dockerfile +++ /dev/null @@ -1,7 +0,0 @@ -# This Dockerfile is for quickly rolling an image from an already-built dev-frontend. -# If you want to build the image yourself, you must build the dev-frontend with `yarn build` first. - -FROM nginx -COPY etc /etc -COPY docker-entrypoint.d /docker-entrypoint.d -COPY build /usr/share/nginx/html diff --git a/packages/dev-frontend/LICENSE b/packages/dev-frontend/LICENSE deleted file mode 100644 index c7c7b836b..000000000 --- a/packages/dev-frontend/LICENSE +++ /dev/null @@ -1,907 +0,0 @@ -The MIT License (MIT) - -Copyright (c) 2019-2021 Liquity AG - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - ------------------------------------------------------------------------------------------------------------------------------ -The frontend and middleware (lib-...) packages use third-party software components governed by the license(s) indicated below: - -web3-react ----------- -https://www.npmjs.com/package/@web3-react/core -https://www.npmjs.com/package/@web3-react/injected-connector -https://www.npmjs.com/package/@web3-react/types - - -GNU GENERAL PUBLIC LICENSE - Version 3, 29 June 2007 - - Copyright (C) 2007 Free Software Foundation, Inc. - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - Preamble - - The GNU General Public License is a free, copyleft license for -software and other kinds of works. - - The licenses for most software and other practical works are designed -to take away your freedom to share and change the works. By contrast, -the GNU General Public License is intended to guarantee your freedom to -share and change all versions of a program--to make sure it remains free -software for all its users. We, the Free Software Foundation, use the -GNU General Public License for most of our software; it applies also to -any other work released this way by its authors. You can apply it to -your programs, too. - - When we speak of free software, we are referring to freedom, not -price. Our General Public Licenses are designed to make sure that you -have the freedom to distribute copies of free software (and charge for -them if you wish), that you receive source code or can get it if you -want it, that you can change the software or use pieces of it in new -free programs, and that you know you can do these things. - - To protect your rights, we need to prevent others from denying you -these rights or asking you to surrender the rights. Therefore, you have -certain responsibilities if you distribute copies of the software, or if -you modify it: responsibilities to respect the freedom of others. - - For example, if you distribute copies of such a program, whether -gratis or for a fee, you must pass on to the recipients the same -freedoms that you received. You must make sure that they, too, receive -or can get the source code. And you must show them these terms so they -know their rights. - - Developers that use the GNU GPL protect your rights with two steps: -(1) assert copyright on the software, and (2) offer you this License -giving you legal permission to copy, distribute and/or modify it. - - For the developers' and authors' protection, the GPL clearly explains -that there is no warranty for this free software. For both users' and -authors' sake, the GPL requires that modified versions be marked as -changed, so that their problems will not be attributed erroneously to -authors of previous versions. - - Some devices are designed to deny users access to install or run -modified versions of the software inside them, although the manufacturer -can do so. This is fundamentally incompatible with the aim of -protecting users' freedom to change the software. The systematic -pattern of such abuse occurs in the area of products for individuals to -use, which is precisely where it is most unacceptable. Therefore, we -have designed this version of the GPL to prohibit the practice for those -products. If such problems arise substantially in other domains, we -stand ready to extend this provision to those domains in future versions -of the GPL, as needed to protect the freedom of users. - - Finally, every program is threatened constantly by software patents. -States should not allow patents to restrict development and use of -software on general-purpose computers, but in those that do, we wish to -avoid the special danger that patents applied to a free program could -make it effectively proprietary. To prevent this, the GPL assures that -patents cannot be used to render the program non-free. - - The precise terms and conditions for copying, distribution and -modification follow. - - TERMS AND CONDITIONS - - 0. Definitions. - - "This License" refers to version 3 of the GNU General Public License. - - "Copyright" also means copyright-like laws that apply to other kinds of -works, such as semiconductor masks. - - "The Program" refers to any copyrightable work licensed under this -License. Each licensee is addressed as "you". "Licensees" and -"recipients" may be individuals or organizations. - - To "modify" a work means to copy from or adapt all or part of the work -in a fashion requiring copyright permission, other than the making of an -exact copy. The resulting work is called a "modified version" of the -earlier work or a work "based on" the earlier work. - - A "covered work" means either the unmodified Program or a work based -on the Program. - - To "propagate" a work means to do anything with it that, without -permission, would make you directly or secondarily liable for -infringement under applicable copyright law, except executing it on a -computer or modifying a private copy. Propagation includes copying, -distribution (with or without modification), making available to the -public, and in some countries other activities as well. - - To "convey" a work means any kind of propagation that enables other -parties to make or receive copies. Mere interaction with a user through -a computer network, with no transfer of a copy, is not conveying. - - An interactive user interface displays "Appropriate Legal Notices" -to the extent that it includes a convenient and prominently visible -feature that (1) displays an appropriate copyright notice, and (2) -tells the user that there is no warranty for the work (except to the -extent that warranties are provided), that licensees may convey the -work under this License, and how to view a copy of this License. If -the interface presents a list of user commands or options, such as a -menu, a prominent item in the list meets this criterion. - - 1. Source Code. - - The "source code" for a work means the preferred form of the work -for making modifications to it. "Object code" means any non-source -form of a work. - - A "Standard Interface" means an interface that either is an official -standard defined by a recognized standards body, or, in the case of -interfaces specified for a particular programming language, one that -is widely used among developers working in that language. - - The "System Libraries" of an executable work include anything, other -than the work as a whole, that (a) is included in the normal form of -packaging a Major Component, but which is not part of that Major -Component, and (b) serves only to enable use of the work with that -Major Component, or to implement a Standard Interface for which an -implementation is available to the public in source code form. A -"Major Component", in this context, means a major essential component -(kernel, window system, and so on) of the specific operating system -(if any) on which the executable work runs, or a compiler used to -produce the work, or an object code interpreter used to run it. - - The "Corresponding Source" for a work in object code form means all -the source code needed to generate, install, and (for an executable -work) run the object code and to modify the work, including scripts to -control those activities. However, it does not include the work's -System Libraries, or general-purpose tools or generally available free -programs which are used unmodified in performing those activities but -which are not part of the work. For example, Corresponding Source -includes interface definition files associated with source files for -the work, and the source code for shared libraries and dynamically -linked subprograms that the work is specifically designed to require, -such as by intimate data communication or control flow between those -subprograms and other parts of the work. - - The Corresponding Source need not include anything that users -can regenerate automatically from other parts of the Corresponding -Source. - - The Corresponding Source for a work in source code form is that -same work. - - 2. Basic Permissions. - - All rights granted under this License are granted for the term of -copyright on the Program, and are irrevocable provided the stated -conditions are met. This License explicitly affirms your unlimited -permission to run the unmodified Program. The output from running a -covered work is covered by this License only if the output, given its -content, constitutes a covered work. This License acknowledges your -rights of fair use or other equivalent, as provided by copyright law. - - You may make, run and propagate covered works that you do not -convey, without conditions so long as your license otherwise remains -in force. You may convey covered works to others for the sole purpose -of having them make modifications exclusively for you, or provide you -with facilities for running those works, provided that you comply with -the terms of this License in conveying all material for which you do -not control copyright. Those thus making or running the covered works -for you must do so exclusively on your behalf, under your direction -and control, on terms that prohibit them from making any copies of -your copyrighted material outside their relationship with you. - - Conveying under any other circumstances is permitted solely under -the conditions stated below. Sublicensing is not allowed; section 10 -makes it unnecessary. - - 3. Protecting Users' Legal Rights From Anti-Circumvention Law. - - No covered work shall be deemed part of an effective technological -measure under any applicable law fulfilling obligations under article -11 of the WIPO copyright treaty adopted on 20 December 1996, or -similar laws prohibiting or restricting circumvention of such -measures. - - When you convey a covered work, you waive any legal power to forbid -circumvention of technological measures to the extent such circumvention -is effected by exercising rights under this License with respect to -the covered work, and you disclaim any intention to limit operation or -modification of the work as a means of enforcing, against the work's -users, your or third parties' legal rights to forbid circumvention of -technological measures. - - 4. Conveying Verbatim Copies. - - You may convey verbatim copies of the Program's source code as you -receive it, in any medium, provided that you conspicuously and -appropriately publish on each copy an appropriate copyright notice; -keep intact all notices stating that this License and any -non-permissive terms added in accord with section 7 apply to the code; -keep intact all notices of the absence of any warranty; and give all -recipients a copy of this License along with the Program. - - You may charge any price or no price for each copy that you convey, -and you may offer support or warranty protection for a fee. - - 5. Conveying Modified Source Versions. - - You may convey a work based on the Program, or the modifications to -produce it from the Program, in the form of source code under the -terms of section 4, provided that you also meet all of these conditions: - - a) The work must carry prominent notices stating that you modified - it, and giving a relevant date. - - b) The work must carry prominent notices stating that it is - released under this License and any conditions added under section - 7. This requirement modifies the requirement in section 4 to - "keep intact all notices". - - c) You must license the entire work, as a whole, under this - License to anyone who comes into possession of a copy. This - License will therefore apply, along with any applicable section 7 - additional terms, to the whole of the work, and all its parts, - regardless of how they are packaged. This License gives no - permission to license the work in any other way, but it does not - invalidate such permission if you have separately received it. - - d) If the work has interactive user interfaces, each must display - Appropriate Legal Notices; however, if the Program has interactive - interfaces that do not display Appropriate Legal Notices, your - work need not make them do so. - - A compilation of a covered work with other separate and independent -works, which are not by their nature extensions of the covered work, -and which are not combined with it such as to form a larger program, -in or on a volume of a storage or distribution medium, is called an -"aggregate" if the compilation and its resulting copyright are not -used to limit the access or legal rights of the compilation's users -beyond what the individual works permit. Inclusion of a covered work -in an aggregate does not cause this License to apply to the other -parts of the aggregate. - - 6. Conveying Non-Source Forms. - - You may convey a covered work in object code form under the terms -of sections 4 and 5, provided that you also convey the -machine-readable Corresponding Source under the terms of this License, -in one of these ways: - - a) Convey the object code in, or embodied in, a physical product - (including a physical distribution medium), accompanied by the - Corresponding Source fixed on a durable physical medium - customarily used for software interchange. - - b) Convey the object code in, or embodied in, a physical product - (including a physical distribution medium), accompanied by a - written offer, valid for at least three years and valid for as - long as you offer spare parts or customer support for that product - model, to give anyone who possesses the object code either (1) a - copy of the Corresponding Source for all the software in the - product that is covered by this License, on a durable physical - medium customarily used for software interchange, for a price no - more than your reasonable cost of physically performing this - conveying of source, or (2) access to copy the - Corresponding Source from a network server at no charge. - - c) Convey individual copies of the object code with a copy of the - written offer to provide the Corresponding Source. This - alternative is allowed only occasionally and noncommercially, and - only if you received the object code with such an offer, in accord - with subsection 6b. - - d) Convey the object code by offering access from a designated - place (gratis or for a charge), and offer equivalent access to the - Corresponding Source in the same way through the same place at no - further charge. You need not require recipients to copy the - Corresponding Source along with the object code. If the place to - copy the object code is a network server, the Corresponding Source - may be on a different server (operated by you or a third party) - that supports equivalent copying facilities, provided you maintain - clear directions next to the object code saying where to find the - Corresponding Source. Regardless of what server hosts the - Corresponding Source, you remain obligated to ensure that it is - available for as long as needed to satisfy these requirements. - - e) Convey the object code using peer-to-peer transmission, provided - you inform other peers where the object code and Corresponding - Source of the work are being offered to the general public at no - charge under subsection 6d. - - A separable portion of the object code, whose source code is excluded -from the Corresponding Source as a System Library, need not be -included in conveying the object code work. - - A "User Product" is either (1) a "consumer product", which means any -tangible personal property which is normally used for personal, family, -or household purposes, or (2) anything designed or sold for incorporation -into a dwelling. In determining whether a product is a consumer product, -doubtful cases shall be resolved in favor of coverage. For a particular -product received by a particular user, "normally used" refers to a -typical or common use of that class of product, regardless of the status -of the particular user or of the way in which the particular user -actually uses, or expects or is expected to use, the product. A product -is a consumer product regardless of whether the product has substantial -commercial, industrial or non-consumer uses, unless such uses represent -the only significant mode of use of the product. - - "Installation Information" for a User Product means any methods, -procedures, authorization keys, or other information required to install -and execute modified versions of a covered work in that User Product from -a modified version of its Corresponding Source. The information must -suffice to ensure that the continued functioning of the modified object -code is in no case prevented or interfered with solely because -modification has been made. - - If you convey an object code work under this section in, or with, or -specifically for use in, a User Product, and the conveying occurs as -part of a transaction in which the right of possession and use of the -User Product is transferred to the recipient in perpetuity or for a -fixed term (regardless of how the transaction is characterized), the -Corresponding Source conveyed under this section must be accompanied -by the Installation Information. But this requirement does not apply -if neither you nor any third party retains the ability to install -modified object code on the User Product (for example, the work has -been installed in ROM). - - The requirement to provide Installation Information does not include a -requirement to continue to provide support service, warranty, or updates -for a work that has been modified or installed by the recipient, or for -the User Product in which it has been modified or installed. Access to a -network may be denied when the modification itself materially and -adversely affects the operation of the network or violates the rules and -protocols for communication across the network. - - Corresponding Source conveyed, and Installation Information provided, -in accord with this section must be in a format that is publicly -documented (and with an implementation available to the public in -source code form), and must require no special password or key for -unpacking, reading or copying. - - 7. Additional Terms. - - "Additional permissions" are terms that supplement the terms of this -License by making exceptions from one or more of its conditions. -Additional permissions that are applicable to the entire Program shall -be treated as though they were included in this License, to the extent -that they are valid under applicable law. If additional permissions -apply only to part of the Program, that part may be used separately -under those permissions, but the entire Program remains governed by -this License without regard to the additional permissions. - - When you convey a copy of a covered work, you may at your option -remove any additional permissions from that copy, or from any part of -it. (Additional permissions may be written to require their own -removal in certain cases when you modify the work.) You may place -additional permissions on material, added by you to a covered work, -for which you have or can give appropriate copyright permission. - - Notwithstanding any other provision of this License, for material you -add to a covered work, you may (if authorized by the copyright holders of -that material) supplement the terms of this License with terms: - - a) Disclaiming warranty or limiting liability differently from the - terms of sections 15 and 16 of this License; or - - b) Requiring preservation of specified reasonable legal notices or - author attributions in that material or in the Appropriate Legal - Notices displayed by works containing it; or - - c) Prohibiting misrepresentation of the origin of that material, or - requiring that modified versions of such material be marked in - reasonable ways as different from the original version; or - - d) Limiting the use for publicity purposes of names of licensors or - authors of the material; or - - e) Declining to grant rights under trademark law for use of some - trade names, trademarks, or service marks; or - - f) Requiring indemnification of licensors and authors of that - material by anyone who conveys the material (or modified versions of - it) with contractual assumptions of liability to the recipient, for - any liability that these contractual assumptions directly impose on - those licensors and authors. - - All other non-permissive additional terms are considered "further -restrictions" within the meaning of section 10. If the Program as you -received it, or any part of it, contains a notice stating that it is -governed by this License along with a term that is a further -restriction, you may remove that term. If a license document contains -a further restriction but permits relicensing or conveying under this -License, you may add to a covered work material governed by the terms -of that license document, provided that the further restriction does -not survive such relicensing or conveying. - - If you add terms to a covered work in accord with this section, you -must place, in the relevant source files, a statement of the -additional terms that apply to those files, or a notice indicating -where to find the applicable terms. - - Additional terms, permissive or non-permissive, may be stated in the -form of a separately written license, or stated as exceptions; -the above requirements apply either way. - - 8. Termination. - - You may not propagate or modify a covered work except as expressly -provided under this License. Any attempt otherwise to propagate or -modify it is void, and will automatically terminate your rights under -this License (including any patent licenses granted under the third -paragraph of section 11). - - However, if you cease all violation of this License, then your -license from a particular copyright holder is reinstated (a) -provisionally, unless and until the copyright holder explicitly and -finally terminates your license, and (b) permanently, if the copyright -holder fails to notify you of the violation by some reasonable means -prior to 60 days after the cessation. - - Moreover, your license from a particular copyright holder is -reinstated permanently if the copyright holder notifies you of the -violation by some reasonable means, this is the first time you have -received notice of violation of this License (for any work) from that -copyright holder, and you cure the violation prior to 30 days after -your receipt of the notice. - - Termination of your rights under this section does not terminate the -licenses of parties who have received copies or rights from you under -this License. If your rights have been terminated and not permanently -reinstated, you do not qualify to receive new licenses for the same -material under section 10. - - 9. Acceptance Not Required for Having Copies. - - You are not required to accept this License in order to receive or -run a copy of the Program. Ancillary propagation of a covered work -occurring solely as a consequence of using peer-to-peer transmission -to receive a copy likewise does not require acceptance. However, -nothing other than this License grants you permission to propagate or -modify any covered work. These actions infringe copyright if you do -not accept this License. Therefore, by modifying or propagating a -covered work, you indicate your acceptance of this License to do so. - - 10. Automatic Licensing of Downstream Recipients. - - Each time you convey a covered work, the recipient automatically -receives a license from the original licensors, to run, modify and -propagate that work, subject to this License. You are not responsible -for enforcing compliance by third parties with this License. - - An "entity transaction" is a transaction transferring control of an -organization, or substantially all assets of one, or subdividing an -organization, or merging organizations. If propagation of a covered -work results from an entity transaction, each party to that -transaction who receives a copy of the work also receives whatever -licenses to the work the party's predecessor in interest had or could -give under the previous paragraph, plus a right to possession of the -Corresponding Source of the work from the predecessor in interest, if -the predecessor has it or can get it with reasonable efforts. - - You may not impose any further restrictions on the exercise of the -rights granted or affirmed under this License. For example, you may -not impose a license fee, royalty, or other charge for exercise of -rights granted under this License, and you may not initiate litigation -(including a cross-claim or counterclaim in a lawsuit) alleging that -any patent claim is infringed by making, using, selling, offering for -sale, or importing the Program or any portion of it. - - 11. Patents. - - A "contributor" is a copyright holder who authorizes use under this -License of the Program or a work on which the Program is based. The -work thus licensed is called the contributor's "contributor version". - - A contributor's "essential patent claims" are all patent claims -owned or controlled by the contributor, whether already acquired or -hereafter acquired, that would be infringed by some manner, permitted -by this License, of making, using, or selling its contributor version, -but do not include claims that would be infringed only as a -consequence of further modification of the contributor version. For -purposes of this definition, "control" includes the right to grant -patent sublicenses in a manner consistent with the requirements of -this License. - - Each contributor grants you a non-exclusive, worldwide, royalty-free -patent license under the contributor's essential patent claims, to -make, use, sell, offer for sale, import and otherwise run, modify and -propagate the contents of its contributor version. - - In the following three paragraphs, a "patent license" is any express -agreement or commitment, however denominated, not to enforce a patent -(such as an express permission to practice a patent or covenant not to -sue for patent infringement). To "grant" such a patent license to a -party means to make such an agreement or commitment not to enforce a -patent against the party. - - If you convey a covered work, knowingly relying on a patent license, -and the Corresponding Source of the work is not available for anyone -to copy, free of charge and under the terms of this License, through a -publicly available network server or other readily accessible means, -then you must either (1) cause the Corresponding Source to be so -available, or (2) arrange to deprive yourself of the benefit of the -patent license for this particular work, or (3) arrange, in a manner -consistent with the requirements of this License, to extend the patent -license to downstream recipients. "Knowingly relying" means you have -actual knowledge that, but for the patent license, your conveying the -covered work in a country, or your recipient's use of the covered work -in a country, would infringe one or more identifiable patents in that -country that you have reason to believe are valid. - - If, pursuant to or in connection with a single transaction or -arrangement, you convey, or propagate by procuring conveyance of, a -covered work, and grant a patent license to some of the parties -receiving the covered work authorizing them to use, propagate, modify -or convey a specific copy of the covered work, then the patent license -you grant is automatically extended to all recipients of the covered -work and works based on it. - - A patent license is "discriminatory" if it does not include within -the scope of its coverage, prohibits the exercise of, or is -conditioned on the non-exercise of one or more of the rights that are -specifically granted under this License. You may not convey a covered -work if you are a party to an arrangement with a third party that is -in the business of distributing software, under which you make payment -to the third party based on the extent of your activity of conveying -the work, and under which the third party grants, to any of the -parties who would receive the covered work from you, a discriminatory -patent license (a) in connection with copies of the covered work -conveyed by you (or copies made from those copies), or (b) primarily -for and in connection with specific products or compilations that -contain the covered work, unless you entered into that arrangement, -or that patent license was granted, prior to 28 March 2007. - - Nothing in this License shall be construed as excluding or limiting -any implied license or other defenses to infringement that may -otherwise be available to you under applicable patent law. - - 12. No Surrender of Others' Freedom. - - If conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot convey a -covered work so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you may -not convey it at all. For example, if you agree to terms that obligate you -to collect a royalty for further conveying from those to whom you convey -the Program, the only way you could satisfy both those terms and this -License would be to refrain entirely from conveying the Program. - - 13. Use with the GNU Affero General Public License. - - Notwithstanding any other provision of this License, you have -permission to link or combine any covered work with a work licensed -under version 3 of the GNU Affero General Public License into a single -combined work, and to convey the resulting work. The terms of this -License will continue to apply to the part which is the covered work, -but the special requirements of the GNU Affero General Public License, -section 13, concerning interaction through a network will apply to the -combination as such. - - 14. Revised Versions of this License. - - The Free Software Foundation may publish revised and/or new versions of -the GNU General Public License from time to time. Such new versions will -be similar in spirit to the present version, but may differ in detail to -address new problems or concerns. - - Each version is given a distinguishing version number. If the -Program specifies that a certain numbered version of the GNU General -Public License "or any later version" applies to it, you have the -option of following the terms and conditions either of that numbered -version or of any later version published by the Free Software -Foundation. If the Program does not specify a version number of the -GNU General Public License, you may choose any version ever published -by the Free Software Foundation. - - If the Program specifies that a proxy can decide which future -versions of the GNU General Public License can be used, that proxy's -public statement of acceptance of a version permanently authorizes you -to choose that version for the Program. - - Later license versions may give you additional or different -permissions. However, no additional obligations are imposed on any -author or copyright holder as a result of your choosing to follow a -later version. - - 15. Disclaimer of Warranty. - - THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY -APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT -HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY -OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, -THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM -IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF -ALL NECESSARY SERVICING, REPAIR OR CORRECTION. - - 16. Limitation of Liability. - - IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING -WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS -THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY -GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE -USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF -DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD -PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), -EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF -SUCH DAMAGES. - - 17. Interpretation of Sections 15 and 16. - - If the disclaimer of warranty and limitation of liability provided -above cannot be given local legal effect according to their terms, -reviewing courts shall apply local law that most closely approximates -an absolute waiver of all civil liability in connection with the -Program, unless a warranty or assumption of liability accompanies a -copy of the Program in return for a fee. - - END OF TERMS AND CONDITIONS - - How to Apply These Terms to Your New Programs - - If you develop a new program, and you want it to be of the greatest -possible use to the public, the best way to achieve this is to make it -free software which everyone can redistribute and change under these terms. - - To do so, attach the following notices to the program. It is safest -to attach them to the start of each source file to most effectively -state the exclusion of warranty; and each file should have at least -the "copyright" line and a pointer to where the full notice is found. - - - Copyright (C) - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see . - -Also add information on how to contact you by electronic and paper mail. - - If the program does terminal interaction, make it output a short -notice like this when it starts in an interactive mode: - - Copyright (C) - This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. - This is free software, and you are welcome to redistribute it - under certain conditions; type `show c' for details. - -The hypothetical commands `show w' and `show c' should show the appropriate -parts of the General Public License. Of course, your program's commands -might be different; for a GUI interface, you would use an "about box". - - You should also get your employer (if you work as a programmer) or school, -if any, to sign a "copyright disclaimer" for the program, if necessary. -For more information on this, and how to apply and follow the GNU GPL, see -. - - The GNU General Public License does not permit incorporating your program -into proprietary programs. If your program is a subroutine library, you -may consider it more useful to permit linking proprietary applications with -the library. If this is what you want to do, use the GNU Lesser General -Public License instead of this License. But first, please read -. - - - -Font Awesome ------------- -https://www.npmjs.com/package/@fortawesome/fontawesome-svg-core -https://www.npmjs.com/package/@fortawesome/free-regular-svg-icons -https://www.npmjs.com/package/@fortawesome/free-solid-svg-icons -https://www.npmjs.com/package/@fortawesome/react-fontawesome - - -Font Awesome Free License -------------------------- - -Font Awesome Free is free, open source, and GPL friendly. You can use it for -commercial projects, open source projects, or really almost whatever you want. -Full Font Awesome Free license: https://fontawesome.com/license/free. - -# Icons: CC BY 4.0 License (https://creativecommons.org/licenses/by/4.0/) -In the Font Awesome Free download, the CC BY 4.0 license applies to all icons -packaged as SVG and JS file types. - -# Fonts: SIL OFL 1.1 License (https://scripts.sil.org/OFL) -In the Font Awesome Free download, the SIL OFL license applies to all icons -packaged as web and desktop font files. - -# Code: MIT License (https://opensource.org/licenses/MIT) -In the Font Awesome Free download, the MIT license applies to all non-font and -non-icon files. - -# Attribution -Attribution is required by MIT, SIL OFL, and CC BY licenses. Downloaded Font -Awesome Free files already contain embedded comments with sufficient -attribution, so you shouldn't need to do anything additional when using these -files normally. - -We've kept attribution comments terse, so we ask that you do not actively work -to remove them from files, especially code. They're a great way for folks to -learn about Font Awesome. - -# Brand Icons -All brand icons are trademarks of their respective owners. The use of these -trademarks does not indicate endorsement of the trademark holder by Font -Awesome, nor vice versa. **Please do not use brand logos for any purpose except -to represent the company, product, or service to which they refer.** - - -Popper ------- - -https://www.npmjs.com/package/@popperjs/core -The MIT License (MIT) - -Copyright (c) 2019 Federico Zivolo - -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - - -https://www.npmjs.com/package/react-popper -The MIT License (MIT) - -Copyright (c) 2018 React Popper authors - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - - -Ethers ------- -https://www.npmjs.com/package/ethers -MIT License - -Copyright (c) 2019 Richard Moore - -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - -React ------ -https://www.npmjs.com/package/react -https://www.npmjs.com/package/react-dom -https://www.npmjs.com/package/react-is - -MIT License - -Copyright (c) Facebook, Inc. and its affiliates. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - - -React Circular Progressbar --------------------------- -https://www.npmjs.com/package/react-circular-progressbar - -MIT License - -Copyright (c) 2017 Kevin Qi - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - - -react-copy-to-clipboard ------------------------ -https://www.npmjs.com/package/react-copy-to-clipboard - -The MIT License (MIT) - -Copyright (c) 2016 Nik Butenko - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - - -Theme UI -------- -https://www.npmjs.com/package/theme-ui - -# The MIT License (MIT) - -Copyright (c) 2019 Brent Jackson - -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/packages/dev-frontend/docker-compose-example/config/nginx/site-confs/liquity.example.com b/packages/dev-frontend/docker-compose-example/config/nginx/site-confs/liquity.example.com deleted file mode 100644 index 59ba583f3..000000000 --- a/packages/dev-frontend/docker-compose-example/config/nginx/site-confs/liquity.example.com +++ /dev/null @@ -1,14 +0,0 @@ -server { - listen 443 ssl; - - server_name liquity.example.com; - - include /config/nginx/ssl.conf; - - location / { - include /config/nginx/proxy.conf; - resolver 127.0.0.11 valid=5s; - set $container dev-frontend; - proxy_pass http://$container; - } -} diff --git a/packages/dev-frontend/docker-compose-example/docker-compose.yml b/packages/dev-frontend/docker-compose-example/docker-compose.yml deleted file mode 100644 index b171d675c..000000000 --- a/packages/dev-frontend/docker-compose-example/docker-compose.yml +++ /dev/null @@ -1,40 +0,0 @@ -version: "2.1" - -services: - swag: - image: linuxserver/swag - container_name: swag - cap_add: - - NET_ADMIN - environment: - - PUID=1000 # see https://github.com/linuxserver/docker-swag#user--group-identifiers - - PGID=1011 # see https://github.com/linuxserver/docker-swag#user--group-identifiers - - TZ=Europe/Berlin # customize this - - URL=example.com # customize this - - SUBDOMAINS=liquity # customize this - - VALIDATION=http - - ONLY_SUBDOMAINS=true - volumes: - - ./config:/config - ports: - - 443:443 - - 80:80 - restart: unless-stopped - - watchtower: - image: containrrr/watchtower - container_name: watchtower - volumes: - - /var/run/docker.sock:/var/run/docker.sock - command: --interval 1000 --cleanup --label-enable - restart: unless-stopped - - dev-frontend: - image: liquity/dev-frontend:latest - container_name: liquity-dev-frontend - environment: - - FRONTEND_TAG= # customize this - - INFURA_API_KEY= # (optional) customize this - restart: unless-stopped - labels: - com.centurylinklabs.watchtower.enable: "true" diff --git a/packages/dev-frontend/docker-compose.yml b/packages/dev-frontend/docker-compose.yml deleted file mode 100644 index 89293bb28..000000000 --- a/packages/dev-frontend/docker-compose.yml +++ /dev/null @@ -1,14 +0,0 @@ -version: "3" - -services: - dev-frontend: - build: . - image: "liquity/dev-frontend:${TAG:-unknown}" - ports: - - 80:80 - environment: - # Ethereum address that shall receive ZERO rewards - - FRONTEND_TAG=0x0000000000000000000000000000000000000000 - # Optional Infura API key to enable snappier blockchain events using WebSockets - - INFURA_API_KEY= - restart: always diff --git a/packages/dev-frontend/docker-entrypoint.d/99-frontend-config.sh b/packages/dev-frontend/docker-entrypoint.d/99-frontend-config.sh deleted file mode 100755 index 957e66d8e..000000000 --- a/packages/dev-frontend/docker-entrypoint.d/99-frontend-config.sh +++ /dev/null @@ -1,13 +0,0 @@ -#!/bin/sh - -echo_config() { - echo '{' - [ -n "$TESTNET_ONLY" ] && echo ' "testnetOnly": '$TESTNET_ONLY',' - echo ' "frontendTag": "'$FRONTEND_TAG'",' - echo ' "infuraApiKey": "'$INFURA_API_KEY'"' - echo '}' -} - -echo_config > /usr/share/nginx/html/config.json - -exit 0 diff --git a/packages/dev-frontend/etc/nginx/conf.d/enable_gzip.conf b/packages/dev-frontend/etc/nginx/conf.d/enable_gzip.conf deleted file mode 100644 index 9adb5b65b..000000000 --- a/packages/dev-frontend/etc/nginx/conf.d/enable_gzip.conf +++ /dev/null @@ -1,9 +0,0 @@ -gzip on; -gzip_disable "msie6"; - -gzip_vary on; -gzip_proxied any; -gzip_comp_level 6; -gzip_http_version 1.1; -gzip_min_length 256; -gzip_types text/html text/css application/javascript; diff --git a/packages/dev-frontend/package.json b/packages/dev-frontend/package.json deleted file mode 100644 index 2104a8b13..000000000 --- a/packages/dev-frontend/package.json +++ /dev/null @@ -1,82 +0,0 @@ -{ - "name": "@sovryn-zero/dev-frontend", - "version": "0.1.0", - "private": true, - "homepage": ".", - "dependencies": { - "@ethersproject/abi": "5.0.13", - "@fortawesome/fontawesome-svg-core": "1.2.34", - "@fortawesome/free-regular-svg-icons": "5.15.2", - "@fortawesome/free-solid-svg-icons": "5.15.2", - "@fortawesome/react-fontawesome": "0.1.14", - "@hcaptcha/react-hcaptcha": "1.4.4", - "@ledgerhq/devices": "^7.0.0", - "@popperjs/core": "2.9.1", - "@testing-library/dom": "7.30.0", - "@testing-library/jest-dom": "5.11.9", - "@testing-library/react": "11.2.5", - "@testing-library/user-event": "12.8.3", - "@tippyjs/react": "4.2.5", - "@types/jest": "26.0.20", - "@types/react": "17.0.3", - "@types/react-copy-to-clipboard": "5.0.0", - "@types/react-dom": "17.0.2", - "@types/react-router-dom": "5.1.7", - "@types/testing-library__jest-dom": "5.9.5", - "@types/testing-library__react": "10.2.0", - "@types/testing-library__user-event": "4.2.0", - "@web3-onboard/core": "^2.5.0", - "@web3-onboard/injected-wallets": "^2.0.14", - "@web3-onboard/ledger": "^2.1.7", - "@web3-onboard/portis": "^2.0.7", - "@web3-onboard/trezor": "^2.1.7", - "@web3-onboard/walletconnect": "^2.0.8", - "axios": "^0.26.1", - "cross-env": "7.0.3", - "ethereum-blockies": "^0.1.1", - "ethers": "5.0.32", - "npm-run-all": "4.1.5", - "react": "17.0.1", - "react-circular-progressbar": "2.0.3", - "react-copy-to-clipboard": "5.0.3", - "react-dom": "17.0.1", - "react-is": "17.0.1", - "react-popper": "2.2.4", - "react-router-dom": "5.2.0", - "react-scripts": "4.0.3", - "react-transition-group": "^4.4.2", - "source-map-explorer": "2.5.2", - "swr": "^1.3.0", - "theme-ui": "0.6.0-canary.1544.5359f8a1e408a4dfeb74a9ae39688270286e534a.0", - "typescript": "4.6.2" - }, - "scripts": { - "analyze": "source-map-explorer 'build/static/js/*.js'", - "start": "react-scripts start", - "start-demo": "cross-env REACT_APP_DEMO_MODE=true run-s start", - "build": "run-s build:*", - "build:set-version": "node scripts/set-version.js", - "build:react": "react-scripts build", - "test": "react-scripts test", - "eject": "react-scripts eject" - }, - "eslintConfig": { - "extends": "react-app" - }, - "browserslist": { - "production": [ - ">0.2%", - "not dead", - "not op_mini all" - ], - "development": [ - "last 1 chrome version", - "last 1 firefox version", - "last 1 safari version" - ] - }, - "devDependencies": { - "@types/ethereum-blockies": "^0.1.0", - "@types/react-transition-group": "^4.4.4" - } -} diff --git a/packages/dev-frontend/public/favicon.png b/packages/dev-frontend/public/favicon.png deleted file mode 100644 index 90fcbc149726a9fec8b8460c0e5593e15b2467c2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3886 zcmV+}57F?6P)D=jH$7CC?cXOXcbWi4++mZf1HD%49Mj? z_Br=*zH9x~isatC_t~Gj_t}r%{%sq9rT)NofYHD(*@ghoz#w3t{JAK=26%yL`ENIX zO5i$h87KoT0L8!;z&C+XNj5(&y8{>pOaUeX-v>s@f7e>Az**oE;A5Z=_#9}%lI|J= zJO=z$Zk1jG?HceV@TlCASkh3Dz*68npxI#1-B}axF0dFFU?EekWMCIiZ&J|RSsm~j zV3LK6Zk_$K;ps+jJ7r;Y(8TJU^ zP#=Na+5QI@)0bfP2i)>vhqn(~6YwhF40PaW!1+E7yR(%7vjY)!kleakEy!J3o80O{ z0tI+H;IY8^WJSPme+T|!qzw!UsP9(ouOoaLuu1N=ERf2&`wjjC+yU&cz-eN;iM}ZJz~0s2wzN zaAyO4Z9y=^b{GYHqgDBanp-sRzq1xzOtFCTfXKD0@*rvHX;fELQ&LiL3%)PF0g{rE2n`M8=+UEE z7x4}x&!l`UTKY)fGkFKi&~ALef(5uYxQUK7$2juTsZ%`n+;iMN^M0Rz3uy6;!1s_& z+Ny&7uKd0*Ok>B6<(L2QOU92MZ@R&wx6O;qu56g26ZrS(!O^m(?%f5vU}UAbTrOUF z{Wb2s`)*Ut7;HA><651%`UJUWKCJ}0U7nN27*Ux{r<1K)xAM%-pCLFnm_U_I;J*uG z$)oySL4OE%!ib898W=@(b~ZC+%%Cqw2k>_Sp8{uk3;hisR&)i##l^Azz<$P!8%JM~ z4&X-vJG<+`yV6{wa2`Sx8ym~pZ@Psw4k64L#$A7N z7YQR07(94zAOZ&|2F?(mraS1%ko?|+jnwmxln&=8~VE&nG87p|P>? zwx5rQi6Lcb3bRvZla`)FXlQ640B_eqc{bK1^!I^TqDu1G>#vcXo~~({o&pbU0_#8(F$!DeKp-r@5)w z^uTWooc?JU0|p2WESc7M%H|ODF1Oq5Jhl2M^+VFSI)3WyB>f1ar*TW>X#CO9LB62`eac# zKm72+s?&J(=g+Dhuo(#)AUZml)YMeb*`{=ao-88AJMX-c=`*IQN+UZvo1B~+zXske zm&+wO%gG&~3t0o5H-DbbKImPkqN0LzYu5z?aDeGEri=FXo6ruuKT^m}-KDlW+q7{L zH8nK>0lacJE3JEU;^2^ACQh8F`1=#m6tCepvZ@_0Ghv$oUH(h^X>0jAzJRdkl4>u$Ui1#%a61Z)x+?m4jZ)sB9LYaIbyc+~foE;YV&%$}iZ^!v(e7cx?MQpAx=YQ2 z6?h6v3*7B?Q&CYtadENYbP^I0L_&|VBkiu~E;SEUR8(YI;J3h3pxJ^LK{M=U$6C;5G+`M^HaoS;FVIrZ2*b(3! z_02cRFC_NGLD6X7qJG#KDcBCQ=$%VlU7h0Z_A~%A18`r;saO3dP_rG$Y0k9Jqobp7 zI-RBl4yZamUtd=*5_*#zDP)E2-Mi9vp3P?Kavp0Y-~b6Dl&?cnUau4hz0rBNZ>s^V^O*0=H+U7ZH8#zPd@o1t5>g9U6x(Dc2QqnFS-gm9ia;wLN+%wvu*1( zzXR@YIM}dZ1M6N?f2^vZp@ALS4Y^wFub_X9pygPA-Me=yx*NqP;4v{V?8(`~ij^xg zDbE|Pzd>bXrD)(++GlF*(A$6yMCIPl(4glfHktvq*=)F6F7l7$Gj*yqCsC@Zs(9s< zSBz-o?;%Hp?zmw5uE-MPE%sE;DNMD9#q2?eX&=At6kdIDz!Ebmq;U zM@)?NVeXF|JEqCmdIf5dTe{SPb^4z|uI>*+f7?ro6*Jj6Wv^|eY>bqH;`^%!~*ZzTELRUON?54=}Ie6a4*{#q)^~77Wmui z;K74D@{f;j=FAzh6zL1#85G>W2vDI_Yu5t&iT^!8^q^=}Q75%jSy>rBTlq6GGc!e> zJnc!#xsC5*PtZ>TKR~)p+feXX+p<``d^ve}c{szJB#utR;cysIqn9pS;^oaR^YqhC zt2)G?*Tez1?WVskR|1bfx}{gsh3QqRRYD5a-epW4XfM4|V>(L8*PuruRp`oOur?Ftc0;Wxyruhxbm6et3 z-@l)Id-w6_r=OaAc(Gn)g%;5JBYD@{BNBXX_rsk|C&|glq@<*fJUN-sqeu5TLPSMH z1*cA(!sGGaDe&;+mtUG;`sItx0rw(#H){eNU^dd$t4#!WEu0u_HXE@+VoA6sfw=fM zoK7cBr<3sTaN641sI94`rly9v`Z`KWOF3V9UUigdgVZMTIjl$G|0YiZG`Cf&R(Y>h zT=ib9xaxJg-Cn)&2~hhNJ%3R_NbB;t6h0#(!@KUqbr!_l*)aroJH-RntjacpT}Mzr zXMj2Kd&H`EOLZ($$R;q#e3xSTb^Y_G=?D&a_&bA(mz2ugwAMwIB$!0|>Zt zrzeFVUBPVu(ceDOdO2K;B9V?eTVV9F6Tkqo4J^W~7O!gykHn^}n!Si8cKY`~A?(Q6>WJ_$TV_osyWyi(-uFA!jR@SqP)VuTpuMjR6nWKl$seFuSV=)Uuv@-?aIuC99T z)qC&W*InoP>igj9yPSLO|L(o#+;h$)v_TR=BmwjV&`0~#0w@CzY4$7ChJO&i(PqDW z06qY)4!~Oe5z+p(CN63V0}?`v0Wb={2yNo4Y#P^20Ph2M6~Ia&T4_^1jy3B#00<#M z0KTkEI8XX8071tjmf2AqfHxQn+V2e_IxdM9Q{B1(073{4fb#)d1>iCO6{bdOf2BPD z{s7=v0Iv{Hqy1eL)`PMD&?cRi^eX{e4xnRULv_6N4gkLgumr$ss)9jD00*@Iv!{9UtttZmA%qve)c|Gz=x2UNO4s}cfQNXCAfg5pI8_1wLWpqy z9tXhcT6-W?FJ}aSwFq-_Au^!lFwxWzbI#Tsc6_!)rP?6Mo!0stXIKr@4~MXyMOOW;K|hZ7O6 z3YL=P01!g(9s5!Md_`L%>m=|BfQdxJehZe7r2r5@R04Rp4V!W;6THcW-qJv@+hqL~ z)hq*m5TY|*fdc4d6?4UQvPxhRudYP2)e8Ao0stWdyIZl!($fm2if!bTz=r^a5D~kr z6+{ICKnM{7@FxK06vRofvQY`}c5nd^9Wh!ly?j9c&{VxY0vKHg6UDlwCBPrv*g{l9 z(*V$nJc|KbW19V9MJpum8vr*DkucL(Apn>QV2+tii*+oQ!2LwT^I@1w0YC`B7dpKB zu(M{7*U9~fXqOST3;{sf_xZ~&9{P+( z*}1Z8hvAh#_j$l50NA0Coi>Z4t^^F72Xq5K2r&o%>z>7HU3Dj)Ib(0*VMMfA51YCG zpt*AKI{ay8JvJRViLFN)(I|9lLoHYicnH1XUi2yPV{E4YhL#0Dc|R8!BhT9> ztA(t(XQiA&5<+n7`_Q~yNG!1Na06EEI*vt~kKynM^AnzL2t8w7+|WIO(NzH?1Fl*b z-XtQhM^O<}dRySVkv)i77>8N|z%u|Q>lK6( z<(^r-4|hEBajL86kT^<4CYuO0H@BT5k)TB2)moGO$I5N4kl$M{aN@>S&>DeJ<0iD*N5$!q{n z#?fQ{p$7c>!cXz+icH_f(usDcdj%(MkWQD}xdCsk zY3cJ=I=&2%FGZ#E*BS$}`owT;_pplmttX<4EG!uS5JH><;QwTE&ddJvhd;&(s}5vk zB{8ua;aX1msV1>$c}~ALCaAd`3?!m=nZzuPa4i8V@T2B)-vbO5leSX%y`U;XzU-17s@jFO*J z*8;MQfDJ{b#gs6uFnghAreEB}FA`}BG3@N|d!MUfcC5$WzCb}V^hKnX~V17YeM&;$TB3=EJV z&V|qJ#M~!8Gt_mUYY^pEae$J$s5IcgOQXsVVc#?PlsX5H=JL(ShaA7kI(Vc3XI=ds zSOYLZo`?rkQ)`S=QKszOwNc#ALkS}mFS#KGKz9IAk`=%9?qOX1?Tu(OHvg%~>@c+& z-iYIvwFF43$5p`ZQDPP7!2pnU0DSoAZTSAL`C$#?l)SVYq25Y-Nrst!YFGk;l77SW zY^X4X0dOk-PUz@34Z3y>w(c~S`Ytjk237|ZIZzpr-M{pS;W{;L3vXrsNVx#o_{lMx zdow@DXO8?e0hCYf08(QqH8hCf6@EN%juIYC_cH+g3&2+ljlhD!Oa6B+ZhtuUrBAMI zC`jn=t!jAO<)WP$Qdz)*S1yq6)5rDVM9{nhjg$~UTI zqsvhpmhMQpiUAzlq5z?4S`EmB0ewFjT!PUZr27xP$pDbz0(RNm z8^LN|p;UH7C4$|Rx@prjq?xr*+$i53u$}?HdYI$+en#E07VADL{FT*U&k&N6DqMFM zWS>Fy9h6L47y#^e=lIRa(CgpFW*v9`dIXf1ScY(|x=y0m#&B_U5c3B}cWvLv0N~Hi z@y*Ce0C*EVR9sgDkNiWG9=xW?jHwFX@j;G%cg^{$YZCzAQSmt-acQ}0)Iya2Amt2T zqx&SN?meItkM?10e9VWuU!@uyy&(M@b?XtK7NtnEZjGO(y?XAtA^Kf3uE?~ zY8(QksDYDaZopsvUQnj#(a-?ZR$+UZezvzPSCtdtrk#S%E>{*Um& zpR-5)ShUE1gGf1&Sj7vYhX%wkp<25AB4r4Yk_h6vKl=;|o+-=}oEInr_{#kV^$w@p z$b4~iR)nP^lISVlOL#d0KuQ*{-@m*Mx6S(^-ro`O0>LgJg!)9_ukgbY_omcF8LI=k zguQ-Ig(Jhx)5#(RfRuocPj}W~@U`#D6@rfts0qN|DFAQW2Va>Ve813|J)z-X1H_3& zG#<@#Ve-Vh@Rj)BO?q_!O10}?&Lj7fjF}kqjkQ>}xo~r^4BoT$=|KuSUIs&{4}s1> z1WyaK*m~~h9mSN>q#poz2-olmz$wIDmm$PQ7H!94zuGRNYv=m(0{%`xL{XpL+Af;8-BRh zoM*7JQ&)IzArIlJRf$tB;kEt4xa`JqlvPSmPrnEZ;bFx4vw<6A;TXqdFv00zNbk9~s0%Q(Av+a-<$yR0gKh_~gMpRDlV zmTy;~vXi5+0vW-f><_@_04cV~4O@<5{PguWaxQ3zD>^2@Dd=-iWk)||JWve=gUytgAVT&zfcxLE=LFbK zkn;q!CE}%jTtx{g0{RYm=ZuKq$|>yQXsZ;mrikHe(#ve^Hc#U(zjY8d&Do5)dK1y2 zG8xa&cmH?@y!`9EbMX3rZ`{)nz0S0CH_nFXrQ8grkMYovlelWuCcN{3_1;3( z%d+(rBOb!Vm8FQ9e0S*5>&h@_vx9hSn3*F&-;i~bNmPba^YY<+Fta{?o$tOaKgaTD=VbQ3$2 zAnGaH*Wmi;mFPdj(s+l>M3gbNN~eoox%yDbX=Lv~{RyOGf`ym;3o7C$^XohD=i~K^ zeql_xyUI$9Kv%l>9sqb1uw5C=CjkEYyX%i)>io^v^lAPKqI%l1t4wv!kCDkJf>|tm zX8SBjcrokI&Q{q4_}Q4AM3mu%<%%a`j@LJ0+|&=0bspgxzJVoScnzNR^#EhqeI3!g zwgkz$E_2R^D6YDt-~{gc z^$#YZ7H>hg?%B9E-aCTt{A6otYmh~pj-Y2afU`@ZdCj|p^2lc42cGO!s5bB%5lza* zOD+H?p%P|enk|LTuR4G`9{t$y)u1xq#rb9N)Wg$yt$T%n;NKqaf<&2ll@h>kBI5Xu z7L@a#Co5<~ufW)c;Kf%D;O9$sVdE$E9TM4|-#ZdQx3E8D(>H3_(>tEl%H2Mv6S|&e zI)MAs#g7>PTnJ!Ap#!kHK0hb7dhHSX^10o3Z__cbA*q0Oqf_jLJ%pIgi*BI+YGXlL z4tRRy^7WY=(B~}EUc_e;(cfC@E3c|2gi!7g$<_wLlU{eC5ql3b;CCzbV(H3#hO&@E zyo8!y0KFqYB>Z0R?XA;ad$zG%ds`(24mV{GD(v}qO(W<6fFn4RNp`RI%i(e-PKs1A z%7dRbVE>_$ssGp2fAPvVALe*34|qJOFFq*ILo?TyI`;^Gy@m`DCt&J9L^*HP@~!|H z2xbGAZ;*jvak&z>i-JJKwAZ*JB%nH zT6Zv!apRYZW!(VKK=1^BZ@EJT?Uu`ohavMx!6*RuB=T3bQ08m6_;)E1V0CX;ledo^ z4h#W6TLn0u5T}<_BHgu~LAH}J?AAYki1fX^rwPR{05lL>3gEeRB3QQ!^AaL@(I~T~ z0HA?D$~yx_2iQ)^8`}5NWl{(L_;!Nd8kpElgskc?`KzBqM5cV_Oank$1^9;I)#9O0 z8a6nZYdpUIYL*tifHUQ@lktJ_ES_S|O1nj)Vhms-1Nwh@* zs{u?PBFmB~SPB3Q1njxMAQ)qd2-9JqTq5goHq1eOCp0|DP2E&_11mCUx|wtmO5 z)N{LMR7SP{Km!4{&3*(A$at9As2~(A&$|5_0P~3G3ojOn$u?>SjD!DYzKh08t|)R41!U%jihZg%=`V#L}YV1bqC}Bgb-{x=IwyD1xJAA zLQL4c*1K`JYobvPWDg^*(2Sh#?^0o5he2liizw@b{Rpon$NLsF3sQ^d=!ax8IvX!e1 zPIR^*@iRUDnk`z_>G3N8fHWZR+XcKFwpAeT#B-L8tbv+NPd@jj6adnIFciQ;060Rq zEfC+^&nBWbRU3?w07wG@+YR_lBew#9Cw?vwtx|2`oA^;00BJzryM;>td=0?G0QmnZ z5+`AP0l;F;x=KX#Dl(bQlPds_&ae=IGnsPOI!7w;&+%t(n@#E#0LuaJ{=TA64;`lg z<2nE|7myI5HVq8CWmu9?DaS - - - - - - - - - - - - diff --git a/packages/dev-frontend/public/icons/128-lusd-icon.png b/packages/dev-frontend/public/icons/128-lusd-icon.png deleted file mode 100644 index 51f4e3c03ef3556e757255ee5b1e8f6fc39092ac..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6062 zcmV;f7g6YmP)Poq0_sOqm0)j<01%&M8H*| zb^s_Ogp>+s>vg0gF4Z!RASQU7<~$Xi8{wC?AXaq`Px79~YyfZu019@0V>`HKd(G)( z#>o95_<2-Q5}#r+1CTI}(u$%ok4O0By(10)o!adE)|QpFwdy|Z9}wXH0LdZ19?==K zTPUh5DJv46Vn#_NN-S({r1Ic`81)1iV)yQ--kBq!|$fB=^}=mC1-)C34yScK0L5;b`OL`g>4 z4*&tK=G_DI#1r8-0{&BP)UFjE(&eQ601)6}CwhPzxFcc_LD>RbVq_u!ar^wM9{>^q zphFxYoL~UnTxQgy2~dGLX+Ho2xKz{-(3>2D-F8O)yX6}qt_Vm(Lv)-UJ2vCO#X+Ho2xY1<*xUK^NZ1W+C7eCw(ULim&QKbC<5a2$S3;{Pz6U~V5 zTfI^Hy#UpmChZ4+0N1&?2k0_EL;|o>RT{NmaRzApek?DegN=x6@b(|Kxa@fPD0|a zT>{kQMcNMlUT(TZq<*NP5!(V0MJ>p=YA}?ZZ^^SOTDS=m{PK zO$~T@yRo9_Xm;H=9^@_|K^Fg_Pt>lY#r&oN!0ZU$BlDxxA-)XJ(sELFKCB(D>`S&? z`fh9WWLL@Pi!UO+q&I5U(2#x80N^&Y{KvI-2ik&sm^*1Wh7S+B9WL)MRG4!2)lx|~ z;Ulwyh6Q{)!JthN(xxX`uLr;Y88m!4KIrJ!U`214I%0j~uzg)k+wnCYTLQ{UnqAiG z^cXyZ8DbBUycz)a-Qsg%#a)3z7ywVmX>8oI+Hxj8r(Wv$!96;IhD%3t>hoFv%oyT( z{G%}ecQ|FW3mavo+Ol?Sx|TR9(N}?Xyi31PTjY#9uLQtvqLjIR8?Bz`jKNa0Ig{U* zzWx)_gHp)4F5?`4-*}y2P`yx@UI&1Aqf}YXY5b)83lr+ocKRPLG^c;Qq+Bu(Ai#He zgJ!x=WxWajlfryXem*WR4giQyL)}52n_io_?Ozr5OC=i-|E@P`-w`6uYXA_eAeH+b z4z+v8gpaq6H?6WB$v+_7#u2izyY-2Yhxsb#H30bcl;8tem3$Ik!#sr!5v=dOS^{;o z_E0HwLd1*eW=+iEB+|l1o>u_ip<8_Nm){jQmXAT6NK;+Wc4*1G(z~V74FQ(w4Vw9U zG$~(K=A>pionT zC9`yiQUC6XpGN~g<1Z`Pet*a?Y7TKfBfIYH(qdC-n??#%5a4ogQ`Cs0B*GQD=<)Mt z03_TQkTG?T?*p`*WpBmHCl1#aT|C?5UtZiAQhK?0c!!J#jZeY&`_$#*?o$m>D98xf zvMbGPxgWk>D%~z7;-7U!?WbM|fWygH9}(qnnjZ3=bhfGl}MpBVL7Px^c85b(e)KF3$w6-ec@k7c23 z$!jHwnrgdK$HpV${Z78{`mMJEfK!0vCV#6xHjQg(X8py0$oaNdtTSkPoJ)Bu02aim zGv-Dpsf_7_3S`F%Tc=>ivG3SWV>*(G2Usxlo}GmXO|hZ z8@jXeSOENUTtLR;F!2+>hC24xqL+)Qq>26UtwEW?M=SXp?%2pADhLBZd;7y|X~BzY zmtAeWbfI}Pr9WP3Y*-d1b}v=qu>jaQIXL?^wOsUUIcc5s(4ovaYWwi_PE+ST`t-n_ zmT@h|^6GLoueMHN?Vz9*HJXeNR_lzKKXzs5u>jb4f5?GIf0^jhzxB(_$Il#VpfZ{4 zaNGy0hMiLSlg>FsQv-YEvn3`!sgptlV*}Bql9NG;*K3+O+IlPiHct-TKUyspo#~sh zr7|ad7u`dcVIzFczq)WRH=Z`+?W;Y!?W>9@h`n7-!T2AAy$tD!2b;OJ@WVX0N35ML#RHMS9fCD`iikl zjYy@2fP2HrUplg6ramz$)uRE>J`79`D`yA@I>P1ehEB@Hi|3jSC9SoNthBTZa-zNW zH9=gcGipEZcmTW=t;&327@g%Hk0{yAS6dHl`NA4lRL~sFgWhXN5aClG!SdhA<%96diW)gbH$u1AId6C$g8PsPz9Cp=*p_e4;Ong`tiuP`=F4?oA>K+!o8wdo+ z9IpWY7p$Rv%$1Y}2C4u+$U~6M#MxmRmWATI+pCNBd~3UhWzjo(1SEg;Dgba%dH7bJ zeEnF@xhTrb5!QTk6)zVwb4jD#_Wi@_0Kj>8VyNQO=i`II2|%!?c>Mf{#*B4(lj!4X zDeXbTtzHQL&Pjun%++mELMr^_Bt}Z7^(BkDakS#SGJAP(E49lkuCxsi_j)Y=Ivlg^ zo}kQe!3rvQ12mkC2(=qlS_)4esi&HTMnkvmJP`4y*8_kv>an4|hZe>KL^1?CW*awU zOI2R_E}Nix1g;3O1D=I91pqiBeHj8v#;7x=4f6Gv-XM2RZRWNObW+k?1dfWE1^^un zx+6$_e)aeuqLh0^MUf-fb(vqUv3d+By90@PKE4ish`RXbB6NykJ26yo`kfecU4*~P z?cH!{QdQo*ot`%wAVMPt022VYX|rR-2FuTX5Fbz#?k|(>PJR#2UHM*FL2+TrZK6<3 zzi|bLOEwh};=0=U^mTTQW1xbmo;Pa1iATbf(e9`<*xCZ;-}?RKk)Cw2h=3&|KG}2% z2>Gu`nMTBx7e=TKy)?pqkS_z&D}eL`&#Y8i=FUx3o--dnxIp4kOt}Pz+s8@g{;tKf z`qfb1BX33r_zjSQB%4WyVEWrLmj-&!X<{ykOED)CfSKZ4>D{d-hbd0J9iwg>>L=rl zn_YUvYxnl*{oik^7JcQ7j>j>H#3h?QB?Mlf!_d3Aj8Mx96UGLZhFzO5x}+d=a}%Ch z@M4jtTpj;}#HUzZ1Hk3p9Xh(&j}DMuTy=L)U66vfWII>?&XvNeCGI~jKp?Mk0Qe;U zeoNPdHwU+8wSL+2ZXYm~5JL6tz{x}P>4r}&lD#F+TQrbm=91{NiWoU-KYeqAjJ_2k z1LPMs-y1xD0eY$F^)>9V#jnySTO-C|21qmsKY)HA)s_Y^jBfU}xA+qCt_MPEC@veD z-gxG+Qx(T(`dVkukoJjAe2VEbfajd6(=?J6FSVT5vZjT$(Aq@Oy;*k2RMsL%$=Du! zfRL{9zq>mT;R_Sq~pQ z;J%y62(Vsn&^+G`fY=oC?-+n}QU}gic}f}7|7?)&xnB+StBVhoM|M0DJ3YOkth|YJ zT@3&P`|+7!^#mZmS=~F@Wu@A(c1ruaTsM{RMV&$W#kC&bJL@Q7XU~Z>%2n+d0QSZ);4TLMtP^7h~*A zVxF}%qb@c=Q;GtW6@|RP%mr#1CIcvot311KSX~;TD#dQK8I^C?2 zHDCoH#D{Kp9dmnQv^w**QM_vKI$~BcCeWH8yZoe=VfBQMkbeL{%h)S3xFqN;g!==6ME)!F>2HkaM) z|M(7d#`MABtC%0lsms{7+UnBbs;4+1;4ZyE`^%2sesba!n`-?ngRFsefF1FZ6KFj; zJxoU9C^pC1n(?v==KjAoIX+WRgVA| zxx=FNRbY*?Mu};cJ1z8_znq9ZCS?)I?@Y6}q@>JXB~zC6;6N(-4F7nq>_SOli{x)1 zw#gv)ll7YF9s$rk45XOX6M$#M1k;(epN$Vnzc*At<%G;|xiM3Bu8#WnN>j%-p1I7@ z=N_|XVj zbqgN9f3KBFLI;;o{QW~A6}}9ia_RF}UR~zK&!oL9f(U2zM$HYmk3FV6#U-0xAq0AT zYmP>Mdg8HXYUtrGA9`hA3ToT3=VVujnrID>k-EJP4J@Vkdg;o=Wj_@E*g~Z@;TsDC z_>!auvgR(ZW`HyB*4zF!P!Bs^byv67E zvO5Dp6by;v>u5)GtQ|_{KYuyg5gp~663gtOmNvYel%6XKgLoTHFv&)W8ljH@1b=+o3(* zFW84vJsIVH=GT#aDpw_g0zm!3KNVwRJ9e(%rzffrM^7v(rF0?lc3300X}pujquBU`8JiPEnPlxXwuYF+mC$kmlBtzr*+qt>-yW;aMX%TS`%Me z1Ob3!8k1^yLWa1BuK-$fZ;e*%e z$mZ4+2KlVRU&yR`*k0%#f8l|>-6TBhB`ad6HGqA z+~j{;)~6aCw6i=a#cPN;h}^?O&(vJT>=1(X?(Kf1t9o^7)8Xk9in8eygw$OaD0e@ zyBzAWN2)|DS0x-4X$AUA5So7sr0(k0KjSK zu04Xjz%zfeD)Xr*Ixmmz-BG~|1(Z$|-3)+wg0dOQjFJ1r`lM@n>HxUb6IjQ~Sa!G6>0~`QhAIHQwPmGk zt&;Ru{JKq7SwdzeY=}BWGx!`YmjHlce0`r_J0T$b+PI6Cr~<$ZLjd=#PfN4kjFm}) zEwqF0QUGwwhwMcEfiep>G31ttZuz_!00?MMH)&qzEuoW!LtWMbbX6`c)iRGDCeTn= zD393@%DjbMHwVC4WXYeq-r^N%H(z>50MI@;Of|(5B-;o``}VK50RRyX0}FHY8?{Az zgD8ehG5~N&a#cv=4Y&pf`N<7cF$OqlJ14>~_uW_(l?xuOUIifFyLyB6{~Xyw^LI%B z(4qMCrQ#Pr2$$*O($5=u07N*!+L_;o+0%E{iEaS^r!05>Fu2OHkPvv&S>^e(n;oId zT^OtO%pL%-4S@MjRXXhb#TlfHk3F<$+y;OSL&og14n>B24*;G60$iCGs^6?|-@HX} z0aTvEp)~{`0ulmW+fn}Ra%03rss;;W=5_#d=o^z}9>K8q9s%-{KpXlb_cQNXQp0P0G(*wUZ|n6dntJu7H_(5Ew&{i6MZ|fG}!yq_SpVtlHTl+!6pN@Az-` oH@1_zci2vKFSX{a!RPe;fAr;YgIjcHI{*Lx07*qoM6N<$f?f_{Qvd(} diff --git a/packages/dev-frontend/public/icons/128-lusd-icon.svg b/packages/dev-frontend/public/icons/128-lusd-icon.svg deleted file mode 100644 index 3ae2395b8..000000000 --- a/packages/dev-frontend/public/icons/128-lusd-icon.svg +++ /dev/null @@ -1,18 +0,0 @@ - - - - - - - - - - - - - - - - - - diff --git a/packages/dev-frontend/public/icons/32-lqty-icon.png b/packages/dev-frontend/public/icons/32-lqty-icon.png deleted file mode 100644 index 3f180e86c45362adea0543e36645b354c20fd3d2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1089 zcmV-H1it%;P)6vuz}&6{uL4KqVWAZgl0ZIm==Ym*vMwP2zNrVH7q z*oDO|h?}-X6RRdlUAk!MMz<0dy0a@cMx{x^qMI^FgCfO#xT*u_&CrT1Y!#S$8p4{ z7#E-K
W5CUd>Z2;ij{MKVI?imyi`}|C-19%LyH)3ytJNy7H0cUrT^AKH<9TJ?> z0l29q)Hk)3ZHJp>o9VJmwN_(q+T>ZwBxP!|+OJ<+aoYnRIs1;z`n}mIU*CPe*vtz5 zuGCm{)=n4-EK_kPA7kjL6kV37QziQ&N~u%I_5G~w#MSWy&Ro39YJVFlVKfxan2PgV z8TvZoMD&E@1b~#*AHx7l{Ix{?2UFaCU{f6G#E3Tr;Q95-!&zQ!kLm8!F95XkpEx_o zwHp;wR8bu2z(_=Nis?)meAk_$EgbBK02p;2nLwpur7~}PG{s8Q0aH;t-A*Lal#e<6 zWQsHU(_vt*2mpC3_5?{e4h(#9lV7jRuWc(Ryj>*L5!W&x0#CO@`2JXqs6=V-8W#X= zEN_*Vuh<+LoZ#L}b$v5+G=ueG7NztNR)`t=)LS4VW(fr_J8yI3jK$0Bp( zRs0nst`x<%$#YhctQpx-C!RT& - - - - - - - - - - - - diff --git a/packages/dev-frontend/public/icons/32-lusd-icon.png b/packages/dev-frontend/public/icons/32-lusd-icon.png deleted file mode 100644 index 8855560a79331c795dc4470ccb7b02cff6f9942a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1201 zcmV;i1Wx;jP)Hh0LkL5CJ>0(7_=j_<dI#8bv;7|kfa(wftOJHXFwFKD zK|D}^yi*LE$iPWGHU1Ys>t1{0Qge-)v7tKEi6r6Z$L~hbYC@{jJuL&f?h* z-ngr8hk@@2v(4%r)BsmnToZ?Cm=-JN>i>UEZH|UMOSBr;ztt0Bd&z%P0Oa)Jeou*{ z_ZG4fE6ZZev(L`#Kd|F?v9pWk7GrubL9#>2L38i7>^v0!3A+BLodv~eVni6b7Fv5j zb$a4;*I0|+sr;5C9J@NW8lB`)&lxI);X+TC4Nw7`f5I{LT76~S8QE0tbb-qUB1?-| zVX!}b^q&lNnq3!BAsAv^Q~)#z5NErpkYMFl3xzS9qyngBkTCA|l$>aDL*}o1nMBin zWXkR(O3B91M+HEP&9Z=i-281L{rgYrC4p#>HKWu3M1_$y_i`nJ8jLn2)$r^7#0sq< zO4BN*8xn|5k2(2g+&hf&TVab#ZgSzv2_H?(C<{Q{(6`slzjwrueYCQ|FwKh7)VLcC zEzbi&kJHc=+dNifi(WeBoNuURO70$GEOfsUO&d0+`%x&M#^E@J08Aydf+HZ`x9rIj z#|MQ9qXb|80i3pSLdvoKk)1OQ)l9Z~CS6dJ$XdNr{d;seCC!A8I5lj6d%2YW!e!j7DNWsBjVWX8p!?r((2AnKE!@Y#IybzEBjL-Ryrhc z{@rocOl?tC{P0zBYLZLqDu6Kz2E%N-0&w{HTD=|T?ii_1JOSSiU@Xj~q`%1bgN}-N z?Rchk#Pc0@^~W;+5OcsP?O1i%G#n=b!dX3tCMPo+dfsI@32E0_oW3s@X1j=e9)QGx zl*w^MkCZnLJ~ZChP(@Yi&7vP;h)4|h)VVMZKxmE(#k~vy4ghqcoK(PIbIrrrNY|d) zau6YfM@ByFWLyA113_#~)$N*m|4B!k7Gygs&wY4yai8HlpyRyY3bZFtlmL9qtVEkV z&5GlQ$ZnINUGL3UqJX;izxog`3QSr6l5P?MT}E$2LjV=zsp|c0O13U^uXqVDgd P00000NkvXXu0mjfb^A2k diff --git a/packages/dev-frontend/public/icons/32-lusd-icon.svg b/packages/dev-frontend/public/icons/32-lusd-icon.svg deleted file mode 100644 index e43ded0d8..000000000 --- a/packages/dev-frontend/public/icons/32-lusd-icon.svg +++ /dev/null @@ -1,18 +0,0 @@ - - - - - - - - - - - - - - - - - - diff --git a/packages/dev-frontend/public/icons/64-lqty-icon.png b/packages/dev-frontend/public/icons/64-lqty-icon.png deleted file mode 100644 index bedb0eef0dcc6258be3498cf97c4540f08b34ed4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2338 zcmV+-3ElRIP)nekf+ZqLyo1=_^0Kh&?mo@A+zZRy zd++c5UKZD;Gjr$Oncs8HbDr-#&w0){&-n?xOvaf0z--`RpbDtY`c@6z0*+*TzYhFX zMBeO86{Rz~6zVdJ7C+0WikQ1-<}Gbh%(Vw&#JLipa0*1{V9= z7XXYg(}C{-ql=x`Rk0St#F*5*lKnW+4T)?r% zf%zixyJF`o3IJnF6nLl)nY`WlbW5mjIAu4`7J#(LuLnli3F~9e^`yAoZc7vcfCeEN z(7YGvNfG&UA;k*1iUeA(uiq z0Wijl0W|C^?JKMBs7DKMg^0YIEhirUuK*wPIB8#Fe_li`w*|l$qfX!h{A5VVBKutj~$qBa&_P&`09 zXnQ!hRc{M$sfegwNKrNbp96m3R(d|Z7v5^;-j|PY^c`a>Iv_CTqBskNm(WW%Xr#Eh z2LQ&H2=Fhz{{4444C{8C;)z42*?FSVcH!9r`UQo_10viutc3Eg+j>gQX`6wOBGPuA z1sG!%rZYUp%4Rd{J>1SckL=^6VG%-AVNdevVgbH6D#5s_5CQRRYb+8GP2J!A59UmN69MBef0559VFg1JLu_+SX?j0TFx!3+Rj27cm2+XF}1 znXz~WyAPzcR;mnIx7a@bRHV9shsGwkyuY_?m0sspMC8#702(G<>ji+hOPkry`1Uyw zy#Rm;S4(($Vg>ba&s*ym5t%H;n11PcylYrDG`8^h`f|Xi6^q16Z*EEzdD(PAF6b0ZuV3}JL z)$G;$b5YsU3SuKm+=?#9r+#47rKN~BkN7PG;8EZfw_1MbJG)r-+|iuu(GhXVr&YQY zU68MT)MEX_3SxRjx~In!08I|G*y)%~w|6mY#unPzbBDMR7HV!)Kj2Bpyn3x|C}&hM z=veP=3{NWnt^=T^Z72Bn0=>h`Pn9>-5UzFYUkl2fH#E-TOFV6{CI#T%zz{buuHEn- z7XDy&LDob=Dg7FfZp7R2j7|nv(@xLgP>bOS)rYB{kYwX$ z2a+uDlx!_h04AqzfQp&B$CziET9|Y9PFK8MnChb;Ce@a*U|Ah?gI!xeDj8C4ZAEi+ z6dpa+k;(=;-0cEa80cYoU3DoH;UKZN#mspXjGf@PW#O2%>tzZet{q|KG+4Z14_)a! z>uOaFn1+``7+-cS1dc?7`HO0J{|HAl!_>`j1_00Z0oN_q&WqblI#`Cgp}OO5s4XKJ z=(+drSy@k6MbQyw>V6;tz(8QHm!jylovln?_&O(A&tAH?TVVmNun1RIC8!SPE`(e* zsg&tA6_p$4@iIU}4xNony<~+Mou6rJVcxQxboBxTAt7bfM5%4P z@cgp4F2HMLC<8*{mJ`grV@HqrpjUI4RF$AEV(;y*omIxwGs^6yJKHqT-2!~O8r!_( zI7=ShL-W3LiQG<|0?(^L0Vb4{q&$8x^nnpkZvI9MR{q3G)Bj6)T#cozz_T;VD0%c) zCrf|4muH)fp+}`tidz=y?ML^EVmYY$RrU|DWO*H-{P&5uFGte=sB6_O3g4O|+SE=1xnNs#wFtnDX`ZIff)=gIEf&n0Ur9KU6M!k%y+Zj~ zWL&4nPEGv+j^89AS7gtZ4*)HYG`S6rFW{nzol3*rkBZ2Sq5w#5g{iBSac31V$MdnjWkMjv4qGkWQWD7vr zA1DagJLu{P?Og!wPntB^Ek1Q@7OR{wM#tU_-0y_1SouDU(=1PKyYCkf`<^^E3rW8r zrq&SmNol{t=*toMuRD5^tY{19uB9>N!@wVai~Q2wqa3}UoGv2TF*}Fl9fro)dM8s7&$~6F))u!Jkx*50w@V6~2Kcw1{@_pc!#W*_8r$DiPtubak za3gR{u{;jO>2dZPpl7>p{mh;%AlCwnF}gjj(uOWTL+W}53++C1AMls-XJavMfjOP0 zR{+RX!Wg6P6pu_dVrVnQ;BLQlxH_>t>F><%S4Bkg_g - - - - - - - - - - - - diff --git a/packages/dev-frontend/public/icons/64-lusd-icon.png b/packages/dev-frontend/public/icons/64-lusd-icon.png deleted file mode 100644 index 02d772774087d6970d67b3237de6875df249f65a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2551 zcmVFF$o4@WQfV&ga(WsBgr+_jC$kpgK)I) zec_tcSpN?MST9=*814a)2?+f{$skZva8TH<6%h{>0mD`kfNKzdTrG%rAPESL{tyua zUM_G5C2Bq5fhJ&t2m&R3J*+7#5@;}0^m`}>xDzX(6A7%$cL)_q7|sQ;pO~dp)eALm=UnqX1es;Sff2!<3oa*ch?_VU8+bR@N}frAtnTT|1sm` zEz?bs>8=`L2m$XK8=HDM+=HW)w5Lm?Uk8F%o}f7aCOx`8$+j90z^nu$tE{gl;LKgy zn8hj|nk*GKgq7j#G$-KT0?Rp@nV+K+pc45{|J7Y}q_};dk~TxjBY~CSX|tvTnDo$F zot+-91XzC`Y2f290}+^`Je>-ESbH6nt_*bVP*5xgq4+c<;Fl8;&aRu7I9HAULZIu! zktv>x@l^br`E2AUGEa!h<}u02U| z3Isv)_mL|H-|^gLi3hPFVo(Puni4>PI&;#ySl02NQ8cwJ`$tFr*~%W-{6TXf2t2Jh z0e{I#uFe@{7)fwgLDMbo$A@oT|LjzkU1^5L+J{(Dq&We!lbYq}SBxBpCOUFpX_{MC z)8jn6zkSAiAmV6D2$*K(-H!R@cn;AdXK^I{w3oWBBjPw#1GJJe>CyYbgoIN+6%yuf z2xFA!rGfF4HP;liiJ-p{GfQ1(0Fh~Pq6DN8*>w{WKVCCF!KOoCuJ#^3)Oou6Xy;Q( z`Vo;GS_a<-fK^c{(xmxjo9V=JV~un$WOslaZG&gGZfJ^j8XQG?se3CTysC)>8Yr=u z_17H>Qc_sr!^WRSd1Z(|9`%490Kf+tU>8*(B zm58>{&Cv9Z+C~#yph+tNOgz_~lM(mDim~y&sb;;60~puPJy`w2>YIwz@AEn7mw5!q z(jb(O%|mM1ZksNytj!FRU12Y+3rKAtPC&Cg>d?&V?u2m_2~vIJP*o z=COF4WN?m#079Uyz#(J>3D|)E>(mgi=#jWfJ7$?BlN$oy%{u0h4Q!$PpIU0IPm4pz z@>-MxY%g#K>xT*OEJ7fP?$!js5`dnI-%U@FBX9L*owXM_2biiwR99_IdXr8jKZu5a zk)mi2cr?@COt!TlUXPMDIj;Hqr=G3qkUTUAVqx(rDyw!C2)aMjG2{XCXDjpkmIIP6 zH1C24dP4O3UtL#qeFgwVE=`OO zFzKkr6vvYm1dw&-a1t^t`b)+0Q)D+eG#2Dt?E2r2 z)f>&-05R8>oB|#YXBtzRMel@0|LmKh@dRWZzf<$r(g!Vl=9cblfxe81pP0E)<@oJ2rW7d&p z3W8$&*~?sc2)LO6i>OG#>@803lvL%$0f%AZM2<4+vE{@uM!Q zf$Mz@5Ppq-M!62P@&H0$yI&8vEP+l6Q`7_ml}|bD8N~+z8wlV}5MWfKPNVSvLI^#^ zD;(58QM87u4uWzcOuyUy=~}=ct|CCb7rt~VC4d?YfV5s&63q+INVqlgfJhzKOFQfc z{&|2f69}1KvM{w%NYaVj_pJkfp_iZCUjKh`*WIWJ3_wLJUW|ug{V#Olg29k1!%+YL N002ovPDHLkV1h+Jx$FP{ diff --git a/packages/dev-frontend/public/icons/64-lusd-icon.svg b/packages/dev-frontend/public/icons/64-lusd-icon.svg deleted file mode 100644 index f64ce2b70..000000000 --- a/packages/dev-frontend/public/icons/64-lusd-icon.svg +++ /dev/null @@ -1,18 +0,0 @@ - - - - - - - - - - - - - - - - - - diff --git a/packages/dev-frontend/public/images/confirm-tx.svg b/packages/dev-frontend/public/images/confirm-tx.svg deleted file mode 100644 index bbe5d2100..000000000 --- a/packages/dev-frontend/public/images/confirm-tx.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/packages/dev-frontend/public/images/failed-tx.svg b/packages/dev-frontend/public/images/failed-tx.svg deleted file mode 100644 index ac6a9e703..000000000 --- a/packages/dev-frontend/public/images/failed-tx.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/packages/dev-frontend/public/images/logo.svg b/packages/dev-frontend/public/images/logo.svg deleted file mode 100644 index af92d9166..000000000 --- a/packages/dev-frontend/public/images/logo.svg +++ /dev/null @@ -1,64 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Labs - diff --git a/packages/dev-frontend/public/images/pending-tx.svg b/packages/dev-frontend/public/images/pending-tx.svg deleted file mode 100644 index 31adc808b..000000000 --- a/packages/dev-frontend/public/images/pending-tx.svg +++ /dev/null @@ -1 +0,0 @@ - diff --git a/packages/dev-frontend/public/images/rsk.svg b/packages/dev-frontend/public/images/rsk.svg deleted file mode 100644 index b99b9ae16..000000000 --- a/packages/dev-frontend/public/images/rsk.svg +++ /dev/null @@ -1,9 +0,0 @@ - - - diff --git a/packages/dev-frontend/public/images/sovryn.svg b/packages/dev-frontend/public/images/sovryn.svg deleted file mode 100644 index 5bd43a1a8..000000000 --- a/packages/dev-frontend/public/images/sovryn.svg +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - diff --git a/packages/dev-frontend/public/images/x.svg b/packages/dev-frontend/public/images/x.svg deleted file mode 100644 index f01ea1ee8..000000000 --- a/packages/dev-frontend/public/images/x.svg +++ /dev/null @@ -1,42 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/packages/dev-frontend/public/images/zerologo.svg b/packages/dev-frontend/public/images/zerologo.svg deleted file mode 100644 index ff5fe2854..000000000 --- a/packages/dev-frontend/public/images/zerologo.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/packages/dev-frontend/public/index.html b/packages/dev-frontend/public/index.html deleted file mode 100644 index ec7a91e95..000000000 --- a/packages/dev-frontend/public/index.html +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - - - - - - - - 0% interest loans backed by bitcoin | Sovryn - - - <% if (process.env.REACT_APP_GTAG_ID) { %> - - - - <% } %> - - - -
- <% if (process.env.REACT_APP_GTAG_ID) { %> - - - - <% } %> - - diff --git a/packages/dev-frontend/public/lusd-icon.png b/packages/dev-frontend/public/lusd-icon.png deleted file mode 100644 index 51f4e3c03ef3556e757255ee5b1e8f6fc39092ac..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6062 zcmV;f7g6YmP)Poq0_sOqm0)j<01%&M8H*| zb^s_Ogp>+s>vg0gF4Z!RASQU7<~$Xi8{wC?AXaq`Px79~YyfZu019@0V>`HKd(G)( z#>o95_<2-Q5}#r+1CTI}(u$%ok4O0By(10)o!adE)|QpFwdy|Z9}wXH0LdZ19?==K zTPUh5DJv46Vn#_NN-S({r1Ic`81)1iV)yQ--kBq!|$fB=^}=mC1-)C34yScK0L5;b`OL`g>4 z4*&tK=G_DI#1r8-0{&BP)UFjE(&eQ601)6}CwhPzxFcc_LD>RbVq_u!ar^wM9{>^q zphFxYoL~UnTxQgy2~dGLX+Ho2xKz{-(3>2D-F8O)yX6}qt_Vm(Lv)-UJ2vCO#X+Ho2xY1<*xUK^NZ1W+C7eCw(ULim&QKbC<5a2$S3;{Pz6U~V5 zTfI^Hy#UpmChZ4+0N1&?2k0_EL;|o>RT{NmaRzApek?DegN=x6@b(|Kxa@fPD0|a zT>{kQMcNMlUT(TZq<*NP5!(V0MJ>p=YA}?ZZ^^SOTDS=m{PK zO$~T@yRo9_Xm;H=9^@_|K^Fg_Pt>lY#r&oN!0ZU$BlDxxA-)XJ(sELFKCB(D>`S&? z`fh9WWLL@Pi!UO+q&I5U(2#x80N^&Y{KvI-2ik&sm^*1Wh7S+B9WL)MRG4!2)lx|~ z;Ulwyh6Q{)!JthN(xxX`uLr;Y88m!4KIrJ!U`214I%0j~uzg)k+wnCYTLQ{UnqAiG z^cXyZ8DbBUycz)a-Qsg%#a)3z7ywVmX>8oI+Hxj8r(Wv$!96;IhD%3t>hoFv%oyT( z{G%}ecQ|FW3mavo+Ol?Sx|TR9(N}?Xyi31PTjY#9uLQtvqLjIR8?Bz`jKNa0Ig{U* zzWx)_gHp)4F5?`4-*}y2P`yx@UI&1Aqf}YXY5b)83lr+ocKRPLG^c;Qq+Bu(Ai#He zgJ!x=WxWajlfryXem*WR4giQyL)}52n_io_?Ozr5OC=i-|E@P`-w`6uYXA_eAeH+b z4z+v8gpaq6H?6WB$v+_7#u2izyY-2Yhxsb#H30bcl;8tem3$Ik!#sr!5v=dOS^{;o z_E0HwLd1*eW=+iEB+|l1o>u_ip<8_Nm){jQmXAT6NK;+Wc4*1G(z~V74FQ(w4Vw9U zG$~(K=A>pionT zC9`yiQUC6XpGN~g<1Z`Pet*a?Y7TKfBfIYH(qdC-n??#%5a4ogQ`Cs0B*GQD=<)Mt z03_TQkTG?T?*p`*WpBmHCl1#aT|C?5UtZiAQhK?0c!!J#jZeY&`_$#*?o$m>D98xf zvMbGPxgWk>D%~z7;-7U!?WbM|fWygH9}(qnnjZ3=bhfGl}MpBVL7Px^c85b(e)KF3$w6-ec@k7c23 z$!jHwnrgdK$HpV${Z78{`mMJEfK!0vCV#6xHjQg(X8py0$oaNdtTSkPoJ)Bu02aim zGv-Dpsf_7_3S`F%Tc=>ivG3SWV>*(G2Usxlo}GmXO|hZ z8@jXeSOENUTtLR;F!2+>hC24xqL+)Qq>26UtwEW?M=SXp?%2pADhLBZd;7y|X~BzY zmtAeWbfI}Pr9WP3Y*-d1b}v=qu>jaQIXL?^wOsUUIcc5s(4ovaYWwi_PE+ST`t-n_ zmT@h|^6GLoueMHN?Vz9*HJXeNR_lzKKXzs5u>jb4f5?GIf0^jhzxB(_$Il#VpfZ{4 zaNGy0hMiLSlg>FsQv-YEvn3`!sgptlV*}Bql9NG;*K3+O+IlPiHct-TKUyspo#~sh zr7|ad7u`dcVIzFczq)WRH=Z`+?W;Y!?W>9@h`n7-!T2AAy$tD!2b;OJ@WVX0N35ML#RHMS9fCD`iikl zjYy@2fP2HrUplg6ramz$)uRE>J`79`D`yA@I>P1ehEB@Hi|3jSC9SoNthBTZa-zNW zH9=gcGipEZcmTW=t;&327@g%Hk0{yAS6dHl`NA4lRL~sFgWhXN5aClG!SdhA<%96diW)gbH$u1AId6C$g8PsPz9Cp=*p_e4;Ong`tiuP`=F4?oA>K+!o8wdo+ z9IpWY7p$Rv%$1Y}2C4u+$U~6M#MxmRmWATI+pCNBd~3UhWzjo(1SEg;Dgba%dH7bJ zeEnF@xhTrb5!QTk6)zVwb4jD#_Wi@_0Kj>8VyNQO=i`II2|%!?c>Mf{#*B4(lj!4X zDeXbTtzHQL&Pjun%++mELMr^_Bt}Z7^(BkDakS#SGJAP(E49lkuCxsi_j)Y=Ivlg^ zo}kQe!3rvQ12mkC2(=qlS_)4esi&HTMnkvmJP`4y*8_kv>an4|hZe>KL^1?CW*awU zOI2R_E}Nix1g;3O1D=I91pqiBeHj8v#;7x=4f6Gv-XM2RZRWNObW+k?1dfWE1^^un zx+6$_e)aeuqLh0^MUf-fb(vqUv3d+By90@PKE4ish`RXbB6NykJ26yo`kfecU4*~P z?cH!{QdQo*ot`%wAVMPt022VYX|rR-2FuTX5Fbz#?k|(>PJR#2UHM*FL2+TrZK6<3 zzi|bLOEwh};=0=U^mTTQW1xbmo;Pa1iATbf(e9`<*xCZ;-}?RKk)Cw2h=3&|KG}2% z2>Gu`nMTBx7e=TKy)?pqkS_z&D}eL`&#Y8i=FUx3o--dnxIp4kOt}Pz+s8@g{;tKf z`qfb1BX33r_zjSQB%4WyVEWrLmj-&!X<{ykOED)CfSKZ4>D{d-hbd0J9iwg>>L=rl zn_YUvYxnl*{oik^7JcQ7j>j>H#3h?QB?Mlf!_d3Aj8Mx96UGLZhFzO5x}+d=a}%Ch z@M4jtTpj;}#HUzZ1Hk3p9Xh(&j}DMuTy=L)U66vfWII>?&XvNeCGI~jKp?Mk0Qe;U zeoNPdHwU+8wSL+2ZXYm~5JL6tz{x}P>4r}&lD#F+TQrbm=91{NiWoU-KYeqAjJ_2k z1LPMs-y1xD0eY$F^)>9V#jnySTO-C|21qmsKY)HA)s_Y^jBfU}xA+qCt_MPEC@veD z-gxG+Qx(T(`dVkukoJjAe2VEbfajd6(=?J6FSVT5vZjT$(Aq@Oy;*k2RMsL%$=Du! zfRL{9zq>mT;R_Sq~pQ z;J%y62(Vsn&^+G`fY=oC?-+n}QU}gic}f}7|7?)&xnB+StBVhoM|M0DJ3YOkth|YJ zT@3&P`|+7!^#mZmS=~F@Wu@A(c1ruaTsM{RMV&$W#kC&bJL@Q7XU~Z>%2n+d0QSZ);4TLMtP^7h~*A zVxF}%qb@c=Q;GtW6@|RP%mr#1CIcvot311KSX~;TD#dQK8I^C?2 zHDCoH#D{Kp9dmnQv^w**QM_vKI$~BcCeWH8yZoe=VfBQMkbeL{%h)S3xFqN;g!==6ME)!F>2HkaM) z|M(7d#`MABtC%0lsms{7+UnBbs;4+1;4ZyE`^%2sesba!n`-?ngRFsefF1FZ6KFj; zJxoU9C^pC1n(?v==KjAoIX+WRgVA| zxx=FNRbY*?Mu};cJ1z8_znq9ZCS?)I?@Y6}q@>JXB~zC6;6N(-4F7nq>_SOli{x)1 zw#gv)ll7YF9s$rk45XOX6M$#M1k;(epN$Vnzc*At<%G;|xiM3Bu8#WnN>j%-p1I7@ z=N_|XVj zbqgN9f3KBFLI;;o{QW~A6}}9ia_RF}UR~zK&!oL9f(U2zM$HYmk3FV6#U-0xAq0AT zYmP>Mdg8HXYUtrGA9`hA3ToT3=VVujnrID>k-EJP4J@Vkdg;o=Wj_@E*g~Z@;TsDC z_>!auvgR(ZW`HyB*4zF!P!Bs^byv67E zvO5Dp6by;v>u5)GtQ|_{KYuyg5gp~663gtOmNvYel%6XKgLoTHFv&)W8ljH@1b=+o3(* zFW84vJsIVH=GT#aDpw_g0zm!3KNVwRJ9e(%rzffrM^7v(rF0?lc3300X}pujquBU`8JiPEnPlxXwuYF+mC$kmlBtzr*+qt>-yW;aMX%TS`%Me z1Ob3!8k1^yLWa1BuK-$fZ;e*%e z$mZ4+2KlVRU&yR`*k0%#f8l|>-6TBhB`ad6HGqA z+~j{;)~6aCw6i=a#cPN;h}^?O&(vJT>=1(X?(Kf1t9o^7)8Xk9in8eygw$OaD0e@ zyBzAWN2)|DS0x-4X$AUA5So7sr0(k0KjSK zu04Xjz%zfeD)Xr*Ixmmz-BG~|1(Z$|-3)+wg0dOQjFJ1r`lM@n>HxUb6IjQ~Sa!G6>0~`QhAIHQwPmGk zt&;Ru{JKq7SwdzeY=}BWGx!`YmjHlce0`r_J0T$b+PI6Cr~<$ZLjd=#PfN4kjFm}) zEwqF0QUGwwhwMcEfiep>G31ttZuz_!00?MMH)&qzEuoW!LtWMbbX6`c)iRGDCeTn= zD393@%DjbMHwVC4WXYeq-r^N%H(z>50MI@;Of|(5B-;o``}VK50RRyX0}FHY8?{Az zgD8ehG5~N&a#cv=4Y&pf`N<7cF$OqlJ14>~_uW_(l?xuOUIifFyLyB6{~Xyw^LI%B z(4qMCrQ#Pr2$$*O($5=u07N*!+L_;o+0%E{iEaS^r!05>Fu2OHkPvv&S>^e(n;oId zT^OtO%pL%-4S@MjRXXhb#TlfHk3F<$+y;OSL&og14n>B24*;G60$iCGs^6?|-@HX} z0aTvEp)~{`0ulmW+fn}Ra%03rss;;W=5_#d=o^z}9>K8q9s%-{KpXlb_cQNXQp0P0G(*wUZ|n6dntJu7H_(5Ew&{i6MZ|fG}!yq_SpVtlHTl+!6pN@Az-` oH@1_zci2vKFSX{a!RPe;fAr;YgIjcHI{*Lx07*qoM6N<$f?f_{Qvd(} diff --git a/packages/dev-frontend/public/manifest.json b/packages/dev-frontend/public/manifest.json deleted file mode 100644 index f98b13e81..000000000 --- a/packages/dev-frontend/public/manifest.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "short_name": "Liquity Dev UI", - "name": "Liquity Developer UI", - "icons": [ - { - "src": "favicon.png", - "sizes": "32x32", - "type": "image/png" - } - ], - "start_url": ".", - "display": "standalone", - "theme_color": "#000000", - "background_color": "#ffffff" -} \ No newline at end of file diff --git a/packages/dev-frontend/public/robots.txt b/packages/dev-frontend/public/robots.txt deleted file mode 100644 index 01b0f9a10..000000000 --- a/packages/dev-frontend/public/robots.txt +++ /dev/null @@ -1,2 +0,0 @@ -# https://www.robotstxt.org/robotstxt.html -User-agent: * diff --git a/packages/dev-frontend/public/success-mark.png b/packages/dev-frontend/public/success-mark.png deleted file mode 100644 index 27572efbe2eca1fc353b41bb2e8f6fb3ada20953..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2697 zcmV;43U>90P)CytpJRkzgLlA~|qB%`!@`frs~rBVqXlgVT@lhAV#`Y2VQlM?o`AB&OJ`T;%tZKc#E^a7R!)#1j5+5i2UvV=s4 zUfAM?V)Mog{ZIjp>2?bk5ClA?muh-)zkCXj6Rogc{9F{q=tp#eV~7qc5!CGL%O=CjE_{VPF$&4DS8;T{(wHh(g%U z4~i{~>Pg7i?GPXUo9De4%=6&FlBi=vqNdhMS3|RCz^{jPlLiyEo3Rv+Xi_s*2(K^D z9Dncul&f46wi0Mylia5f-NPo0mm_+)zJy?y-IqJ%J`BVl!d5e0^<0740uM-x-^hF) z8e`@m#y9)2eFPNr&?CC~Ha(tCz=I)8bML}(Pa)I$OIy=R59@Eb>6rmD>)PDi`l;9k zqc|Ay09wKmtFtq_+qbyA3hO5-o-TaHY2OdYT9^wpA?vVB5A0)T$PnW8CTv?#Z4X75 zyuANv3IoHY`lB0qLVtV+4e49lUW9EgD!!nHF^(;|V`J77m}olL>Qmg#g=^ zy%dxgpL|;$Ld4uU_;f-K@KKZh!{VOo{Ph)djD`+j(`9GBO+=-cuGVHNc2OA$B~C7k zxoclUA?yjz3-JSVOsB$DeyZH1AyJ>6-2ZDUrR6bpvuHwBSl3Gk`|cc=fez`+6!VR1 z(Be09A?g?s#rnV>QgB2#?(zZxD!kj3%hrjoO(#p_lYUQMa0b_aThDIJq<(Lglc`Qj zv2GCi<(_(7L}kv-aaU@Vd6=T%Y8N^nc#pmP?9*Mk>Jv%Z)XncInwn*$&CSsBil9A~ zzYv)h(e$6+>gy;f!=_bl;I?$Oj29~SEIFvK^p;K~CYZl4e{s0R*d9o}xTrC$Lx-Lv z2NRY95#nGuec_Z`nzk%_anaJ92GuCg;l5rVY>-?4hY3>%KDgjvhXW1#b6vZC&dh`t zFu;i_LiXAq!t$4s^j0>(9Q%dDsgeZ9oufbl|6C_7kGJHnie|p#O|)Jf{NJ@80MaQt zuhPVtt|{fMs8vL*a#_}k%NB|)mGj~>*75=a1R#j83Q+K-;b{y@Z$4ZVwMHT?2|ED+ zv}!bl0C)>)vkX8L&W5P2rKmM7ajVcF9)X*Cu5nv}e~&fF>9+9L`p>zUL87=st#OHa zVcflz-Ng@YfVV3c!W7?gHQ*ejRL54Ss5R@tguD_Y2{+O;h830vdPzWn6VD()nu^NU zFe$CmuKJv=H3J9K#@Sh1cnQlnxvn<+hNig3w6&;?Fsa%wA|Kv&cI+iA&4x$rMk={r zL|39RRm9CbiIQ}hwf`TyPYK3yTfT-NhconUMMZxAI-k-Yavt^l#eTqA*s4{EjgGY~bKah2sj#s6p_95=j zqB1UP#`w5Ao$dr!h9u{>OL1cmwGVm~wn-xSLfq#emauBx7g3pBg*`vBW3C|or-H=Y zb}e8_d7ngOdKH$J?#|9})NBKjJ3GO}`z9*mGbIkhZ1u+N>#n>$bO_f`TJ>4i;=YgO_cHBGF|H0iyt%mJt?WwN6hxKys0gNn zmbCA&Rmt`BO$1@b(Bh`jQzel*vUnx5#6wtjgoE5u&x$H~4 zrLDLr&3+|A6op>r;DKM3qUe`n;~d#G;z}7>R2wfByo5&iB>{Q~EBocDsP^|XqYH6k z@KZJDv8xRaalX0OUcxRm8o7h|rrnl>kmAM@d=OYL#6$2TK;+4t5YC&T+a|1q5H}W4 zs~zjAa5mHt2rJ!}BQ0gH3?Ff03KPoeOyFsVQV!n2TDM2`z`gc;wh=cbQN{a+ApMB`Ni%cSJY@%{qV@Yr2 z`wmqmDde)9=uOjF_U5i*ow%`yYA20|qEhn)aRz}1CM+MqAnCP>Ld+BJWSO`zuBUQ2 zJz2p}JPNsiEts&2fVHUCa=G;oWp6Hv8>6W91r{FbCaF)+gz(i*4{nx{gNV2gGl_CD zL~RP5ZO3>Z#D>hQ9W%J5iZ8mVuHK2T z{0173*CUn`n~a@$pRasf7*D$_7}{C-sa^R&*ps%e&GOK@+uLC4T{S!jj9>gN=LVhT z6?0Kc>3GYqxOR7Yi}l-~pkd?@&wiVUYELckT5omH`4MPM4?d_d2-EX(^ElR0eQa55 zE&t}nj|X>cmeI?hg>A*y4y#Q6o{m5}Iey)T_FurbH!dO?6tdbuXL?_QQflocR!AP39j;#l?U&@JRF&Ej6TG$$1 zJ+UW9DYYGR2Hgl=Usi{l_nX2=nn?&-!;>sNY>3aL32}sp3!8Px8>BQIrgnm6Qo>%v z_GC=~1zUl|-&|MevpDB{zZ~#L@mQIfq=mf-FQsw0b*{`^7ja%zcBiU%Ru#wMk~>_T zg$sG4eo|&8lgVT - - - diff --git a/packages/dev-frontend/scripts/set-version.js b/packages/dev-frontend/scripts/set-version.js deleted file mode 100644 index 7049c664d..000000000 --- a/packages/dev-frontend/scripts/set-version.js +++ /dev/null @@ -1,32 +0,0 @@ -const { execSync } = require("child_process"); -const { existsSync, readFileSync, writeFileSync } = require("fs"); - -const envVar = "REACT_APP_VERSION"; -const envVarPattern = new RegExp(`^${envVar}=.*`); - -const getCommitHash = () => { - try { - return execSync("git rev-parse HEAD", { encoding: "ascii" }).trim(); - } catch { - return "unknown"; - } -}; - -const commitHash = getCommitHash(); -let dotenv = [`${envVar}=${commitHash}`]; - -if (existsSync(".env")) { - const originalDotenv = readFileSync(".env", { encoding: "ascii" }).split("\n"); - - if (originalDotenv[originalDotenv.length - 1] === "") { - originalDotenv.pop(); - } - - if (originalDotenv.some(line => line.match(envVarPattern))) { - dotenv = originalDotenv.map(line => line.replace(envVarPattern, dotenv[0])); - } else { - dotenv = [...originalDotenv, ...dotenv]; - } -} - -writeFileSync(".env", [...dotenv, ""].join("\n")); diff --git a/packages/dev-frontend/src/@types/window.ethereum.d.ts b/packages/dev-frontend/src/@types/window.ethereum.d.ts deleted file mode 100644 index 606d4bc2f..000000000 --- a/packages/dev-frontend/src/@types/window.ethereum.d.ts +++ /dev/null @@ -1,5 +0,0 @@ -declare interface Window { - ethereum?: { - isMetaMask?: boolean; - }; -} diff --git a/packages/dev-frontend/src/App.test.tsx b/packages/dev-frontend/src/App.test.tsx deleted file mode 100644 index b29463cb4..000000000 --- a/packages/dev-frontend/src/App.test.tsx +++ /dev/null @@ -1,31 +0,0 @@ -import React from "react"; -import { render, fireEvent } from "@testing-library/react"; - -import { Decimal, ZUSD_MINIMUM_NET_DEBT, Trove } from "@sovryn-zero/lib-base"; - -import App from "./App"; - -const params = { depositCollateral: Decimal.from(20), borrowZUSD: ZUSD_MINIMUM_NET_DEBT }; -const trove = Trove.create(params); - -console.log(`${trove}`); - -/* - * Just a quick and dirty testcase to prove that the approach can work in our CI pipeline. - */ -test("there's no smoke", async () => { - const { getByText, getAllByText, getByLabelText, findByText } = render(); - - expect(await findByText(/you can borrow zusd by opening a trove/i)).toBeInTheDocument(); - - fireEvent.click(getByText(/open trove/i)); - fireEvent.click(getByLabelText(/collateral/i)); - fireEvent.change(getByLabelText(/^collateral$/i), { target: { value: `${trove.collateral}` } }); - fireEvent.click(getByLabelText(/^borrow$/i)); - fireEvent.change(getByLabelText(/^borrow$/i), { target: { value: `${trove.debt}` } }); - - const confirmButton = getAllByText(/confirm/i)[0]; - fireEvent.click(confirmButton); - - expect(await findByText(/adjust/i)).toBeInTheDocument(); -}); diff --git a/packages/dev-frontend/src/App.tsx b/packages/dev-frontend/src/App.tsx deleted file mode 100644 index 49388d43e..000000000 --- a/packages/dev-frontend/src/App.tsx +++ /dev/null @@ -1,119 +0,0 @@ -import React from "react"; -import { Flex, Spinner, Heading, ThemeProvider, Paragraph, Link, Image } from "theme-ui"; - -import { LiquityProvider } from "./hooks/LiquityContext"; -import { WalletConnector } from "./components/WalletConnector"; -import { TransactionProvider } from "./components/Transaction"; -import { Icon } from "./components/Icon"; -import { getConfig } from "./config"; -import theme from "./theme"; - -import { DisposableWalletProvider } from "./testUtils/DisposableWalletProvider"; -import { LiquityFrontend } from "./LiquityFrontend"; -import { BrowserRouter } from "react-router-dom"; -import { Header } from "./components/Header"; -import { isMainnet } from "./utils"; -import { ConnectorContextProvider } from "./components/Connector"; - -if (window.ethereum) { - // Silence MetaMask warning in console - Object.assign(window.ethereum, { autoRefreshOnNetworkChange: false }); -} - -if (process.env.REACT_APP_DEMO_MODE === "true") { - const ethereum = new DisposableWalletProvider( - `http://${window.location.hostname}:4444`, - "0x4d5db4107d237df6a3d58ee5f70ae63d73d7658d4026f2eefd2f204c81682cb7" - ); - - Object.assign(window, { ethereum }); -} - -// Start pre-fetching the config -getConfig().then(config => { - // console.log("Frontend config:"); - // console.log(config); - Object.assign(window, { config }); -}); - -const UnsupportedLayout: React.FC = ({ children }) => ( - -
- - - - {children} - - -); - -const UnsupportedMainnetFallback: React.FC = () => ( - - - Please switch your wallet network to -
RSK {isMainnet ? "Mainnet" : "Testnet"}. -
- - - If you'd like to use Zero on {!isMainnet ? "mainnet" : "testnet"}, please go{" "} - - here - - . - -
-); - -const App = () => { - const loader = ( - - - Loading... - - ); - - const unsupportedNetworkFallback = (chainId: number) => ( - - Zero is not yet deployed to this network. - Please switch to RSK {isMainnet ? "Mainnet" : "Testnet"}. - - ); - - return ( - - - - - } - > - - - - - - - - - ); -}; - -export default App; diff --git a/packages/dev-frontend/src/LiquityFrontend.tsx b/packages/dev-frontend/src/LiquityFrontend.tsx deleted file mode 100644 index 0e80fe23d..000000000 --- a/packages/dev-frontend/src/LiquityFrontend.tsx +++ /dev/null @@ -1,80 +0,0 @@ -import React from "react"; -import { Flex, Container } from "theme-ui"; -import { Switch, Route } from "react-router-dom"; -import { Wallet } from "@ethersproject/wallet"; - -import { Decimal, Difference, Trove } from "@sovryn-zero/lib-base"; -import { LiquityStoreProvider } from "@sovryn-zero/lib-react"; - -import { useLiquity } from "./hooks/LiquityContext"; -import { TransactionMonitor } from "./components/Transaction"; -import { Header } from "./components/Header"; - -import { RiskyTrovesPage } from "./pages/RiskyTrovesPage"; -import { RedemptionPage } from "./pages/RedemptionPage"; - -import { TroveViewProvider } from "./components/Trove/context/TroveViewProvider"; -import { StabilityViewProvider } from "./components/Stability/context/StabilityViewProvider"; -import { Nav } from "./components/Nav"; -import { AccessPage } from "./pages/AccessPage"; -import { Dashboard } from "./pages/Dashboard"; -import { ConfirmPage } from './pages/ConfirmPage'; - -type LiquityFrontendProps = { - loader?: React.ReactNode; -}; -export const LiquityFrontend: React.FC = ({ loader }) => { - const { account, provider, liquity } = useLiquity(); - - // For console tinkering ;-) - Object.assign(window, { - account, - provider, - liquity, - Trove, - Decimal, - Difference, - Wallet - }); - - return ( - - - - - - - - - - - -
-